{"method":"Extend verified earlier-engine bodies through corresponding call sites.\n\nAn identical instruction/operand shape permits mapping its direct callees.\nRelocated addresses are ignored for shape matching, never for claims about data\nor behaviour. Changed routines retain normalized instruction diffs for review.\n","reference":"extracted/cd_1998_09/files/FILES/SOFTWARE/APACHE95.EXE","comparisons":[{"source":"extracted/cd_1996_09_eu_v2/files/FILES/APACHE95.EXE","compile_stamp":"Sep 05 1996 20:10:05","mapped":317,"same_instruction_shape":209,"conflicts":[],"functions":[{"name":"save_quick_start_game_runs_","source":"E:\\apache\\source\\runs.c","reference":"0x401ed0","earlier":"0x4111c0","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[],"diff":[]},{"name":"process_events_","source":"E:\\apache\\source\\events.c","reference":"0x402b40","earlier":"0x411e80","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"check_for_user_abort_","source":"E:\\apache\\source\\keys.c","reference":"0x403958","earlier":"0x413854","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"draw_menu_11x15_","source":"E:\\apache\\source\\menus\\fonts.c","reference":"0x404790","earlier":"0x4139f0","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_menu_11x18_","source":"E:\\apache\\source\\menus\\fonts.c","reference":"0x4047f4","earlier":"0x413a54","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"get_game_flow_","source":"E:\\apache\\source\\menus\\gameflow.c","reference":"0x404b08","earlier":"0x413d38","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4275512,"load_multi_player_mission_",4]],"diff":[]},{"name":"setup_menus_","source":"E:\\apache\\source\\menus\\menus.c","reference":"0x405030","earlier":"0x414230","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"set_special_exit_button_","source":"E:\\apache\\source\\menus\\notify.c","reference":"0x405070","earlier":"0x414270","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4276848,"notify_exiting_map_screen_",1]],"diff":[]},{"name":"create_menu_objects_","source":"E:\\apache\\source\\menus\\objects.c","reference":"0x4055e0","earlier":"0x414830","same_instruction_shape":false,"reference_instructions":75,"earlier_instructions":66,"callers":[[4278320,"setup_menus_",1]],"diff":["--- 0x414830","+++ 0x4055e0","@@ -8,10 +8,10 @@"," push 0x0"," mov edx,m4[None+None*1+address]"," push edx","+mov ecx,m4[None+None*1+address]","+push ecx"," mov ebx,m4[None+None*1+address]"," push ebx","-mov ecx,m4[None+None*1+address]","-push ecx"," mov esi,m4[None+None*1+address]"," push esi"," push 0x1","@@ -39,7 +39,7 @@"," push 0x13"," push 0x22"," push address","-push 0x3a","+push 0x3b"," push 0x7"," push 0x0"," push 0x14","@@ -52,7 +52,16 @@"," add esp,0x2c"," mov m4[None+None*1+address],eax"," test ebp,ebp","-je local:57","+jne local:64","+mov eax,m4[None+None*1+address]","+call external","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," call external"," call external"," mov eax,m4[None+None*1+address]"]},{"name":"update_preferences_screen_","source":"E:\\apache\\source\\menus\\prefscrn.c","reference":"0x407fec","earlier":"0x4172ac","same_instruction_shape":false,"reference_instructions":177,"earlier_instructions":177,"callers":[[4289196,"setup_menus_",7]],"diff":["--- 0x4172ac","+++ 0x407fec","@@ -11,44 +11,25 @@"," call external"," mov edx,m4[None+None*1+address]"," test edx,edx","-jne local:21","-mov edx,0x1","-mov eax,m4[None+None*1+address]","-call external","-mov eax,m4[None+None*1+address]","-xor edx,edx","-call external","-jmp local:35","+je local:117"," cmp edx,0x1","-jne local:30","+jne local:123"," mov eax,m4[None+None*1+address]"," xor edx,edx"," call external"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external","-jmp local:35","-push 0x7d4","-push address","-push address","-call external","-add esp,0xc"," mov eax,m4[None+None*1+address]"," test eax,eax","-jbe local:46","+jbe local:129"," cmp eax,0x2","-jne local:52","+jne local:33"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","-jmp local:51","-mov eax,m4[None+None*1+address]","-xor edx,edx","-call external","-mov edx,0x1","-mov eax,m4[None+None*1+address]"," call external"," mov edx,m4[None+None*1+address]"," lea eax,m4[None+edx*4+0x0]","@@ -58,40 +39,25 @@"," add edx,edx"," call external"," cmp m4[None+None*1+address],0x0","-je local:67","+je local:135"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","-jmp local:72","-mov eax,m4[None+None*1+address]","-xor edx,edx","-call external","-mov edx,0x1","-mov eax,m4[None+None*1+address]"," call external"," cmp m4[None+None*1+address],0x0","-je local:81","+je local:141"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","-jmp local:86","-mov eax,m4[None+None*1+address]","-xor edx,edx"," call external","+cmp m4[None+None*1+address],0x0","+je local:147"," mov edx,0x1"," mov eax,m4[None+None*1+address]","-call external","-cmp m4[None+None*1+address],0x0","-je local:92","-mov edx,0x1","-mov eax,m4[None+None*1+address]","-jmp local:94","-mov eax,m4[None+None*1+address]","-xor edx,edx"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","@@ -103,58 +69,38 @@"," xor edx,edx"," call external"," cmp m4[None+None*1+address],0x0","-je local:114","+je local:153"," cmp m4[None+None*1+address],0x0","-je local:111","-mov edx,0x1","-mov eax,m4[None+None*1+address]","-jmp local:116","-mov edx,0x1","-mov eax,m4[None+None*1+address]","-jmp local:116","+je local:150"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:121","+je local:81"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," test eax,eax","-jbe local:129","+jbe local:156"," cmp eax,0x6","-je local:131","-jmp local:134","-mov edx,address","-jmp local:132","+jne local:91"," mov edx,address"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," test eax,eax","-jbe local:140","+jbe local:158"," cmp eax,0x5","-je local:142","-jmp local:145","-mov edx,address","-jmp local:143","+jne local:99"," mov edx,address"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," cmp eax,0x4","-ja local:160","+ja local:106"," jmp m4[None+eax*4+address]","-mov edx,address","-jmp local:158","-mov edx,address","-jmp local:158","-mov edx,address","-jmp local:158","-mov edx,address","-jmp local:158"," mov edx,address"," mov eax,m4[None+None*1+address]"," call external","@@ -165,7 +111,61 @@"," call external"," mov edx,0x1"," mov eax,m4[None+None*1+address]","-jmp local:173","+call external","+pop edx","+pop ebx","+ret ","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+call external","+mov eax,m4[None+None*1+address]","+xor edx,edx","+jmp local:21","+push 0x814","+push address","+push address","+call external","+add esp,0xc","+jmp local:22","+mov eax,m4[None+None*1+address]","+xor edx,edx","+call external","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:32","+mov eax,m4[None+None*1+address]","+xor edx,edx","+call external","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:47","+mov eax,m4[None+None*1+address]","+xor edx,edx","+call external","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:55","+mov eax,m4[None+None*1+address]","+xor edx,edx","+jmp local:60","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:76","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:76","+mov edx,address","+jmp local:89","+mov edx,address","+jmp local:97","+mov edx,address","+jmp local:104","+mov edx,address","+jmp local:104","+mov edx,address","+jmp local:104","+mov edx,address","+jmp local:104"," mov eax,m4[None+None*1+address]"," xor edx,edx"," call external"]},{"name":"create_text_","source":"E:\\apache\\source\\menus\\prefscrn.c","reference":"0x408320","earlier":"0x417590","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"notify_modem_type_","source":"E:\\apache\\source\\menus\\modemprf.c","reference":"0x40bbcc","earlier":"0x41ab34","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"transmit_message_","source":"E:\\apache\\source\\menus\\modemprf.c","reference":"0x40f7f4","earlier":"0x41e72c","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"do_takeoff_","source":"E:\\apache\\source\\menus\\takeoff.c","reference":"0x410704","earlier":"0x41f664","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"initialise_debrief_","source":"E:\\apache\\source\\menus\\debrief\\debrief.c","reference":"0x412be0","earlier":"0x421b20","same_instruction_shape":false,"reference_instructions":106,"earlier_instructions":106,"callers":[[4332320,"setup_menus_",3]],"diff":["--- 0x421b20","+++ 0x412be0","@@ -17,10 +17,10 @@"," mov m4[edx+None*1+address],eax"," inc eax"," add edx,0x4","-cmp eax,0x3fa","+cmp eax,0x522"," jl local:16","-mov ebx,0x40","-mov ecx,0x6f","+mov ecx,0x40","+mov ebx,0x6f"," mov esi,0x9c"," mov ebp,0x15e"," mov eax,0x198","@@ -34,8 +34,8 @@"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],edx","+mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],esi"," mov m4[None+None*1+address],esi"," mov m4[None+None*1+address],esi","@@ -84,13 +84,13 @@"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],edi"," mov edx,0x99","-mov ecx,0x10b","+mov ebx,0x10b"," mov ebp,0xd8"," mov eax,0xb"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],edx","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],ebp"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],eax"]},{"name":"clear_debrief_record_","source":"E:\\apache\\source\\menus\\debrief\\debrief.c","reference":"0x4131ac","earlier":"0x4220c4","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"check_and_count_mobile_target_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\bill.c","reference":"0x414c44","earlier":"0x4239d4","same_instruction_shape":false,"reference_instructions":10,"earlier_instructions":7,"callers":[[4340180,"record_mobile_object_destroyed_",9],[4340180,"record_remote_mobile_object_destroyed_",12]],"diff":["--- 0x4239d4","+++ 0x414c44","@@ -1,7 +1,10 @@"," cmp m4[eax+None*1+0x38],0x1","-jne external","+jne local:5"," mov eax,m4[eax+None*1+0x3c]"," test m1[eax+None*1+0x1c5],0x20","+jne local:6","+ret ","+dec m4[None+None*1+address]","+cmp m4[None+None*1+address],0x0"," je external","-dec m4[None+None*1+address]","-jmp external","+ret "]},{"name":"record_mobile_object_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414e58","earlier":"0x423b88","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"record_remote_mobile_object_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414e78","earlier":"0x423ba8","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"actually_add_debrief_record_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414ef0","earlier":"0x423c20","same_instruction_shape":false,"reference_instructions":135,"earlier_instructions":124,"callers":[[4340768,"record_mobile_object_destroyed_",7],[4340768,"record_remote_mobile_object_destroyed_",10]],"diff":["--- 0x423c20","+++ 0x414ef0","@@ -8,46 +8,33 @@"," mov m4[esp+None*1+0x0],ebx"," mov m4[esp+None*1+0x4],ecx"," test esi,esi","-je local:92","+je local:103"," mov ebx,esi","+xor eax,eax"," xor edx,edx","-xor eax,eax","-cmp m4[ebx+eax*1+0x0],0x0","-jne local:50","+lea ecx,m4[esi+eax*1+0x0]","+cmp m4[ecx+None*1+0x0],0x0","+jne local:37"," test edx,edx","-jle local:34","+jle local:79"," lea ecx,m4[edx+None*1+0xffffffff]"," lea eax,m4[None+ecx*4+0x0]"," sub eax,ecx","-mov ebp,m4[ebx+eax*8+0x0]","-cmp edi,ebp","-jne local:34","-cmp ebp,0x2","-jne local:34","-dec edx","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx"," shl eax,0x3","-lea ebx,m4[esi+eax*1+0x0]","-mov eax,m4[esp+None*1+0x8]","-add m4[ebx+None*1+0x4],eax","-jmp local:118","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx","-lea edx,m4[None+eax*8+0x0]","-lea eax,m4[esi+edx*1+0x0]","+add eax,esi","+mov ecx,m4[eax+None*1+0x0]","+cmp edi,ecx","+jne local:79","+cmp ecx,0x2","+jne local:79"," mov edx,m4[esp+None*1+0x8]","-mov m4[eax+None*1+0x0],edi","-mov m4[eax+None*1+0x4],edx","-mov edx,m4[esp+None*1+0x0]","-mov m4[eax+None*1+0x8],edx","-mov edx,m4[esp+None*1+0x4]","-mov m4[eax+None*1+0xc],edx","-mov edx,m4[esp+None*1+0x1c]","-mov m4[eax+None*1+0x10],edx","-mov edx,m4[esp+None*1+0x20]","-mov m4[eax+None*1+0x14],edx","-jmp local:117","+add m4[eax+None*1+0x4],edx","+mov m4[None+None*1+address],esi","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret 0x8"," add eax,0x18"," inc edx"," cmp eax,0x5dc0","@@ -79,11 +66,35 @@"," mov m4[eax+None*1+0x0],0x0"," add eax,0x18"," cmp eax,edx","-jne local:78","+jne local:65","+mov ebp,m4[None+None*1+address]","+inc ebp","+mov esi,ecx","+mov m4[None+None*1+address],ebp","+mov m4[None+None*1+address],esi","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret 0x8","+lea eax,m4[None+edx*4+0x0]","+sub eax,edx","+shl eax,0x3","+add eax,esi","+mov edx,m4[esp+None*1+0x8]","+mov m4[eax+None*1+0x0],edi","+mov m4[eax+None*1+0x4],edx","+mov edx,m4[esp+None*1+0x0]","+mov m4[eax+None*1+0x8],edx","+mov edx,m4[esp+None*1+0x4]"," mov ebx,m4[None+None*1+address]","+mov m4[eax+None*1+0xc],edx","+mov edx,m4[esp+None*1+0x1c]"," inc ebx","-mov esi,ecx","+mov m4[eax+None*1+0x10],edx","+mov edx,m4[esp+None*1+0x20]"," mov m4[None+None*1+address],ebx","+mov m4[eax+None*1+0x14],edx"," mov m4[None+None*1+address],esi"," add esp,0xc"," pop ebp","@@ -114,7 +125,7 @@"," mov m4[eax+None*1+0x0],0x0"," add eax,0x18"," cmp eax,edx","-jne local:113","+jne local:124"," inc m4[None+None*1+address]"," mov m4[None+None*1+address],esi"," add esp,0xc"]},{"name":"select_log_","source":"E:\\apache\\source\\menus\\logs\\log.c","reference":"0x4159e8","earlier":"0x424730","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"load_logs_","source":"E:\\apache\\source\\menus\\logs\\log.c","reference":"0x415a60","earlier":"0x4247a4","same_instruction_shape":false,"reference_instructions":79,"earlier_instructions":79,"callers":[[4343716,"setup_menus_",2]],"diff":["--- 0x4247a4","+++ 0x415a60","@@ -8,31 +8,13 @@"," mov eax,address"," call external"," test eax,eax","-je local:29","-mov ecx,0x160","-mov ebx,address","-mov eax,address","-xor edx,edx","-call external","-mov ecx,eax","-test eax,eax","-je local:30","-push address","-push address","-push eax","-mov ebx,0x165","-call external","-add esp,0xc","-mov edx,address","-mov eax,ecx","-call external","-jmp local:30","+jne local:61"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," mov edi,address"," call external"," xor esi,esi","-xor ebp,ebp","+mov ebp,address"," push esi"," push address"," lea eax,m4[esp+None*1+0x8]","@@ -42,15 +24,15 @@"," mov eax,esp"," call external"," test eax,eax","-je local:64","+je local:46"," mov ecx,0x177","-mov ebx,address"," mov eax,esp","-mov edx,ebp","+mov ebx,ebp","+xor edx,edx"," call external"," mov ecx,eax"," test eax,eax","-je local:64","+je local:46"," push edi"," lea eax,m4[esp+None*1+0x68]"," push eax","@@ -59,13 +41,13 @@"," mov ebx,0x17c"," call external"," add esp,0x10","-mov edx,address","+mov edx,ebp"," mov eax,ecx"," call external"," inc esi"," add edi,0x10"," cmp esi,0xa","-jl local:35","+jl local:17"," call external"," mov eax,address"," call external","@@ -77,3 +59,21 @@"," pop ecx"," pop ebx"," ret ","+mov ecx,0x160","+mov ebx,address","+mov eax,address","+xor edx,edx","+call external","+mov ecx,eax","+test eax,eax","+je local:12","+push address","+push address","+push eax","+mov ebx,0x165","+call external","+add esp,0xc","+mov edx,address","+mov eax,ecx","+call external","+jmp local:12"]},{"name":"set_map_tool_none_","source":"E:\\apache\\source\\menus\\maps\\umap.c","reference":"0x41a1e4","earlier":"0x428cf4","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"initialise_map_2d_viewport_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41a900","earlier":"0x429480","same_instruction_shape":false,"reference_instructions":53,"earlier_instructions":53,"callers":[[4363392,"display_rubber_waypoint_line_",9]],"diff":["--- 0x429480","+++ 0x41a900","@@ -9,34 +9,34 @@"," mov esi,eax"," mov eax,m4[None+None*1+address]"," call external","-mov ebx,m4[None+None*1+address]","-imul ebx,esi","+mov ecx,m4[None+None*1+address]","+imul ecx,esi"," mov edi,eax","-mov edx,ebx","-mov eax,ebx","+mov edx,ecx","+mov eax,ecx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","-imul ecx,edi","+mov ebx,m4[None+None*1+address]","+imul ebx,edi"," mov ebp,m4[None+None*1+address]","-mov edx,ecx","+mov edx,ebx"," sub ebp,eax","-mov eax,ecx","+mov eax,ebx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1"," mov edx,m4[None+None*1+address]"," sub edx,eax","-add ecx,edx","+add ebx,edx","+push ebx","+add ecx,ebp"," push ecx","-add ebx,ebp","-push ebx"," push edx"," xor eax,eax","+lea ebx,m4[esi+None*1+0x1]","+push ebp"," lea ecx,m4[edi+None*1+0x1]","-push ebp","-lea ebx,m4[esi+None*1+0x1]"," xor edx,edx"," call external"," mov eax,m4[None+None*1+address]"]},{"name":"get_map_world_coordinates_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41acb0","earlier":"0x42980c","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"get_map_grid_coordinates_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41ace0","earlier":"0x42983c","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"add_waypoint_redraw_letter_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ebd8","earlier":"0x42d664","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"add_waypoint_draw_drone_position_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ec94","earlier":"0x42d720","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"notify_waypoint_tool_info_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ed18","earlier":"0x42d7a4","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"display_rubber_waypoint_line_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ed5c","earlier":"0x42d7e8","same_instruction_shape":true,"reference_instructions":102,"earlier_instructions":102,"callers":[],"diff":[]},{"name":"update_waypoint_information_box_","source":"E:\\apache\\source\\menus\\maps\\umapinfo.c","reference":"0x4211a0","earlier":"0x42fc20","same_instruction_shape":false,"reference_instructions":321,"earlier_instructions":309,"callers":[[4389920,"notify_waypoint_tool_info_",7]],"diff":["--- 0x42fc20","+++ 0x4211a0","@@ -7,294 +7,33 @@"," sub esp,0x74"," mov esi,m4[None+None*1+address]"," test esi,esi","-je local:271","-call external","-mov eax,esi","-call external","-mov edx,eax","-mov ebp,eax","-mov eax,esi","-call external","-mov ebx,m4[esi+None*1+0xc]","-mov edi,eax","-cmp ebx,0x4","-jne local:41","-mov edx,m4[esi+None*1+0x14]","-mov eax,m4[esi+None*1+0x10]","-call external","-test eax,eax","-je local:46","-mov ax,m2[eax+None*1+0x0]","-mov edx,m4[None+None*1+address]","-and eax,0xffff","-mov eax,m4[edx+eax*4+0x0]","-add eax,0x58","-push eax","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-jmp local:58","-test eax,eax","-je local:50","-test edx,edx","-je local:50","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-jmp local:54","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-lea eax,m4[esp+None*1+0x8]","-push eax","-call external","-add esp,0xc","-mov edx,esp","-lea ecx,m4[esp+None*1+0x64]","-mov eax,m4[None+None*1+address]","-lea ebx,m4[esp+None*1+0x68]","-call external","-xor edx,edx","-xor eax,eax","-call external","+jne local:48","+mov edx,address","+mov eax,m4[None+None*1+address]","+call external","+xor ecx,ecx"," xor ebx,ebx","-mov edx,m4[esp+None*1+0x68]","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,m4[esp+None*1+0x64]","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:67","-lea ecx,m4[esp+None*1+0x64]","-mov edx,0xfffffff","-lea ebx,m4[esp+None*1+0x68]","-mov eax,edx","-call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:15","+mov edx,address"," xor ebx,ebx","-mov edx,m4[esp+None*1+0x68]","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,m4[esp+None*1+0x64]","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:82","-mov eax,esi","-lea ecx,m4[esp+None*1+0x64]","-call external","-mov m4[esp+None*1+0x68],eax","-mov eax,esi","-lea ebx,m4[esp+None*1+0x68]","-call external","-mov m4[esp+None*1+0x64],eax","-mov edx,eax","-mov eax,m4[esp+None*1+0x68]","-call external","-mov eax,m4[esp+None*1+0x68]","-mov m4[None+None*1+address],eax","-mov eax,m4[esp+None*1+0x64]","-mov m4[None+None*1+address],eax","-mov eax,esi","-call external","-mov edx,eax","-sar edx,0x1f","-shl edx,0x8","-sbb eax,edx","-sar eax,0x8","-mov m4[None+None*1+address],eax","-mov eax,esi","-call external","-mov edx,eax","-mov ebx,0x1b0","-sar edx,0x1f","-idiv ebx","-mov m4[None+None*1+address],eax","-call external","-call external","-mov edx,eax","-mov ebx,0xc8","-sar edx,0x1f","-idiv ebx","-mov m4[None+None*1+address],eax","-cmp m4[esi+None*1+0x1c],0xffffffff","-jne local:136","-push address","-lea eax,m4[esp+None*1+0x4]","-push eax","-call external","-add esp,0x8","-jmp local:181","-mov edx,m4[None+None*1+address]","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx","-shl eax,0x3","-add eax,edx","-mov ebx,m4[esi+None*1+0x1c]","-shl eax,0x3","-add ebx,eax","-mov ecx,0xafc80","-mov edx,ebx","-mov eax,ebx","-sar edx,0x1f","-idiv ecx","-mov edx,0xafc80","-mov ecx,eax","-mov m4[esp+None*1+0x70],edx","-mov edx,ebx","-mov eax,ebx","-sar edx,0x1f","-idiv m4[esp+None*1+0x70]","-mov m4[esp+None*1+0x70],0x2ee0","-mov eax,edx","-sar edx,0x1f","-idiv m4[esp+None*1+0x70]","-mov edx,0x2ee0","-mov m4[esp+None*1+0x6c],eax","-mov m4[esp+None*1+0x70],edx","-mov eax,ebx","-mov edx,ebx","-mov ebx,m4[esp+None*1+0x70]","-sar edx,0x1f","-idiv ebx","-mov ebx,0xc8","-mov eax,edx","-sar edx,0x1f","-idiv ebx","-push eax","-mov eax,m4[esp+None*1+0x70]","-push eax","-push ecx","-push address","-lea eax,m4[esp+None*1+0x10]","-push eax","-call external","-add esp,0x14","-mov edx,esp","-mov eax,m4[None+None*1+address]","-call external","-mov eax,m4[esi+None*1+0x20]","-mov edx,eax","-mov ebx,0x14a000","-sar edx,0x1f","-idiv ebx","-push eax","-mov eax,m4[esi+None*1+0x20]","-mov edx,eax","-sar edx,0x1f","-shl edx,0x8","-sbb eax,edx","-sar eax,0x8","-push eax","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,esp","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esi","-call external","-mov m4[None+None*1+address],eax","-cmp eax,0x2","-jne local:231","-test ebp,ebp","-je local:217","-mov eax,ebp","-call external","-cmp eax,0x3","-jne local:217","-mov m4[None+None*1+address],0xa","-test edi,edi","-je local:230","-mov eax,edi","-call external","-cmp eax,0x4","-jne local:224","-mov m4[None+None*1+address],0x9","-mov eax,edi","-call external","-test eax,eax","-jne local:231","-mov m4[None+None*1+address],0x8","-jmp local:231","-mov m4[None+None*1+address],0x7","-mov eax,m4[None+None*1+address]","-cmp eax,0xa","-ja local:265","-jmp m4[None+eax*4+address]","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-push 0x206","-push address","-push address","-call external","-add esp,0xc","-jmp local:298","-mov edx,address","-mov eax,m4[None+None*1+address]","-call external","-xor ebx,ebx","-xor ecx,ecx","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:276","-mov edx,address","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","+mov eax,m4[None+None*1+address]","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","@@ -307,3 +46,276 @@"," pop ecx"," pop ebx"," ret ","+call external","+mov eax,esi","+call external","+mov edx,eax","+mov ebp,eax","+mov eax,esi","+call external","+mov ecx,m4[esi+None*1+0xc]","+mov edi,eax","+cmp ecx,0x4","+jne local:218","+mov edx,m4[esi+None*1+0x14]","+mov eax,m4[esi+None*1+0x10]","+call external","+test eax,eax","+je local:210","+mov ax,m2[eax+None*1+0x0]","+mov edx,m4[None+None*1+address]","+and eax,0xffff","+mov eax,m4[edx+eax*4+0x0]","+add eax,0x58","+push eax","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,esp","+lea ecx,m4[esp+None*1+0x68]","+mov eax,m4[None+None*1+address]","+lea ebx,m4[esp+None*1+0x64]","+call external","+xor edx,edx","+xor eax,eax","+call external","+xor ecx,ecx","+mov edx,m4[esp+None*1+0x64]","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,m4[esp+None*1+0x68]","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:87","+lea ecx,m4[esp+None*1+0x68]","+mov edx,0xfffffff","+lea ebx,m4[esp+None*1+0x64]","+mov eax,edx","+call external","+xor ecx,ecx","+mov edx,m4[esp+None*1+0x64]","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,m4[esp+None*1+0x68]","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:102","+mov eax,esi","+lea ecx,m4[esp+None*1+0x68]","+call external","+mov m4[esp+None*1+0x64],eax","+mov eax,esi","+lea ebx,m4[esp+None*1+0x64]","+call external","+mov m4[esp+None*1+0x68],eax","+mov edx,eax","+mov eax,m4[esp+None*1+0x64]","+call external","+mov eax,m4[esp+None*1+0x64]","+mov m4[None+None*1+address],eax","+mov eax,m4[esp+None*1+0x68]","+mov m4[None+None*1+address],eax","+mov eax,esi","+call external","+mov edx,eax","+sar edx,0x1f","+shl edx,0x8","+sbb eax,edx","+sar eax,0x8","+mov m4[None+None*1+address],eax","+mov eax,esi","+call external","+mov edx,eax","+mov ecx,0x1b0","+sar edx,0x1f","+idiv ecx","+mov m4[None+None*1+address],eax","+call external","+call external","+mov edx,eax","+mov ecx,0xc8","+sar edx,0x1f","+idiv ecx","+mov m4[None+None*1+address],eax","+cmp m4[esi+None*1+0x1c],0xffffffff","+jne local:240","+push address","+lea eax,m4[esp+None*1+0x4]","+push eax","+call external","+add esp,0x8","+mov edx,esp","+mov eax,m4[None+None*1+address]","+call external","+mov eax,m4[esi+None*1+0x20]","+mov edx,eax","+mov ecx,0x14a000","+sar edx,0x1f","+idiv ecx","+push eax","+mov eax,m4[esi+None*1+0x20]","+mov edx,eax","+sar edx,0x1f","+shl edx,0x8","+sbb eax,edx","+sar eax,0x8","+push eax","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,esp","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esi","+call external","+mov m4[None+None*1+address],eax","+cmp eax,0x2","+jne local:203","+test ebp,ebp","+je local:191","+mov eax,ebp","+call external","+cmp eax,0x3","+jne local:191","+mov m4[None+None*1+address],0xa","+test edi,edi","+je local:286","+mov eax,edi","+call external","+cmp eax,0x4","+jne local:198","+mov m4[None+None*1+address],0x9","+mov eax,edi","+call external","+test eax,eax","+jne local:203","+mov m4[None+None*1+address],0x8","+mov eax,m4[None+None*1+address]","+cmp eax,0xa","+ja local:315","+jmp m4[None+eax*4+address]","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+test eax,eax","+je local:231","+test edx,edx","+je local:231","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+mov edx,m4[None+None*1+address]","+lea eax,m4[None+edx*4+0x0]","+sub eax,edx","+shl eax,0x3","+add eax,edx","+mov ecx,m4[esi+None*1+0x1c]","+shl eax,0x3","+add ecx,eax","+mov ebx,0xafc80","+mov edx,ecx","+mov eax,ecx","+sar edx,0x1f","+idiv ebx","+mov edx,0xafc80","+mov ebx,eax","+mov m4[esp+None*1+0x70],edx","+mov edx,ecx","+mov eax,ecx","+sar edx,0x1f","+idiv m4[esp+None*1+0x70]","+mov m4[esp+None*1+0x70],0x2ee0","+mov eax,edx","+sar edx,0x1f","+idiv m4[esp+None*1+0x70]","+mov edx,0x2ee0","+mov m4[esp+None*1+0x6c],eax","+mov m4[esp+None*1+0x70],edx","+mov eax,ecx","+mov edx,ecx","+mov ecx,m4[esp+None*1+0x70]","+sar edx,0x1f","+idiv ecx","+mov ecx,0xc8","+mov eax,edx","+sar edx,0x1f","+idiv ecx","+push eax","+mov eax,m4[esp+None*1+0x70]","+push eax","+push ebx","+push address","+lea eax,m4[esp+None*1+0x10]","+push eax","+call external","+add esp,0x14","+jmp local:155","+mov m4[None+None*1+address],0x7","+jmp local:203","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+push 0x206","+push address","+push address","+call external","+add esp,0xc","+jmp local:37"]},{"name":"set_waypoint_button_letter_","source":"E:\\apache\\source\\menus\\maps\\umapinit.c","reference":"0x422dc0","earlier":"0x43176c","same_instruction_shape":true,"reference_instructions":9,"earlier_instructions":9,"callers":[],"diff":[]},{"name":"create_mission_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x423794","earlier":"0x432120","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":28,"callers":[[4399392,"load_multi_player_mission_",1]],"diff":["--- 0x432120","+++ 0x423794","@@ -17,12 +17,19 @@"," mov m4[ecx+None*1+0x10],0x0"," mov m4[ecx+None*1+0x0],eax"," test eax,eax","-je local:21","-mov m4[eax+None*1+0x4],ecx","+jne local:27","+mov eax,esi"," mov m4[None+None*1+address],esi","-mov eax,esi"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+mov m4[eax+None*1+0x4],ecx","+mov eax,esi","+mov m4[None+None*1+address],esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"load_mission_data_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x4245d0","earlier":"0x432f28","same_instruction_shape":false,"reference_instructions":179,"earlier_instructions":183,"callers":[[4402984,"load_multi_player_mission_",7]],"diff":["--- 0x432f28","+++ 0x4245d0","@@ -6,103 +6,43 @@"," push ebp"," sub esp,0x3ec"," mov ebp,eax","-mov edx,address","-mov ebx,0xffffffff","-xor ecx,ecx","-mov m4[None+None*1+address],edx"," call external"," call external"," call external"," call external"," call external","-call external","-call external","-call external","-call external","-mov m4[None+None*1+address],ebx","+mov edx,0xffffffff","+mov esi,m4[ebp+None*1+0x4c]","+xor ecx,ecx","+mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],ecx","-mov esi,m4[ebp+None*1+0x4c]"," mov m4[None+None*1+address],ecx"," cmp esi,0x5","-jb local:32","-jbe local:86","-cmp esi,0x6","-je local:76","-jmp local:96","+jae local:108"," cmp esi,0x1","-jne local:96","+jne local:154"," call external"," cmp eax,0x2","-jb local:41","-jbe local:44","-cmp eax,0x3","-je local:52","-jmp local:68","+jae local:126"," cmp eax,esi","-je local:60","-jmp local:68","+jne local:133","+mov esi,address"," mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-push 0x55f","-push address","-push address","-call external","-add esp,0xc","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:42","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:32","+pop edi"," xor ecx,ecx"," mov m4[None+None*1+address],ecx","-jmp local:105","-mov edi,esp","-mov esi,address","-mov m4[None+None*1+address],ecx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]","-jmp local:105","-mov edi,esp","-mov esi,address","-mov m4[None+None*1+address],ecx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]","-jmp local:105","-mov ebx,m4[ebp+None*1+0x8]","-push ebx","-push address","-lea eax,m4[esp+None*1+0x8]","-push eax","-call external","-mov eax,m4[ebp+None*1+0x8]","-add esp,0xc","-mov m4[None+None*1+address],eax"," mov ecx,0x582"," mov ebx,address"," lea edx,m4[esp+None*1+0x3e8]","@@ -110,7 +50,7 @@"," call external"," mov esi,eax"," test eax,eax","-jne local:120","+jne local:60"," mov eax,esp"," push eax"," push 0x586","@@ -128,44 +68,29 @@"," mov eax,esi"," call external"," cmp m4[None+None*1+address],0xffffffff","-jne local:137","-xor edi,edi","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],edi","-call external","-jmp local:138","+jne local:164","+xor esi,esi","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi"," call external"," call external"," mov edx,eax"," test eax,eax","-je local:154","-call external","-mov ebx,m4[edx+None*1+0x20]","-test ebx,ebx","-je local:154","-mov eax,ebx","+je local:91"," call external"," mov eax,m4[edx+None*1+0x20]","-mov ecx,m4[eax+None*1+0xb4]","-test ecx,ecx","-je local:154","-mov eax,ecx","+test eax,eax","+je local:91","+call external","+mov eax,m4[edx+None*1+0x20]","+mov edx,m4[eax+None*1+0xb4]","+test edx,edx","+je local:91","+mov eax,edx"," call external"," cmp m4[None+None*1+address],0x0","-je local:168","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-xor eax,eax","-call external","+jne local:166"," call external"," call external"," call external","@@ -181,3 +106,74 @@"," pop ecx"," pop ebx"," ret ","+jbe local:139","+cmp esi,0x6","+jne local:154","+mov esi,address","+mov edi,esp","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:124","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:114","+pop edi","+jmp local:44","+jbe local:131","+cmp eax,0x3","+jne local:133","+mov esi,address","+jmp local:30","+mov esi,address","+jmp local:30","+push 0x55f","+push address","+push address","+call external","+add esp,0xc","+jmp local:43","+mov esi,address","+mov edi,esp","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:152","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:142","+pop edi","+jmp local:44","+mov edx,m4[ebp+None*1+0x8]","+push edx","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+mov eax,m4[ebp+None*1+0x8]","+add esp,0xc","+mov m4[None+None*1+address],eax","+jmp local:45","+call external","+jmp local:76","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+xor eax,eax","+call external","+jmp local:93"]},{"name":"load_multi_player_mission_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x424ad4","earlier":"0x433400","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"notify_exiting_map_screen_","source":"E:\\apache\\source\\menus\\missions\\misssel.c","reference":"0x425750","earlier":"0x434084","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"save_mission_weapons_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426134","earlier":"0x434a28","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":53,"callers":[[4409896,"save_mission_data_",13]],"diff":["--- 0x434a28","+++ 0x426134","@@ -14,30 +14,18 @@"," xor edi,edi"," mov edx,m4[edi+None*1+address]"," test edx,edx","-je local:29","-push edx","-push esi","-push address","-lea edx,m4[esp+None*1+0xc]","-push edx","-mov ecx,0x15a","-mov ebx,address","-call external","-add esp,0x10","-mov edx,esp","-mov eax,ebp","-call external","+jne local:41"," inc esi"," add edi,0x14"," cmp esi,0x9"," jl local:14","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ecx,0x15f"," mov ebx,address","-mov ecx,0x15f"," call external"," add esp,0xc"," mov edx,esp","@@ -51,3 +39,16 @@"," pop ecx"," pop ebx"," ret ","+push edx","+push esi","+push address","+lea edx,m4[esp+None*1+0xc]","+push edx","+mov ecx,0x15a","+mov ebx,address","+call external","+add esp,0x10","+mov edx,esp","+mov eax,ebp","+call external","+jmp local:17"]},{"name":"save_mission_gamedata_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x4261cc","earlier":"0x434abc","same_instruction_shape":false,"reference_instructions":95,"earlier_instructions":94,"callers":[[4410044,"save_mission_data_",15]],"diff":["--- 0x434abc","+++ 0x4261cc","@@ -16,26 +16,25 @@"," mov edx,esp"," mov eax,esi"," call external","-mov ebx,m4[None+None*1+address]","-push ebx","+mov ecx,m4[None+None*1+address]","+push ecx"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","-mov ecx,0x174","+mov ebx,address"," lea edx,m4[esp+None*1+0xc]"," call external"," add esp,0xc","-mov ebx,address","+mov ecx,0x174"," mov eax,esi"," call external"," mov eax,m4[None+None*1+address]"," mov edx,eax","-mov ebx,address","+mov ecx,address"," sar edx,0x1f","-idiv ebx","+idiv ecx"," test eax,eax","-jge local:38","-add eax,0x168","+jl local:93"," push eax"," push address"," lea eax,m4[esp+None*1+0x8]","@@ -47,43 +46,43 @@"," mov edx,esp"," mov eax,esi"," call external","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","-mov ebx,address","+mov ecx,0x181"," lea edx,m4[esp+None*1+0xc]"," call external"," add esp,0xc","-mov ecx,0x181","+mov ebx,address"," mov eax,esi"," call external","+mov eax,m4[None+None*1+address]","+mov edx,eax","+mov ecx,0xafc80","+sar edx,0x1f","+idiv ecx","+mov ecx,eax"," mov eax,m4[None+None*1+address]"," mov edx,eax"," mov ebx,0xafc80"," sar edx,0x1f"," idiv ebx","-mov ebx,eax","-mov eax,m4[None+None*1+address]","-mov edx,eax","-mov ecx,0xafc80","-sar edx,0x1f","-idiv ecx","-mov ecx,0x2ee0","+mov ebx,0x2ee0"," mov eax,edx"," sar edx,0x1f","-idiv ecx","+idiv ebx"," push eax","-push ebx","+push ecx"," push address"," lea eax,m4[esp+None*1+0xc]"," push eax","-mov ecx,0x186","+mov ebx,address"," lea edx,m4[esp+None*1+0x10]"," call external"," add esp,0x10","-mov ebx,address","+mov ecx,0x186"," mov eax,esi"," call external"," add esp,0x64","@@ -92,3 +91,5 @@"," pop ecx"," pop ebx"," ret ","+add eax,0x168","+jmp local:37"]},{"name":"save_mission_data_tasks_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x4263e4","earlier":"0x434ccc","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":26,"callers":[[4410572,"save_mission_data_",9]],"diff":["--- 0x434ccc","+++ 0x4263e4","@@ -1,23 +1,23 @@"," push ebx"," push ecx"," push edx","-mov ecx,eax","+mov ebx,eax"," call external"," test eax,eax"," je local:10"," mov edx,eax","+mov eax,ebx","+call external","+call external","+mov ecx,eax","+test eax,eax","+je local:22","+mov edx,ecx","+mov eax,ebx","+call external"," mov eax,ecx"," call external","-call external","-mov ebx,eax","-test eax,eax","-je local:22","-mov edx,ebx","-mov eax,ecx","-call external","-mov eax,ebx","-call external","-mov ebx,eax","+mov ecx,eax"," test eax,eax"," jne local:14"," pop edx"]},{"name":"save_mission_gameplay_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426420","earlier":"0x434d08","same_instruction_shape":false,"reference_instructions":423,"earlier_instructions":422,"callers":[[4410632,"save_mission_data_",11]],"diff":["--- 0x434d08","+++ 0x426420","@@ -25,31 +25,17 @@"," shl eax,0x1d"," sar eax,0x1d"," cmp eax,0x3","-je local:42","-push eax","-mov ecx,m4[esp+None*1+0x68]","-push ecx","-push edi","-push address","-lea eax,m4[esp+None*1+0x10]","-push eax","-mov ebx,address","-lea edx,m4[esp+None*1+0x14]","-call external","-add esp,0x14","-mov ecx,0x1eb","-mov eax,esi","-call external","+jne local:408"," inc edi"," add ebp,0x1800"," cmp edi,0x40"," jl local:23","+mov ebp,m4[esp+None*1+0x64]"," mov edi,m4[esp+None*1+0x88]","-mov ebp,m4[esp+None*1+0x64]","+inc ebp"," add edi,0x60","-inc ebp","+mov m4[esp+None*1+0x64],ebp"," mov m4[esp+None*1+0x88],edi","-mov m4[esp+None*1+0x64],ebp"," cmp ebp,0x40"," jl local:20"," mov ecx,0x1f0","@@ -59,45 +45,45 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0x90],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0x90]","-xor ebx,ebx","+mov m4[esp+None*1+0x8c],ecx"," mov m4[esp+None*1+0x68],eax","-mov m4[esp+None*1+0x8c],ebx"," mov ebp,m4[esp+None*1+0x68]"," add ebp,m4[esp+None*1+0x8c]"," xor edi,edi"," add ebp,address"," mov eax,m4[ebp+None*1+0x4]"," test eax,eax","-je local:86","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:72","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x1ff","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:69","-mov ecx,m4[esp+None*1+0x8c]","-add ecx,0x60","-mov m4[esp+None*1+0x8c],ecx","-cmp ecx,0x1800","-jne local:65","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:55","+mov ebx,m4[esp+None*1+0x8c]","+add ebx,0x60","+mov m4[esp+None*1+0x8c],ebx","+cmp ebx,0x1800","+jne local:51"," mov ebp,m4[esp+None*1+0x90]"," add ebp,0x4"," mov m4[esp+None*1+0x90],ebp"," cmp ebp,0x8","-jne local:61","+jne local:47"," mov ecx,0x205"," mov ebx,address"," mov edx,address","@@ -105,137 +91,137 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0x98],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0x98]","-xor ebx,ebx","+mov m4[esp+None*1+0x94],ecx"," mov m4[esp+None*1+0x6c],eax","+mov ebp,m4[esp+None*1+0x6c]","+add ebp,m4[esp+None*1+0x94]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0xc]","+test eax,eax","+je local:118","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x214","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:101","+mov ebx,m4[esp+None*1+0x94]","+add ebx,0x60"," mov m4[esp+None*1+0x94],ebx","-mov edi,m4[esp+None*1+0x6c]","-add edi,m4[esp+None*1+0x94]","+cmp ebx,0x1800","+jne local:97","+mov ebp,m4[esp+None*1+0x98]","+add ebp,0x4","+mov m4[esp+None*1+0x98],ebp","+cmp ebp,0x8","+jne local:93","+mov ecx,0x21b","+mov ebx,address","+mov edx,address","+mov eax,esi","+call external","+xor edx,edx","+mov m4[esp+None*1+0xa0],edx","+xor ecx,ecx","+mov eax,m4[esp+None*1+0xa0]","+mov m4[esp+None*1+0x9c],ecx","+mov m4[esp+None*1+0x70],eax","+mov ebp,m4[esp+None*1+0x70]","+add ebp,m4[esp+None*1+0x9c]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0x14]","+test eax,eax","+je local:164","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x22a","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:147","+mov ebx,m4[esp+None*1+0x9c]","+add ebx,0x60","+mov m4[esp+None*1+0x9c],ebx","+cmp ebx,0x1800","+jne local:143","+mov ebp,m4[esp+None*1+0xa0]","+add ebp,0x4","+mov m4[esp+None*1+0xa0],ebp","+cmp ebp,0x10","+jne local:139","+mov ecx,0x230","+mov ebx,address","+mov edx,address","+mov eax,esi","+call external","+xor edx,edx","+mov m4[esp+None*1+0xa8],edx","+xor ecx,ecx","+mov eax,m4[esp+None*1+0xa8]","+mov m4[esp+None*1+0xa4],ecx","+mov m4[esp+None*1+0x74],eax","+mov edi,m4[esp+None*1+0x74]","+add edi,m4[esp+None*1+0xa4]"," xor ebp,ebp"," add edi,address","-mov eax,m4[edi+None*1+0xc]","-test eax,eax","-je local:132","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x214","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","+mov eax,m4[edi+None*1+0x24]","+test eax,eax","+je local:210","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x23f"," mov eax,esi"," call external"," inc ebp"," add edi,0x1800"," cmp ebp,0x40","-jl local:115","-mov ecx,m4[esp+None*1+0x94]","-add ecx,0x60","-mov m4[esp+None*1+0x94],ecx","-cmp ecx,0x1800","-jne local:111","-mov ebp,m4[esp+None*1+0x98]","-add ebp,0x4","-mov m4[esp+None*1+0x98],ebp","-cmp ebp,0x8","-jne local:107","-mov ecx,0x21b","-mov ebx,address","-mov edx,address","-mov eax,esi","-call external","-xor edx,edx","-mov m4[esp+None*1+0xa0],edx","-mov eax,m4[esp+None*1+0xa0]","-xor ebx,ebx","-mov m4[esp+None*1+0x70],eax","-mov m4[esp+None*1+0x9c],ebx","-mov ebp,m4[esp+None*1+0x70]","-add ebp,m4[esp+None*1+0x9c]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x14]","-test eax,eax","-je local:178","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x22a","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:161","-mov ecx,m4[esp+None*1+0x9c]","-add ecx,0x60","-mov m4[esp+None*1+0x9c],ecx","-cmp ecx,0x1800","-jne local:157","-mov ebp,m4[esp+None*1+0xa0]","-add ebp,0x4","-mov m4[esp+None*1+0xa0],ebp","-cmp ebp,0x10","-jne local:153","-mov ecx,0x230","-mov ebx,address","-mov edx,address","-mov eax,esi","-call external","-xor edx,edx","-mov m4[esp+None*1+0xa8],edx","-mov eax,m4[esp+None*1+0xa8]","-xor ebx,ebx","-mov m4[esp+None*1+0x74],eax","+jl local:193","+mov ebx,m4[esp+None*1+0xa4]","+add ebx,0x60"," mov m4[esp+None*1+0xa4],ebx","-mov ebp,m4[esp+None*1+0x74]","-add ebp,m4[esp+None*1+0xa4]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x24]","-test eax,eax","-je local:224","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x23f","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:207","-mov ecx,m4[esp+None*1+0xa4]","-add ecx,0x60","-mov m4[esp+None*1+0xa4],ecx","-cmp ecx,0x1800","-jne local:203","+cmp ebx,0x1800","+jne local:189"," mov ebp,m4[esp+None*1+0xa8]"," add ebp,0x4"," mov m4[esp+None*1+0xa8],ebp"," cmp ebp,0x10","-jne local:199","+jne local:185"," mov ecx,0x245"," mov ebx,address"," mov edx,address","@@ -250,30 +236,30 @@"," add ebp,address"," mov eax,m4[ebp+None*1+0x34]"," test eax,eax","-je local:267","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:253","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x254","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:250","-mov ecx,m4[esp+None*1+0xac]","-add ecx,0x60","-mov m4[esp+None*1+0xac],ecx","-cmp ecx,0x1800","-jne local:246","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:236","+mov ebx,m4[esp+None*1+0xac]","+add ebx,0x60","+mov m4[esp+None*1+0xac],ebx","+cmp ebx,0x1800","+jne local:232"," mov ecx,0x25a"," mov ebx,address"," mov edx,address","@@ -285,87 +271,87 @@"," mov m4[esp+None*1+0x7c],eax"," xor eax,eax"," mov m4[esp+None*1+0xb0],eax","-mov edi,m4[esp+None*1+0x7c]","-add edi,m4[esp+None*1+0xb0]","-xor ebp,ebp","-add edi,address","-mov eax,m4[edi+None*1+0x38]","-test eax,eax","-je local:308","-mov ebx,m4[eax+None*1+0x8]","+mov ebp,m4[esp+None*1+0x7c]","+add ebp,m4[esp+None*1+0xb0]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0x38]","+test eax,eax","+je local:294","+mov ecx,m4[eax+None*1+0x8]","+push ecx","+mov ebx,m4[eax+None*1+0x4]"," push ebx","-mov ecx,m4[eax+None*1+0x4]","-push ecx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-lea edx,m4[esp+None*1+0x10]","-mov ebx,address","-call external","-add esp,0x10","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+lea edx,m4[esp+None*1+0x10]"," mov ecx,0x269","-mov eax,esi","-call external","-inc ebp","-add edi,0x1800","-cmp ebp,0x40","-jl local:291","+call external","+add esp,0x10","+mov ebx,address","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:277"," mov edi,m4[esp+None*1+0xb0]"," add edi,0x60"," mov m4[esp+None*1+0xb0],edi"," cmp edi,0x1800","-jne local:287","+jne local:273"," mov eax,m4[esp+None*1+0xb4]"," add eax,0x4"," mov m4[esp+None*1+0xb4],eax"," cmp eax,0x8","-jne local:283","+jne local:269"," mov ecx,0x26f"," mov ebx,address"," mov edx,address"," mov eax,esi"," call external","+xor ecx,ecx","+mov m4[esp+None*1+0xbc],ecx"," xor ebx,ebx","-mov m4[esp+None*1+0xbc],ebx"," mov eax,m4[esp+None*1+0xbc]","-xor ecx,ecx","+mov m4[esp+None*1+0xb8],ebx"," mov m4[esp+None*1+0x80],eax","-mov m4[esp+None*1+0xb8],ecx","-mov ebp,m4[esp+None*1+0x80]","-add ebp,m4[esp+None*1+0xb8]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x40]","-test eax,eax","-je local:354","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+mov edi,m4[esp+None*1+0x80]","+add edi,m4[esp+None*1+0xb8]","+xor ebp,ebp","+add edi,address","+mov eax,m4[edi+None*1+0x40]","+test eax,eax","+je local:340","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x27e","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:337","-mov ecx,m4[esp+None*1+0xb8]","-add ecx,0x60","-mov m4[esp+None*1+0xb8],ecx","-cmp ecx,0x1800","-jne local:333","+mov eax,esi","+call external","+inc ebp","+add edi,0x1800","+cmp ebp,0x40","+jl local:323","+mov ebx,m4[esp+None*1+0xb8]","+add ebx,0x60","+mov m4[esp+None*1+0xb8],ebx","+cmp ebx,0x1800","+jne local:319"," mov ebp,m4[esp+None*1+0xbc]"," add ebp,0x4"," mov m4[esp+None*1+0xbc],ebp"," cmp ebp,0x10","-jne local:329","+jne local:315"," mov ecx,0x285"," mov ebx,address"," mov edx,address","@@ -373,45 +359,45 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0xc4],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0xc4]","-xor ebx,ebx","+mov m4[esp+None*1+0xc0],ecx"," mov m4[esp+None*1+0x84],eax","-mov m4[esp+None*1+0xc0],ebx"," mov ebp,m4[esp+None*1+0x84]"," add ebp,m4[esp+None*1+0xc0]"," xor edi,edi"," add ebp,address"," mov eax,m4[ebp+None*1+0x50]"," test eax,eax","-je local:400","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:386","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x294","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:383","-mov ecx,m4[esp+None*1+0xc0]","-add ecx,0x60","-mov m4[esp+None*1+0xc0],ecx","-cmp ecx,0x1800","-jne local:379","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:369","+mov ebx,m4[esp+None*1+0xc0]","+add ebx,0x60","+mov m4[esp+None*1+0xc0],ebx","+cmp ebx,0x1800","+jne local:365"," mov ebp,m4[esp+None*1+0xc4]"," add ebp,0x4"," mov m4[esp+None*1+0xc4],ebp"," cmp ebp,0x10","-jne local:375","+jne local:361"," add esp,0xc8"," pop ebp"," pop edi","@@ -420,3 +406,18 @@"," pop ecx"," pop ebx"," ret ","+push eax","+mov ebx,m4[esp+None*1+0x68]","+push ebx","+push edi","+push address","+lea eax,m4[esp+None*1+0x10]","+push eax","+mov ecx,0x1eb","+lea edx,m4[esp+None*1+0x14]","+call external","+add esp,0x14","+mov ebx,address","+mov eax,esi","+call external","+jmp local:28"]},{"name":"save_mission_debrief_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426aac","earlier":"0x43538c","same_instruction_shape":false,"reference_instructions":62,"earlier_instructions":62,"callers":[[4412300,"save_mission_data_",17]],"diff":["--- 0x43538c","+++ 0x426aac","@@ -25,13 +25,13 @@"," mov edx,address"," mov eax,esi"," call external","-mov ebx,m4[None+None*1+address]","-push ebx","+mov ecx,m4[None+None*1+address]","+push ecx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ebx,address"," mov ecx,0x2ad","-mov ebx,address"," call external"," add esp,0xc"," mov edx,esp","@@ -42,13 +42,13 @@"," mov edx,address"," mov eax,esi"," call external","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ecx,0x2b2"," mov ebx,address","-mov ecx,0x2b2"," call external"," add esp,0xc"," mov edx,esp"]},{"name":"save_mission_destroy_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426b84","earlier":"0x435464","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":41,"callers":[[4412516,"save_mission_data_",19]],"diff":["--- 0x435464","+++ 0x426b84","@@ -10,28 +10,12 @@"," mov edx,address"," call external"," xor esi,esi","-lea ebx,m4[esp+None*1+0x64]","-lea edx,m4[esp+None*1+0x68]","+lea ebx,m4[esp+None*1+0x68]","+lea edx,m4[esp+None*1+0x64]"," mov eax,esi"," call external"," test eax,eax","-je local:34","-mov edx,m4[esp+None*1+0x64]","-push edx","-mov ebx,m4[esp+None*1+0x6c]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-mov ecx,0x2ca","-push eax","-lea edx,m4[esp+None*1+0x10]","-mov ebx,address","-call external","-add esp,0x10","-mov eax,edi","-inc esi","-call external","-jmp local:12","+jne local:25"," add esp,0x6c"," pop edi"," pop esi","@@ -39,3 +23,19 @@"," pop ecx"," pop ebx"," ret ","+mov edx,m4[esp+None*1+0x68]","+push edx","+mov ecx,m4[esp+None*1+0x68]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+mov ebx,address","+push eax","+lea edx,m4[esp+None*1+0x10]","+mov ecx,0x2ca","+call external","+add esp,0x10","+mov eax,edi","+inc esi","+call external","+jmp local:12"]},{"name":"save_mission_data_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426bf4","earlier":"0x4354d4","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"create_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4270f0","earlier":"0x4359b0","same_instruction_shape":false,"reference_instructions":73,"earlier_instructions":65,"callers":[[4413872,"test_waypoint_stuff_",21]],"diff":["--- 0x4359b0","+++ 0x4270f0","@@ -21,10 +21,8 @@"," mov m4[ecx+None*1+0x4],0x0"," mov m4[ecx+None*1+0x0],eax"," test eax,eax","-je local:26","+je local:60"," mov m4[eax+None*1+0x4],ecx","-jmp local:27","-mov m4[esi+None*1+0x20],ecx"," mov eax,m4[esi+None*1+0x14]"," mov m4[ecx+None*1+0x5c],eax"," lea ebx,m4[eax+None*1+0x1]","@@ -43,15 +41,25 @@"," mov ebp,m4[None+None*1+address]"," mov m4[ecx+None*1+0x48],edi"," test ebp,ebp","-jne local:48","+jne local:46"," cmp m4[None+None*1+address],0x0","-je local:54","+je local:62"," mov edx,m4[None+None*1+address]"," cmp edx,m4[esi+None*1+0x8]","-jne local:57","+jne local:52"," mov ebx,m4[None+None*1+address]"," cmp ebx,m4[ecx+None*1+0x5c]","-jne local:57","+je local:62","+mov eax,ecx","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov m4[esi+None*1+0x20],ecx","+jmp local:25"," lea eax,m4[ecx+None*1+0x8]"," call external"," mov m4[None+None*1+address],ecx"]},{"name":"setup_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4271ac","earlier":"0x435a64","same_instruction_shape":true,"reference_instructions":63,"earlier_instructions":63,"callers":[],"diff":[]},{"name":"set_drone_position_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427548","earlier":"0x435e7c","same_instruction_shape":false,"reference_instructions":5,"earlier_instructions":4,"callers":[[4415100,"test_waypoint_stuff_",23]],"diff":["--- 0x435e7c","+++ 0x427548","@@ -1,4 +1,5 @@","-mov m4[eax+None*1+0x60],edx"," mov m4[eax+None*1+0x64],ebx"," mov m4[eax+None*1+0x68],ecx","+mov eax,eax","+mov m4[eax+None*1+0x60],edx"," ret "]},{"name":"set_drone_attitude_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x42756c","earlier":"0x435ea4","same_instruction_shape":false,"reference_instructions":4,"earlier_instructions":4,"callers":[[4415140,"test_waypoint_stuff_",28]],"diff":["--- 0x435ea4","+++ 0x42756c","@@ -1,4 +1,4 @@","-mov m4[eax+None*1+0x90],edx"," mov m4[eax+None*1+0x94],ebx"," mov m4[eax+None*1+0x98],ecx","+mov m4[eax+None*1+0x90],edx"," ret "]},{"name":"set_drone_speed_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427590","earlier":"0x435ed0","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4415184,"test_waypoint_stuff_",32]],"diff":[]},{"name":"set_simple_drone_object_number_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427668","earlier":"0x435fa4","same_instruction_shape":true,"reference_instructions":32,"earlier_instructions":32,"callers":[],"diff":[]},{"name":"get_next_simple_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4276d4","earlier":"0x436010","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4415504,"move_ground_simple_drones_",32]],"diff":[]},{"name":"get_drone_speed_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4277d0","earlier":"0x436108","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[],"diff":[]},{"name":"initialise_drone_attention_level_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427840","earlier":"0x436178","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":37,"callers":[[4415864,"setup_drone_",57]],"diff":["--- 0x436178","+++ 0x427840","@@ -1,37 +1,41 @@","-push ebx"," push ecx"," push edx","-mov ebx,eax","+mov ecx,eax"," mov eax,m4[eax+None*1+0x4c]"," mov eax,m4[eax+None*1+0x10]"," cmp eax,0x15","-ja local:17","+ja local:22"," jmp m4[None+eax*4+address]","-mov edx,0xce4000","-jmp local:22","+xor edx,edx","+mov eax,m4[ecx+None*1+0x4c]","+cmp m4[eax+None*1+0xc],0x2","+je local:28","+mov m4[ecx+None*1+0x17c],edx","+pop edx","+pop ecx","+ret "," mov edx,address","-jmp local:22","+jmp local:9"," mov edx,address","-jmp local:22","-xor edx,edx","-jmp local:22","+jmp local:9","+mov edx,address","+jmp local:9"," push 0x3e3"," push address"," push address"," call external"," add esp,0xc","-mov eax,m4[ebx+None*1+0x4c]","-cmp m4[eax+None*1+0xc],0x2","-jne local:32","+jmp local:9","+push ebx"," call external"," imul edx,eax","-mov ecx,0x64","+mov ebx,0x64"," mov eax,edx"," sar edx,0x1f","-idiv ecx","+idiv ebx"," mov edx,eax","-mov m4[ebx+None*1+0x17c],edx","+pop ebx","+mov m4[ecx+None*1+0x17c],edx"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"destroy_all_tasks_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427ca0","earlier":"0x4365b0","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[[4416944,"test_waypoint_stuff_",4]],"diff":[]},{"name":"create_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427cc0","earlier":"0x4365d0","same_instruction_shape":false,"reference_instructions":48,"earlier_instructions":45,"callers":[[4416976,"test_waypoint_stuff_",8]],"diff":["--- 0x4365d0","+++ 0x427cc0","@@ -1,12 +1,9 @@"," push ebx","+push ecx"," push edx"," push esi"," cmp m4[None+None*1+address],0x0","-je local:9","-mov eax,address","-xor ebx,ebx","-call external","-mov m4[None+None*1+address],ebx","+jne local:40"," mov ebx,0x51"," mov edx,address"," mov eax,0x24","@@ -14,20 +11,17 @@"," mov edx,eax"," mov eax,m4[None+None*1+address]"," test eax,eax","-je local:22","+je local:19"," cmp m4[eax+None*1+0x4],0x0","-je local:22","+je local:19"," mov eax,m4[eax+None*1+0x4]"," test eax,eax","-jne local:17","+jne local:14"," mov m4[edx+None*1+0x4],0x0"," mov m4[edx+None*1+0x0],eax"," test eax,eax","-je local:28","+je local:45"," mov m4[eax+None*1+0x4],edx","-jmp local:30","-mov m4[None+None*1+address],edx","-mov m4[None+None*1+address],edx"," mov m4[edx+None*1+0xc],0x0"," mov m4[edx+None*1+0x10],0x0"," mov m4[edx+None*1+0x1c],0x0","@@ -41,5 +35,14 @@"," mov eax,edx"," pop esi"," pop edx","+pop ecx"," pop ebx"," ret ","+mov eax,address","+xor ecx,ecx","+call external","+mov m4[None+None*1+address],ecx","+jmp local:6","+mov m4[None+None*1+address],edx","+mov m4[None+None*1+address],edx","+jmp local:24"]},{"name":"destroy_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427d74","earlier":"0x43667c","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":53,"callers":[[4417148,"destroy_all_tasks_",3]],"diff":["--- 0x43667c","+++ 0x427d74","@@ -6,37 +6,32 @@"," push ebp"," mov ecx,eax"," cmp eax,m4[None+None*1+address]","-jne local:11","+je local:15","+mov esi,m4[ecx+None*1+0x20]","+test esi,esi","+je local:18","+mov eax,esi","+call external","+jmp local:9"," xor ebx,ebx"," mov m4[None+None*1+address],ebx","-mov esi,m4[ecx+None*1+0x20]","-test esi,esi","-je local:17","-mov eax,esi","-call external","-jmp local:11","+jmp local:9"," mov edi,m4[None+None*1+address]"," cmp ecx,edi","-jne local:27","+jne local:25"," mov ebp,m4[edi+None*1+0x4]"," test ebp,ebp","-je local:25","+je local:48"," mov m4[None+None*1+address],ebp","-jmp local:27","-mov eax,m4[edi+None*1+0x0]","-mov m4[None+None*1+address],eax"," mov eax,m4[ecx+None*1+0x0]"," test eax,eax","-je local:34","+je local:51"," mov edx,eax"," mov eax,m4[ecx+None*1+0x4]"," mov m4[edx+None*1+0x4],eax","-jmp local:36","-mov eax,m4[ecx+None*1+0x4]","-mov m4[None+None*1+address],eax"," mov edx,m4[ecx+None*1+0x4]"," test edx,edx","-je local:41","+je local:36"," mov eax,m4[ecx+None*1+0x0]"," mov m4[edx+None*1+0x0],eax"," mov ebx,0xa1","@@ -51,3 +46,9 @@"," pop ecx"," pop ebx"," ret ","+mov eax,m4[edi+None*1+0x0]","+mov m4[None+None*1+address],eax","+jmp local:25","+mov eax,m4[ecx+None*1+0x4]","+mov m4[None+None*1+address],eax","+jmp local:31"]},{"name":"set_task_type_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e00","earlier":"0x436708","same_instruction_shape":false,"reference_instructions":15,"earlier_instructions":14,"callers":[[4417288,"test_waypoint_stuff_",11]],"diff":["--- 0x436708","+++ 0x427e00","@@ -3,7 +3,7 @@"," mov eax,m4[eax+None*1+0x20]"," mov edx,eax"," test eax,eax","-je local:13","+je local:14"," mov eax,edx"," call external"," mov eax,edx","@@ -11,4 +11,5 @@"," mov edx,eax"," test eax,eax"," jne local:6","+lea eax,m4[eax+None*1+0x0]"," ret "]},{"name":"set_task_side_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e2c","earlier":"0x436730","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4417328,"test_waypoint_stuff_",15]],"diff":[]},{"name":"set_user_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e30","earlier":"0x436734","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4417332,"test_waypoint_stuff_",18]],"diff":[]},{"name":"update_all_tasks_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427eb4","earlier":"0x4367b0","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"initialise_drone_weapons_","source":"E:\\apache\\source\\drone\\dweapons.c","reference":"0x428fd4","earlier":"0x437a00","same_instruction_shape":false,"reference_instructions":55,"earlier_instructions":55,"callers":[[4422144,"setup_drone_",55]],"diff":["--- 0x437a00","+++ 0x428fd4","@@ -1,7 +1,7 @@","+push ecx","+mov ecx,eax","+push edx"," push ebx","-push ecx","-push edx","-mov ecx,eax"," add eax,0xe4"," mov m1[eax+None*1+0xfffffff8],0x0"," mov m1[eax+None*1+0xfffffff9],0x0","@@ -44,12 +44,12 @@"," mov m1[ecx+None*1+0x1c4],dl"," mov eax,ecx"," add ecx,0x28","+pop ebx","+pop edx"," add eax,0x8","+mov m4[eax+None*1+0x188],0x0"," mov m4[eax+None*1+0x184],0x0","-mov m4[eax+None*1+0x188],0x0"," cmp eax,ecx","-jne local:46","-pop edx","+jne local:48"," pop ecx","-pop ebx"," ret "]},{"name":"initialise_drone_specific_weapons_","source":"E:\\apache\\source\\drone\\dweapons.c","reference":"0x429104","earlier":"0x437b30","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":85,"callers":[[4422448,"set_simple_drone_object_number_",25]],"diff":["--- 0x437b30","+++ 0x429104","@@ -7,66 +7,42 @@"," sub esp,0xc"," mov m4[esp+None*1+0x8],eax"," mov edi,eax","-mov ecx,m4[eax+None*1+0x8]","+mov ebx,m4[eax+None*1+0x8]"," xor ebp,ebp","-xor ebx,ebx","-mov edx,ebx","-mov eax,ecx","+xor ecx,ecx","+mov edx,ecx","+mov eax,ebx"," call external"," mov esi,eax"," test eax,eax","-je local:25","-mov edx,ebx","-mov eax,ecx","-inc ebp","-call external","-mov m4[esp+None*1+0x0],esi","-mov m4[esp+None*1+0x4],ebx","-mov m4[edi+None*1+0x18c],eax","-inc ebx","+jne local:61","+inc ecx"," add edi,0x8","-cmp ebx,0x5","+cmp ecx,0x5"," jl local:12"," mov eax,m4[esp+None*1+0x8]"," mov eax,m4[eax+None*1+0x4c]"," cmp m4[eax+None*1+0x10],0x12","-jne local:39","+jne local:32"," mov eax,m4[esp+None*1+0x8]"," cmp m4[eax+None*1+0x194],0x0","-jne local:37","+jne local:30"," inc ebp"," mov eax,m4[esp+None*1+0x8]"," mov m4[eax+None*1+0x194],0xa"," test ebp,ebp","-jbe local:44","+jbe local:69"," cmp ebp,0x1","-je local:51","-jmp local:61","-mov eax,m4[esp+None*1+0x8]","-mov m4[eax+None*1+0x184],0x0","-mov dh,m1[eax+None*1+0x1c4]","-mov m1[eax+None*1+0x188],0xff","-and dh,0x3f","-mov m1[eax+None*1+0x1c4],dh","-jmp local:69","+jne local:76"," mov eax,m4[esp+None*1+0x8]"," mov dl,m1[eax+None*1+0x1c4]"," or dl,0xc0","-mov ebx,m4[esp+None*1+0x8]","+mov ecx,m4[esp+None*1+0x8]"," mov m1[eax+None*1+0x1c4],dl"," mov eax,m4[esp+None*1+0x0]","-mov m4[ebx+None*1+0x184],eax","+mov m4[ecx+None*1+0x184],eax"," mov al,m1[esp+None*1+0x4]","-mov m1[ebx+None*1+0x188],al","-jmp local:69","-mov eax,m4[esp+None*1+0x8]","-mov bl,m1[eax+None*1+0x1c4]","-or bl,0x40","-mov m1[eax+None*1+0x1c4],bl","-mov bh,bl","-mov m1[eax+None*1+0x188],0x0","-and bh,0x7f","-mov m1[eax+None*1+0x1c4],bh","+mov m1[ecx+None*1+0x188],al"," mov eax,m4[esp+None*1+0x8]"," call external"," mov eax,m4[esp+None*1+0x8]","@@ -83,3 +59,27 @@"," pop ecx"," pop ebx"," ret ","+mov edx,ecx","+mov eax,ebx","+call external","+mov m4[esp+None*1+0x0],esi","+mov m4[esp+None*1+0x4],ecx","+inc ebp","+mov m4[edi+None*1+0x18c],eax","+jmp local:18","+mov eax,m4[esp+None*1+0x8]","+mov m4[eax+None*1+0x184],0x0","+mov dh,m1[eax+None*1+0x1c4]","+mov m1[eax+None*1+0x188],0xff","+and dh,0x3f","+mov m1[eax+None*1+0x1c4],dh","+jmp local:45","+mov eax,m4[esp+None*1+0x8]","+mov bl,m1[eax+None*1+0x1c4]","+or bl,0x40","+mov m1[eax+None*1+0x1c4],bl","+mov bh,bl","+mov m1[eax+None*1+0x188],0x0","+and bh,0x7f","+mov m1[eax+None*1+0x1c4],bh","+jmp local:45"]},{"name":"get_drone_carrier_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b29c","earlier":"0x43b14c","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"get_drone_carrier_speed_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b2bc","earlier":"0x43b16c","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"get_drone_carrier_heading_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b2e0","earlier":"0x43b190","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"move_ground_simple_drones_","source":"E:\\apache\\source\\drone\\movement.c","reference":"0x42c6b8","earlier":"0x43c55c","same_instruction_shape":true,"reference_instructions":41,"earlier_instructions":41,"callers":[],"diff":[]},{"name":"test_waypoint_stuff_","source":"E:\\apache\\source\\drone\\waydebug.c","reference":"0x42fc80","earlier":"0x43f810","same_instruction_shape":true,"reference_instructions":50,"earlier_instructions":50,"callers":[],"diff":[]},{"name":"append_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x43035c","earlier":"0x43febc","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":68,"callers":[[4456124,"test_waypoint_stuff_",36],[4456124,"test_waypoint_stuff_",42]],"diff":["--- 0x43febc","+++ 0x43035c","@@ -1,24 +1,22 @@","-push ebx"," push ecx"," push edx","-push esi","-push edi"," push ebp"," mov ebp,eax"," mov ecx,m4[eax+None*1+0xb4]"," xor eax,eax"," test ecx,ecx","-je local:17","+je local:14"," mov edx,m4[ecx+None*1+0x4]"," test edx,edx","-je local:17","+je local:14","+inc eax"," mov ecx,edx","-inc eax","-jmp local:11","+jmp local:8"," cmp eax,0x26","-jl local:21","-mov eax,ecx","-jmp local:61","+jge local:58","+push edi","+push esi","+push ebx"," call external"," mov ebx,0x30"," mov edi,eax","@@ -28,13 +26,9 @@"," mov m4[edi+None*1+0x4],0x0"," mov m4[edi+None*1+0x0],ecx"," test ecx,ecx","-je local:34","+je local:63"," mov m4[edi+None*1+0xc],0x2"," mov m4[ecx+None*1+0x4],edi","-jmp local:37","-mov m4[ebp+None*1+0xb4],edi","-mov m4[ebp+None*1+0xb8],edi","-mov m4[edi+None*1+0xc],0x1"," mov m4[esi+None*1+0x8],ebp"," inc m4[ebp+None*1+0xbc]"," mov m4[esi+None*1+0x10],0x0","@@ -42,27 +36,43 @@"," mov m4[esi+None*1+0x18],0x0"," mov m4[esi+None*1+0x1c],0xffffffff"," mov m4[esi+None*1+0x24],0xffffffff","-mov ecx,m4[esi+None*1+0x0]","+mov ebx,m4[esi+None*1+0x0]"," mov m4[esi+None*1+0x20],0x0","-test ecx,ecx","-je local:51","-mov eax,m4[ecx+None*1+0x28]","+test ebx,ebx","+je local:67","+mov eax,m4[ebx+None*1+0x28]"," mov m4[esi+None*1+0x28],eax","-jmp local:52","-mov m4[esi+None*1+0x28],ecx"," mov edi,m4[None+None*1+address]"," mov m1[esi+None*1+0x2c],0x0"," test edi,edi","-jne local:59","-mov m4[None+None*1+address],esi","-mov eax,m4[esi+None*1+0x8]","-call external","+jne local:69","+mov eax,esi"," call external"," mov eax,esi","+pop ebx","+pop esi","+pop edi"," pop ebp","-pop edi","-pop esi"," pop edx"," pop ecx","+ret ","+mov eax,ecx","+pop ebp","+pop edx","+pop ecx","+ret ","+mov m4[ebp+None*1+0xb8],edi","+mov m4[ebp+None*1+0xb4],edi","+mov m4[edi+None*1+0xc],0x1","+jmp local:31","+mov m4[esi+None*1+0x28],ebx","+jmp local:44","+call external","+mov eax,esi"," pop ebx","+pop esi","+pop edi","+pop ebp","+pop edx","+pop ecx"," ret "]},{"name":"insert_after_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x43043c","earlier":"0x43ff98","same_instruction_shape":true,"reference_instructions":42,"earlier_instructions":42,"callers":[],"diff":[]},{"name":"allocate_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x4305c4","earlier":"0x440138","same_instruction_shape":false,"reference_instructions":30,"earlier_instructions":31,"callers":[[4456760,"insert_after_waypoint_",6]],"diff":["--- 0x440138","+++ 0x4305c4","@@ -1,25 +1,24 @@","-push ebx","+push ecx"," push edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]","+xor eax,eax"," xor edx,edx","-xor eax,eax","-test ebx,ebx","-jne local:15","+test ecx,ecx","+je local:13","+add eax,0x4","+inc edx","+cmp eax,0x3000","+jge local:21","+cmp m4[eax+None*1+address],0x0","+jne local:7"," mov m4[eax+None*1+address],0x1"," lea eax,m4[None+edx*4+0x0]"," sub eax,edx"," shl eax,0x4"," add eax,address"," pop edx","-pop ebx","+pop ecx"," ret ","-add eax,0x4","-inc edx","-cmp eax,0x3000","-jge local:22","-cmp m4[eax+None*1+address],0x0","-je local:7","-jmp local:15"," push 0x148"," push address"," push address","@@ -27,5 +26,5 @@"," add esp,0xc"," xor eax,eax"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"set_waypoint_position_","source":"E:\\apache\\source\\drone\\wayset.c","reference":"0x430660","earlier":"0x4401e0","same_instruction_shape":false,"reference_instructions":11,"earlier_instructions":12,"callers":[[4456928,"test_waypoint_stuff_",37],[4456928,"test_waypoint_stuff_",43]],"diff":["--- 0x4401e0","+++ 0x430660","@@ -1,12 +1,11 @@"," cmp edx,m4[eax+None*1+0x10]","-jne local:6","+jne local:7"," cmp ebx,m4[eax+None*1+0x14]","-jne local:6","+jne local:7"," cmp ecx,m4[eax+None*1+0x18]","-je external","+jne local:7","+ret "," mov m4[eax+None*1+0x10],edx"," mov m4[eax+None*1+0x14],ebx"," mov m4[eax+None*1+0x18],ecx","-jmp local:10","-mov m4[None+None*1+address],0x2","-ret ","+jmp external"]},{"name":"update_waypoints_","source":"E:\\apache\\source\\drone\\wayup.c","reference":"0x4306dc","earlier":"0x44025c","same_instruction_shape":false,"reference_instructions":75,"earlier_instructions":75,"callers":[[4457052,"insert_after_waypoint_",34]],"diff":["--- 0x44025c","+++ 0x4306dc","@@ -8,18 +8,18 @@"," call external"," mov m4[esp+None*1+0x0],eax"," test eax,eax","-je local:66","+je local:59"," mov eax,m4[esp+None*1+0x0]"," call external"," mov ebp,eax"," test eax,eax","-je local:61","+je local:54"," mov ecx,m4[ebp+None*1+0xb4]"," test ecx,ecx","-je local:58","+je local:51"," mov edx,m4[ecx+None*1+0x0]"," test edx,edx","-je local:52","+je local:71"," mov eax,edx"," mov edi,m4[edx+None*1+0x10]"," mov ebx,m4[ecx+None*1+0x10]","@@ -36,10 +36,7 @@"," mov ebx,m4[ecx+None*1+0x28]"," mov esi,eax"," test ebx,ebx","-jg local:42","-mov m4[ecx+None*1+0x24],0xffffffff","-mov m4[ecx+None*1+0x1c],0xffffffff","-jmp local:50","+jle local:68"," sar edx,0x1f"," idiv ebx"," imul eax,eax,0xc8","@@ -49,10 +46,6 @@"," add edx,eax"," mov m4[ecx+None*1+0x1c],edx"," mov m4[ecx+None*1+0x20],esi","-jmp local:55","-mov m4[ecx+None*1+0x20],edx","-mov m4[ecx+None*1+0x1c],edx","-mov m4[ecx+None*1+0x24],edx"," mov ecx,m4[ecx+None*1+0x4]"," test ecx,ecx"," jne local:19","@@ -73,3 +66,10 @@"," pop ecx"," pop ebx"," ret ","+mov m4[ecx+None*1+0x1c],0xffffffff","+mov m4[ecx+None*1+0x24],0xffffffff","+jmp local:47","+mov m4[ecx+None*1+0x1c],edx","+mov m4[ecx+None*1+0x24],edx","+mov m4[ecx+None*1+0x20],edx","+jmp local:48"]},{"name":"update_waypoint_letters_","source":"E:\\apache\\source\\drone\\wayup.c","reference":"0x430870","earlier":"0x4403fc","same_instruction_shape":false,"reference_instructions":43,"earlier_instructions":35,"callers":[[4457468,"test_waypoint_stuff_",44],[4457468,"insert_after_waypoint_",33]],"diff":["--- 0x4403fc","+++ 0x430870","@@ -1,35 +1,43 @@","-push ebx","+push ecx"," push edx"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:32","-mov ebx,m4[edx+None*1+0x8]","+jne local:8","+pop edx","+pop ecx","+ret ","+mov ecx,m4[edx+None*1+0x8]"," call external","-test ebx,ebx","-je local:32","+test ecx,ecx","+je local:5"," mov dh,0x41","-mov eax,m4[ebx+None*1+0xb4]","+mov eax,m4[ecx+None*1+0xb4]"," mov dl,0x58"," test eax,eax","-je local:32","-mov ebx,m4[eax+None*1+0xc]","-cmp ebx,0x8","-ja local:29","-jmp m4[None+ebx*4+address]","+je local:5","+mov ecx,m4[eax+None*1+0xc]","+cmp ecx,0x8","+ja local:26","+jmp m4[None+ecx*4+address]"," mov m1[eax+None*1+0x2c],dh"," inc dh"," cmp dh,0x54","-jne local:29","+jne local:26"," mov dh,0x61","-jmp local:29","+mov eax,m4[eax+None*1+0x4]","+test eax,eax","+jne local:17","+pop edx","+pop ecx","+ret "," mov m1[eax+None*1+0x2c],dl"," inc dl"," cmp dl,0x5b","-jne local:29","+jne local:26"," mov dl,0x78"," mov eax,m4[eax+None*1+0x4]"," test eax,eax","-jne local:14","+jne local:17"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"store_round_data_for_two_player_","source":"E:\\apache\\source\\apnet\\apser.c","reference":"0x4353fc","earlier":"0x44471c","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"position_apache_object_","source":"E:\\apache\\source\\models\\model.c","reference":"0x43b96c","earlier":"0x449294","same_instruction_shape":false,"reference_instructions":120,"earlier_instructions":115,"callers":[[4493972,"move_apache_model_",33]],"diff":["--- 0x449294","+++ 0x43b96c","@@ -1,17 +1,22 @@"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x14"," mov esi,eax"," mov eax,m4[None+None*1+address]"," test m1[eax+None*1+0x1c5],0x4","-jne local:14","+jne local:18"," mov eax,m4[None+None*1+address]"," mov ecx,ebx"," mov ebx,edx"," mov edx,esi","-jmp local:108","+call external","+add esp,0x14","+pop ebp","+pop esi","+pop ecx","+ret ","+push edi"," call external"," lea ebp,m4[eax+None*1+0x60]"," mov eax,m4[None+None*1+address]","@@ -19,7 +24,7 @@"," mov ecx,m4[ebp+None*1+0x18]"," mov eax,m4[eax+None*1+0xc]"," mov edx,m4[ebp+None*1+0xc]","-mov m4[esp+None*1+0xc],eax","+mov m4[esp+None*1+0x10],eax"," mov esi,m4[eax+None*1+0x8]"," mov ebx,m4[eax+None*1+0x4]"," mov eax,m4[eax+None*1+0x0]","@@ -37,19 +42,19 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov esi,m4[esp+None*1+0xc]","-mov ebx,m4[esp+None*1+0xc]","+mov esi,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0x10]"," mov eax,m4[ebp+None*1+0x0]"," mov edi,m4[ebp+None*1+0x28]"," add eax,edx"," mov esi,m4[esi+None*1+0x8]","-mov m4[esp+None*1+0x0],eax","+mov m4[esp+None*1+0x4],eax"," mov eax,m4[ebp+None*1+0x1c]"," mov ebx,m4[ebx+None*1+0x4]","-mov m4[esp+None*1+0x10],eax","-mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0x14],eax","+mov eax,m4[esp+None*1+0x10]"," mov edx,m4[ebp+None*1+0x10]","-mov ecx,m4[esp+None*1+0x10]","+mov ecx,m4[esp+None*1+0x14]"," mov eax,m4[eax+None*1+0x0]"," imul edx"," xchg ebx,eax","@@ -65,15 +70,15 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov esi,m4[esp+None*1+0xc]","-mov ebx,m4[esp+None*1+0xc]","+mov esi,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0x10]"," mov eax,m4[ebp+None*1+0x4]"," mov edi,m4[ebp+None*1+0x2c]"," mov ecx,m4[ebp+None*1+0x20]"," add eax,edx"," mov esi,m4[esi+None*1+0x8]","-mov m4[esp+None*1+0x4],eax","-mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0x8],eax","+mov eax,m4[esp+None*1+0x10]"," mov ebx,m4[ebx+None*1+0x4]"," mov edx,m4[ebp+None*1+0x14]"," mov eax,m4[eax+None*1+0x0]","@@ -93,23 +98,23 @@"," adc edx,0x0"," mov eax,m4[ebp+None*1+0x8]"," add eax,edx","-mov m4[esp+None*1+0x8],eax","+mov m4[esp+None*1+0xc],eax"," mov eax,m4[None+None*1+address]"," lea edx,m4[ebp+None*1+0xc]","-mov ecx,m4[esp+None*1+0x8]","+mov ecx,m4[esp+None*1+0xc]"," mov ebx,m4[eax+None*1+0x8]"," mov eax,m4[eax+None*1+0xc]"," add ebx,0xc"," add eax,0xc"," add ecx,0x900"," call external","-mov ebx,m4[esp+None*1+0x4]","-mov edx,m4[esp+None*1+0x0]","+mov ebx,m4[esp+None*1+0x8]","+mov edx,m4[esp+None*1+0x4]"," mov eax,m4[None+None*1+address]"," call external","+pop edi"," add esp,0x14"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret "]},{"name":"move_apache_model_","source":"E:\\apache\\source\\models\\model_a.c","reference":"0x43f918","earlier":"0x44ced0","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"draw_radar_cross_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441810","earlier":"0x44ed10","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_radar_square_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441848","earlier":"0x44ed48","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"draw_radar_inverted_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x44189c","earlier":"0x44ed9c","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_radar_plus_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x4418d8","earlier":"0x44edd8","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_radar_diamond_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441910","earlier":"0x44ee10","same_instruction_shape":true,"reference_instructions":39,"earlier_instructions":39,"callers":[],"diff":[]},{"name":"draw_radar_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441968","earlier":"0x44ee68","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_radar_rotated_cross_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x4419a4","earlier":"0x44eea4","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_square_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441a70","earlier":"0x44ef70","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"draw_radar_rotated_inverted_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441b58","earlier":"0x44f058","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_plus_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441c24","earlier":"0x44f124","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_diamond_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441cf0","earlier":"0x44f1f0","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"draw_radar_rotated_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441dd8","earlier":"0x44f2d8","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"initialise_gameplay_object_","source":"E:\\apache\\source\\gameplay\\gameplay.c","reference":"0x4437a4","earlier":"0x450d50","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"wipe_gameplay_object_","source":"E:\\apache\\source\\gameplay\\gameplay.c","reference":"0x444224","earlier":"0x451a6c","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"play_sound_effect_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x4458b0","earlier":"0x452f90","same_instruction_shape":false,"reference_instructions":63,"earlier_instructions":52,"callers":[[4534160,"play_crash_sound_",7],[4534160,"play_damage_sound_",7],[4534160,"play_hit_metal_sound_",7],[4534160,"play_failure_sound_",7],[4534160,"start_gun_sound_",7],[4534160,"play_missile1_sound_",7],[4534160,"play_missile2_sound_",7],[4534160,"play_missile3_sound_",7],[4534160,"play_missile4_sound_",7],[4534160,"play_missile_warning_sound_",7],[4534160,"play_incoming_sound_",7],[4534160,"play_lockon_sound_",7],[4534160,"play_threat_sound_",7],[4534160,"play_radio1_sound_",7],[4534160,"play_radio2_sound_",7],[4534160,"play_radio3_sound_",7],[4534160,"play_radio4_sound_",7],[4534160,"start_rotor1_sound_",7],[4534160,"start_rotor2_sound_",7],[4534160,"start_rotor3_sound_",7],[4534160,"start_slap_sound_",7]],"diff":["--- 0x452f90","+++ 0x4458b0","@@ -1,52 +1,63 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov edi,eax","-mov edx,ebx","-mov ebx,m4[None+None*1+address]","+mov m4[esp+None*1+0x0],ebx","+mov ebp,ecx","+mov ecx,m4[None+None*1+address]"," mov esi,0xffffffff","-test ebx,ebx","-je local:47","+test ecx,ecx","+je local:17"," cmp m4[None+None*1+address],0x0","-je local:47","+je local:17"," shl eax,0x2"," add eax,edi"," cmp m4[None+eax*8+address],0x0","-je local:47","-call external","-mov esi,eax","-cmp eax,0xffffffff","-je local:47","-cmp eax,m4[None+None*1+address]","-jne local:22","-mov m4[None+None*1+address],0xffffffff","-cmp esi,m4[None+None*1+address]","-jne local:25","-mov m4[None+None*1+address],0xffffffff","-lea eax,m4[None+edi*4+0x0]","-lea ebx,m4[edi+eax*1+0x0]","-shl ebx,0x3","-mov eax,m4[ebx+None*1+address]","-call external","-mov ebp,eax","-mov eax,m4[ebx+None*1+address]","-push eax","-push ecx","-imul edx,m4[None+None*1+address]","-mov ecx,0x3f","-mov eax,edx","-sar edx,0x1f","-idiv ecx","-push eax","-mov edx,esi","-mov eax,m4[ebx+None*1+address]","-mov ecx,m4[ebx+None*1+address]","-push eax","-mov ebx,ebp","-mov eax,edi","-call external","+jne local:23"," mov eax,esi","+add esp,0x4"," pop ebp"," pop edi"," pop esi"," ret ","+mov eax,edx","+call external","+mov esi,eax","+cmp eax,0xffffffff","+je local:17","+cmp eax,m4[None+None*1+address]","+je local:61","+cmp esi,m4[None+None*1+address]","+jne local:33","+mov m4[None+None*1+address],0xffffffff","+lea ecx,m4[None+edi*4+0x0]","+add ecx,edi","+shl ecx,0x3","+mov eax,m4[ecx+None*1+address]","+call external","+mov ebx,eax","+mov eax,m4[ecx+None*1+address]","+push eax","+mov edx,m4[None+None*1+address]","+push ebp","+imul edx,m4[esp+None*1+0x8]","+mov ebp,0x3f","+mov eax,edx","+sar edx,0x1f","+idiv ebp","+push eax","+mov eax,m4[ecx+None*1+address]","+mov edx,esi","+push eax","+mov ecx,m4[ecx+None*1+address]","+mov eax,edi","+call external","+mov eax,esi","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+ret ","+mov m4[None+None*1+address],0xffffffff","+jmp local:30"]},{"name":"play_crash_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a00","earlier":"0x4530d4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_damage_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a20","earlier":"0x4530f4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_hit_metal_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a40","earlier":"0x453114","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_failure_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a60","earlier":"0x453134","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_gun_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a80","earlier":"0x453154","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445ad8","earlier":"0x4531a0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445af8","earlier":"0x4531c0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b18","earlier":"0x4531e0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile4_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b38","earlier":"0x453200","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile_warning_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b58","earlier":"0x453220","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_incoming_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bb8","earlier":"0x453280","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_lockon_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bd8","earlier":"0x4532a0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_threat_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bf8","earlier":"0x4532c0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c18","earlier":"0x4532e0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c38","earlier":"0x453300","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c58","earlier":"0x453320","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio4_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c78","earlier":"0x453340","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445e9c","earlier":"0x45352c","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445ebc","earlier":"0x45354c","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445edc","earlier":"0x45356c","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_slap_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445f10","earlier":"0x4535a0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"create_creative_cannon_crater_","source":"E:\\apache\\source\\weapons\\ccc.c","reference":"0x448b48","earlier":"0x45631c","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"damage_mobile_object_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x449798","earlier":"0x456fd4","same_instruction_shape":false,"reference_instructions":175,"earlier_instructions":182,"callers":[[4550612,"damage_mobiles_in_range_exclusive_",17]],"diff":["--- 0x456fd4","+++ 0x449798","@@ -1,55 +1,41 @@"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x4"," mov esi,eax"," mov ecx,edx"," test m1[eax+None*1+0x40],0x1","-je local:11","+je local:14"," xor eax,eax","-jmp local:176","-mov edx,m4[esi+None*1+0x38]","-cmp edx,0x1","-je local:16","-xor eax,eax","-jmp local:17","-mov eax,edx","+add esp,0x4","+pop ebp","+pop esi","+pop ecx","+ret ","+mov eax,esi","+call external"," test eax,eax","-je local:176","-mov eax,m4[ecx+None*1+0x5c]","+je local:9","+mov eax,m4[edx+None*1+0x5c]"," call external"," mov edx,m4[esi+None*1+0x40]"," shl edx,0x1d"," shr edx,0x1e"," cmp eax,edx","-jne local:52","+jne local:37"," mov eax,m4[ecx+None*1+0x5c]"," cmp m4[eax+None*1+0x24],0x2","-jne local:45","+jne local:8"," mov eax,m4[eax+None*1+0x2c]","+call external"," test eax,eax","-je local:35","-mov ebp,m4[eax+None*1+0x38]","-cmp ebp,0x1"," je local:37","-xor eax,eax","-jmp local:38","-mov eax,ebp","-test eax,eax","-je local:52"," mov eax,m4[ecx+None*1+0x5c]"," mov eax,m4[eax+None*1+0x2c]"," mov eax,m4[eax+None*1+0x3c]"," cmp m4[eax+None*1+0x1c8],0xffffffff","-jne local:52","-xor eax,eax","-add esp,0x4","-pop ebp","-pop edi","-pop esi","-pop ecx","-ret ","+je local:8","+push edi"," mov edx,m4[esi+None*1+0x8]"," mov ebp,m4[ebx+None*1+0x8]"," mov eax,m4[edx+None*1+0x8]","@@ -57,12 +43,12 @@"," mov ebp,eax"," mov eax,m4[edx+None*1+0x4]"," sub eax,m4[ebx+None*1+0x4]","-mov m4[esp+None*1+0x0],eax","+mov m4[esp+None*1+0x4],eax"," mov eax,m4[edx+None*1+0x0]"," mov edx,m4[ebx+None*1+0x0]"," mov ebx,ebp"," sub eax,edx","-mov edx,m4[esp+None*1+0x0]","+mov edx,m4[esp+None*1+0x4]"," mov edi,m4[esi+None*1+0x3c]"," call external"," mov ebx,eax","@@ -74,15 +60,15 @@"," mov ebx,eax"," call external"," cmp eax,0x7","-je local:92","+je local:78"," cmp m4[esi+None*1+0x0],0x40","-jne local:92","+jne local:78"," cmp m4[edi+None*1+0x1c8],0xffffffff","-jne local:92","+jne local:78"," mov eax,m4[ecx+None*1+0x5c]"," call external"," cmp eax,0x2","-jne local:92","+jne local:78"," mov eax,ecx"," call external"," lea ebx,m4[eax+None*1+0x2]","@@ -92,8 +78,8 @@"," mov ebx,eax"," mov edx,m4[esi+None*1+0x0]"," shl edx,0x2","-mov m4[esp+None*1+0x0],edx","-mov ebp,m4[esp+None*1+0x0]","+mov m4[esp+None*1+0x4],edx","+mov ebp,m4[esp+None*1+0x4]"," mov edx,m4[None+None*1+address]"," xor eax,eax"," add edx,ebp","@@ -101,82 +87,89 @@"," mov edx,m4[edx+None*1+0x0]"," add eax,ebx"," cmp eax,m4[edx+None*1+0xa8]","-jl local:151","+jl local:144"," mov eax,m4[esi+None*1+0x0]"," call external"," mov edx,ecx"," lea eax,m4[edi+None*1+0x8]"," call external"," cmp edi,m4[None+None*1+address]","-jne local:175","-mov eax,m4[ecx+None*1+0x5c]","-mov edx,m4[eax+None*1+0x24]","-cmp edx,0x1","-jb local:139","-jbe local:135","-cmp edx,0x2","-jne local:139","-mov eax,m4[eax+None*1+0x2c]","-test eax,eax","-je local:124","-mov esi,m4[eax+None*1+0x38]","-cmp esi,0x1","-je local:126","-xor eax,eax","-jmp local:127","-mov eax,esi","-test eax,eax","-je local:175","-mov eax,m4[ecx+None*1+0x5c]","-mov eax,m4[eax+None*1+0x2c]","-mov edx,m4[ecx+None*1+0x0]","-mov eax,m4[eax+None*1+0x3c]","-call external","-jmp local:175","-mov edx,m4[ecx+None*1+0x0]","-mov eax,m4[eax+None*1+0x2c]","-call external","-jmp local:175","+jne local:106","+mov edx,m4[ecx+None*1+0x5c]","+mov eax,m4[edx+None*1+0x24]","+cmp eax,0x1","+jae local:113"," push 0x129"," push address"," push address"," call external"," add esp,0xc"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","+pop esi","+pop ecx","+ret ","+jbe local:132","+cmp eax,0x2","+jne local:101","+mov eax,m4[edx+None*1+0x2c]","+call external","+test eax,eax","+je local:106","+mov eax,m4[ecx+None*1+0x5c]","+mov eax,m4[eax+None*1+0x2c]","+mov edx,m4[ecx+None*1+0x0]","+mov eax,m4[eax+None*1+0x3c]","+call external","+mov eax,ebx"," pop edi","+add esp,0x4","+pop ebp","+pop esi","+pop ecx","+ret ","+mov eax,m4[ecx+None*1+0x0]","+mov ecx,m4[edx+None*1+0x2c]","+mov edx,eax","+mov eax,ecx","+call external","+mov eax,ebx","+pop edi","+add esp,0x4","+pop ebp"," pop esi"," pop ecx"," ret "," test eax,eax","-jge local:155","-xor eax,eax","-jmp local:158","+jl local:163"," cmp eax,0xff","-jle local:158","+jle local:149"," mov eax,0xff"," mov m1[edi+None*1+0xdc],al"," cmp edi,m4[None+None*1+address]","-jne local:175","+jne local:106"," call external"," cmp ebx,0xa","-jge local:172","+jge local:165"," call external"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret ","+xor eax,eax","+jmp local:149"," mov edx,0x8000"," mov eax,0x3f"," call external"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret "]},{"name":"damage_mobiles_in_range_exclusive_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x4499f0","earlier":"0x457250","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"get_passed_task_id_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x449e40","earlier":"0x457730","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"get_rounds_direction_change_to_target_","source":"E:\\apache\\source\\weapons\\rndmove.c","reference":"0x44cc2c","earlier":"0x45a2b4","same_instruction_shape":true,"reference_instructions":36,"earlier_instructions":36,"callers":[],"diff":[]},{"name":"pitch_round_down_","source":"E:\\apache\\source\\weapons\\rndmove.c","reference":"0x44cc94","earlier":"0x45a31c","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"initialise_rounds_","source":"E:\\apache\\source\\weapons\\rounds.c","reference":"0x44cd90","earlier":"0x45a400","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"release_target_sanely_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e6a0","earlier":"0x45bd94","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":58,"callers":[[4570516,"wipe_gameplay_object_",9],[4570516,"wipe_gameplay_object_",12]],"diff":["--- 0x45bd94","+++ 0x44e6a0","@@ -1,58 +1,33 @@","-push ebx","-push ecx"," push edx","-mov ecx,eax"," test eax,eax","-je local:54","+je local:17"," mov edx,m4[eax+None*1+0x24]"," cmp edx,0x2","-jne local:47","+jne local:30"," mov eax,m4[eax+None*1+0x2c]"," mov eax,m4[eax+None*1+0x38]"," cmp eax,0x1","-jb local:17","-jbe local:54","-cmp eax,edx","-je local:20","-jmp local:38","+jae local:19"," test eax,eax","-je local:29","-jmp local:38","-push 0x3f5","-push address","-push address","-call external","-add esp,0xc","-pop edx","-pop ecx","-pop ebx","-ret ","+jne local:26"," push 0x3f9"," push address"," push address"," call external"," add esp,0xc"," pop edx","-pop ecx","-pop ebx"," ret ","+jbe local:17","+cmp eax,edx","+jne local:26","+push 0x3f5","+push address","+push address","+jmp local:15"," push 0x3fd"," push address"," push address","+jmp local:15"," call external","-add esp,0xc"," pop edx","-pop ecx","-pop ebx"," ret ","-mov ebx,m4[None+None*1+address]","-dec ebx","-xor edx,edx","-mov m4[None+None*1+address],ebx","-mov ebx,0x30","-call external","-mov m4[ecx+None*1+0x24],0x0","-pop edx","-pop ecx","-pop ebx","-ret "]},{"name":"release_target_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e704","earlier":"0x45be40","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"initialise_targets_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e730","earlier":"0x45be6c","same_instruction_shape":true,"reference_instructions":9,"earlier_instructions":9,"callers":[],"diff":[]},{"name":"initialise_comms_panel_","source":"E:\\apache\\source\\avionics\\commspan.c","reference":"0x4573b0","earlier":"0x463b50","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"initialise_goggles_","source":"E:\\apache\\source\\avionics\\goggles.c","reference":"0x458020","earlier":"0x4647d0","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"set_goggles_dvo_mode_","source":"E:\\apache\\source\\avionics\\goggles.c","reference":"0x458694","earlier":"0x464e1c","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"set_ihadss_viewport_and_window_","source":"E:\\apache\\source\\avionics\\ihadss.c","reference":"0x458ea4","earlier":"0x4655d4","same_instruction_shape":true,"reference_instructions":29,"earlier_instructions":29,"callers":[],"diff":[]},{"name":"draw_i_beam_","source":"E:\\apache\\source\\avionics\\ihadss.c","reference":"0x45b1ec","earlier":"0x4678bc","same_instruction_shape":true,"reference_instructions":83,"earlier_instructions":83,"callers":[],"diff":[]},{"name":"initialise_tads_","source":"E:\\apache\\source\\avionics\\inittads.c","reference":"0x45c1a0","earlier":"0x468840","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[],"diff":[]},{"name":"mfd_off_","source":"E:\\apache\\source\\avionics\\mfdfunc.c","reference":"0x45cec0","earlier":"0x469530","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"print_field_and_value_","source":"E:\\apache\\source\\avionics\\mfdfunc.c","reference":"0x460820","earlier":"0x46cf44","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"set_primary_visual_viewport_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x4625ec","earlier":"0x46ef24","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"set_spectator_camera_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x4628b0","earlier":"0x46f1f8","same_instruction_shape":true,"reference_instructions":29,"earlier_instructions":29,"callers":[],"diff":[]},{"name":"initialise_crash_camera_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x462d48","earlier":"0x46f678","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_2d_window_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x4678f4","earlier":"0x473fb8","same_instruction_shape":true,"reference_instructions":61,"earlier_instructions":61,"callers":[],"diff":[]},{"name":"set_2d_viewport_and_window_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x4679bc","earlier":"0x474080","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":77,"callers":[[4669568,"set_ihadss_viewport_and_window_",21],[4669568,"mfd_off_",11]],"diff":["--- 0x474080","+++ 0x4679bc","@@ -22,31 +22,31 @@"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ebx,m4[esp+None*1+0x1c]","+mov ecx,m4[esp+None*1+0x1c]"," mov edx,m4[esp+None*1+0x14]","-add edx,ebx","+add edx,ecx"," mov m4[None+None*1+address],eax"," mov eax,edx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ecx","+sub eax,ebx"," mov ebp,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," sub eax,ebp"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],eax","-mov eax,ecx","-mov ebx,edi","+mov eax,ebx","+mov ecx,m4[None+None*1+address]"," sub eax,esi"," mov edx,m4[esp+None*1+0x14]"," mov m4[None+None*1+address],eax"," mov eax,ebp","-mov ecx,m4[None+None*1+address]","+mov ebx,edi"," sub eax,edx"," mov edx,m4[None+None*1+address]"," sub ebx,esi","@@ -57,20 +57,21 @@"," rcr eax,0x1"," idiv ebx"," mov ebx,m4[None+None*1+address]","+mov edx,m4[None+None*1+address]","+mov m4[None+None*1+address],eax","+mov eax,m4[None+None*1+address]"," mov esi,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-mov edi,m4[None+None*1+address]","-sub ebx,esi","-sub edx,edi","-mov m4[None+None*1+address],eax","+sub eax,ebx","+sub edx,esi","+mov ebx,eax"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-mov ebp,eax","+mov edi,eax"," mov m4[None+None*1+address],eax","-neg ebp","-mov m4[None+None*1+address],ebp","+neg edi","+mov m4[None+None*1+address],edi"," pop ebp"," pop edi"," pop esi"]},{"name":"set_2d_object_origin_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467ac4","earlier":"0x474188","same_instruction_shape":false,"reference_instructions":18,"earlier_instructions":18,"callers":[[4669832,"draw_radar_cross_",4],[4669832,"draw_radar_cross_",21],[4669832,"draw_radar_square_",4],[4669832,"draw_radar_square_",33],[4669832,"draw_radar_inverted_tee_",4],[4669832,"draw_radar_inverted_tee_",22],[4669832,"draw_radar_plus_",4],[4669832,"draw_radar_plus_",21],[4669832,"draw_radar_diamond_",4],[4669832,"draw_radar_diamond_",34],[4669832,"draw_radar_tee_",4],[4669832,"draw_radar_tee_",22],[4669832,"draw_radar_rotated_cross_",44],[4669832,"draw_radar_rotated_cross_",63],[4669832,"draw_radar_rotated_square_",45],[4669832,"draw_radar_rotated_square_",75],[4669832,"draw_radar_rotated_inverted_tee_",44],[4669832,"draw_radar_rotated_inverted_tee_",63],[4669832,"draw_radar_rotated_plus_",45],[4669832,"draw_radar_rotated_plus_",63],[4669832,"draw_radar_rotated_diamond_",45],[4669832,"draw_radar_rotated_diamond_",75],[4669832,"draw_radar_rotated_tee_",44],[4669832,"draw_radar_rotated_tee_",63],[4669832,"draw_i_beam_",6]],"diff":["--- 0x474188","+++ 0x467ac4","@@ -1,18 +1,18 @@","-push ebx","-mov ebx,m4[None+None*1+address]","+push ecx","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-sub eax,ebx","+sub eax,ecx"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],edx"," sub edx,eax"," mov m4[None+None*1+address],edx","-mov eax,ebx","+mov eax,ecx"," sub eax,m4[None+None*1+address]","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ebx","+sub eax,ecx"," mov m4[None+None*1+address],eax","-pop ebx","+pop ecx"," ret "]},{"name":"set_2d_rotation_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467b60","earlier":"0x4741fc","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"store_2d_visual_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467c5c","earlier":"0x4742fc","same_instruction_shape":true,"reference_instructions":45,"earlier_instructions":45,"callers":[[4670204,"do_reschedule_",17]],"diff":[]},{"name":"restore_2d_visual_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467d1c","earlier":"0x4743bc","same_instruction_shape":true,"reference_instructions":54,"earlier_instructions":54,"callers":[[4670396,"do_reschedule_",48]],"diff":[]},{"name":"clear_2d_viewport_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467dfc","earlier":"0x47449c","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":25,"callers":[[4670620,"mfd_off_",13]],"diff":["--- 0x47449c","+++ 0x467dfc","@@ -6,15 +6,16 @@"," mov edx,eax"," mov eax,m4[None+None*1+address]"," sub eax,m4[None+None*1+address]","+lea ecx,m4[eax+None*1+0x1]","+mov ebx,m4[None+None*1+address]","+mov eax,m4[None+None*1+address]","+sub eax,ebx","+mov edi,m4[None+None*1+address]"," lea ebx,m4[eax+None*1+0x1]","-mov ecx,m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-sub eax,ecx","-mov edi,m4[None+None*1+address]","-lea ecx,m4[eax+None*1+0x1]"," mov esi,m4[None+None*1+address]"," mov eax,edx","-mov edx,ebx","+mov edx,ecx","+mov ecx,ebx"," mov ebx,edi"," call external"," pop edi"]},{"name":"draw_2d_line_","source":"E:\\library\\2dvisual\\2dline.c","reference":"0x467ed0","earlier":"0x475470","same_instruction_shape":false,"reference_instructions":27,"earlier_instructions":25,"callers":[[4674672,"draw_radar_cross_",12],[4674672,"draw_radar_cross_",18],[4674672,"draw_radar_square_",12],[4674672,"draw_radar_square_",18],[4674672,"draw_radar_square_",24],[4674672,"draw_radar_square_",30],[4674672,"draw_radar_inverted_tee_",13],[4674672,"draw_radar_inverted_tee_",19],[4674672,"draw_radar_plus_",12],[4674672,"draw_radar_plus_",18],[4674672,"draw_radar_diamond_",13],[4674672,"draw_radar_diamond_",19],[4674672,"draw_radar_diamond_",25],[4674672,"draw_radar_diamond_",31],[4674672,"draw_radar_tee_",13],[4674672,"draw_radar_tee_",19],[4674672,"draw_radar_rotated_cross_",52],[4674672,"draw_radar_rotated_cross_",58],[4674672,"draw_radar_rotated_square_",52],[4674672,"draw_radar_rotated_square_",58],[4674672,"draw_radar_rotated_square_",64],[4674672,"draw_radar_rotated_square_",70],[4674672,"draw_radar_rotated_inverted_tee_",52],[4674672,"draw_radar_rotated_inverted_tee_",58],[4674672,"draw_radar_rotated_plus_",52],[4674672,"draw_radar_rotated_plus_",58],[4674672,"draw_radar_rotated_diamond_",52],[4674672,"draw_radar_rotated_diamond_",58],[4674672,"draw_radar_rotated_diamond_",64],[4674672,"draw_radar_rotated_diamond_",70],[4674672,"draw_radar_rotated_tee_",52],[4674672,"draw_radar_rotated_tee_",58],[4674672,"draw_i_beam_",14],[4674672,"draw_i_beam_",22],[4674672,"draw_i_beam_",30],[4674672,"draw_i_beam_",38],[4674672,"draw_i_beam_",46],[4674672,"draw_i_beam_",54],[4674672,"draw_i_beam_",67],[4674672,"draw_i_beam_",77]],"diff":["--- 0x475470","+++ 0x467ed0","@@ -1,5 +1,3 @@","-push esi","-push edi"," sub esp,0x10"," mov m4[esp+None*1+0x0],eax"," mov m4[esp+None*1+0x4],edx","@@ -11,15 +9,19 @@"," mov eax,esp"," call external"," test eax,eax","-je local:21","-mov esi,m4[esp+None*1+0xc]","-mov edx,m4[esp+None*1+0x8]","-mov ebx,m4[esp+None*1+0x4]","+jne local:14","+add esp,0x10","+ret 0x4","+push edi","+push esi","+mov esi,m4[esp+None*1+0x14]","+mov edx,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0xc]"," xor eax,eax","-mov ecx,m4[esp+None*1+0x0]","+mov ecx,m4[esp+None*1+0x8]"," mov al,m1[esp+None*1+0x1c]"," call external","+pop esi","+pop edi"," add esp,0x10","-pop edi","-pop esi"," ret 0x4"]},{"name":"set_2d_text_position_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468a90","earlier":"0x476f08","same_instruction_shape":true,"reference_instructions":53,"earlier_instructions":53,"callers":[],"diff":[]},{"name":"draw_2d_circle_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468b38","earlier":"0x476fb0","same_instruction_shape":true,"reference_instructions":67,"earlier_instructions":67,"callers":[],"diff":[]},{"name":"draw_2d_sprite_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468f38","earlier":"0x4773b0","same_instruction_shape":true,"reference_instructions":58,"earlier_instructions":58,"callers":[],"diff":[]},{"name":"draw_2d_recoloured_sprite_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468fe8","earlier":"0x477460","same_instruction_shape":true,"reference_instructions":58,"earlier_instructions":58,"callers":[],"diff":[]},{"name":"FlipAnimScreens_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46bae8","earlier":"0x477cc8","same_instruction_shape":false,"reference_instructions":44,"earlier_instructions":40,"callers":[[4685000,"PlotWholeAnimScreen_",19]],"diff":["--- 0x477cc8","+++ 0x46bae8","@@ -1,5 +1,4 @@"," push ebx","-push ecx"," push edx"," push esi"," call external","@@ -14,19 +13,25 @@"," sub eax,edx"," mov m4[None+None*1+address],eax"," cmp eax,0x10","-jl local:10","+jl local:9","+mov eax,eax"," call external","-mov ecx,0x1","+mov ebx,0x1"," mov m4[None+None*1+address],eax"," call external"," call external"," mov ah,m1[None+None*1+address]","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," test ah,0x20","-je local:29","+je local:34"," mov eax,m4[None+None*1+address]"," call external","-jmp local:33","+xor esi,esi","+mov m4[None+None*1+address],esi","+pop esi","+pop edx","+pop ebx","+ret "," mov ebx,0x100"," mov eax,m4[None+None*1+address]"," xor edx,edx","@@ -35,6 +40,5 @@"," mov m4[None+None*1+address],esi"," pop esi"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"SetupAnimScreen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46bb80","earlier":"0x477d54","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"PlotWholeAnimScreen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d1d0","earlier":"0x479210","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"pixeliseAnim_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d210","earlier":"0x479250","same_instruction_shape":false,"reference_instructions":38,"earlier_instructions":35,"callers":[[4690512,"SetupAnimScreen_",19]],"diff":["--- 0x479250","+++ 0x46d210","@@ -2,12 +2,12 @@"," mov ecx,eax"," sub ebx,0x4"," test ebx,ebx","-jle local:33","+jle local:22"," inc edx"," mov al,m1[edx+None*1+0xffffffff]"," dec ebx"," cmp al,0x80","-jb local:21","+jb local:24"," dec al"," je local:18"," mov ah,m1[edx+None*1+0x0]","@@ -16,11 +16,14 @@"," inc ecx"," test al,al"," jne local:12","+dec ebx"," inc edx","-dec ebx","-jmp local:31","+test ebx,ebx","+jg local:5","+pop ecx","+ret "," inc al","-je local:31","+je local:20"," inc ecx"," mov ah,m1[edx+None*1+0x0]"," inc edx","@@ -28,7 +31,7 @@"," dec al"," dec ebx"," test al,al","-jne local:23","+jne local:26"," test ebx,ebx"," jg local:5"," pop ecx"]},{"name":"Clear_Visible_Anim_Screen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d254","earlier":"0x479290","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"install_lib32_","source":"E:\\library\\config\\config.c","reference":"0x46d3d8","earlier":"0x479418","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_preferences_filename_","source":"E:\\library\\config\\prefs.c","reference":"0x46d430","earlier":"0x479470","same_instruction_shape":false,"reference_instructions":236,"earlier_instructions":224,"callers":[[4691056,"install_lib32_",11]],"diff":["--- 0x479470","+++ 0x46d430","@@ -8,7 +8,7 @@"," mov m4[esp+None*1+0x4],eax"," mov ebp,m4[None+None*1+address]"," test ebp,ebp","-je local:29","+je local:30"," mov ecx,address"," mov edi,0x3e"," mov esi,ebp","@@ -27,14 +27,15 @@"," call external"," test ebp,ebp"," jne local:13","+nop "," xor edx,edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],edx","-test ebx,ebx","-je local:38","-mov edx,address","-mov eax,ebx","+test ecx,ecx","+je local:39"," mov ebx,0x47","+mov edx,address","+mov eax,ecx"," call external"," mov edi,m4[esp+None*1+0x4]"," mov ebx,0x4a","@@ -54,18 +55,28 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:63","+je local:64"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:53","+jne local:54"," pop edi"," mov eax,m4[None+None*1+address]"," call external"," test eax,eax","-je local:214","+jne local:79","+mov eax,address","+call external","+add esp,0x10","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x4f"," mov ecx,address"," mov ebx,0x1","@@ -76,7 +87,7 @@"," call external"," mov edi,eax"," test eax,eax","-je local:214","+je local:69"," mov ebx,0x55"," mov edx,address"," inc eax","@@ -96,54 +107,52 @@"," mov eax,m4[None+None*1+address]"," mov m1[edi+esi*1+0x0],0x0"," call external","-xor ecx,ecx","+xor ebx,ebx"," mov ah,m1[esi+None*1+0x0]","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," test ah,ah","-je local:210","+je local:219"," mov esi,ebp"," xor edi,edi"," mov dh,m1[ebp+None*1+0x0]"," mov m4[esp+None*1+0xc],edi"," test dh,dh","-je local:120","+je local:126"," mov bh,m1[ebp+None*1+0x0]"," lea eax,m4[ebp+None*1+0x1]"," cmp bh,0x3d","-jne local:116","+jne local:140"," mov m1[ebp+None*1+0x0],0x0"," mov ebp,eax","-jmp local:120","-mov bl,m1[eax+None*1+0x0]","-mov ebp,eax","-test bl,bl","-jne local:109"," mov cl,m1[ebp+None*1+0x0]"," test cl,cl","-je local:142","+je local:151"," mov m4[esp+None*1+0xc],ebp","-je local:142","+je local:151"," mov ah,m1[ebp+None*1+0x0]"," cmp ah,0xa","-je local:130","-cmp ah,0xd","-jne local:138","+jne local:145"," mov m1[ebp+None*1+0x0],0x0"," inc ebp"," mov dh,m1[ebp+None*1+0x0]"," cmp dh,0xa","-je local:131","-cmp dh,0xd","-jne local:142","-jmp local:131","+jne local:233","+jmp local:135","+mov bl,m1[eax+None*1+0x0]","+mov ebp,eax","+test bl,bl","+jne local:120","+jmp local:126","+cmp ah,0xd","+je local:134"," mov al,m1[ebp+None*1+0x1]"," inc ebp"," test al,al","-jne local:125","+jne local:131"," test esi,esi","-je local:208","+je local:217"," cmp m4[esp+None*1+0xc],0x0","-je local:208","+je local:217"," mov ebx,0x8a"," mov edx,address"," mov eax,0xc","@@ -172,13 +181,13 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:181","+je local:190"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:171","+jne local:180"," pop edi"," mov edi,m4[esp+None*1+0xc]"," mov edx,address","@@ -198,16 +207,16 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:207","+je local:216"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:197","+jne local:206"," pop edi"," cmp m1[ebp+None*1+0x0],0x0","-jne local:103","+jne local:114"," mov ebx,0x99"," mov edx,address"," mov eax,m4[esp+None*1+0x0]","@@ -222,3 +231,6 @@"," pop ecx"," pop ebx"," ret ","+cmp dh,0xd","+je local:135","+jmp local:151"]},{"name":"set_preferences_int_","source":"E:\\library\\config\\prefs.c","reference":"0x46d764","earlier":"0x479788","same_instruction_shape":false,"reference_instructions":15,"earlier_instructions":15,"callers":[[4691848,"save_quick_start_game_runs_",3]],"diff":["--- 0x479788","+++ 0x46d764","@@ -1,6 +1,6 @@","-push ebx","+push ecx"," sub esp,0x64","-mov ebx,eax","+mov ecx,eax"," push edx"," push address"," lea edx,m4[esp+None*1+0x8]","@@ -8,8 +8,8 @@"," call external"," add esp,0xc"," mov edx,esp","-mov eax,ebx","+mov eax,ecx"," call external"," add esp,0x64","-pop ebx","+pop ecx"," ret "]},{"name":"install_debug_log_","source":"E:\\library\\debug\\debuglog.c","reference":"0x46dc20","earlier":"0x479cb0","same_instruction_shape":false,"reference_instructions":50,"earlier_instructions":44,"callers":[[4693168,"install_lib32_",2]],"diff":["--- 0x479cb0","+++ 0x46dc20","@@ -1,4 +1,3 @@","-push ebx"," push ecx"," push edx"," push esi","@@ -10,35 +9,42 @@"," call m4[None+None*1+address]"," mov esi,m4[None+None*1+address]"," mov edi,address","-mov edx,0x1"," mov esi,m4[esi+None*1+0x0]"," mov m4[None+None*1+address],eax"," push edi"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:26","+je local:24"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:16","+jne local:14"," pop edi","+mov esi,address","+mov edx,0x1","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:38","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:28","+pop edi","+mov ecx,m4[None+None*1+address]"," mov eax,address","-mov edi,address","-mov esi,address","-mov ebx,m4[None+None*1+address]","+add ecx,edx"," mov m4[None+None*1+address],edx","-add ebx,edx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ecx"," call external"," pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"debug_log_fatal_long_","source":"E:\\library\\debug\\debuglog.c","reference":"0x46dcac","earlier":"0x479d2c","same_instruction_shape":false,"reference_instructions":89,"earlier_instructions":76,"callers":[[4693292,"set_simple_drone_object_number_",12]],"diff":["--- 0x479d2c","+++ 0x46dcac","@@ -7,7 +7,17 @@"," sub esp,0x68"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:56","+jne local:20","+cmp m4[None+None*1+address],0x0","+je local:71","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov edi,address"," lea ebx,m4[esp+None*1+0x64]"," xor ah,ah","@@ -25,26 +35,23 @@"," call external"," mov edx,m4[esp+None*1+0x8c]"," push edx","-mov ebx,m4[esp+None*1+0x8c]","-push ebx","+mov ecx,m4[esp+None*1+0x8c]","+push ecx"," xor eax,eax"," push address"," mov m4[esp+None*1+0x70],eax"," lea eax,m4[esp+None*1+0xc]"," push eax","-xor edx,edx"," call external"," add esp,0x10"," mov eax,esp","-xor ebx,ebx"," call external"," call external","-mov eax,edi"," call external","-mov ecx,m4[None+None*1+address]","-test ecx,ecx","-jne local:68","-push ecx","+mov ebx,m4[None+None*1+address]","+test ebx,ebx","+jne local:12","+push ebx"," push address"," push edi"," mov edi,m4[None+None*1+address]","@@ -53,16 +60,22 @@"," mov m4[None+None*1+address],esi"," call m4[None+None*1+address]"," mov eax,0xa","-jmp local:67","-cmp m4[None+None*1+address],0x0","-jne local:68","+call external","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push edx"," push address"," push address"," mov esi,m4[None+None*1+address]","-mov ecx,0x1","+mov ebx,0x1"," push esi","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," call m4[None+None*1+address]"," mov eax,0xff"," call external"]},{"name":"create_fader_","source":"E:\\library\\graphics\\palette.c","reference":"0x46f0f8","earlier":"0x47b06c","same_instruction_shape":false,"reference_instructions":69,"earlier_instructions":65,"callers":[[4698220,"initialise_crash_camera_",11]],"diff":["--- 0x47b06c","+++ 0x46f0f8","@@ -1,27 +1,58 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov esi,eax"," mov edi,edx","-mov ebp,ebx","-mov ebx,0x151","+mov m4[esp+None*1+0x0],ebx","+mov ebp,ecx","+mov ebx,0x1e6"," mov edx,address","-mov eax,0x28","+mov eax,0x2c"," call external","+mov edx,eax"," mov m4[eax+None*1+0x0],esi","-mov m4[eax+None*1+0x4],edi","-mov edx,eax","-mov m4[eax+None*1+0x8],ebp","+mov ecx,eax","+mov m4[eax+None*1+0x8],edi","+mov eax,m4[esp+None*1+0x0]","+mov m4[edx+None*1+0x10],ebp","+mov m4[edx+None*1+0xc],eax","+mov eax,m4[esp+None*1+0x14]","+mov m4[edx+None*1+0x18],eax","+test esi,esi","+je local:55","+xor eax,eax","+mov al,m1[esp+None*1+0x18]","+mov m4[edx+None*1+0x1c],eax","+xor eax,eax","+mov al,m1[esp+None*1+0x1c]","+mov m4[edx+None*1+0x20],eax","+xor eax,eax","+mov al,m1[esp+None*1+0x20]","+mov m4[edx+None*1+0x24],eax","+mov eax,m4[None+None*1+address]","+xor ebx,ebx","+test eax,eax","+je local:43","+mov esi,m4[eax+None*1+0x8]","+cmp esi,m4[ecx+None*1+0x8]","+jg local:43"," mov ebx,eax","-mov m4[eax+None*1+0xc],ecx","-mov eax,m4[esp+None*1+0x10]","-mov m4[edx+None*1+0x14],eax","-test esi,esi","-jne local:32","-xor eax,eax","-mov al,m1[esp+None*1+0x14]","-shl eax,0x10","-mov m4[edx+None*1+0x18],eax","+mov eax,m4[eax+None*1+0x28]","+test eax,eax","+jne local:36","+mov m4[ecx+None*1+0x28],eax","+test ebx,ebx","+je local:67","+mov m4[ebx+None*1+0x28],ecx","+mov m4[None+None*1+address],0x1","+call external","+mov eax,ecx","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+ret 0x10"," xor eax,eax"," mov al,m1[esp+None*1+0x18]"," shl eax,0x10","@@ -29,37 +60,10 @@"," xor eax,eax"," mov al,m1[esp+None*1+0x1c]"," shl eax,0x10","-jmp local:40","+mov m4[edx+None*1+0x20],eax"," xor eax,eax","-mov al,m1[esp+None*1+0x14]","-mov m4[edx+None*1+0x18],eax","-xor eax,eax","-mov al,m1[esp+None*1+0x18]","-mov m4[edx+None*1+0x1c],eax","-xor eax,eax","-mov al,m1[esp+None*1+0x1c]","-mov m4[edx+None*1+0x20],eax","-mov eax,m4[None+None*1+address]","-xor ecx,ecx","-test eax,eax","-je local:52","-mov edx,m4[ebx+None*1+0x4]","-cmp edx,m4[eax+None*1+0x4]","-jl local:52","-mov ecx,eax","-mov eax,m4[eax+None*1+0x24]","-test eax,eax","-jne local:45","-mov m4[ebx+None*1+0x24],eax","-test ecx,ecx","-je local:57","-mov m4[ecx+None*1+0x24],ebx","-jmp local:58","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],0x1","-call external","-mov eax,ebx","-pop ebp","-pop edi","-pop esi","-ret 0x10","+mov al,m1[esp+None*1+0x20]","+shl eax,0x10","+jmp local:31","+mov m4[None+None*1+address],ecx","+jmp local:47"]},{"name":"set_border_colour_","source":"E:\\library\\graphics\\palette.c","reference":"0x46f2dc","earlier":"0x47b234","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"assign_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f424","earlier":"0x47b4d4","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"set_active_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f4a4","earlier":"0x47b538","same_instruction_shape":false,"reference_instructions":67,"earlier_instructions":66,"callers":[[4699448,"do_reschedule_",42]],"diff":["--- 0x47b538","+++ 0x46f4a4","@@ -2,63 +2,64 @@"," push ecx"," push edx"," push esi","+push edi","+mov esi,m4[None+None*1+address]","+mov edi,m4[None+None*1+address]","+mov ecx,eax"," mov m4[None+None*1+address],eax"," test eax,eax","-je local:61","-mov edx,m4[eax+None*1+0x0]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x4]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x8]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0xc]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x10]","-mov ebx,m4[None+None*1+address]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x14]","-mov eax,m4[eax+None*1+0x18]","-dec ebx","+je local:59","+mov esi,m4[eax+None*1+0x4]","+mov edi,m4[eax+None*1+0x0]","+mov eax,m4[eax+None*1+0x8]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0xc]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x10]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x14]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x18]"," shl eax,0x1e","-mov m4[None+None*1+address],edx"," shr eax,0x1f"," mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-mov eax,m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","-add eax,edx","-dec ecx","+lea eax,m4[edi+edx*1+0x0]"," mov m4[None+None*1+address],eax","-xor edx,edx","-xor eax,eax","-call external","-mov edx,m4[None+None*1+address]","-mov eax,edx","+lea edx,m4[esi+None*1+0xffffffff]","+lea eax,m4[edi+None*1+0xffffffff]","+mov m4[None+None*1+address],edx","+mov m4[None+None*1+address],eax","+mov edx,edi","+mov eax,edi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-mov eax,edx","+mov edx,esi","+mov eax,esi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","+xor ebx,ebx","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx"," mov ebx,m4[None+None*1+address]","-mov esi,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-add ecx,ebx"," mov m4[None+None*1+address],eax","-mov edx,m4[edx+None*1+0x14]","+mov edx,m4[ecx+None*1+0x14]"," test esi,esi","-jle local:61","-lea ebx,m4[None+esi*4+0x0]","+jle local:59","+lea ecx,m4[None+esi*4+0x0]"," xor eax,eax"," mov m4[eax+None*1+address],edx"," add eax,0x4","-add edx,ecx","-cmp eax,ebx","-jl local:56","+add edx,ebx","+cmp eax,ecx","+jl local:53","+lea eax,m4[eax+None*1+0x0]","+mov m4[None+None*1+address],edi","+mov m4[None+None*1+address],esi","+pop edi"," pop esi"," pop edx"," pop ecx"]},{"name":"get_active_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f580","earlier":"0x47b61c","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4699676,"do_reschedule_",11]],"diff":[]},{"name":"set_screen_extent_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f5a4","earlier":"0x47b640","same_instruction_shape":false,"reference_instructions":5,"earlier_instructions":5,"callers":[[4699712,"restore_2d_visual_",49]],"diff":["--- 0x47b640","+++ 0x46f5a4","@@ -1,5 +1,5 @@","-mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],eax"," ret "]},{"name":"clear_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f5fc","earlier":"0x47b698","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[[4699800,"Clear_Visible_Anim_Screen_",4]],"diff":[]},{"name":"allocate_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f66c","earlier":"0x47b708","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":31,"callers":[[4699912,"assign_screen_",2]],"diff":["--- 0x47b708","+++ 0x46f66c","@@ -1,31 +1,33 @@","-push ebx","+push ecx"," push edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]","+xor eax,eax"," xor edx,edx","-xor eax,eax","-test ebx,ebx","-jne local:15","-mov m4[eax+None*1+address],0x1","-lea eax,m4[None+edx*8+0x0]","-sub eax,edx","-shl eax,0x2","-add eax,address","-pop edx","-pop ebx","-ret ","+test ecx,ecx","+je local:13"," add eax,0x4"," inc edx"," cmp eax,0x190","-jge local:22","+jge local:24"," cmp m4[eax+None*1+address],0x0","-je local:7","-jmp local:15","-push 0x18d","+jne local:7","+push esi","+mov esi,0x1","+shl edx,0x2","+mov m4[eax+None*1+address],esi","+lea eax,m4[None+edx*8+0x0]","+sub eax,edx","+add eax,address","+pop esi","+pop edx","+pop ecx","+ret ","+push 0x1a7"," push address"," push address"," call external"," add esp,0xc"," xor eax,eax"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"print_text_string_","source":"E:\\library\\graphics\\text.c","reference":"0x471a30","earlier":"0x47c100","same_instruction_shape":false,"reference_instructions":91,"earlier_instructions":84,"callers":[[4702464,"print_field_and_value_",9],[4702464,"print_field_and_value_",20]],"diff":["--- 0x47c100","+++ 0x471a30","@@ -7,12 +7,19 @@"," mov esi,eax"," mov ah,m1[None+None*1+address]"," test ah,0x1","-je local:46","+je local:53"," test ah,0x2","-je local:31","+je local:38"," mov ch,m1[esi+None*1+0x0]"," test ch,ch","-je external","+jne local:22","+mov m4[None+None*1+address],edi","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov ebx,m4[None+None*1+address]"," xor eax,eax"," mov edx,edi","@@ -31,7 +38,7 @@"," jmp local:12"," mov cl,m1[esi+None*1+0x0]"," test cl,cl","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," xor eax,eax"," mov edx,edi","@@ -43,11 +50,11 @@"," inc eax"," inc esi"," add edi,eax","-jmp local:31","+jmp local:38"," test ah,0x2","-je local:68","+je local:75"," cmp m1[esi+None*1+0x0],0x0","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," mov edx,edi"," xor ecx,ecx","@@ -65,9 +72,9 @@"," and eax,0xff"," inc eax"," add edi,eax","-jmp local:48","+jmp local:55"," cmp m1[esi+None*1+0x0],0x0","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," mov edx,edi"," xor ecx,ecx","@@ -81,4 +88,4 @@"," inc eax"," inc esi"," add edi,eax","-jmp local:68","+jmp local:75"]},{"name":"get_text_string_width_","source":"E:\\library\\graphics\\text.c","reference":"0x471b7c","earlier":"0x47c244","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":34,"callers":[[4702788,"print_field_and_value_",14]],"diff":["--- 0x47c244","+++ 0x471b7c","@@ -5,27 +5,28 @@"," mov bl,m1[None+None*1+address]"," xor edx,edx"," test bl,0x2","-je local:19","-cmp m1[eax+None*1+0x0],0x0","-je local:28","-xor ecx,ecx","-mov ebx,m4[None+None*1+address]","+je local:20"," mov cl,m1[eax+None*1+0x0]","+test cl,cl","+je local:29","+xor ebx,ebx","+mov bl,cl","+mov ecx,m4[None+None*1+address]"," inc eax","-mov bl,m1[ecx+ebx*1+0x0]","-and ebx,0xff","-inc ebx","-add edx,ebx","+mov cl,m1[ecx+ebx*1+0x0]","+and ecx,0xff","+inc ecx","+add edx,ecx"," jmp local:8"," mov esi,m4[None+None*1+address]"," inc esi","-mov ebx,eax","-mov cl,m1[ebx+None*1+0x0]","+mov ecx,eax","+mov bh,m1[ecx+None*1+0x0]"," inc eax","-test cl,cl","-je local:28","+test bh,bh","+je local:29"," add edx,esi","-jmp local:21","+jmp local:22"," mov eax,edx"," pop esi"," pop edx"]},{"name":"fill_translucent_masked_textured_polygon_","source":"E:\\library\\graphics\\polygon.c","reference":"0x471e58","earlier":"0x47b378","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472d8c","earlier":"0x47d06c","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"quick_set_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472e94","earlier":"0x47d170","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"quick_set_windows_palette_registers_using_run_list_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472f9c","earlier":"0x47d270","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"get_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x4730dc","earlier":"0x47d398","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"draw_windows_xored_video_line_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x47317c","earlier":"0x47d430","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"draw_windows_textured_xored_video_line_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x47321c","earlier":"0x47d4c4","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"initialise_maths_library_","source":"E:\\library\\maths\\initmath.c","reference":"0x473c50","earlier":"0x47de60","same_instruction_shape":false,"reference_instructions":64,"earlier_instructions":89,"callers":[[4709984,"install_lib32_",14]],"diff":["--- 0x47de60","+++ 0x473c50","@@ -1,89 +1,64 @@"," call external"," call external"," mov eax,eax","-push ebx","-sub esp,0x9c","-mov m4[esp+None*1+0x8c],0xf7060000","-mov ebx,0x4267ffff","-mov m4[esp+None*1+0x90],ebx","-mov eax,m4[esp+None*1+0x8c]","+push ecx","+push ebp","+mov ebp,esp","+sub esp,0xac","+and esp,0xfffffff8","+mov m4[esp+None*1+0x0],0xf7060000","+mov ecx,0x4267ffff","+mov m4[esp+None*1+0x4],ecx","+mov eax,m4[esp+None*1+0x0]"," mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x90]","+mov eax,m4[esp+None*1+0x4]"," mov m4[esp+None*1+0x98],eax"," fld1 "," fdiv m8[esp+None*1+0x94]"," fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x74]","-mov m4[esp+None*1+0x84],0xf7062000","-mov m4[esp+None*1+0x88],ebx","-mov eax,m4[esp+None*1+0x84]","-mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x88]","-mov m4[esp+None*1+0x98],eax","+fstp m8[esp+None*1+0x18]","+mov m4[esp+None*1+0x8],0xf7062000","+mov m4[esp+None*1+0xc],ecx","+mov eax,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x9c],eax","+mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0xa0],eax"," fld1 ","-fdiv m8[esp+None*1+0x94]","-fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x6c]","-mov m4[esp+None*1+0x7c],0xf7064000","-mov m4[esp+None*1+0x80],ebx","-mov eax,m4[esp+None*1+0x7c]","-mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x80]","-mov m4[esp+None*1+0x98],eax","+fdiv m8[esp+None*1+0x9c]","+fmul m8[esp+None*1+0x9c]","+fstp m8[esp+None*1+0x20]","+mov m4[esp+None*1+0x10],0xf7064000","+mov m4[esp+None*1+0x14],ecx","+mov eax,m4[esp+None*1+0x10]","+mov m4[esp+None*1+0xa4],eax","+mov eax,m4[esp+None*1+0x14]","+mov m4[esp+None*1+0xa8],eax"," fld1 ","-fdiv m8[esp+None*1+0x94]","-fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x64]","-fld m8[esp+None*1+0x74]","+fdiv m8[esp+None*1+0xa4]","+fmul m8[esp+None*1+0xa4]","+fstp m8[esp+None*1+0x28]","+fld m8[esp+None*1+0x18]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-ja local:57","-fld m8[esp+None*1+0x6c]","+ja external","+fld m8[esp+None*1+0x20]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-ja local:57","-fld m8[esp+None*1+0x64]","+ja external","+fld m8[esp+None*1+0x28]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-jbe local:86","-fld m8[None+None*1+address]","-fld m8[esp+None*1+0x64]","-fadd st(1)","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x84]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x7c]","-fadd st(1)","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x9c]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fadd m8[esp+None*1+0x94]","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0xb4]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-push address","-lea eax,m4[esp+None*1+0x34]","-push eax","-call external","-add esp,0x38","-add esp,0x9c","-pop ebx","+ja external","+mov esp,ebp","+pop ebp","+pop ecx"," ret "]},{"name":"mat_mul_scawen_","source":"E:\\library\\maths\\matrix.c","reference":"0x473fc0","earlier":"0x47e1f0","same_instruction_shape":true,"reference_instructions":86,"earlier_instructions":86,"callers":[],"diff":[]},{"name":"mat_mul_3x3_3x3_","source":"E:\\library\\maths\\matrix.c","reference":"0x474090","earlier":"0x47e2c0","same_instruction_shape":true,"reference_instructions":236,"earlier_instructions":236,"callers":[],"diff":[]},{"name":"get_transformation_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x4744ec","earlier":"0x47e718","same_instruction_shape":false,"reference_instructions":162,"earlier_instructions":163,"callers":[[4712216,"create_creative_cannon_crater_",9],[4712216,"pitch_round_down_",40]],"diff":["--- 0x47e718","+++ 0x4744ec","@@ -79,13 +79,11 @@"," mov ebx,m4[esp+None*1+0x18]"," mov m4[ebx+None*1+0x4],edx"," mov edx,m4[esp+None*1+0x10]","-mov ebx,edx","+mov ecx,edx"," mov m4[esp+None*1+0x0],edx","-neg ebx","+neg ecx"," mov edx,m4[esp+None*1+0xc]","-mov m4[esp+None*1+0x0],ebx","-mov eax,ebx","-mov ebx,m4[esp+None*1+0x18]","+mov eax,ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -93,6 +91,7 @@"," mov eax,m4[esp+None*1+0xc]"," mov m4[ebx+None*1+0x8],edx"," mov edx,ebp","+mov esi,ebp"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -100,7 +99,7 @@"," mov eax,m4[esp+None*1+0xc]"," mov m4[ebx+None*1+0xc],edx"," mov edx,edi","-mov esi,ebp","+mov m4[esp+None*1+0x0],ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2"]},{"name":"get_XZ_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x4747b4","earlier":"0x47e9ac","same_instruction_shape":true,"reference_instructions":70,"earlier_instructions":70,"callers":[],"diff":[]},{"name":"get_ZX_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x474874","earlier":"0x47ea6c","same_instruction_shape":true,"reference_instructions":72,"earlier_instructions":72,"callers":[],"diff":[]},{"name":"get_approx_2d_range_","source":"E:\\library\\maths\\range.c","reference":"0x474a20","earlier":"0x47ec10","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":21,"callers":[[4713488,"get_rounds_direction_change_to_target_",21]],"diff":["--- 0x47ec10","+++ 0x474a20","@@ -1,21 +1,25 @@"," push ebx"," push ecx","-mov ecx,edx","+mov ebx,edx"," cdq "," xor eax,edx"," sub eax,edx","-mov ebx,eax","-mov eax,ecx","+mov ecx,eax","+mov eax,ebx"," cdq "," xor eax,edx"," sub eax,edx","-cmp ebx,eax","-jl local:15","-shl ebx,0x2","-jmp local:16","-shl eax,0x2","-add eax,ebx","+cmp ecx,eax","+jl local:19","+shl ecx,0x2","+add eax,ecx"," sar eax,0x2"," pop ecx"," pop ebx"," ret ","+shl eax,0x2","+add eax,ecx","+sar eax,0x2","+pop ecx","+pop ebx","+ret "]},{"name":"get_approx_3d_range_","source":"E:\\library\\maths\\range.c","reference":"0x474a4c","earlier":"0x47ec38","same_instruction_shape":true,"reference_instructions":42,"earlier_instructions":42,"callers":[],"diff":[]},{"name":"iarctan360f_","source":"E:\\library\\maths\\trig.c","reference":"0x474d5c","earlier":"0x47ef38","same_instruction_shape":false,"reference_instructions":223,"earlier_instructions":223,"callers":[[4714296,"get_rounds_direction_change_to_target_",17],[4714296,"get_rounds_direction_change_to_target_",24],[4714296,"get_heading_pitch_roll_",25],[4714296,"get_heading_pitch_roll_",30]],"diff":["--- 0x47ef38","+++ 0x474d5c","@@ -23,7 +23,7 @@"," pop ecx"," pop ebx"," ret ","-jge local:220","+jge local:9"," mov eax,0xc0000000"," pop ecx"," pop ebx","@@ -33,11 +33,7 @@"," test edx,edx"," jle local:77"," cmp ecx,edx","-jne local:40","-mov eax,0x20000000","-pop ecx","-pop ebx","-ret ","+je local:54"," jge local:58"," mov ebx,edx"," mov edx,ecx","@@ -56,6 +52,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,0x20000000","+pop ecx","+pop ebx","+ret "," mov ebx,ecx"," xor eax,eax"," sar edx,0x1","@@ -77,11 +77,7 @@"," ret "," neg eax"," cmp ecx,eax","-jne local:84","-mov eax,0x60000000","-pop ecx","-pop ebx","-ret ","+je local:101"," jge local:105"," mov ebx,eax"," mov edx,ecx","@@ -100,6 +96,10 @@"," sub eax,edx"," sub ecx,eax"," mov eax,ecx","+pop ecx","+pop ebx","+ret ","+mov eax,0x60000000"," pop ecx"," pop ebx"," ret ","@@ -130,11 +130,7 @@"," jle local:176"," neg ecx"," cmp ecx,edx","-jne local:137","-mov eax,0xe0000000","-pop ecx","-pop ebx","-ret ","+je local:152"," jge local:156"," mov ebx,edx"," mov edx,ecx","@@ -154,34 +150,34 @@"," pop ecx"," pop ebx"," ret ","-mov ebx,ecx","-xor eax,eax","-sar edx,0x1","-rcr eax,0x1","-idiv ebx","-mov ecx,0x40000000","-cdq ","-xor eax,edx","-sub eax,edx","-shr eax,0x13","-adc eax,0x0","-mov eax,m4[None+eax*4+address]","-xor eax,edx","-sub eax,edx","-sub ecx,eax","-mov eax,ecx","-neg eax","-pop ecx","-pop ebx","-ret ","+mov eax,0xe0000000","+pop ecx","+pop ebx","+ret ","+mov ebx,ecx","+xor eax,eax","+sar edx,0x1","+rcr eax,0x1","+idiv ebx","+mov ecx,0x40000000","+cdq ","+xor eax,edx","+sub eax,edx","+shr eax,0x13","+adc eax,0x0","+mov eax,m4[None+eax*4+address]","+xor eax,edx","+sub eax,edx","+sub ecx,eax","+mov eax,ecx","+neg eax","+pop ecx","+pop ebx","+ret ","+neg eax"," neg ecx","-neg eax"," cmp ecx,eax","-jne local:184","-mov eax,0xa0000000","-pop ecx","-pop ebx","-ret ","+je local:199"," jge local:203"," mov ebx,eax"," mov edx,ecx","@@ -201,6 +197,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,0xa0000000","+pop ecx","+pop ebx","+ret "," mov ebx,ecx"," mov edx,eax"," xor eax,eax"]},{"name":"get_3d_normalised_unit_vector_","source":"E:\\library\\maths\\vector.c","reference":"0x474f50","earlier":"0x47f130","same_instruction_shape":false,"reference_instructions":130,"earlier_instructions":117,"callers":[[4714800,"add_unit_vectors_",45]],"diff":["--- 0x47f130","+++ 0x474f50","@@ -8,19 +8,7 @@"," xor eax,edx"," sub eax,edx"," cmp eax,0x3fffffff","-jg local:23","-mov eax,m4[ecx+None*1+0x4]","-cdq ","-xor eax,edx","-sub eax,edx","-cmp eax,0x3fffffff","-jg local:23","-mov eax,m4[ecx+None*1+0x8]","-cdq ","-xor eax,edx","-sub eax,edx","-cmp eax,0x3fffffff","-jle local:41","+jle local:42"," mov eax,m4[ecx+None*1+0x0]"," mov edx,eax"," sar edx,0x1f","@@ -45,61 +33,86 @@"," call external"," lea esi,m4[eax+None*1+0x1]"," test esi,esi","-je local:111","+jne local:55","+mov eax,esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,m4[ecx+None*1+0x4]","+cdq ","+xor eax,edx","+sub eax,edx","+cmp eax,0x3fffffff","+jg local:11","+mov eax,m4[ecx+None*1+0x8]","+cdq ","+xor eax,edx","+sub eax,edx","+cmp eax,0x3fffffff","+jg local:11","+jmp local:29"," mov eax,m4[ecx+None*1+0x0]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:61","+jge local:97"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x0]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:66","-cmp m4[ecx+None*1+0x0],0x0","-jle local:65","-mov eax,0x7fffffff","-jmp local:66","-mov eax,0x80000001"," mov m4[ecx+None*1+0x0],eax"," mov eax,m4[ecx+None*1+0x4]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:80","+jge local:103"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x4]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:85","-cmp m4[ecx+None*1+0x4],0x0","-jle local:84","-mov eax,0x7fffffff","-jmp local:85","-mov eax,0x80000001"," mov m4[ecx+None*1+0x4],eax"," mov eax,m4[ecx+None*1+0x8]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:99","+jl local:109","+cmp m4[ecx+None*1+0x8],0x0","+jle local:122","+mov eax,0x7fffffff","+mov m4[ecx+None*1+0x8],eax","+mov eax,esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+cmp m4[ecx+None*1+0x0],0x0","+jle local:101","+mov eax,0x7fffffff","+jmp local:67","+mov eax,0x80000001","+jmp local:67","+cmp m4[ecx+None*1+0x4],0x0","+jle local:107","+mov eax,0x7fffffff","+jmp local:80","+mov eax,0x80000001","+jmp local:80"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x8]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:110","-cmp m4[ecx+None*1+0x8],0x0","-jle local:109","-mov eax,0x7fffffff"," mov m4[ecx+None*1+0x8],eax"," mov eax,esi"," pop esi"]},{"name":"add_unit_vectors_","source":"E:\\library\\maths\\vector.c","reference":"0x475638","earlier":"0x47f810","same_instruction_shape":true,"reference_instructions":50,"earlier_instructions":50,"callers":[],"diff":[]},{"name":"ipx_destroy_events_","source":"E:\\library\\network\\ipx.c","reference":"0x4757b8","earlier":"0x47f984","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4716932,"install_lib32_",16]],"diff":[]},{"name":"set_network_channel_","source":"E:\\library\\network\\net.c","reference":"0x4769d0","earlier":"0x480b68","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"open_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x476b80","earlier":"0x480d00","same_instruction_shape":false,"reference_instructions":327,"earlier_instructions":357,"callers":[[4721920,"save_mission_data_",7]],"diff":["--- 0x480d00","+++ 0x476b80","@@ -6,13 +6,13 @@"," mov m4[esp+None*1+0x6c],edx"," mov m4[esp+None*1+0x68],ebx"," mov m4[esp+None*1+0x64],ecx","-mov ebx,0x94","+mov ebx,0x97"," mov edx,address"," mov eax,0x18"," call external"," mov edi,ebp"," mov esi,ebp","-mov ebx,0x98","+mov ebx,0x9b"," mov m4[esp+None*1+0x74],eax"," mov m4[esp+None*1+0x70],eax"," sub ecx,ecx","@@ -40,16 +40,16 @@"," jne local:30"," pop edi"," mov dl,m1[ecx+None*1+0x14]","-mov ebx,m4[esp+None*1+0x68]","+mov eax,m4[esp+None*1+0x6c]"," and dl,0xf8","-mov eax,m4[esp+None*1+0x6c]","+mov m4[ecx+None*1+0x4],eax"," mov m1[ecx+None*1+0x14],dl"," xor edx,edx","-mov m4[ecx+None*1+0x4],eax","+mov ecx,m4[esp+None*1+0x68]"," mov m4[esp+None*1+0x78],edx","-cmp ebx,0x3","-ja local:318","-mov eax,ebx","+cmp ecx,0x3","+ja local:118","+mov eax,ecx"," jmp m4[None+eax*4+address]"," mov eax,ebp"," mov edx,address","@@ -59,18 +59,18 @@"," test eax,eax"," je local:61"," call external","-mov ecx,m4[esp+None*1+0x6c]","-cmp ecx,0x1","-jne local:119","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","+mov ebx,m4[esp+None*1+0x6c]","+cmp ebx,0x1","+jne local:155","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118"," mov edi,m4[None+None*1+address]"," test edi,edi","-je local:318","+je local:118"," push ebp"," push edi"," push address","@@ -83,9 +83,9 @@"," call external"," mov m4[esp+None*1+0x78],eax"," test eax,eax","-je local:318","+je local:118"," mov eax,m4[esp+None*1+0x70]","-mov ebx,0xbd","+mov ebx,0xc0"," mov edx,address"," mov edi,esp"," mov eax,m4[eax+None*1+0x0]","@@ -97,7 +97,7 @@"," repne scasb al,m1[edi+None*1+0x0]"," not ecx"," dec ecx","-mov ebx,0xbf","+mov ebx,0xc2"," lea eax,m4[ecx+None*1+0x1]"," mov edx,address"," mov ecx,m4[esp+None*1+0x70]","@@ -116,219 +116,19 @@"," cmp al,0x0"," jne local:107"," pop edi","-jmp local:318","-cmp ecx,0x2","-jne local:181","-mov edx,address","-jmp local:315","-mov edi,m4[esp+None*1+0x6c]","-cmp edi,0x1","-jne local:180","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov edx,m4[None+None*1+address]","-test edx,edx","-je local:318","-push ebp","-push edx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov ebx,0xdb","-mov edx,address","-mov edi,esp","-mov eax,m4[ecx+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0xdd","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x74]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:178","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:168","-pop edi","-jmp local:318","-cmp edi,0x2","-mov edx,address","-jmp local:315","-mov edx,m4[esp+None*1+0x6c]","-cmp edx,0x1","-jne local:241","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov ecx,m4[None+None*1+address]","-test ecx,ecx","-je local:318","-push ebp","+cmp m4[esp+None*1+0x78],0x0","+jne local:136","+mov ecx,m4[esp+None*1+0x8c]"," push ecx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov eax,m4[esp+None*1+0x74]","-mov ebx,0xf8","-mov edx,address","-mov edi,esp","-mov eax,m4[eax+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0xfa","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x74]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:239","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:229","-pop edi","-jmp local:318","-cmp edx,0x2","-mov edx,address","-jmp local:315","-mov eax,ebp","-mov edx,address","-call external","-mov eax,ebp","-call external","-test eax,eax","-je local:252","-call external","-mov ecx,m4[esp+None*1+0x6c]","-cmp ecx,0x1","-jne local:310","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov edi,m4[None+None*1+address]","-test edi,edi","-je local:318","-push ebp","-push edi","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov eax,m4[esp+None*1+0x70]","-mov ebx,0x11c","-mov edx,address","-mov edi,esp","-mov eax,m4[eax+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0x11e","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x70]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:308","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:298","-pop edi","-jmp local:318","-cmp ecx,0x2","-jne local:314","-mov edx,address","-jmp local:315","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-cmp m4[esp+None*1+0x78],0x0","-jne local:336","-mov ebx,m4[esp+None*1+0x8c]","+mov ebx,m4[esp+None*1+0x68]"," push ebx","-mov ecx,m4[esp+None*1+0x68]","-push ecx"," push ebp"," push address"," lea eax,m4[esp+None*1+0x10]"," push eax"," call external"," add esp,0x14","-push 0x134","+push 0x137"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","@@ -339,10 +139,8 @@"," mov esi,m4[esp+None*1+0x68]"," mov m4[ecx+None*1+0xc],eax"," cmp esi,0x1","-jne local:344","+jne local:325"," mov ebx,0x2","-jmp local:345","-xor ebx,ebx"," xor edx,edx"," call external"," mov eax,m4[esp+None*1+0x78]","@@ -355,3 +153,175 @@"," pop edi"," pop esi"," ret 0x4","+cmp ebx,0x2","+jne local:162","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edi,m4[esp+None*1+0x6c]","+cmp edi,0x1","+je local:176","+cmp edi,0x2","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov edx,m4[None+None*1+address]","+test edx,edx","+je local:118","+push ebp","+push edx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x74]","+mov ebx,0xde","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0xe0","+lea eax,m4[ecx+None*1+0x1]","+mov edx,address","+mov ecx,m4[esp+None*1+0x74]","+jmp local:103","+mov edx,m4[esp+None*1+0x6c]","+cmp edx,0x1","+je local:225","+cmp edx,0x2","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov ebx,m4[None+None*1+address]","+test ebx,ebx","+je local:118","+push ebp","+push ebx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x74]","+mov ebx,0xfb","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0xfd","+lea eax,m4[ecx+None*1+0x1]","+mov edx,address","+mov ecx,m4[esp+None*1+0x74]","+jmp local:103","+mov eax,ebp","+mov edx,address","+call external","+mov eax,ebp","+call external","+test eax,eax","+je local:273","+call external","+mov ebx,m4[esp+None*1+0x6c]","+cmp ebx,0x1","+je local:283","+cmp ebx,0x2","+jne local:320","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov edi,m4[None+None*1+address]","+test edi,edi","+je local:118","+push ebp","+push edi","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x70]","+mov ebx,0x11f","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0x121","+jmp local:100","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+xor ebx,ebx","+jmp local:143"]},{"name":"close_file_","source":"E:\\library\\os\\file.c","reference":"0x476fd4","earlier":"0x481188","same_instruction_shape":false,"reference_instructions":24,"earlier_instructions":23,"callers":[[4723080,"save_mission_data_",21]],"diff":["--- 0x481188","+++ 0x476fd4","@@ -6,14 +6,12 @@"," shl eax,0x1e"," sar eax,0x1f"," test eax,eax","-jne local:11","-mov eax,m4[ecx+None*1+0xc]","-call external","-mov ebx,0x160","+je local:21","+mov ebx,0x163"," mov edx,address"," mov eax,m4[ecx+None*1+0x0]"," call external","-mov ebx,0x161","+mov ebx,0x164"," mov edx,address"," mov eax,ecx"," call external","@@ -21,3 +19,6 @@"," pop ecx"," pop ebx"," ret ","+mov eax,m4[ecx+None*1+0xc]","+call external","+jmp local:9"]},{"name":"write_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x477018","earlier":"0x4811c8","same_instruction_shape":false,"reference_instructions":105,"earlier_instructions":93,"callers":[[4723144,"write_string_file_verbose_",19]],"diff":["--- 0x4811c8","+++ 0x477018","@@ -11,21 +11,12 @@"," sar eax,0x1f"," xor ecx,ecx"," test eax,eax","-je local:23","-mov edx,address","-mov eax,m4[esi+None*1+0x0]","-call external","-mov m4[esi+None*1+0xc],eax","-xor ebx,ebx","-mov edx,m4[esi+None*1+0x10]","-mov eax,m4[esi+None*1+0xc]","-mov m4[esi+None*1+0x8],ecx","-call external","+jne local:47"," mov edx,m4[esi+None*1+0x4]"," cmp edx,0x2","-jne local:63","+jne local:79"," cmp edx,m4[esi+None*1+0x8]","-je local:36","+je local:27"," mov edx,m4[esi+None*1+0x10]"," mov eax,m4[esi+None*1+0xc]"," xor ebx,ebx","@@ -41,14 +32,34 @@"," call external"," mov ecx,eax"," cmp eax,edi","-jne local:46","+jne local:57"," add m4[esi+None*1+0x10],edi","-jmp local:79","+mov eax,m4[esi+None*1+0x14]","+shl eax,0x1e","+sar eax,0x1f","+test eax,eax","+jne local:96","+mov eax,ecx","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+ret 0x4","+mov edx,address","+mov eax,m4[esi+None*1+0x0]","+call external","+mov m4[esi+None*1+0xc],eax","+xor ebx,ebx","+mov edx,m4[esi+None*1+0x10]","+mov eax,m4[esi+None*1+0xc]","+mov m4[esi+None*1+0x8],ecx","+call external","+jmp local:14"," mov eax,m4[esi+None*1+0x14]"," shl eax,0x1d"," sar eax,0x1f"," test eax,eax","-je local:79","+je local:36"," mov edx,m4[esp+None*1+0x78]"," push edx"," push ebp","@@ -59,8 +70,13 @@"," push eax"," call external"," add esp,0x14","-push 0x199","-jmp local:74","+push 0x19c","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:36"," mov ebx,m4[esp+None*1+0x78]"," push ebx"," push ebp","@@ -71,17 +87,13 @@"," push eax"," call external"," add esp,0x14","-push 0x1a0","+push 0x1a3"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax"," call external"," add esp,0xc","-mov eax,m4[esi+None*1+0x14]","-shl eax,0x1e","-sar eax,0x1f","-test eax,eax","-je local:87","+jmp local:36"," mov eax,m4[esi+None*1+0xc]"," call external"," mov m4[esi+None*1+0xc],0x0"]},{"name":"write_string_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x477690","earlier":"0x4817d4","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"get_file_spec_","source":"E:\\library\\os\\file.c","reference":"0x477a28","earlier":"0x481b30","same_instruction_shape":true,"reference_instructions":43,"earlier_instructions":43,"callers":[],"diff":[]},{"name":"find_read_only_path_","source":"E:\\library\\os\\file.c","reference":"0x47807c","earlier":"0x482150","same_instruction_shape":false,"reference_instructions":98,"earlier_instructions":90,"callers":[[4727120,"install_lib32_",5]],"diff":["--- 0x482150","+++ 0x47807c","@@ -6,23 +6,56 @@"," sub esp,0x3e8"," mov ebx,eax"," test eax,eax","-je local:82","+je local:36"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:49","+jne local:45","+mov edx,0x43","+push ebx","+push edx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov eax,esp","+call external","+test eax,eax","+jne local:83","+inc edx","+cmp edx,0x5a","+jle local:13","+mov ecx,m4[None+None*1+address]","+test ecx,ecx","+je local:36","+mov ebx,0x670","+mov edx,address","+mov eax,ecx","+call external","+xor ebx,ebx","+mov m4[None+None*1+address],ebx","+xor esi,esi","+mov m4[None+None*1+address],esi","+add esp,0x3e8","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov edi,esp"," mov esi,edx"," push edi"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:25","+je local:58"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:15","+jne local:48"," pop edi"," mov edi,esp"," mov esi,ebx","@@ -35,30 +68,19 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:44","+je local:77"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:34","+jne local:67"," pop edi"," mov eax,esp"," call external"," test eax,eax","-jne local:83","-mov edx,0x43","-push ebx","-push edx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov eax,esp","-call external","-test eax,eax","-je local:70","+jne local:38","+jmp local:12"," push edx"," push address"," lea eax,m4[esp+None*1+0x8]","@@ -67,20 +89,6 @@"," add esp,0xc"," mov eax,esp"," call external","-jmp local:83","-inc edx","-cmp edx,0x5a","-jle local:50","-mov ebx,m4[None+None*1+address]","-test ebx,ebx","-je local:82","-mov edx,address","-mov eax,ebx","-mov ebx,0x667","-xor ecx,ecx","-call external","-mov m4[None+None*1+address],ecx","-call external"," add esp,0x3e8"," pop edi"," pop esi"]},{"name":"create_sound_buffer_","source":"E:\\library\\sound\\dsound.c","reference":"0x478ecc","earlier":"0x482e64","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"duplicate_sound_buffer_","source":"E:\\library\\sound\\dsound.c","reference":"0x479028","earlier":"0x482fcc","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"install_16bit_segments_","source":"E:\\library\\system\\16bit.c","reference":"0x4790c0","earlier":"0x483070","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[],"diff":[]},{"name":"get_event_","source":"E:\\library\\system\\event.c","reference":"0x479254","earlier":"0x483204","same_instruction_shape":false,"reference_instructions":109,"earlier_instructions":113,"callers":[[4731396,"process_events_",2]],"diff":["--- 0x483204","+++ 0x479254","@@ -1,91 +1,90 @@","-push ebx","-push ecx"," push edx","-push edi"," mov edx,eax"," cli "," mov al,m1[None+None*1+address]"," cmp al,m1[None+None*1+address]","-je local:105","-xor ebx,ebx","-mov bl,al","-lea eax,m4[None+ebx*4+0x0]","-add eax,ebx","+je local:104","+push edi","+push ecx","+push ebx","+xor ecx,ecx","+mov cl,al","+lea eax,m4[None+ecx*4+0x0]","+add eax,ecx"," shl eax,0x2"," add eax,address","-mov ebx,m4[eax+None*1+0x0]","-mov m4[edx+None*1+0x0],ebx","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+mov ecx,m4[eax+None*1+0x0]","+mov m4[edx+None*1+0x0],ecx","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax","-dec m4[None+None*1+address]"," mov bl,m1[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," inc bl","-mov ecx,m4[edx+None*1+0x0]","+dec ecx"," mov m1[None+None*1+address],bl","-cmp ecx,0x1","-jne local:35","-mov eax,m4[edx+None*1+0x4]","-call external","-mov m4[edx+None*1+0x8],eax","+mov ebx,m4[edx+None*1+0x0]","+mov m4[None+None*1+address],ecx","+cmp ebx,0x1","+je local:57"," cmp m4[edx+None*1+0x0],0x2","-jne local:71","-mov al,m1[None+None*1+address]","-cmp al,m1[None+None*1+address]","-je local:71","+jne local:70","+mov bh,m1[None+None*1+address]","+cmp bh,m1[None+None*1+address]","+je local:70"," xor eax,eax"," mov al,m1[None+None*1+address]"," imul eax,eax,0x14"," add eax,address"," mov edi,m4[eax+None*1+0x0]"," cmp edi,0x2","-jne local:62","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+jne local:61","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax","-mov ebx,m4[None+None*1+address]","-mov ch,m1[None+None*1+address]","-dec ebx","-inc ch","-mov m4[None+None*1+address],ebx","-mov m1[None+None*1+address],ch","-jmp local:37","+dec m4[None+None*1+address]","+inc m1[None+None*1+address]","+jmp local:36","+mov eax,m4[edx+None*1+0x4]","+call external","+mov m4[edx+None*1+0x8],eax","+jmp local:34"," cmp edi,0x5","-jne local:71","+jne local:70","+mov cl,m1[None+None*1+address]"," mov eax,m4[None+None*1+address]","-mov cl,m1[None+None*1+address]","+inc cl"," dec eax","-inc cl","+mov m1[None+None*1+address],cl"," mov m4[None+None*1+address],eax","-mov m1[None+None*1+address],cl","-jmp local:37","+jmp local:36"," cmp m4[edx+None*1+0x0],0x5","-jne local:97","+jne local:96"," mov al,m1[None+None*1+address]"," cmp al,m1[None+None*1+address]","-je local:97","+je local:96"," xor eax,eax"," mov al,m1[None+None*1+address]"," imul eax,eax,0x14"," add eax,address"," cmp m4[eax+None*1+0x0],0x5","-jne local:97","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+jne local:96","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax"," mov edi,m4[None+None*1+address]","@@ -94,20 +93,17 @@"," inc bl"," mov m4[None+None*1+address],edi"," mov m1[None+None*1+address],bl","-jmp local:73","+jmp local:72"," sti "," cld "," mov eax,0x1","+pop ebx","+pop ecx"," pop edi"," pop edx","-pop ecx","-pop ebx"," ret "," sti "," cld "," xor eax,eax","-pop edi"," pop edx","-pop ecx","-pop ebx"," ret "]},{"name":"register_exit_","source":"E:\\library\\system\\exit.c","reference":"0x479440","earlier":"0x4833f0","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":24,"callers":[[4731888,"install_lib32_",9],[4731888,"install_object_manager_",33]],"diff":["--- 0x4833f0","+++ 0x479440","@@ -3,13 +3,7 @@"," push edx"," mov ecx,eax"," cmp m4[None+None*1+address],0x0","-je local:12","-mov eax,address","-call external","-xor ebx,ebx","-mov eax,address","-mov m4[None+None*1+address],ebx","-call local:0","+jne local:18"," mov ebx,0x40"," mov edx,address"," mov eax,0x8","@@ -22,3 +16,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,address","+call external","+xor ebx,ebx","+mov eax,address","+mov m4[None+None*1+address],ebx","+call local:0","+jmp local:6"]},{"name":"install_joystick_","source":"E:\\library\\system\\joystick.c","reference":"0x4795a0","earlier":"0x483560","same_instruction_shape":false,"reference_instructions":117,"earlier_instructions":117,"callers":[[4732256,"install_lib32_",12]],"diff":["--- 0x483560","+++ 0x4795a0","@@ -1,16 +1,17 @@"," push ebx","-push ecx"," push edx","+push esi"," call external","+mov edx,0x1"," mov eax,address","-mov edx,0x1"," mov ebx,0x3","+xor esi,esi","+mov m4[None+None*1+address],edx"," call external","-xor ecx,ecx"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi"," call external"," mov eax,0x5"," call external","@@ -110,8 +111,7 @@"," mov edx,0x3"," mov eax,address"," call external","+pop esi"," pop edx","-pop ecx"," pop ebx","-mov eax,eax"," ret "]},{"name":"register_key_","source":"E:\\library\\system\\key.c","reference":"0x47a560","earlier":"0x48452c","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":24,"callers":[[4736300,"setup_menus_",6],[4736300,"test_waypoint_stuff_",7],[4736300,"push_keyboard_",3],[4736300,"install_object_manager_",9]],"diff":["--- 0x48452c","+++ 0x47a560","@@ -4,12 +4,8 @@"," mov esi,eax"," mov ecx,edx"," cmp m4[None+None*1+address],0x0","-je local:11","-mov eax,address","-xor ebx,ebx","-call external","-mov m4[None+None*1+address],ebx","-mov ebx,0x3e","+jne local:20","+mov ebx,0x3f"," mov edx,address"," mov eax,0xc"," call external","@@ -22,3 +18,8 @@"," pop ecx"," pop ebx"," ret ","+mov eax,address","+xor ebx,ebx","+call external","+mov m4[None+None*1+address],ebx","+jmp local:7"]},{"name":"push_keyboard_","source":"E:\\library\\system\\key.c","reference":"0x47a600","earlier":"0x4845cc","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"dispatch_down_keys_","source":"E:\\library\\system\\key.c","reference":"0x47a700","earlier":"0x4846c4","same_instruction_shape":false,"reference_instructions":72,"earlier_instructions":61,"callers":[[4736708,"process_events_",10]],"diff":["--- 0x4846c4","+++ 0x47a700","@@ -1,60 +1,71 @@"," push ebx"," push ecx"," push edx","+mov ebx,eax"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:57","-mov ebx,m4[edx+None*1+0x0]","-cmp ebx,0xffffffff","-je local:57","+je local:15","+mov ecx,m4[edx+None*1+0x0]","+cmp ecx,0xffffffff","+je local:15"," test m1[edx+None*1+0x2],0x2","-je local:54","-mov eax,ebx","+jne local:19","+mov edx,m4[edx+None*1+0x8]","+test edx,edx","+jne local:7","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,ecx"," and eax,0x7f"," call external"," test eax,eax","-je local:54","+je local:12"," mov eax,m4[edx+None*1+0x0]"," and eax,0x7f"," call external","-mov cl,m1[edx+None*1+0x1]","-mov ebx,0x1","-test cl,0x40","-je local:32","-mov eax,0x2a","-call external","-test eax,eax","-je local:31","-mov eax,0x36","-call external","-test eax,eax","-jne local:32","-xor ebx,ebx","+mov al,m1[edx+None*1+0x1]","+mov ecx,0x1","+test al,0x40","+jne local:50"," test m1[edx+None*1+0x1],0x20","-je local:39","+je local:38"," mov eax,0x1d"," call external"," test eax,eax","-jne local:39","-xor ebx,ebx","+jne local:38","+xor ecx,ecx"," test m1[edx+None*1+0x1],0x10","-je local:46","-mov eax,0x38","-call external","-test eax,eax","-jne local:46","-xor ebx,ebx","+jne local:61","+test ecx,ecx","+je local:12"," test ebx,ebx","-je local:54","+jne local:15"," mov eax,m4[edx+None*1+0x0]"," call m4[edx+None*1+0x4]"," pop edx"," pop ecx"," pop ebx"," ret ","+mov eax,0x2a","+call external","+test eax,eax","+jne local:56","+xor ecx,ecx","+jmp local:31","+mov eax,0x36","+call external","+test eax,eax","+je local:54","+jmp local:31","+mov eax,0x38","+call external","+test eax,eax","+jne local:40"," mov edx,m4[edx+None*1+0x8]"," test edx,edx","-jne local:6","+jne local:7"," pop edx"," pop ecx"," pop ebx"]},{"name":"do_key_event_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a7c0","earlier":"0x484780","same_instruction_shape":false,"reference_instructions":70,"earlier_instructions":68,"callers":[[4736896,"process_events_",8]],"diff":["--- 0x484780","+++ 0x47a7c0","@@ -1,68 +1,70 @@"," push edx","-mov eax,m4[eax+None*1+0x4]","-mov edx,eax","-and edx,0x7f","-cmp edx,0x38","-jb local:16","-jbe local:59","-cmp edx,0x58","-jb local:13","-jbe local:46","-cmp edx,0xfa","-je local:59","-jmp local:60","-cmp edx,0x57","-je local:33","-jmp local:60","-cmp edx,0x2a","-jb local:26","-jbe local:59","-cmp edx,0x36","-je local:59","-test eax,eax","-je local:65","+mov edx,m4[eax+None*1+0x4]","+mov eax,edx","+and eax,0x7f","+cmp eax,0x38","+jae local:13","+cmp eax,0x2a","+jae local:45","+cmp eax,0x1d","+jne local:22","+mov eax,0x1","+pop edx","+ret ","+jbe local:10","+cmp eax,0x58","+jae local:28","+cmp eax,0x57","+jne local:22","+cmp edx,0x2057","+je local:49","+cmp edx,0x3057","+je local:56","+test edx,edx","+je local:10","+mov eax,edx"," call external"," pop edx"," ret ","-cmp edx,0x1d","-je local:59","-test eax,eax","-je local:65","+ja local:40","+cmp edx,0x2058","+je local:63","+cmp edx,0x3058","+jne local:22","+xor eax,eax"," call external","+mov eax,0x14","+call external","+mov eax,0x1"," pop edx"," ret ","-cmp eax,0x2057","-jne local:40","+cmp eax,0xfa","+jne local:22","+mov eax,0x1","+pop edx","+ret ","+jbe local:10","+cmp eax,0x36","+je local:10","+jmp local:22"," xor eax,eax"," call external"," mov eax,0xffffffff"," call external","-xor eax,eax","-cmp eax,0x3057","-jne local:60","+mov eax,0x1","+pop edx","+ret "," xor eax,eax"," call external"," mov eax,0xffffffec","-jmp local:58","-cmp eax,0x2058","-jne local:53","+call external","+mov eax,0x1","+pop edx","+ret "," xor eax,eax"," call external"," mov eax,0x1"," call external","-xor eax,eax","-cmp eax,0x3058","-jne local:60","-xor eax,eax","-call external","-mov eax,0x14","-call external","-xor eax,eax","-test eax,eax","-je local:65","-call external","-pop edx","-ret "," mov eax,0x1"," pop edx"," ret "]},{"name":"check_key_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a91c","earlier":"0x4848e0","same_instruction_shape":true,"reference_instructions":4,"earlier_instructions":4,"callers":[[4737248,"check_for_user_abort_",1],[4737248,"check_for_user_abort_",5],[4737248,"check_for_user_abort_",9],[4737248,"check_for_user_abort_",13],[4737248,"check_for_user_abort_",17],[4737248,"check_for_user_abort_",21]],"diff":[]},{"name":"clear_key_count_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a938","earlier":"0x4848fc","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[[4737276,"push_keyboard_",7]],"diff":[]},{"name":"mem_free_","source":"E:\\library\\system\\memory.c","reference":"0x47b170","earlier":"0x485074","same_instruction_shape":false,"reference_instructions":11,"earlier_instructions":9,"callers":[[4739188,"clear_debrief_record_",11]],"diff":["--- 0x485074","+++ 0x47b170","@@ -2,7 +2,9 @@"," mov ecx,eax"," call external"," test eax,eax","-jne local:7","+je local:7","+pop ecx","+ret "," mov eax,ecx"," call external"," pop ecx"]},{"name":"register_garbage_collect_","source":"E:\\library\\system\\memory.c","reference":"0x47b1f8","earlier":"0x4850f4","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"lock_virtual_memory_","source":"E:\\library\\system\\memory.c","reference":"0x47b294","earlier":"0x4851c8","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4739528,"install_16bit_segments_",3]],"diff":[]},{"name":"install_mouse_","source":"E:\\library\\system\\mouse.c","reference":"0x47b864","earlier":"0x485754","same_instruction_shape":false,"reference_instructions":239,"earlier_instructions":265,"callers":[[4740948,"install_lib32_",7]],"diff":["--- 0x485754","+++ 0x47b864","@@ -4,7 +4,7 @@"," push esi"," push edi"," push ebp","-sub esp,0x310","+sub esp,0x300"," mov edx,0x1"," mov ebx,address"," mov eax,address","@@ -84,135 +84,37 @@"," mov m4[None+None*1+address],eax"," mov eax,0x12"," call external","-mov ecx,0xf","-mov m4[None+None*1+address],eax","-mov eax,m4[None+None*1+address]","-mov edx,0x20","-call external","-mov ebx,ecx","-mov eax,edx","-call external","-mov m4[None+None*1+address],eax","-call external","-mov eax,m4[None+None*1+address]","-mov m4[eax+None*1+0x10],address","-mov eax,address","+mov m4[None+None*1+address],eax","+mov ecx,0xf","+mov eax,m4[None+None*1+address]","+mov edx,0x20","+call external","+mov ebx,ecx","+mov eax,edx","+call external","+mov m4[None+None*1+address],eax","+call external","+mov eax,address","+mov edx,0x20","+call external","+mov ecx,m4[None+None*1+address]","+xor ebx,ebx","+mov eax,edx","+mov ecx,m4[ecx+None*1+0x14]","+call external","+mov edx,address","+mov m4[None+None*1+address],eax","+xor ecx,ecx","+xor ebx,ebx","+mov eax,address","+call external","+mov eax,address","+call external"," test eax,eax","-je local:107","-cmp m4[None+None*1+address],0x0","-jne local:107","+jne local:149"," mov ecx,0x1","-mov ebx,0x2","-mov edx,0xfd","-call external","-mov edx,0x20","-mov ecx,m4[None+None*1+address]","-xor ebx,ebx","-mov eax,edx","-mov ecx,m4[ecx+None*1+0x14]","-call external","-mov edx,address","-mov m4[None+None*1+address],eax","-xor ecx,ecx","-xor ebx,ebx","-mov eax,address","-call external","-mov eax,address","-call external","-test eax,eax","-je local:212","-mov ebx,0x158","-mov edx,address","-mov eax,0x4b000","-call external","-mov esi,eax","-mov eax,esp","-push eax","-mov ecx,0x1e0","-mov ebx,0x280","-push 0x0","-mov edx,esi","-mov eax,address","-call external","-mov eax,esp","-push eax","-mov edx,esi","-xor ecx,ecx","-push 0x280","-xor ebx,ebx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x20","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x40","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x60","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x80","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xa0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xc0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xe0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x100","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov ebx,0x168","-mov edx,address","-mov eax,esi","-call external","-mov ecx,0x1","-mov eax,m4[None+None*1+address]","-mov edi,0x64","+mov eax,m4[None+None*1+address]","+mov esi,0x64"," call external"," mov ebx,m4[None+None*1+address]"," mov edx,m4[None+None*1+address]","@@ -220,31 +122,13 @@"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],ecx"," mov ecx,m4[None+None*1+address]","-mov ebp,0x3","-call external","+mov edi,0x3","+call external","+mov edx,0x78"," mov eax,0xa0","-mov edx,0x78","-mov ebx,m4[None+None*1+address]","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],ebp","-mov m4[esp+None*1+0x300],eax","-mov m4[esp+None*1+0x304],edx","-test ebx,ebx","-je local:240","-mov esi,m4[None+None*1+address]","-mov edi,m4[None+None*1+address]","-sub esi,eax","-sub edi,edx"," mov m4[None+None*1+address],esi"," mov m4[None+None*1+address],edi","-jmp local:247","-lea eax,m4[esp+None*1+0x300]","-push eax","-push ebp","-push 0x400","-mov ecx,m4[None+None*1+address]","-push ecx","-call m4[None+None*1+address]","+call external"," mov eax,address"," xor ebp,ebp"," call external","@@ -255,7 +139,7 @@"," push eax"," mov m4[None+None*1+address],ebp"," call m4[None+None*1+address]","-add esp,0x310","+add esp,0x300"," pop ebp"," pop edi"," pop esi","@@ -263,3 +147,93 @@"," pop ecx"," pop ebx"," ret ","+mov ebx,0x164","+mov edx,address","+mov eax,0x4b000","+call external","+mov esi,eax","+mov eax,esp","+push eax","+mov ecx,0x1e0","+mov ebx,0x280","+push 0x0","+mov edx,esi","+mov eax,address","+call external","+mov eax,esp","+push eax","+mov edx,esi","+xor ecx,ecx","+push 0x280","+xor ebx,ebx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x20","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x40","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x60","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x80","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xa0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xc0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xe0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x100","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov ebx,0x174","+mov edx,address","+mov eax,esi","+call external","+jmp local:114"]},{"name":"set_mouse_pointer_","source":"E:\\library\\system\\mouse.c","reference":"0x47bdd4","earlier":"0x485ce0","same_instruction_shape":false,"reference_instructions":45,"earlier_instructions":41,"callers":[[4742368,"setup_menus_",9]],"diff":["--- 0x485ce0","+++ 0x47bdd4","@@ -1,41 +1,45 @@"," push ebx","-push ecx"," push edx"," push ebp"," mov edx,eax"," cmp eax,m4[None+None*1+address]","-je local:36","-mov ecx,m4[None+None*1+address]","-test ecx,ecx","-jne local:15","+je local:31","+mov ebx,m4[None+None*1+address]","+test ebx,ebx","+jne local:14"," cmp m4[None+None*1+address],0x0","-je local:15","+je local:14"," mov eax,0x1"," call external","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," mov ebp,m4[edx+None*1+0x10]"," mov m4[None+None*1+address],edx"," test ebp,ebp","-je local:26","+je local:27"," cmp m4[None+None*1+address],0x0","-jne local:26","+jne local:27","+push ecx"," mov ecx,0x1"," mov ebx,0x2"," mov edx,0xfd"," mov eax,ebp"," call external","+pop ecx"," cmp m4[None+None*1+address],0x0","-jne local:36","+jne local:31"," cmp m4[None+None*1+address],0x0","-jle local:36","+jg local:35","+pop ebp","+pop edx","+pop ebx","+ret "," mov eax,0x1"," call external"," mov eax,0x1","-mov ecx,0x1","+mov ebx,0x1"," call external","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," pop ebp"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"put_serial_char_","source":"E:\\library\\system\\sercomms.c","reference":"0x47c530","earlier":"0x4863cc","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"put_serial_string_","source":"E:\\library\\system\\sercomms.c","reference":"0x47c55c","earlier":"0x4863f8","same_instruction_shape":false,"reference_instructions":16,"earlier_instructions":27,"callers":[[4744184,"transmit_message_",19]],"diff":["--- 0x4863f8","+++ 0x47c55c","@@ -1,27 +1,16 @@"," push ebx","-push ecx"," push edx","-sub esp,0x8","-mov ebx,eax","+mov edx,eax"," cmp m1[eax+None*1+0x0],0x0","-je local:22","-mov al,m1[ebx+None*1+0x0]","-push 0x0","-mov m1[esp+None*1+0x8],al","-lea eax,m4[esp+None*1+0x4]","-push eax","-push 0x1","-lea eax,m4[esp+None*1+0x10]","-push eax","-mov edx,m4[None+None*1+address]","-push edx","-call m4[None+None*1+address]","-mov dl,m1[ebx+None*1+0x1]","-inc ebx","-test dl,dl","-jne local:7","-add esp,0x8","+je local:13","+xor eax,eax","+mov al,m1[edx+None*1+0x0]","+call external","+mov bl,m1[edx+None*1+0x1]","+inc edx","+test bl,bl","+jne local:5","+mov eax,eax"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"install_system_","source":"E:\\library\\system\\system.c","reference":"0x47da40","earlier":"0x487a00","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4749824,"install_lib32_",13]],"diff":[]},{"name":"beep_","source":"E:\\library\\system\\system.c","reference":"0x47da64","earlier":"0x487a24","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"click_","source":"E:\\library\\system\\system.c","reference":"0x47dae8","earlier":"0x487aa8","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"create_system_thread_","source":"E:\\library\\system\\thread.c","reference":"0x47dcc4","earlier":"0x487c94","same_instruction_shape":false,"reference_instructions":97,"earlier_instructions":99,"callers":[[4750484,"install_lib32_",6]],"diff":["--- 0x487c94","+++ 0x47dcc4","@@ -1,8 +1,6 @@","-push ebx"," push ecx"," push edx"," push esi","-push edi"," sub esp,0x4"," call m4[None+None*1+address]"," push eax","@@ -20,6 +18,8 @@"," mov m4[None+None*1+address],eax"," test edx,edx"," jne local:87","+push edi","+push ebx"," call m4[None+None*1+address]"," push 0x2"," push 0x0","@@ -34,21 +34,21 @@"," push eax"," call m4[None+None*1+address]"," push eax","-mov ebx,0x64","+mov ebx,0x10"," xor edi,edi"," call m4[None+None*1+address]","+mov ecx,0x64"," mov eax,address"," mov edx,address","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi","+mov m4[None+None*1+address],ecx"," add eax,0x58","-mov ebx,0x10","+mov m4[None+None*1+address],ecx"," call external"," mov eax,address"," mov m4[None+None*1+address],edi","@@ -64,10 +64,10 @@"," push edi"," mov m1[None+None*1+address],ah"," call m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],edi","-test ecx,ecx","+test ebx,ebx"," jg local:72"," mov m4[None+None*1+address],0x1"," push esi","@@ -78,12 +78,12 @@"," xor ecx,ecx"," call external"," call external","+pop ebx","+pop edi"," add esp,0x4","-pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "," push 0x14d"," push address","@@ -91,9 +91,7 @@"," call external"," add esp,0xc"," add esp,0x4","-pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"create_thread_","source":"E:\\library\\system\\thread.c","reference":"0x47de90","earlier":"0x487e88","same_instruction_shape":false,"reference_instructions":95,"earlier_instructions":95,"callers":[[4750984,"do_takeoff_",7],[4750984,"install_object_manager_",16],[4750984,"install_object_manager_",21],[4750984,"install_object_manager_",26],[4750984,"install_object_manager_",31]],"diff":["--- 0x487e88","+++ 0x47de90","@@ -20,7 +20,22 @@"," mov edx,m4[esi+None*1+address]"," lea ebp,m4[edi+None*1+0x1]"," test edx,edx","-jne local:80","+je local:38","+add esi,0xd0","+mov edi,ebp","+cmp esi,0x1380","+jl local:19","+push 0x1c4","+push address","+push address","+call external","+add esp,0xc","+xor eax,eax","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret "," mov m4[esi+None*1+address],edx"," mov m4[esi+None*1+address],edx"," mov m4[esi+None*1+address],edx","@@ -37,16 +52,16 @@"," mov m4[esi+None*1+address],edx"," mov eax,m4[esp+None*1+0x0]"," mov m4[esi+None*1+address],edx","-mov ebx,0x64","+mov ecx,0x64"," mov m4[esi+None*1+address],eax","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," mov edx,address","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," mov eax,m4[esp+None*1+0x8]"," add edx,esi"," mov m4[esi+None*1+address],eax"," lea eax,m4[edx+None*1+0x58]","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," call external"," lea eax,m4[edx+None*1+0xbc]"," mov ebx,0x10","@@ -62,7 +77,7 @@"," call m4[None+None*1+address]"," mov m4[esi+None*1+address],eax"," cmp edi,m4[None+None*1+address]","-jl local:66","+jl local:81"," mov m4[None+None*1+address],ebp"," mov ebp,m4[esp+None*1+0x8]"," push ebp","@@ -78,18 +93,3 @@"," pop edi"," pop esi"," ret ","-add esi,0xd0","-mov edi,ebp","-cmp esi,0x1380","-jl local:19","-push 0x1c4","-push address","-push address","-call external","-add esp,0xc","-xor eax,eax","-add esp,0xc","-pop ebp","-pop edi","-pop esi","-ret "]},{"name":"yield_","source":"E:\\library\\system\\thread.c","reference":"0x47dffc","earlier":"0x487ffc","same_instruction_shape":false,"reference_instructions":28,"earlier_instructions":25,"callers":[[4751356,"click_",13],[4751356,"click_",18],[4751356,"sleep_on_idle_",15]],"diff":["--- 0x487ffc","+++ 0x47dffc","@@ -1,25 +1,28 @@","+push ebp"," cmp m4[None+None*1+address],0x0","-jne local:24","-mov ebx,0x1","+jne local:26"," mov eax,m4[None+None*1+address]","-mov m4[None+None*1+address],ebx"," lea ebx,m4[None+eax*4+0x0]"," sub ebx,eax"," shl ebx,0x2","+mov ecx,0x1"," add ebx,eax","+mov m4[None+None*1+address],ecx"," shl ebx,0x4"," xor esi,esi"," push esi"," push 0x1","-mov ecx,m4[ebx+None*1+address]","-push ecx","+mov edi,m4[ebx+None*1+address]","+push edi"," call m4[None+None*1+address]"," push esi"," call m4[None+None*1+address]"," push 0xffffffff","-mov edi,m4[ebx+None*1+address]","-push edi","+mov ebp,m4[ebx+None*1+address]","+push ebp"," call m4[None+None*1+address]"," cmp esi,m4[None+None*1+address]","-jne local:11","+jne local:12","+mov eax,eax","+pop ebp"," ret "]},{"name":"set_low_priority_","source":"E:\\library\\system\\thread.c","reference":"0x47e280","earlier":"0x488274","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"set_normal_priority_","source":"E:\\library\\system\\thread.c","reference":"0x47e2a8","earlier":"0x48829c","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"sleep_on_idle_","source":"E:\\library\\system\\thread.c","reference":"0x47e5c8","earlier":"0x4885b0","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"my_install_timer_","source":"E:\\library\\system\\timer.c","reference":"0x47e6b0","earlier":"0x4886a0","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4753056,"install_lib32_",3]],"diff":[]},{"name":"fast_clock_","source":"E:\\library\\system\\timer.c","reference":"0x47e6bc","earlier":"0x4886ac","same_instruction_shape":false,"reference_instructions":28,"earlier_instructions":28,"callers":[[4753068,"reschedule_",11]],"diff":["--- 0x4886ac","+++ 0x47e6bc","@@ -3,25 +3,25 @@"," push edx"," mov al,0xc2"," mov edx,0x43","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," out dx,al"," mov edx,0x40"," sub eax,eax"," in al,dx","-add ecx,ecx","-mov ebx,eax","+add ebx,ebx","+mov ecx,eax"," sub eax,eax"," in al,dx"," sub eax,eax"," in al,dx","-test bl,0x80","+test cl,0x80"," je local:23","-mov eax,ecx","+mov eax,ebx"," pop edx"," pop ecx"," pop ebx"," ret ","-lea eax,m4[ecx+None*1+0x1]","+lea eax,m4[ebx+None*1+0x1]"," pop edx"," pop ecx"," pop ebx"]},{"name":"clock_","source":"E:\\library\\system\\timer.c","reference":"0x47e6f4","earlier":"0x4886e4","same_instruction_shape":true,"reference_instructions":3,"earlier_instructions":3,"callers":[[4753124,"create_menu_",54],[4753124,"place_menu_at_",20]],"diff":[]},{"name":"wait_","source":"E:\\library\\system\\timer.c","reference":"0x47e760","earlier":"0x488744","same_instruction_shape":false,"reference_instructions":12,"earlier_instructions":12,"callers":[[4753220,"beep_",15]],"diff":["--- 0x488744","+++ 0x47e760","@@ -1,12 +1,12 @@","-push ebx","+push ecx"," push edx"," mov edx,eax"," call external","-mov ebx,eax","+mov ecx,eax"," call external","-sub eax,ebx","+sub eax,ecx"," cmp eax,edx"," jle local:5"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"draw_clipped_box_","source":"E:\\library\\ui\\clip.c","reference":"0x47ed24","earlier":"0x488a84","same_instruction_shape":true,"reference_instructions":32,"earlier_instructions":32,"callers":[],"diff":[]},{"name":"draw_clipped_hline_","source":"E:\\library\\ui\\clip.c","reference":"0x47f200","earlier":"0x489028","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_clipped_vline_","source":"E:\\library\\ui\\clip.c","reference":"0x47f248","earlier":"0x489070","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"create_object_","source":"E:\\library\\ui\\object.c","reference":"0x47fa78","earlier":"0x489938","same_instruction_shape":false,"reference_instructions":108,"earlier_instructions":84,"callers":[[4757816,"create_text_",18],[4757816,"add_close_box_to_",16],[4757816,"add_menu_line_to_",14],[4757816,"add_menu_text_to_",17],[4757816,"create_menu_",32]],"diff":["--- 0x489938","+++ 0x47fa78","@@ -3,10 +3,11 @@"," push edx"," push esi"," push edi","+push ebp"," sub esp,0x4","-mov edi,m4[esp+None*1+0x20]","+mov edi,m4[esp+None*1+0x24]"," call external","-mov ebx,0xd0","+mov ebx,0xd8"," mov esi,eax"," xor edx,edx"," mov ecx,eax","@@ -15,70 +16,93 @@"," mov m4[esi+None*1+0xc],0x0"," mov m4[esi+None*1+0x8],edi"," test edi,edi","-je local:22","-mov eax,m4[edi+None*1+0xc]","-mov m4[esi+None*1+0x14],eax","-mov m4[edi+None*1+0xc],esi","-jmp local:24","+jne local:89"," mov m4[None+None*1+address],esi"," mov m4[esi+None*1+0x14],edi"," mov ebx,0x1f","-mov edx,m4[esp+None*1+0x24]","+mov edx,m4[esp+None*1+0x28]"," lea eax,m4[ecx+None*1+0x40]"," call external"," mov m4[ecx+None*1+0x60],0x0"," mov m4[ecx+None*1+0x38],0xffffffff","+mov edx,m4[ecx+None*1+0x6c]"," mov m4[ecx+None*1+0x3c],0x0","+and edx,0xfffb7786","+mov m4[ecx+None*1+0x6c],edx","+mov ebx,m4[ecx+None*1+0x6c]"," mov m4[ecx+None*1+0x68],0x1","+or ebx,0x48049","+mov m4[ecx+None*1+0x6c],ebx","+test edi,edi","+je local:93","+mov dl,m1[ecx+None*1+0x6e]","+and dl,0x7f","+mov eax,m4[edi+None*1+0x6c]","+mov m1[ecx+None*1+0x6e],dl","+and eax,address","+or m4[ecx+None*1+0x6c],eax"," mov m4[ecx+None*1+0x18],0xffffffff"," mov m4[ecx+None*1+0x1c],0xffffffff"," mov m4[ecx+None*1+0x20],0xffffffff"," mov m4[ecx+None*1+0x24],0xffffffff","-mov m4[ecx+None*1+0x70],0x0","-mov m4[ecx+None*1+0x74],0xf9f9f9f9","+mov m4[ecx+None*1+0x74],0x0","+mov m4[ecx+None*1+0x78],0xf9f9f9f9","+mov m4[ecx+None*1+0x84],0x0","+mov eax,m4[esp+None*1+0x20]","+mov dh,m1[ecx+None*1+0x6c]","+mov m4[ecx+None*1+0x88],0x0","+and dh,0x7f","+mov m4[ecx+None*1+0x4],eax","+mov m1[ecx+None*1+0x6c],dh","+lea edx,m4[eax+None*1+0xfffffffd]"," mov m4[ecx+None*1+0x80],0x0","-mov m4[ecx+None*1+0x84],0x0","-mov edx,m4[ecx+None*1+0x6c]","-mov m4[ecx+None*1+0x7c],0x0","-or edx,0x48049","-mov m4[ecx+None*1+0x6c],edx","-mov eax,m4[esp+None*1+0x1c]","-mov dx,m2[ecx+None*1+0x6c]","-mov m4[ecx+None*1+0x4],eax","-and edx,0xfffff74f","-sub eax,0x3","-mov m2[ecx+None*1+0x6c],dx","-cmp eax,0x9","-ja local:57","-jmp m4[None+eax*4+address]","-mov m4[ecx+None*1+0x9c],0xfbfbfbfb","-jmp local:57","-mov eax,ecx","-call external","-lea eax,m4[esp+None*1+0x28]","+cmp edx,0x9","+ja local:63","+jmp m4[None+edx*4+address]","+mov m4[ecx+None*1+0xa4],0x0","+mov m4[ecx+None*1+0xa0],0xfbfbfbfb","+lea eax,m4[esp+None*1+0x2c]"," mov edx,esp","-mov esi,0x1","+mov ebp,0x1"," mov m4[esp+None*1+0x0],eax"," mov eax,ecx","-xor ebx,ebx","+xor edi,edi"," call external","-mov m4[esp+None*1+0x0],ebx","+mov m4[esp+None*1+0x0],edi"," mov eax,ecx","-mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],ebp"," call external"," xor edx,edx"," mov eax,ecx"," call external","-mov edi,m4[None+None*1+address]","-test edi,edi","-je local:76","-mov eax,edi","-call external","+mov eax,m4[None+None*1+address]","+test eax,eax","+jne local:98"," mov eax,ecx"," add esp,0x4","+pop ebp"," pop edi"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+mov eax,m4[edi+None*1+0xc]","+mov m4[esi+None*1+0x14],eax","+mov m4[edi+None*1+0xc],esi","+jmp local:21","+and m1[ecx+None*1+0x6e],0x7f","+jmp local:43","+mov eax,ecx","+call external","+jmp local:63","+call external","+mov eax,ecx","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"destroy_object_soon_","source":"E:\\library\\ui\\object.c","reference":"0x47fc10","earlier":"0x489a84","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[],"diff":[]},{"name":"install_object_manager_","source":"E:\\library\\ui\\object.c","reference":"0x47fe24","earlier":"0x489c6c","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"notify_","source":"E:\\library\\ui\\object.c","reference":"0x48002c","earlier":"0x489e78","same_instruction_shape":false,"reference_instructions":77,"earlier_instructions":67,"callers":[[4759160,"create_menu_",57],[4759160,"place_menu_at_",24]],"diff":["--- 0x489e78","+++ 0x48002c","@@ -11,43 +11,40 @@"," mov esi,address"," rep movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]"," test eax,eax","-je local:60","+je local:55"," cmp m4[edx+None*1+0x0],0x3","-jne local:25","+jne local:62"," cmp m4[ebp+None*1+0x4],0x1","-jne local:25","+jne local:62","+mov eax,m4[eax+None*1+0x8]","+cmp m4[eax+None*1+0x7c],0x1869f","+je local:23","+mov eax,ebx"," call external","-mov edi,m4[ebx+None*1+0x64]","-test edi,edi","-je local:30","-mov eax,edi","-call external","-jmp local:30","-mov esi,m4[ebx+None*1+0x64]","-test esi,esi","-je local:30","-mov eax,esi","+mov eax,m4[ebx+None*1+0x64]","+test eax,eax","+je local:27"," call external"," mov eax,m4[ebx+None*1+0x6c]"," shl eax,0x19"," sar eax,0x1f"," test eax,eax","-je local:39","+je local:36"," mov ecx,m4[ebx+None*1+0x4]"," mov edx,ebp"," mov eax,ebx"," call m4[None+ecx*4+address]"," cmp m4[ebx+None*1+0x3c],0x0","-je local:53","+je local:50"," mov eax,m4[ebx+None*1+0x6c]"," shl eax,0xa"," sar eax,0x1f"," test eax,eax","-jne local:53","+jne local:50"," mov eax,m4[ebp+None*1+0x0]","-mov edx,m4[ebx+None*1+0x38]","-test m4[esp+eax*4+0x0],edx","-je local:53","+mov ecx,m4[ebx+None*1+0x38]","+test m4[esp+eax*4+0x0],ecx","+je local:50"," mov edx,ebp"," mov eax,ebx"," call m4[ebx+None*1+0x3c]","@@ -55,7 +52,20 @@"," shl eax,0xa"," sar eax,0x1f"," test eax,eax","-je local:60","+jne local:68","+add esp,0x80","+pop ebp","+pop edi","+pop esi","+pop ecx","+pop ebx","+ret ","+mov esi,m4[ebx+None*1+0x64]","+test esi,esi","+je local:27","+mov eax,esi","+call external","+jmp local:27"," mov eax,ebx"," call external"," add esp,0x80"]},{"name":"move_object_","source":"E:\\library\\ui\\object.c","reference":"0x480378","earlier":"0x48a1c4","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":118,"callers":[[4760004,"set_object_position_",6]],"diff":["--- 0x48a1c4","+++ 0x480378","@@ -5,103 +5,52 @@"," sub esp,0x14"," mov esi,eax"," cmp m4[eax+None*1+0x8],0x0","-je local:17","-sub edx,m4[eax+None*1+0x18]","-mov eax,m4[esi+None*1+0x8]","-mov edi,m4[eax+None*1+0x18]","-add edi,edx","-mov edx,m4[esi+None*1+0x1c]","-mov ebp,m4[eax+None*1+0x1c]","-sub ebx,edx","-add ebp,ebx","-jmp local:23","-mov edi,m4[eax+None*1+0x18]","-mov ebp,m4[eax+None*1+0x1c]","-sub edx,edi","-sub ebx,ebp","-mov edi,edx","-mov ebp,ebx","+je local:67","+mov ecx,m4[eax+None*1+0x18]","+mov edi,m4[esi+None*1+0x1c]","+mov eax,m4[eax+None*1+0x8]","+sub ebx,edi","+sub edx,ecx","+mov ebp,m4[eax+None*1+0x18]","+mov edi,m4[eax+None*1+0x1c]","+add ebp,edx","+add edi,ebx","+test ebp,ebp","+jne local:21"," test edi,edi","-jne local:27","-test ebp,ebp","-je local:112","-xor ebx,ebx","-mov ecx,m4[None+None*1+address]","-mov m4[None+None*1+address],ebx","-test ecx,ecx","-je local:41","-mov eax,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-push eax","-mov ecx,m4[None+None*1+address]","-mov ebx,m4[None+None*1+address]","-push edx","-mov eax,m4[None+None*1+address]","-mov edx,0x1","+je local:61"," call external","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:45","-mov m4[None+None*1+address],eax"," push 0x1","-mov ebx,m4[esi+None*1+0x30]","-mov edx,m4[esi+None*1+0x2c]","-xor ecx,ecx","-mov eax,m4[esi+None*1+0x28]","-mov m4[None+None*1+address],ecx","-mov ecx,m4[esi+None*1+0x34]","-inc m4[None+None*1+address]","-call external","-mov ebx,ebp","-mov edx,edi","-mov eax,esi","-call external","-mov edi,0x1","-mov eax,m4[None+None*1+address]","-xor ebp,ebp","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],ebp","-test eax,eax","-je local:73","-mov edx,m4[None+None*1+address]","-push edx","-mov ebx,m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","-push ebx","-mov edx,edi","-mov ebx,m4[None+None*1+address]","-call external","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:77","-mov m4[None+None*1+address],eax","-push 0x1","-mov ebp,m4[None+None*1+address]"," mov ecx,m4[esi+None*1+0x34]"," mov ebx,m4[esi+None*1+0x30]"," mov edx,m4[esi+None*1+0x2c]"," mov eax,m4[esi+None*1+0x28]","-xor edi,edi","-inc ebp","-mov m4[None+None*1+address],edi","+call external","+mov ebx,edi","+mov edx,ebp","+mov eax,esi","+mov ebp,0x1","+call external"," mov m4[None+None*1+address],ebp","+call external","+push ebp","+mov ecx,m4[esi+None*1+0x34]","+mov ebx,m4[esi+None*1+0x30]","+mov edx,m4[esi+None*1+0x2c]","+mov eax,m4[esi+None*1+0x28]"," call external"," mov m4[esp+None*1+0x0],0x10"," mov edx,m4[esi+None*1+0x8]"," test edx,edx","-je local:101","+je local:74"," mov eax,m4[esi+None*1+0x18]","-mov ebx,m4[edx+None*1+0x18]","-sub eax,ebx","+mov ecx,m4[edx+None*1+0x18]","+sub eax,ecx"," mov m4[esp+None*1+0x8],eax"," mov edx,m4[esi+None*1+0x8]"," mov eax,m4[esi+None*1+0x1c]","-mov ecx,m4[edx+None*1+0x1c]","-sub eax,ecx","-jmp local:104","-mov eax,m4[esi+None*1+0x18]","-mov m4[esp+None*1+0x8],eax","-mov eax,m4[esi+None*1+0x1c]","+mov ebx,m4[edx+None*1+0x1c]","+sub eax,ebx"," mov m4[esp+None*1+0xc],eax"," xor edi,edi"," mov edx,esp","@@ -116,3 +65,14 @@"," pop esi"," pop ecx"," ret ","+mov ebp,edx","+mov edi,m4[eax+None*1+0x18]","+mov eax,m4[eax+None*1+0x1c]","+sub ebp,edi","+mov edi,ebx","+sub edi,eax","+jmp local:17","+mov eax,m4[esi+None*1+0x18]","+mov m4[esp+None*1+0x8],eax","+mov eax,m4[esi+None*1+0x1c]","+jmp local:53"]},{"name":"resize_object_","source":"E:\\library\\ui\\object.c","reference":"0x4804d0","earlier":"0x48a3bc","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":83,"callers":[[4760508,"set_object_position_",12]],"diff":["--- 0x48a3bc","+++ 0x4804d0","@@ -6,20 +6,22 @@"," mov esi,eax"," mov edi,edx"," mov ebp,ebx","+mov edx,m4[esi+None*1+0x18]"," mov eax,m4[eax+None*1+0x20]","-sub eax,m4[esi+None*1+0x18]","+sub eax,edx"," cmp eax,edi","-jne local:16","+jne local:18","+mov ecx,m4[esi+None*1+0x1c]"," mov eax,m4[esi+None*1+0x24]","-sub eax,m4[esi+None*1+0x1c]","-cmp eax,ebp","-je local:77","+sub eax,ecx","+cmp eax,ebx","+je local:79"," mov ah,m1[esi+None*1+0x6d]"," or ah,0x1","-mov ecx,m4[esi+None*1+0x68]","+mov ebx,m4[esi+None*1+0x68]"," mov m1[esi+None*1+0x6d],ah","-test ecx,ecx","-je local:36","+test ebx,ebx","+je local:38"," push 0x1"," mov ecx,m4[esi+None*1+0x24]"," mov ebx,m4[esi+None*1+0x20]","@@ -42,9 +44,9 @@"," mov ecx,m4[esi+None*1+0xc]"," mov m4[esi+None*1+0x24],eax"," test ecx,ecx","-je local:59","+je local:61"," cmp m4[ecx+None*1+0x4],0xb","-jne local:56","+jne local:58"," mov eax,m4[esi+None*1+0x24]"," sub eax,m4[esi+None*1+0x1c]"," lea ebx,m4[eax+None*1+0xfffffff1]","@@ -56,20 +58,20 @@"," call external"," mov ecx,m4[ecx+None*1+0x14]"," test ecx,ecx","-jne local:45","+jne local:47"," mov m4[esp+None*1+0x0],0x11"," mov eax,m4[esi+None*1+0x20]"," mov edx,m4[esi+None*1+0x18]"," mov edi,0x1"," sub eax,edx","-xor ecx,ecx","+xor ebx,ebx"," mov m4[esp+None*1+0x8],eax"," mov m4[None+None*1+address],edi"," mov eax,m4[esi+None*1+0x24]","-mov ebx,m4[esi+None*1+0x1c]","+mov ecx,m4[esi+None*1+0x1c]"," mov edx,esp","-sub eax,ebx","-mov m4[esp+None*1+0x4],ecx","+sub eax,ecx","+mov m4[esp+None*1+0x4],ebx"," mov m4[esp+None*1+0xc],eax"," call external"," mov m4[esp+None*1+0x10],eax"]},{"name":"set_cursor_","source":"E:\\library\\ui\\object.c","reference":"0x4807e4","earlier":"0x48a6d8","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"object_top_","source":"E:\\library\\ui\\otop.c","reference":"0x480910","earlier":"0x48a880","same_instruction_shape":false,"reference_instructions":139,"earlier_instructions":138,"callers":[[4761728,"notify_modem_type_",8],[4761728,"notify_waypoint_tool_info_",6]],"diff":["--- 0x48a880","+++ 0x480910","@@ -4,131 +4,15 @@"," push esi"," push edi"," push ebp","-mov ebx,eax","+sub esp,0x4","+mov ecx,eax","+xor edx,edx"," mov esi,m4[eax+None*1+0x8]","-xor edi,edi","+mov m4[esp+None*1+0x0],edx"," test esi,esi","-jne local:13","+jne local:22"," mov m4[None+None*1+address],0x1","-jmp local:131","-mov eax,esi","-call local:0","-mov edx,m4[esi+None*1+0xc]","-mov ecx,m4[edx+None*1+0x14]","-test ecx,ecx","-je local:131","-mov eax,edx","-cmp edx,ebx","-jne local:26","-mov m4[esi+None*1+0xc],ecx","-xor ebp,ebp","-mov m4[edx+None*1+0x14],edi","-jmp local:38","-test eax,eax","-je local:38","-mov edx,m4[eax+None*1+0x14]","-cmp ebx,edx","-jne local:36","-mov edx,m4[edx+None*1+0x14]","-mov m4[eax+None*1+0x14],edx","-mov ebp,eax","-mov m4[ebx+None*1+0x14],0x0","-jmp local:38","-mov eax,edx","-jmp local:26","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x13","-sar eax,0x1f","-test eax,eax","-jne local:112","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x14","-sar eax,0x1f","-test eax,eax","-je local:82","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:71","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x14","-sar edx,0x1f","-test edx,edx","-je local:67","-test ecx,ecx","-je local:62","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:65","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:71","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:52","-test edi,edi","-jne local:115","-test ecx,ecx","-je local:78","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:105","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x13","-sar edx,0x1f","-test edx,edx","-jne local:101","-test ecx,ecx","-je local:96","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:99","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:105","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:86","-test edi,edi","-jne local:115","-test ecx,ecx","-je local:112","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-test ebp,ebp","-je local:124","-cmp ebx,m4[ebp+None*1+0x14]","-je local:131","-mov ebp,0x1","-mov eax,ebx","-xor edx,edx","-mov m4[None+None*1+address],ebp","-jmp local:130","-cmp ebx,m4[esi+None*1+0xc]","-je local:131","-mov esi,0x1","-mov eax,ebx","-xor edx,edx","-mov m4[None+None*1+address],esi","-call external","+add esp,0x4"," pop ebp"," pop edi"," pop esi","@@ -136,3 +20,120 @@"," pop ecx"," pop ebx"," ret ","+mov eax,esi","+call local:0","+mov edx,m4[esi+None*1+0xc]","+mov ebx,m4[edx+None*1+0x14]","+test ebx,ebx","+je local:14","+mov eax,edx","+cmp edx,ecx","+je local:38","+test eax,eax","+je local:41","+mov ebp,m4[eax+None*1+0x14]","+cmp ecx,ebp","+je local:66","+mov eax,ebp","+jmp local:31","+xor edi,edi","+mov m4[esi+None*1+0xc],ebx","+mov m4[edx+None*1+0x14],edi","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x13","+sar eax,0x1f","+test eax,eax","+je local:71","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+test edi,edi","+je local:124","+cmp ecx,m4[edi+None*1+0x14]","+je local:14","+mov esi,0x1","+mov eax,ecx","+xor edx,edx","+mov m4[None+None*1+address],esi","+call external","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov edx,m4[ebp+None*1+0x14]","+mov m4[eax+None*1+0x14],edx","+mov edi,eax","+mov m4[ebp+None*1+0x14],0x0","+jmp local:41","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x14","+sar eax,0x1f","+test eax,eax","+je local:101","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:94","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x14","+sar edx,0x1f","+test edx,edx","+je local:90","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:80","+cmp m4[esp+None*1+0x0],0x0","+jne local:49","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:114","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x13","+sar edx,0x1f","+test edx,edx","+je local:119","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:105","+cmp m4[esp+None*1+0x0],0x0","+jne local:49","+test ebx,ebx","+jne local:121","+jmp local:46","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+cmp ecx,m4[esi+None*1+0xc]","+je local:14","+mov edx,0x1","+mov eax,ecx","+mov m4[None+None*1+address],edx","+xor edx,edx","+call external","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"object_back_","source":"E:\\library\\ui\\otop.c","reference":"0x480a78","earlier":"0x48a9f0","same_instruction_shape":false,"reference_instructions":155,"earlier_instructions":144,"callers":[[4762096,"add_menu_line_to_",16],[4762096,"add_menu_text_to_",19]],"diff":["--- 0x48a9f0","+++ 0x480a78","@@ -4,135 +4,62 @@"," push esi"," push edi"," push ebp","-mov ebx,eax","+mov ecx,eax"," mov esi,m4[eax+None*1+0x8]"," xor edi,edi"," test esi,esi","-jne local:13","+jne local:19"," mov m4[None+None*1+address],0x1","-jmp local:137","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov eax,esi"," call external"," mov edx,m4[esi+None*1+0xc]","-mov ecx,m4[edx+None*1+0x14]","-test ecx,ecx","-je local:137","+mov ebx,m4[edx+None*1+0x14]","+test ebx,ebx","+je local:12"," mov eax,edx","-cmp edx,ebx","-jne local:25","-mov m4[esi+None*1+0xc],ecx","+cmp edx,ecx","+je local:35","+test eax,eax","+je local:37","+mov ebp,m4[eax+None*1+0x14]","+cmp ecx,ebp","+je local:71","+mov eax,ebp","+jmp local:28","+mov m4[esi+None*1+0xc],ebx"," mov m4[edx+None*1+0x14],edi","-jmp local:36","-test eax,eax","-je local:36","-mov ebp,m4[eax+None*1+0x14]","-cmp ebx,ebp","-jne local:34","-mov edx,m4[ebp+None*1+0x14]","-mov m4[eax+None*1+0x14],edx","-mov m4[ebp+None*1+0x14],0x0","-jmp local:36","-mov eax,ebp","-jmp local:25","-mov eax,m4[ebx+None*1+0x6c]","+mov eax,m4[ecx+None*1+0x6c]"," shl eax,0x13"," sar eax,0x1f"," test eax,eax","-je local:71","+je local:81"," mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","+xor ebx,ebx"," test eax,eax","-je local:64","+je local:55"," mov edx,m4[eax+None*1+0x6c]"," shl edx,0x13"," sar edx,0x1f"," test edx,edx","-jne local:60","-test ecx,ecx","-je local:55","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:58","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:64","-mov ecx,eax","+je local:75","+mov ebx,eax"," mov eax,m4[eax+None*1+0x14]"," test eax,eax","-jne local:45","+jne local:46"," test edi,edi","-jne local:132","-test ecx,ecx","-je local:89","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x14","-sar eax,0x1f","-test eax,eax","-je local:93","-mov eax,m4[esi+None*1+0xc]","-xor edx,edx","-test eax,eax","-je local:84","-mov edx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:80","-test edx,edx","-je local:89","-mov m4[edx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:121","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x13","-sar edx,0x1f","-test edx,edx","-jne local:117","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x14","-sar edx,0x1f","-test edx,edx","-je local:117","-test ecx,ecx","-je local:112","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:121","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:97","-test edi,edi","-jne local:132","-test ecx,ecx","-je local:128","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-test edi,edi","-je local:137","-mov eax,ebx","+jne local:147","+test ebx,ebx","+je local:77","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+mov eax,ecx"," xor edx,edx"," call external"," pop ebp","@@ -142,3 +69,87 @@"," pop ecx"," pop ebx"," ret ","+mov edx,m4[ebp+None*1+0x14]","+mov m4[eax+None*1+0x14],edx","+mov m4[ebp+None*1+0x14],0x0","+jmp local:37","+test ebx,ebx","+jne local:59","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+jmp local:61","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x14","+sar eax,0x1f","+test eax,eax","+je local:109","+mov eax,m4[esi+None*1+0xc]","+xor edx,edx","+test eax,eax","+je local:95","+mov edx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:90","+lea eax,m4[eax+None*1+0x0]","+test edx,edx","+je local:77","+mov m4[edx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+mov eax,ecx","+xor edx,edx","+call external","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:122","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x13","+sar edx,0x1f","+test edx,edx","+je local:127","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:113","+test edi,edi","+jne local:147","+test ebx,ebx","+je local:134","+jmp local:59","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x14","+sar edx,0x1f","+test edx,edx","+je local:118","+test ebx,ebx","+jne local:59","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+mov eax,ecx","+xor edx,edx","+call external","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+jne local:61","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"repaint_area_","source":"E:\\library\\ui\\repaint.c","reference":"0x480c98","earlier":"0x48ac20","same_instruction_shape":false,"reference_instructions":162,"earlier_instructions":155,"callers":[[4762656,"set_cursor_",14],[4762656,"set_display_screen_active_",10]],"diff":["--- 0x48ac20","+++ 0x480c98","@@ -7,39 +7,38 @@"," mov m4[esp+None*1+0x8],ebx"," mov m4[esp+None*1+0xc],ecx"," cmp m4[None+None*1+address],0x0","-jne local:150","+jne local:80"," cmp eax,m4[None+None*1+address]","-jg local:150","-mov eax,m4[esp+None*1+0x8]","-mov ecx,m4[None+None*1+address]","-cmp eax,ecx","-jl local:150","+jg local:80","+mov eax,ebx","+mov ebx,m4[None+None*1+address]","+cmp eax,ebx","+jl local:80"," mov eax,m4[esp+None*1+0x4]"," cmp eax,m4[None+None*1+address]","-jg local:150","+jg local:80"," mov eax,m4[esp+None*1+0xc]"," cmp eax,m4[None+None*1+address]","-jl local:150","-cmp ecx,m4[esp+None*1+0x0]","-jle local:25","-mov m4[esp+None*1+0x0],ecx","+jl local:80","+cmp ebx,m4[esp+None*1+0x0]","+jg local:57"," mov eax,m4[esp+None*1+0x8]"," mov edx,m4[None+None*1+address]"," cmp eax,edx","-jle local:30","+jle local:29"," mov m4[esp+None*1+0x8],edx"," mov eax,m4[esp+None*1+0x4]","+mov ecx,m4[None+None*1+address]","+cmp eax,ecx","+jge local:34","+mov m4[esp+None*1+0x4],ecx","+mov eax,m4[esp+None*1+0xc]"," mov ebx,m4[None+None*1+address]"," cmp eax,ebx","-jge local:35","-mov m4[esp+None*1+0x4],ebx","-mov eax,m4[esp+None*1+0xc]","-mov ecx,m4[None+None*1+address]","-cmp eax,ecx","-jle local:40","-mov m4[esp+None*1+0xc],ecx","+jle local:39","+mov m4[esp+None*1+0xc],ebx"," cmp m4[None+None*1+address],0x40","-jle local:47","+jle local:46"," lea ecx,m4[esp+None*1+0xc]"," lea ebx,m4[esp+None*1+0x8]"," lea edx,m4[esp+None*1+0x4]","@@ -47,37 +46,45 @@"," call external"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:131","+je local:138"," test edx,edx","-je local:78","+je local:85"," mov eax,m4[esp+None*1+0x0]"," mov esi,m4[edx+None*1+0x8]"," cmp eax,esi","-jl local:76","+jge local:59","+mov edx,m4[edx+None*1+0x0]","+jmp local:49","+mov m4[esp+None*1+0x0],ebx","+jmp local:24"," mov edi,m4[edx+None*1+0x10]"," cmp eax,edi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0x8]"," cmp eax,esi","-jl local:76","+jl local:55"," cmp eax,edi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0x4]","-mov ecx,m4[edx+None*1+0xc]","-cmp eax,ecx","-jl local:76","+mov ebx,m4[edx+None*1+0xc]","+cmp eax,ebx","+jl local:55"," mov esi,m4[edx+None*1+0x14]"," cmp eax,esi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0xc]","-cmp eax,ecx","-jl local:76","+cmp eax,ebx","+jl local:55"," cmp eax,esi","-jle local:150","-mov edx,m4[edx+None*1+0x0]","-jmp local:50","+jg local:55","+nop ","+add esp,0x10","+pop ebp","+pop edi","+pop esi","+ret 0x4"," cmp m4[esp+None*1+0x20],0x0","-je local:121","+je local:128"," mov esi,m4[None+None*1+address]"," call external"," mov edx,eax","@@ -98,12 +105,12 @@"," sub eax,eax"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],eax","-lea ecx,m4[edx+None*1+0x1]","-lea ebx,m4[eax+None*1+0x1]","+lea ebx,m4[edx+None*1+0x1]","+lea ecx,m4[eax+None*1+0x1]","+mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ebx"," test esi,esi","-je local:150","+je local:80"," mov ecx,m4[esi+None*1+0x14]"," mov ebx,m4[esi+None*1+0x10]"," mov edx,m4[esi+None*1+0xc]","@@ -113,7 +120,7 @@"," mov esi,m4[esi+None*1+0x0]"," call external"," test esi,esi","-jne local:106","+jne local:113"," add esp,0x10"," pop ebp"," pop edi"]},{"name":"set_display_screen_active_","source":"E:\\library\\ui\\repaint.c","reference":"0x481790","earlier":"0x48b69c","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"display_rubber_line_","source":"E:\\library\\ui\\repaint.c","reference":"0x48219c","earlier":"0x48c010","same_instruction_shape":false,"reference_instructions":55,"earlier_instructions":49,"callers":[[4767760,"display_rubber_waypoint_line_",96]],"diff":["--- 0x48c010","+++ 0x48219c","@@ -21,9 +21,9 @@"," test edx,edx"," je local:26"," mov eax,0x1","-xor ebx,ebx","+xor ecx,ecx"," call external","-mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ecx"," sti "," cld "," mov ecx,m4[None+esi*4+address]","@@ -34,16 +34,22 @@"," cli "," mov m4[None+None*1+address],edi"," test edi,edi","-jle local:43","-mov eax,0x1","-call external","-mov eax,0x1","-mov ecx,0x1","-call external","-mov m4[None+None*1+address],ecx","+jg local:43"," sti "," cld "," pop ebp"," pop edi"," pop esi"," ret 0x4","+mov eax,0x1","+call external","+mov eax,0x1","+mov ebx,0x1","+call external","+mov m4[None+None*1+address],ebx","+sti ","+cld ","+pop ebp","+pop edi","+pop esi","+ret 0x4"]},{"name":"set_attr_","source":"E:\\library\\ui\\setattr.c","reference":"0x482690","earlier":"0x48c530","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"set_attr_pargs_","source":"E:\\library\\ui\\setattr.c","reference":"0x4827bc","earlier":"0x48c654","same_instruction_shape":false,"reference_instructions":468,"earlier_instructions":473,"callers":[[4769364,"set_attr_",6],[4769364,"create_menu_",40]],"diff":["--- 0x48c654","+++ 0x4827bc","@@ -11,463 +11,458 @@"," mov m4[esi+None*1+0x0],edx"," mov eax,edx"," mov edx,m4[edx+None*1+0xfffffffc]","-cmp edx,0x40","-ja local:461","+cmp edx,0x42","+ja local:462"," jmp m4[None+edx*4+address]","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov ecx,ebx","-mov m4[esi+None*1+0x0],ebx","-add ecx,ebp","-mov ebx,m4[ebx+None*1+0xfffffffc]","-mov eax,ecx","-mov m4[esi+None*1+0x0],ecx","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov eax,m4[eax+None*1+0xfffffffc]","-push eax","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-lea eax,m4[ecx+ebp*1+0x0]","-mov edx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-lea ecx,m4[eax+ebp*1+0x0]","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ecx","-mov eax,m4[esi+None*1+0x0]","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov eax,m4[eax+None*1+0xfffffffc]","-push eax","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,m4[esi+None*1+0x0]","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-mov edx,eax","-sar edx,0x1f","-sub eax,edx","-sar eax,0x1","-sub ebx,eax","-mov eax,edi","-call external","-mov edx,eax","-sar edx,0x1f","-sub eax,edx","-sar eax,0x1","-mov edx,ecx","-sub edx,eax","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-lea eax,m4[ecx+ebp*1+0x0]","-mov edx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,m4[edi+None*1+0x4]","-mov edx,edi","-cmp eax,0xc","-jb local:8","-jbe local:167","-cmp eax,0x10","-je local:171","-jmp local:8","-mov eax,edi","-mov edx,ebx","-call external","-jmp local:8","-mov edx,ebx","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-or m1[edi+None*1+0x6f],0x2","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-push 0x237","-push address","-push address","-call external","-add esp,0xc","-jmp local:8"," pop ebp"," pop edi"," pop esi"," pop ecx"," pop ebx"," ret ","+mov edx,eax","+add edx,ebp","+mov ecx,edx","+mov m4[esi+None*1+0x0],edx","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+lea eax,m4[ecx+ebp*1+0x0]","+mov ebx,m4[ecx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ecx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov eax,m4[eax+None*1+0xfffffffc]","+push eax","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov edx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+lea ecx,m4[eax+ebp*1+0x0]","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,ecx","+mov m4[esi+None*1+0x0],ecx","+add eax,ebp","+mov ecx,m4[ecx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov eax,m4[eax+None*1+0xfffffffc]","+push eax","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov ecx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+mov edx,eax","+sar edx,0x1f","+sub eax,edx","+sar eax,0x1","+sub ebx,eax","+mov eax,edi","+call external","+mov edx,eax","+sar edx,0x1f","+sub eax,edx","+sar eax,0x1","+mov edx,ecx","+sub edx,eax","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov edx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+or m1[edi+None*1+0x6e],0x40","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+or m1[edi+None*1+0x6e],0x80","+jmp local:8","+push 0x244","+push address","+push address","+call external","+add esp,0xc","+jmp local:8"]},{"name":"add_close_box_to_","source":"E:\\library\\ui\\setattr.c","reference":"0x482d44","earlier":"0x48cbe8","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"draw_ui_block_","source":"E:\\library\\ui\\ublock.c","reference":"0x482e94","earlier":"0x48cd34","same_instruction_shape":true,"reference_instructions":36,"earlier_instructions":36,"callers":[],"diff":[]},{"name":"install_close_box_sprites_","source":"E:\\library\\ui\\uclose.c","reference":"0x4836dc","earlier":"0x48d4bc","same_instruction_shape":false,"reference_instructions":90,"earlier_instructions":84,"callers":[[4773052,"install_object_manager_",3]],"diff":["--- 0x48d4bc","+++ 0x4836dc","@@ -29,7 +29,7 @@"," mov eax,address"," call external"," test eax,eax","-je local:47","+je local:48"," push 0x4e"," mov ecx,address"," mov ebx,0x100","@@ -45,6 +45,7 @@"," mov m1[eax+None*1+0xffffffff],bl"," cmp edx,0x100"," jl local:40","+mov eax,eax"," mov eax,m4[None+None*1+address]"," mov m4[eax+None*1+0x0],0x10"," mov m4[eax+None*1+0x4],0x10","@@ -61,7 +62,12 @@"," mov eax,address"," call external"," test eax,eax","-je local:79","+jne local:70","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x69"," mov ecx,address"," mov ebx,0x100","@@ -76,7 +82,7 @@"," inc edx"," mov m1[eax+None*1+0xffffffff],bh"," cmp edx,0x100","-jl local:72","+jl local:78"," pop esi"," pop edx"," pop ecx"]},{"name":"install_menu_font_","source":"E:\\library\\ui\\umenu.c","reference":"0x483a30","earlier":"0x48d7a0","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4773792,"install_object_manager_",5]],"diff":[]},{"name":"add_menu_line_to_","source":"E:\\library\\ui\\umenu.c","reference":"0x483b74","earlier":"0x48d8d4","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"add_menu_text_to_","source":"E:\\library\\ui\\umenu.c","reference":"0x483bb0","earlier":"0x48d910","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"create_menu_","source":"E:\\library\\ui\\umenu.c","reference":"0x483cb4","earlier":"0x48da10","same_instruction_shape":true,"reference_instructions":68,"earlier_instructions":68,"callers":[],"diff":[]},{"name":"place_menu_at_","source":"E:\\library\\ui\\umenu.c","reference":"0x483d68","earlier":"0x48dac4","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"draw_ui_menu_line_","source":"E:\\library\\ui\\umline.c","reference":"0x483dc4","earlier":"0x48db24","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"set_object_position_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484850","earlier":"0x48e544","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"set_object_on_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484ab0","earlier":"0x48e7a4","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":31,"callers":[[4777892,"notify_modem_type_",11],[4777892,"set_map_tool_none_",6],[4777892,"set_map_tool_none_",9],[4777892,"set_map_tool_none_",12],[4777892,"set_map_tool_none_",15]],"diff":["--- 0x48e7a4","+++ 0x484ab0","@@ -1,31 +1,35 @@"," push ebx"," push ecx","+sub esp,0x14","+mov ecx,eax","+mov ebx,edx","+mov eax,m4[eax+None*1+0x74]","+mov m4[ecx+None*1+0x74],edx","+cmp eax,edx","+jne local:13","+add esp,0x14","+pop ecx","+pop ebx","+ret ","+push edi"," push esi","-push edi","-sub esp,0x14","-mov ebx,eax","-mov ecx,edx","-mov eax,m4[eax+None*1+0x70]","-mov m4[ebx+None*1+0x70],edx","-cmp eax,edx","-je local:25","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov esi,0x12"," call external"," xor edi,edi","-mov edx,esp","-mov m4[esp+None*1+0x0],esi","-mov m4[esp+None*1+0x8],edi","-mov m4[esp+None*1+0xc],edi","-mov m4[esp+None*1+0x4],ecx","+lea edx,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x8],esi","+mov m4[esp+None*1+0x10],edi","+mov m4[esp+None*1+0x14],edi","+mov m4[esp+None*1+0xc],ebx"," call external","-mov m4[esp+None*1+0x10],eax","-mov eax,ebx","+mov m4[esp+None*1+0x18],eax","+mov eax,ecx"," call external","+pop esi","+pop edi"," add esp,0x14","-pop edi","-pop esi"," pop ecx"," pop ebx"," ret "]},{"name":"set_object_displayable_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484c20","earlier":"0x48e900","same_instruction_shape":false,"reference_instructions":56,"earlier_instructions":50,"callers":[[4778240,"notify_modem_type_",6],[4778240,"notify_modem_type_",14],[4778240,"set_map_tool_none_",3],[4778240,"notify_waypoint_tool_info_",4],[4778240,"notify_waypoint_tool_info_",10]],"diff":["--- 0x48e900","+++ 0x484c20","@@ -1,49 +1,55 @@"," push ebx"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x14","-mov ebx,eax","-mov ecx,edx","+mov ecx,eax","+mov ebx,edx"," mov eax,m4[eax+None*1+0x6c]","-and m1[ebx+None*1+0x6c],0xfe","+and m1[ecx+None*1+0x6c],0xfe"," and edx,0x1","-mov esi,m4[ebx+None*1+0x6c]","+mov esi,m4[ecx+None*1+0x6c]"," or esi,edx"," mov edx,esi"," shl eax,0x1f"," shl edx,0x1f"," sar eax,0x1f"," sar edx,0x1f","-mov m4[ebx+None*1+0x6c],esi","+mov m4[ecx+None*1+0x6c],esi"," cmp edx,eax","-je local:43","+jne local:26","+add esp,0x14","+pop ebp","+pop esi","+pop ecx","+pop ebx","+ret ","+push edi"," mov edi,0x1","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov ebp,0x13"," call external","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov m4[None+None*1+address],edi"," call external","-mov edx,esp","-mov m4[esp+None*1+0x0],ebp","+lea edx,m4[esp+None*1+0x4]","+mov m4[esp+None*1+0x4],ebp"," xor eax,eax","-mov m4[esp+None*1+0x4],ecx","-mov m4[esp+None*1+0x8],eax","+mov m4[esp+None*1+0x8],ebx"," mov m4[esp+None*1+0xc],eax","+mov m4[esp+None*1+0x10],eax"," call external","-mov m4[esp+None*1+0x10],eax","-mov eax,ebx","+mov m4[esp+None*1+0x14],eax","+mov eax,ecx"," call external"," mov edx,m4[None+None*1+address]"," mov eax,m4[None+None*1+address]"," call external","+pop edi"," add esp,0x14"," pop ebp","-pop edi"," pop esi"," pop ecx"," pop ebx"]},{"name":"install_resize_box_sprites_","source":"E:\\library\\ui\\uresize.c","reference":"0x48658c","earlier":"0x49005c","same_instruction_shape":false,"reference_instructions":90,"earlier_instructions":84,"callers":[[4784220,"install_object_manager_",4]],"diff":["--- 0x49005c","+++ 0x48658c","@@ -29,7 +29,7 @@"," mov eax,address"," call external"," test eax,eax","-je local:47","+je local:48"," push 0x56"," mov ecx,address"," mov ebx,0x100","@@ -45,6 +45,7 @@"," mov m1[eax+None*1+0xffffffff],bl"," cmp edx,0x100"," jl local:40","+mov eax,eax"," mov eax,m4[None+None*1+address]"," mov m4[eax+None*1+0x0],0x10"," mov m4[eax+None*1+0x4],0x10","@@ -61,7 +62,12 @@"," mov eax,address"," call external"," test eax,eax","-je local:79","+jne local:70","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x71"," mov ecx,address"," mov ebx,0x100","@@ -76,7 +82,7 @@"," inc edx"," mov m1[eax+None*1+0xffffffff],bh"," cmp edx,0x100","-jl local:72","+jl local:78"," pop esi"," pop edx"," pop ecx"]},{"name":"set_object_text_","source":"E:\\library\\ui\\utext.c","reference":"0x4879fc","earlier":"0x4912b8","same_instruction_shape":false,"reference_instructions":75,"earlier_instructions":75,"callers":[[4788920,"set_waypoint_button_letter_",6]],"diff":["--- 0x4912b8","+++ 0x4879fc","@@ -6,61 +6,15 @@"," mov ebp,eax"," mov esi,edx"," test edx,edx","-je local:18","-mov edi,edx","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","+jne local:29","+mov ecx,m4[ebp+None*1+0x84]"," test ecx,ecx","-jne local:27","-mov ebx,m4[ebp+None*1+0x80]","-test ebx,ebx","-je local:25","+je local:16","+mov ebx,0x161"," mov edx,address","-mov eax,ebx","-mov ebx,0x131","+mov eax,ecx"," call external","-mov m4[ebp+None*1+0x80],0x0","-jmp local:63","-mov edx,m4[ebp+None*1+0x80]","-test edx,edx","-je local:38","-mov eax,esi","-call external","-test eax,eax","-je local:69","-mov ebx,0x13f","-mov edx,address","-mov eax,m4[ebp+None*1+0x80]","-call external","-mov ebx,0x142","-mov edi,esi","-mov edx,address","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-lea eax,m4[ecx+None*1+0x1]","-call external","-mov edi,eax","-mov m4[ebp+None*1+0x80],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:62","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:52","-pop edi","+mov m4[ebp+None*1+0x84],0x0"," mov ah,m1[ebp+None*1+0x6e]"," and ah,0xf7"," xor edx,edx","@@ -73,3 +27,49 @@"," pop ecx"," pop ebx"," ret ","+mov edi,edx","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+test ecx,ecx","+je local:9","+mov edx,m4[ebp+None*1+0x84]","+test edx,edx","+je local:49","+mov eax,esi","+call external","+test eax,eax","+je local:23","+mov ebx,0x16f","+mov edx,address","+mov eax,m4[ebp+None*1+0x84]","+call external","+mov ebx,0x172","+mov edi,esi","+mov edx,address","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+lea eax,m4[ecx+None*1+0x1]","+call external","+mov edi,eax","+mov m4[ebp+None*1+0x84],eax","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:73","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:63","+pop edi","+jmp local:17"]},{"name":"construct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4881a0","earlier":"0x491a10","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[[4790800,"setup_drone_",17],[4790800,"set_simple_drone_object_number_",23]],"diff":[]},{"name":"recurse_construct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4881b8","earlier":"0x491a28","same_instruction_shape":false,"reference_instructions":146,"earlier_instructions":147,"callers":[[4790824,"construct_3d_object_",4]],"diff":["--- 0x491a28","+++ 0x4881b8","@@ -5,111 +5,88 @@"," mov m4[esp+None*1+0x0],eax"," mov edi,edx"," mov m4[esp+None*1+0x4],ebx","-mov m4[esp+None*1+0x14],ecx","+mov m4[esp+None*1+0x10],ecx"," mov ecx,m4[esp+None*1+0x28]"," mov edx,m4[None+None*1+address]"," mov ebp,m4[edx+eax*4+0x0]"," mov ebp,m4[ebp+None*1+0x2c]"," test ebp,ebp","-je local:17","+je local:122"," mov esi,m4[ebp+None*1+0x0]"," add ebp,0x4","-jmp local:18","-xor esi,esi"," xor eax,eax"," test edi,edi","-jne local:22","+jne local:20"," mov eax,0x44"," cmp m4[esp+None*1+0x4],0x0","-jne local:25","+jne local:23"," add eax,0x30"," test ecx,ecx","-jne local:28","+jne local:26"," add eax,0x30"," lea edx,m4[None+esi*4+0x0]"," add eax,edx"," test eax,eax","-jle local:36","+jle local:124"," mov ebx,0x96"," mov edx,address"," call external","-jmp local:37","-xor eax,eax"," test edi,edi","-jne local:43","+jne local:126"," mov m4[esp+None*1+0xc],eax"," mov m4[eax+None*1+0x34],eax"," add eax,0x44","-jmp local:45","-mov m4[esp+None*1+0xc],edi","-mov m4[edi+None*1+0x34],eax"," mov ebx,m4[esp+None*1+0x4]"," test ebx,ebx","-jne local:52","+jne local:129"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x8],eax"," add eax,0x30","-jmp local:54","-mov edi,m4[esp+None*1+0xc]","-mov m4[edi+None*1+0x8],ebx"," test ecx,ecx","-jne local:60","+jne local:132"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0xc],eax"," add eax,0x30","-jmp local:62","-mov edx,m4[esp+None*1+0xc]","-mov m4[edx+None*1+0xc],0x0"," test esi,esi","-jle local:67","+jle local:135"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x1c],eax","-jmp local:69","-mov eax,m4[esp+None*1+0xc]","-mov m4[eax+None*1+0x1c],0x0"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x4],0x0"," mov m4[edx+None*1+0x24],0x0"," mov m4[edx+None*1+0x28],0x0"," mov m4[edx+None*1+0x2c],0x0","+mov m4[edx+None*1+0x30],0x0"," mov eax,m4[esp+None*1+0x0]","-mov m4[edx+None*1+0x30],0x0","+mov m4[edx+None*1+0x20],esi"," mov m4[edx+None*1+0x0],eax","-mov m4[edx+None*1+0x20],esi"," test ecx,ecx","-jne local:81","+jne local:65"," mov m4[edx+None*1+0x38],ecx"," mov eax,m4[esp+None*1+0xc]"," and m1[eax+None*1+0x40],0xef"," test esi,esi","-jle local:141","-jle local:141","-xor eax,eax","+jle local:116","+jle local:116"," shl esi,0x2","-mov m4[esp+None*1+0x10],eax","+xor ecx,ecx"," mov m4[esp+None*1+0x8],esi","+mov m4[esp+None*1+0x14],ecx"," mov esi,m4[ebp+None*1+0x0]"," add ebp,0x4"," test esi,esi","-jne local:108","-mov eax,m4[esp+None*1+0x14]","-mov edx,m4[eax+None*1+0x0]","-test edx,edx","-je local:103","-mov esi,edx","-add edx,0x4","+jne local:85","+mov eax,m4[esp+None*1+0x10]","+mov ebx,m4[eax+None*1+0x0]","+test ebx,ebx","+je local:138","+lea edx,m4[ebx+None*1+0x4]"," mov m4[eax+None*1+0x0],edx","-mov esi,m4[esi+None*1+0x0]","-jmp local:108","-push 0x110","-push address","-push address","-call external","-add esp,0xc","+mov esi,m4[ebx+None*1+0x0]"," test esi,esi","-je local:129","+je local:144"," push 0x0","-mov ecx,m4[esp+None*1+0x18]","+mov ecx,m4[esp+None*1+0x14]"," mov eax,esi"," xor ebx,ebx"," xor edx,edx","@@ -126,22 +103,44 @@"," and cl,0x3"," repne movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]"," pop edi","-jmp local:130","-xor edx,edx"," mov eax,m4[esp+None*1+0xc]","-mov ecx,m4[esp+None*1+0x10]","+mov esi,m4[esp+None*1+0x14]"," mov eax,m4[eax+None*1+0x1c]","-mov edi,m4[esp+None*1+0x8]","-add eax,ecx","+add eax,esi"," add ebp,0x30","-lea esi,m4[ecx+None*1+0x4]","+lea edi,m4[esi+None*1+0x4]"," mov m4[eax+None*1+0x0],edx","-mov m4[esp+None*1+0x10],esi","-cmp esi,edi","-jl local:90","+mov edx,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x14],edi","+cmp edi,edx","+jl local:74"," mov eax,m4[esp+None*1+0xc]"," add esp,0x18"," pop ebp"," pop edi"," pop esi"," ret 0x4","+xor esi,esi","+jmp local:16","+xor eax,eax","+jmp local:33","+mov m4[esp+None*1+0xc],edi","+mov m4[edi+None*1+0x34],eax","+jmp local:38","+mov edi,m4[esp+None*1+0xc]","+mov m4[edi+None*1+0x8],ebx","+jmp local:44","+mov edx,m4[esp+None*1+0xc]","+mov m4[edx+None*1+0xc],0x0","+jmp local:49","+mov eax,m4[esp+None*1+0xc]","+mov m4[eax+None*1+0x1c],0x0","+jmp local:53","+push 0x110","+push address","+push address","+call external","+add esp,0xc","+jmp local:85","+xor edx,edx","+jmp local:105"]},{"name":"destruct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4883b4","earlier":"0x491bf0","same_instruction_shape":false,"reference_instructions":36,"earlier_instructions":30,"callers":[[4791280,"set_simple_drone_object_number_",16]],"diff":["--- 0x491bf0","+++ 0x4883b4","@@ -3,22 +3,28 @@"," push edx"," push esi"," mov ecx,eax","+mov edx,m4[eax+None*1+0x1c]"," mov ebx,m4[eax+None*1+0x20]","-mov edx,m4[eax+None*1+0x1c]"," dec ebx"," cmp ebx,0xffffffff","-je local:18","+je local:19"," mov esi,m4[edx+None*1+0x0]"," test esi,esi","-je local:16","+jne local:15","+add edx,0x4","+jmp local:7"," mov eax,esi"," call local:0"," mov m4[edx+None*1+0x0],0x0","-add edx,0x4","-jmp local:7","+jmp local:13"," mov edx,m4[ecx+None*1+0x34]"," test edx,edx","-je local:25","+jne local:27","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov ebx,0x160"," mov eax,edx"," mov edx,address"]},{"name":"initialise_3d_core_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x488780","earlier":"0x491f40","same_instruction_shape":true,"reference_instructions":8,"earlier_instructions":8,"callers":[],"diff":[]},{"name":"set_3d_viewport_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x4887a0","earlier":"0x491f60","same_instruction_shape":false,"reference_instructions":63,"earlier_instructions":57,"callers":[[4792160,"set_primary_visual_viewport_",17]],"diff":["--- 0x491f60","+++ 0x4887a0","@@ -1,57 +1,63 @@"," push esi"," push edi","-sub esp,0x18","-mov edi,eax","-mov esi,edx","-mov m4[esp+None*1+0x14],ebx","-mov m4[esp+None*1+0x10],ecx","-mov m4[None+None*1+address],ebx","+push ebp","+mov ebp,esp","+sub esp,0x1c","+and esp,0xfffffff8","+mov m4[esp+None*1+0x14],eax","+mov m4[esp+None*1+0x10],edx","+mov edi,ebx","+mov esi,ecx"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],eax","-add ebx,eax","+lea ecx,m4[eax+ebx*1+0xffffffff]"," mov m4[None+None*1+address],edx","-dec ebx","-mov eax,m4[esp+None*1+0x14]","-mov m4[None+None*1+address],ebx","-lea ebx,m4[ecx+edx*1+0x0]","-mov edx,eax","+mov m4[None+None*1+address],ecx","+lea ecx,m4[edx+esi*1+0x0]","+mov edx,ebx","+mov eax,ebx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1"," mov m4[None+None*1+address],eax","-mov edx,ecx","-mov eax,ecx","+mov edx,esi","+mov eax,esi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-dec ebx"," mov m4[None+None*1+address],ebx","-mov ecx,ebx","+mov m4[esp+None*1+0x18],edi","+dec ecx"," mov ebx,m4[None+None*1+address]","+mov edx,m4[esp+None*1+0x10]"," mov m4[None+None*1+address],eax","-mov edx,esi","-mov eax,edi","+mov eax,m4[esp+None*1+0x14]","+mov m4[None+None*1+address],ecx"," call external","-fild m4[esp+None*1+0x14]","+fild m4[esp+None*1+0x18]"," fld st(0)"," fld m8[None+None*1+address]"," fxch st(0),st(1)"," fmul st(1)","-fild m4[esp+None*1+0x10]","+mov m4[esp+None*1+0x18],esi","+fild m4[esp+None*1+0x18]"," fld st(0)"," fld m8[None+None*1+address]"," fxch st(0),st(1)"," fmul st(1)"," fdivp st(3)","+fxch st(0),st(1)","+fmulp st(3)","+fmulp st(3)"," fxch st(0),st(2)","+fdivp st(1)","+fxch st(0),st(1)"," call external"," fistp m4[None+None*1+address]","-fmulp st(2)","-fmulp st(2)","-fdivrp st(1)"," call external"," fistp m4[None+None*1+address]","-add esp,0x18","+mov esp,ebp","+pop ebp"," pop edi"," pop esi"," ret "]},{"name":"get_heading_pitch_roll_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x4894dc","earlier":"0x492c18","same_instruction_shape":true,"reference_instructions":35,"earlier_instructions":35,"callers":[],"diff":[]},{"name":"create_small_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48dfd0","earlier":"0x49f5d0","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_heave_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e060","earlier":"0x49f660","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_splash_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e090","earlier":"0x49f690","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_cannon_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e0c0","earlier":"0x49f6c0","same_instruction_shape":false,"reference_instructions":19,"earlier_instructions":19,"callers":[[4847296,"create_creative_cannon_crater_",12]],"diff":["--- 0x49f6c0","+++ 0x48e0c0","@@ -4,11 +4,11 @@"," sub esp,0xc"," mov esi,eax"," mov eax,edx","-mov ecx,esp","+lea ecx,m4[esp+None*1+0x8]"," lea ebx,m4[esp+None*1+0x4]","-lea edx,m4[esp+None*1+0x8]","+mov edx,esp"," call external","-mov ebx,m4[esp+None*1+0x8]","+mov ebx,m4[esp+None*1+0x0]"," mov edx,0x3e"," mov eax,esi"," call external"]},{"name":"create_short_life_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e0f0","earlier":"0x49f6f0","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":37,"callers":[[4847344,"create_splash_",11]],"diff":["--- 0x49f6f0","+++ 0x48e0f0","@@ -4,14 +4,18 @@"," mov ecx,edx"," mov edx,m4[eax+None*1+0x0]"," test edx,edx","-jl local:33","+jl local:14"," cmp edx,0xfffffff","-jg local:33","+jg local:14"," mov edi,m4[eax+None*1+0x4]"," test edi,edi","-jl local:33","+jl local:14"," cmp edi,0xfffffff","-jg local:33","+jle local:18","+pop edi","+pop esi","+pop ecx","+ret "," mov edx,m4[None+None*1+address]"," mov esi,m4[eax+None*1+0x0]"," mov m4[edx+None*1+0x0],esi","@@ -22,14 +26,14 @@"," call external"," mov edx,eax"," mov eax,m4[None+None*1+address]","-add eax,0x18","-mov m4[eax+None*1+0xfffffffc],0x0","-mov m4[eax+None*1+0xfffffff0],edx","-mov m4[eax+None*1+0xfffffff4],ecx","-mov m4[eax+None*1+0xfffffff8],ebx","+add eax,0x24","+mov m4[eax+None*1+0xfffffff0],0x0","+mov m4[eax+None*1+0xffffffe4],edx","+mov m4[eax+None*1+0xffffffe8],ecx","+mov m4[eax+None*1+0xffffffec],ebx"," mov m4[None+None*1+address],eax"," cmp eax,address","-jne local:33","+jne local:14"," mov m4[None+None*1+address],address"," pop edi"," pop esi"]},{"name":"create_long_life_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e164","earlier":"0x49f760","same_instruction_shape":false,"reference_instructions":40,"earlier_instructions":36,"callers":[[4847456,"create_small_crater_",11],[4847456,"create_heave_crater_",11]],"diff":["--- 0x49f760","+++ 0x48e164","@@ -4,14 +4,18 @@"," mov ecx,edx"," mov edx,m4[eax+None*1+0x0]"," test edx,edx","-jl local:32","+jl local:14"," cmp edx,0xfffffff","-jg local:32","+jg local:14"," mov edi,m4[eax+None*1+0x4]"," test edi,edi","-jl local:32","+jl local:14"," cmp edi,0xfffffff","-jg local:32","+jle local:18","+pop edi","+pop esi","+pop ecx","+ret "," mov edx,m4[None+None*1+address]"," mov esi,m4[eax+None*1+0x0]"," mov m4[edx+None*1+0x0],esi","@@ -22,13 +26,13 @@"," call external"," mov edx,eax"," mov eax,m4[None+None*1+address]","-add eax,0x18","-mov m4[eax+None*1+0xfffffff0],edx","-mov m4[eax+None*1+0xfffffff4],ecx","-mov m4[eax+None*1+0xfffffff8],ebx","+add eax,0x24","+mov m4[eax+None*1+0xffffffe4],edx","+mov m4[eax+None*1+0xffffffe8],ecx","+mov m4[eax+None*1+0xffffffec],ebx"," mov m4[None+None*1+address],eax"," cmp eax,address","-jne local:32","+jne local:14"," mov m4[None+None*1+address],address"," pop edi"," pop esi"]},{"name":"update_craters_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e1d0","earlier":"0x49f7c8","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":19,"callers":[[4847560,"update_3d_visual_",9]],"diff":["--- 0x49f7c8","+++ 0x48e1d0","@@ -1,19 +1,26 @@","-push ecx","+push ebx"," push edx"," mov eax,address"," xor edx,edx"," cmp m4[eax+None*1+0xc],0x180","-jne local:12","-mov ecx,m4[eax+None*1+0x14]","-inc ecx","-mov m4[eax+None*1+0x14],ecx","-cmp ecx,0x5","-jne local:12","-mov m4[eax+None*1+0xc],0xffffffff","+je local:13"," inc edx","-add eax,0x18","+add eax,0x24"," cmp edx,0x80"," jl local:4"," pop edx","-pop ecx","+pop ebx"," ret ","+mov ebx,m4[eax+None*1+0x14]","+inc ebx","+mov m4[eax+None*1+0x14],ebx","+cmp ebx,0x5","+jne local:6","+mov m4[eax+None*1+0xc],0xffffffff","+inc edx","+add eax,0x24","+cmp edx,0x80","+jl local:4","+pop edx","+pop ebx","+ret "]},{"name":"set_map_configuration_","source":"E:\\library\\3dvisual\\drawmap.c","reference":"0x48e740","earlier":"0x49fcd0","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"initialise_map_grids_","source":"E:\\library\\3dvisual\\drawmap.c","reference":"0x48eb38","earlier":"0x4a0074","same_instruction_shape":true,"reference_instructions":61,"earlier_instructions":61,"callers":[],"diff":[]},{"name":"update_fragments_","source":"E:\\library\\3dvisual\\fragment.c","reference":"0x48fd1c","earlier":"0x4a4230","same_instruction_shape":false,"reference_instructions":145,"earlier_instructions":144,"callers":[[4866608,"update_3d_visual_",12]],"diff":["--- 0x4a4230","+++ 0x48fd1c","@@ -10,16 +10,16 @@"," mov m4[esp+None*1+0x54],eax"," lea eax,m4[ebp+None*1+0x78]"," xor edx,edx","-mov m4[esp+None*1+0x50],eax","+mov m4[esp+None*1+0x4c],eax"," lea eax,m4[ebp+None*1+0x48]","-mov m4[esp+None*1+0x4c],edx","+mov m4[esp+None*1+0x50],edx"," mov m4[esp+None*1+0x48],eax"," mov eax,m4[ebp+None*1+0x0]"," test eax,eax","-jbe local:121","+jbe local:111"," cmp eax,0x1","-jne local:116","-mov ebx,esp","+jne local:139","+lea ebx,m4[esp+None*1+0x24]"," mov edx,m4[None+None*1+address]"," mov eax,m4[ebp+None*1+0x84]"," mov ecx,0x24","@@ -27,12 +27,12 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov eax,m4[esp+None*1+0x50]","-lea esi,m4[esp+None*1+0x24]","+mov eax,m4[esp+None*1+0x4c]","+mov esi,esp"," call external","-lea ebx,m4[esp+None*1+0x24]","+mov ebx,esp"," mov edx,m4[esp+None*1+0x54]","-mov eax,esp","+lea eax,m4[esp+None*1+0x24]"," mov edi,m4[esp+None*1+0x54]"," call external"," push edi","@@ -49,20 +49,20 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov ebx,m4[ebp+None*1+0x90]","+mov ecx,m4[ebp+None*1+0x90]"," mov eax,m4[ebp+None*1+0x88]","-sub ebx,edx","+sub ecx,edx"," mov edx,m4[None+None*1+address]","-mov m4[ebp+None*1+0x90],ebx","+mov m4[ebp+None*1+0x90],ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov ecx,m4[ebp+None*1+0x48]","+mov ebx,m4[ebp+None*1+0x48]"," mov eax,m4[ebp+None*1+0x8c]","-add ecx,edx","+add ebx,edx"," mov edx,m4[None+None*1+address]","-mov m4[ebp+None*1+0x48],ecx","+mov m4[ebp+None*1+0x48],ebx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -83,56 +83,46 @@"," mov m4[ebp+None*1+0x50],edi"," call external"," cmp eax,m4[ebp+None*1+0x50]","-jl local:121","+jl local:111"," mov m4[ebp+None*1+0x84],0x0"," mov m4[ebp+None*1+0x88],0x0"," mov m4[ebp+None*1+0x8c],0x0"," mov m4[ebp+None*1+0x90],0x0"," mov m4[ebp+None*1+0x50],eax"," test eax,eax","-jne local:121","+jne local:111"," mov edx,m4[ebp+None*1+0x4c]"," mov eax,m4[ebp+None*1+0x48]"," call external"," cmp eax,0x1","-je local:102","-cmp eax,0x2","-je local:102","-cmp eax,0x3","-jne local:121","-mov ebx,m4[ebp+None*1+0x48]","+jne local:134","+mov ecx,m4[ebp+None*1+0x48]"," mov m4[ebp+None*1+0x0],0x0","-test ebx,ebx","-jl local:121","-cmp ebx,0xfffffff","-jg local:121","+test ecx,ecx","+jl local:111","+cmp ecx,0xfffffff","+jg local:111"," mov esi,m4[ebp+None*1+0x4c]"," test esi,esi","-jl local:121","+jl local:111"," cmp esi,0xfffffff","-jg local:121","+jg local:111"," mov eax,m4[esp+None*1+0x48]"," call external","-jmp local:121","-push 0x16c","-push address","-push address","-call external","-add esp,0xc","+mov edx,m4[esp+None*1+0x4c]","+mov ecx,m4[esp+None*1+0x48]","+mov ebx,m4[esp+None*1+0x50]"," mov eax,m4[esp+None*1+0x54]","-mov edx,m4[esp+None*1+0x50]","-mov ebx,m4[esp+None*1+0x48]","-mov ecx,m4[esp+None*1+0x4c]"," add ebp,0x94","+add edx,0x94","+add ecx,0x94","+inc ebx"," add eax,0x94","-add edx,0x94","-add ebx,0x94","-inc ecx","+mov m4[esp+None*1+0x4c],edx","+mov m4[esp+None*1+0x48],ecx","+mov m4[esp+None*1+0x50],ebx"," mov m4[esp+None*1+0x54],eax","-mov m4[esp+None*1+0x50],edx","-mov m4[esp+None*1+0x48],ebx","-mov m4[esp+None*1+0x4c],ecx","-cmp ecx,0x40","+cmp ebx,0x40"," jl local:16"," add esp,0x58"," pop ebp","@@ -142,3 +132,14 @@"," pop ecx"," pop ebx"," ret ","+cmp eax,0x2","+je local:98","+cmp eax,0x3","+je local:98","+jmp local:111","+push 0x16c","+push address","+push address","+call external","+add esp,0xc","+jmp local:111"]},{"name":"move_mobile_object_","source":"E:\\library\\3dvisual\\mobobjs.c","reference":"0x4932b0","earlier":"0x4a74c0","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":46,"callers":[[4879552,"move_ground_simple_drones_",30]],"diff":["--- 0x4a74c0","+++ 0x4932b0","@@ -3,44 +3,52 @@"," push ebp"," sub esp,0xc"," mov esi,eax","+mov edi,ecx"," mov eax,m4[eax+None*1+0x8]","-add edx,m4[eax+None*1+0x0]","-add ebx,m4[eax+None*1+0x4]","-add ecx,m4[eax+None*1+0x8]","-mov ebp,edx","-mov edi,m4[eax+None*1+0x0]","+mov ecx,m4[eax+None*1+0x4]","+sar ecx,0x16","+mov m4[esp+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x0]","+add ecx,edx","+mov edx,m4[eax+None*1+0x4]","+add edx,ebx","+mov ebx,m4[eax+None*1+0x8]","+add ebx,edi","+mov edi,ecx","+sar edi,0x16","+mov m4[esp+None*1+0x0],edi","+mov edi,edx","+mov ebp,m4[eax+None*1+0x0]","+sar edi,0x16"," sar ebp,0x16","-sar edi,0x16","-mov m4[esp+None*1+0x0],ebp","-mov ebp,ebx","-mov m4[esp+None*1+0x4],edi","-sar ebp,0x16","-mov edi,m4[eax+None*1+0x4]","-mov m4[esp+None*1+0x8],ebp","-mov ebp,m4[esp+None*1+0x0]","-sar edi,0x16","-cmp ebp,m4[esp+None*1+0x4]","-jne local:25","-cmp edi,m4[esp+None*1+0x8]","-je local:36","-mov eax,esi","-call external","+mov m4[esp+None*1+0x8],edi","+cmp ebp,m4[esp+None*1+0x0]","+jne local:39","+mov edi,m4[esp+None*1+0x8]","+cmp edi,m4[esp+None*1+0x4]","+jne local:39","+mov m4[eax+None*1+0x0],ecx"," mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x0],edx","+mov m4[eax+None*1+0x4],edx"," mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x4],ebx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x8],ecx","-mov eax,esi","-call external","-jmp local:41","-mov m4[eax+None*1+0x0],edx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x4],ebx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x8],ecx","+mov m4[eax+None*1+0x8],ebx"," add esp,0xc"," pop ebp"," pop edi"," pop esi"," ret ","+mov eax,esi","+call external","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x0],ecx","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x4],edx","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x8],ebx","+mov eax,esi","+call external","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret "]},{"name":"get_mobile_object_in_range_","source":"E:\\library\\3dvisual\\mobobjs.c","reference":"0x493c40","earlier":"0x4a7d6c","same_instruction_shape":false,"reference_instructions":148,"earlier_instructions":141,"callers":[[4881772,"damage_mobiles_in_range_exclusive_",8],[4881772,"damage_mobiles_in_range_exclusive_",21]],"diff":["--- 0x4a7d6c","+++ 0x493c40","@@ -4,77 +4,82 @@"," push ebp"," mov ecx,eax"," test ebx,ebx","-je local:14","+je local:29"," cmp m4[None+None*1+address],0x0","-jne local:122","-push 0x435","+je local:24","+mov eax,m4[None+None*1+address]","+mov eax,m4[eax+None*1+0x18]","+mov m4[None+None*1+address],eax","+mov edx,m4[None+None*1+address]","+test edx,edx","+jne local:119","+inc m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]","+mov eax,m4[None+None*1+address]","+cmp eax,ebx","+jg local:138","+mov edx,m4[None+None*1+address]","+shl edx,0x8","+mov eax,m4[edx+eax*4+address]","+jmp local:11","+push 0x437"," push address"," push address"," call external"," add esp,0xc"," mov esi,m4[ecx+None*1+0x0]"," test esi,esi","-jl local:24","+jl local:103"," cmp esi,0xfffffff","-jg local:24","+jg local:103"," mov ebp,m4[ecx+None*1+0x4]"," test ebp,ebp","-jl local:24","+jl local:103"," cmp ebp,0xfffffff","-jle local:30","-xor eax,eax","-pop ebp","-pop edi","-pop esi","-pop ecx","-ret ","+jg local:103"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],edx","+mov eax,m4[ecx+None*1+0x8]","+mov ecx,ebp"," mov m4[None+None*1+address],esi","-mov ebx,ebp","+sar ecx,0x16"," mov m4[None+None*1+address],ebp","-sar ebx,0x16","-mov eax,m4[ecx+None*1+0x8]","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ebx","-mov ebx,esi","+mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ecx","+mov ecx,esi"," mov m4[None+None*1+address],eax","-sub ebx,edx","+sub ecx,edx"," mov eax,esi","-mov edx,ebx","+mov edx,ecx"," sar eax,0x16"," sar edx,0x16"," mov m4[None+None*1+address],eax"," cmp eax,edx","-jl local:50","-mov eax,edx","+jge local:109"," test eax,eax","-jg local:53","-xor eax,eax","+jle local:111"," mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," add eax,edx","+mov ecx,m4[None+None*1+address]","+sar eax,0x16","+cmp eax,ecx","+jge local:69","+mov eax,ecx","+cmp eax,0x3f","+jge local:113"," mov ebx,m4[None+None*1+address]","-sar eax,0x16","-cmp eax,ebx","-jge local:62","-mov eax,ebx","-cmp eax,0x3f","-jl local:65","-mov eax,0x3f","-mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ecx","+sub eax,ebx"," mov esi,m4[None+None*1+address]"," sar eax,0x16"," cmp eax,esi","-jle local:74","+jle local:80"," mov eax,esi"," test eax,eax","-jg local:77","-xor eax,eax","+jle local:115"," mov edi,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","@@ -82,55 +87,57 @@"," mov ebp,m4[None+None*1+address]"," sar eax,0x16"," cmp eax,ebp","-jge local:86","+jge local:91"," mov eax,ebp"," cmp eax,0x3f","-jl local:89","-mov eax,0x3f","+jge local:117"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],0x1"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-jmp local:130","+mov edi,m4[None+None*1+address]","+cmp edi,m4[None+None*1+address]","+jl local:140"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-jmp local:126","-mov edx,m4[None+None*1+address]","-shl edx,0x8","-mov eax,m4[edx+eax*4+address]","-mov m4[None+None*1+address],eax","-mov edx,m4[None+None*1+address]","-test edx,edx","-je local:125","+jmp local:16","+xor eax,eax","+pop ebp","+pop edi","+pop esi","+pop ecx","+ret ","+mov eax,edx","+jmp local:58","+xor eax,eax","+jmp local:60","+mov eax,0x3f","+jmp local:71","+xor eax,eax","+jmp local:82","+mov eax,0x3f","+jmp local:93"," mov ecx,m4[edx+None*1+0x8]"," mov edx,m4[None+None*1+address]"," mov eax,m4[ecx+None*1+0x0]"," mov ebx,m4[None+None*1+address]"," sub eax,edx"," mov edx,m4[ecx+None*1+0x4]","+mov edi,m4[None+None*1+address]"," sub edx,ebx"," mov ebx,m4[ecx+None*1+0x8]","-sub ebx,m4[None+None*1+address]","+sub ebx,edi"," call external"," cmp eax,m4[None+None*1+address]","-jge local:122","+jge local:9"," mov eax,m4[None+None*1+address]"," pop ebp"," pop edi"," pop esi"," pop ecx"," ret ","-mov eax,m4[None+None*1+address]","-mov eax,m4[eax+None*1+0x18]","-jmp local:100"," inc m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:97","-inc m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:94","+jmp local:97"," xor ebp,ebp"," xor eax,eax"," mov m4[None+None*1+address],ebp"]},{"name":"update_3d_visual_","source":"E:\\library\\3dvisual\\3dmain.c","reference":"0x49bf30","earlier":"0x4949a8","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"deinitialise_explosions_","source":"E:\\library\\3dvisual\\explode.c","reference":"0x4a6668","earlier":"0x4a02c8","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"update_explosions_","source":"E:\\library\\3dvisual\\explode.c","reference":"0x4a67c0","earlier":"0x4a0404","same_instruction_shape":false,"reference_instructions":82,"earlier_instructions":85,"callers":[[4850692,"update_3d_visual_",10]],"diff":["--- 0x4a0404","+++ 0x4a67c0","@@ -4,77 +4,17 @@"," push esi"," push edi"," push ebp","-mov ebx,address","-xor ecx,ecx","+mov ecx,address","+xor ebx,ebx"," xor esi,esi","-mov edx,m4[ebx+None*1+0x0]","+mov edx,m4[ecx+None*1+0x0]"," cmp edx,0x1","-jb local:16","-jbe local:19","-cmp edx,0x2","-je local:26","-jmp local:69","+jae local:25"," test edx,edx","-je local:74","-jmp local:69","-mov ebp,m4[ebx+None*1+0x20]","-inc ebp","-mov m4[ebx+None*1+0x20],ebp","-cmp ebp,0x21","-jne local:74","-mov m4[ebx+None*1+0x0],esi","-jmp local:74","-mov edx,m4[ebx+None*1+0x20]","-inc edx","-mov m4[ebx+None*1+0x20],edx","-cmp edx,0xf","-jne local:33","-mov m4[ebx+None*1+0x0],esi","-jmp local:74","-cmp esi,edx","-jge local:58","-mov edx,m4[None+None*1+address]","-mov eax,m4[ebx+None*1+0x10]","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-add m4[ebx+None*1+0x4],edx","-mov edx,m4[None+None*1+address]","-mov eax,m4[ebx+None*1+0x14]","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-mov edi,m4[ebx+None*1+0x8]","-mov eax,m4[ebx+None*1+0x18]","-add edi,edx","-mov edx,m4[None+None*1+address]","-mov m4[ebx+None*1+0x8],edi","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-add m4[ebx+None*1+0xc],edx","-mov edx,m4[ebx+None*1+0x8]","-mov eax,m4[ebx+None*1+0x4]","-call external","-mov edx,m4[ebx+None*1+0x1c]","-mov edi,m4[ebx+None*1+0xc]","-add eax,edx","-cmp eax,edi","-jge local:67","-mov eax,edi","-mov m4[ebx+None*1+0xc],eax","-jmp local:74","-push 0x224","-push address","-push address","-call external","-add esp,0xc","-inc ecx","-add ebx,0x24","-cmp ecx,0x80","+jne local:76","+inc ebx","+add ecx,0x24","+cmp ebx,0x80"," jl local:9"," pop ebp"," pop edi","@@ -83,3 +23,60 @@"," pop ecx"," pop ebx"," ret ","+ja local:33","+mov ebp,m4[ecx+None*1+0x20]","+inc ebp","+mov m4[ecx+None*1+0x20],ebp","+cmp ebp,0x21","+jne local:14","+mov m4[ecx+None*1+0x0],esi","+jmp local:14","+cmp edx,0x2","+jne local:76","+mov edx,m4[ecx+None*1+0x20]","+inc edx","+mov m4[ecx+None*1+0x20],edx","+cmp edx,0xf","+je local:31","+cmp esi,edx","+jge local:65","+mov edx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x10]","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+add m4[ecx+None*1+0x4],edx","+mov edx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x14]","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+mov edi,m4[ecx+None*1+0x8]","+mov eax,m4[ecx+None*1+0x18]","+add edi,edx","+mov edx,m4[None+None*1+address]","+mov m4[ecx+None*1+0x8],edi","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+add m4[ecx+None*1+0xc],edx","+mov edx,m4[ecx+None*1+0x8]","+mov eax,m4[ecx+None*1+0x4]","+call external","+mov edx,m4[ecx+None*1+0x1c]","+mov edi,m4[ecx+None*1+0xc]","+add eax,edx","+cmp eax,edi","+jge local:74","+mov eax,edi","+mov m4[ecx+None*1+0xc],eax","+jmp local:14","+push 0x226","+push address","+push address","+call external","+add esp,0xc","+jmp local:14"]},{"name":"deinitialise_smoke_","source":"E:\\library\\3dvisual\\smoke.c","reference":"0x4a9bc4","earlier":"0x4ab778","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"update_smoke_","source":"E:\\library\\3dvisual\\smoke.c","reference":"0x4a9d6c","earlier":"0x4ab90c","same_instruction_shape":false,"reference_instructions":34,"earlier_instructions":34,"callers":[[4897036,"update_3d_visual_",11]],"diff":["--- 0x4ab90c","+++ 0x4a9d6c","@@ -3,32 +3,32 @@"," push edx"," push esi"," mov edx,address","-xor ebx,ebx","+xor ecx,ecx"," mov eax,m4[edx+None*1+0x0]"," test eax,eax","-jbe local:25","+jbe local:19"," cmp eax,0x1","-jne local:20","+jne local:28"," mov eax,m4[None+None*1+address]","-mov ecx,m4[edx+None*1+0x18]","-add ecx,eax","+mov ebx,m4[edx+None*1+0x18]","+add ebx,eax"," mov esi,m4[edx+None*1+0x14]","-mov m4[edx+None*1+0x18],ecx","-cmp ecx,esi","-jl local:25","+mov m4[edx+None*1+0x18],ebx","+cmp ebx,esi","+jl local:19"," mov m4[edx+None*1+0x0],0x0","-jmp local:25","-push 0x154","-push address","-push address","-call external","-add esp,0xc","-inc ebx","+inc ecx"," add edx,0x20","-cmp ebx,0x800","+cmp ecx,0x800"," jl local:6"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+push 0x154","+push address","+push address","+call external","+add esp,0xc","+jmp local:19"]},{"name":"reschedule_","source":"\\library\\system\\thread.asm","reference":"0x4b92b0","earlier":"0x4b8d18","same_instruction_shape":true,"reference_instructions":121,"earlier_instructions":121,"callers":[],"diff":[]},{"name":"do_reschedule_","source":"\\library\\system\\thread.asm","reference":"0x4b9410","earlier":"0x4b8e78","same_instruction_shape":true,"reference_instructions":64,"earlier_instructions":64,"callers":[],"diff":[]},{"name":"do_yield_","source":"\\library\\system\\thread.asm","reference":"0x4b9500","earlier":"0x4b8f68","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"sprintf_","source":"sprintf","reference":"0x4baf99","earlier":"0x4baa31","same_instruction_shape":false,"reference_instructions":13,"earlier_instructions":18,"callers":[[4958769,"set_network_channel_",7]],"diff":["--- 0x4baa31","+++ 0x4baf99","@@ -1,18 +1,13 @@"," push ebx","-push ecx"," push edx"," sub esp,0x4","-lea eax,m4[esp+None*1+0x1c]","-mov ecx,address","+lea eax,m4[esp+None*1+0x18]"," mov ebx,esp","-mov edx,m4[esp+None*1+0x18]","+mov edx,m4[esp+None*1+0x14]"," mov m4[esp+None*1+0x0],eax","-mov eax,m4[esp+None*1+0x14]","+mov eax,m4[esp+None*1+0x10]"," call external","-mov edx,m4[esp+None*1+0x14]","-mov m1[edx+eax*1+0x0],0x0"," add esp,0x4"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"initrandnext_","source":"rand","reference":"0x4bb00e","earlier":"0x4baabf","same_instruction_shape":true,"reference_instructions":3,"earlier_instructions":3,"callers":[[4958911,"rand_",1]],"diff":[]},{"name":"rand_","source":"rand","reference":"0x4bb018","earlier":"0x4baac9","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"memset_","source":"memset","reference":"0x4bb069","earlier":"0x4bab00","same_instruction_shape":false,"reference_instructions":12,"earlier_instructions":12,"callers":[[4958976,"setup_drone_",13],[4958976,"set_simple_drone_object_number_",19],[4958976,"insert_after_waypoint_",11],[4958976,"initialise_rounds_",5],[4958976,"release_target_",9],[4958976,"initialise_targets_",5],[4958976,"makelist_",8]],"diff":["--- 0x4bab00","+++ 0x4bb069","@@ -1,12 +1,12 @@","+push ecx","+mov ecx,ebx"," push eax","-push ecx"," mov dh,dl"," shl edx,0x8"," mov dl,dh"," shl edx,0x8"," mov dl,dh","-mov ecx,ebx"," call external","+pop eax"," pop ecx","-pop eax"," ret "]},{"name":"strstr_","source":"strstr","reference":"0x4bb081","earlier":"0x4bab18","same_instruction_shape":true,"reference_instructions":100,"earlier_instructions":100,"callers":[],"diff":[]},{"name":"strcmp_","source":"_strcmp","reference":"0x4bb170","earlier":"0x4bac00","same_instruction_shape":true,"reference_instructions":67,"earlier_instructions":67,"callers":[],"diff":[]},{"name":"cget_string_","source":"sscanf","reference":"0x4bb282","earlier":"0x4badce","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"vsscanf_","source":"sscanf","reference":"0x4bb2af","earlier":"0x4badfb","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"time_","source":"time","reference":"0x4bb2f7","earlier":"0x4bae43","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"memmove_","source":"memmove","reference":"0x4bb372","earlier":"0x4baf00","same_instruction_shape":true,"reference_instructions":47,"earlier_instructions":47,"callers":[],"diff":[]},{"name":"printf_","source":"printf","reference":"0x4bb3bf","earlier":"0x4baf4d","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"strncmp_","source":"strncmp","reference":"0x4bb64d","earlier":"0x4bb180","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"close_file_","source":"fopen","reference":"0x4bb8c5","earlier":"0x4bb381","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"fclose_","source":"fclose","reference":"0x4bbcbb","earlier":"0x4bb463","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"strdup_","source":"strdup","reference":"0x4bc4cf","earlier":"0x4bbe48","same_instruction_shape":true,"reference_instructions":41,"earlier_instructions":41,"callers":[],"diff":[]},{"name":"malloc_","source":"nmalloc","reference":"0x4bc63f","earlier":"0x4bbff7","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":86,"callers":[[4964343,"register_garbage_collect_",3],[4964343,"strdup_",18],[4964343,"realloc_",10],[4964343,"realloc_",25]],"diff":["--- 0x4bbff7","+++ 0x4bc63f","@@ -8,67 +8,66 @@"," push gs"," push ebp"," sub esp,0x4","-mov esi,eax","+mov edi,eax"," test eax,eax"," je local:15"," cmp eax,0xffffffd4"," jbe local:17"," xor eax,eax","-jmp local:75","-mov ebp,address","-lea edi,m4[esi+None*1+0x3]","+jmp local:74","+lea ebp,m4[eax+None*1+0xb]","+and ebp,0xfffffff8","+cmp ebp,0x10","+jae local:22","+mov ebp,0x10","+call m4[None+None*1+address]"," xor ah,ah"," xor edx,edx"," mov m1[esp+None*1+0x0],ah","-and di,0xfffc","-call m4[None+None*1+address]","-mov eax,edi","-cmp edi,0xc","-jae local:28","-mov eax,0xc","-cmp eax,m4[None+None*1+address]","-jbe local:36","+cmp ebp,m4[None+None*1+address]","+jbe local:32"," mov ecx,m4[None+None*1+address]"," test ecx,ecx","-jne local:54","+jne local:35","+jmp local:33","+xor ecx,ecx"," mov m4[None+None*1+address],ecx"," mov ecx,m4[None+None*1+address]","-jmp local:54","-xor ecx,ecx","-jmp local:33","+test ecx,ecx","+je local:55","+mov esi,m4[ecx+None*1+0x14]","+mov m4[None+None*1+address],ecx","+cmp esi,edi","+jb local:50","+mov eax,address"," mov edx,ds","-mov eax,ebp","-mov m4[None+None*1+address],ecx"," and edx,0xffff"," mov ebx,ecx","-mov eax,esi","+mov eax,edi"," call external"," mov edx,eax"," test eax,eax","-jne local:71","-mov ebx,m4[None+None*1+address]","-mov eax,m4[ecx+None*1+0x14]","-cmp eax,ebx","+jne local:70","+cmp esi,m4[None+None*1+address]"," jbe local:53","-mov m4[None+None*1+address],eax","+mov m4[None+None*1+address],esi"," mov ecx,m4[ecx+None*1+0x8]","-test ecx,ecx","-jne local:38","+jmp local:35"," cmp m1[esp+None*1+0x0],0x0","-jne local:62","-mov eax,esi","+jne local:61","+mov eax,edi"," call external"," test eax,eax","-jne local:69","-mov eax,esi","+jne local:68","+mov eax,edi"," call external"," test eax,eax","-je local:71","+je local:70"," xor cl,cl"," mov m1[esp+None*1+0x0],cl","-jmp local:24","+jmp local:26"," mov m1[esp+None*1+0x0],0x1","-jmp local:24","+jmp local:26"," xor ch,ch"," mov m1[None+None*1+address],ch"," call m4[None+None*1+address]"]},{"name":"free_","source":"nfree","reference":"0x4bc72c","earlier":"0x4bc0e6","same_instruction_shape":false,"reference_instructions":99,"earlier_instructions":50,"callers":[[4964582,"realloc_",14],[4964582,"realloc_",45]],"diff":["--- 0x4bc0e6","+++ 0x4bc72c","@@ -2,47 +2,96 @@"," push ecx"," push edx"," push esi","-push ebp"," mov esi,eax"," test eax,eax","-je local:44","+je local:94"," call m4[None+None*1+address]"," mov ecx,m4[None+None*1+address]"," test ecx,ecx","-je local:16","+je local:36"," cmp ecx,esi","-ja local:16","-cmp esi,m4[ecx+None*1+0x8]","-jb local:26","+ja local:17","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov eax,ecx","+mov ecx,m4[ecx+None*1+0x4]","+test ecx,ecx","+je local:27","+cmp ecx,esi","+ja local:27","+mov edx,m4[ecx+None*1+0x0]","+add edx,ecx","+cmp edx,esi","+ja local:76","+mov ecx,m4[eax+None*1+0x8]","+test ecx,ecx","+je local:36","+cmp ecx,esi","+ja local:36","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76"," mov ecx,m4[None+None*1+address]","-jmp local:23","+test ecx,ecx","+je local:64"," cmp ecx,esi","-ja local:22","-cmp esi,ebx","-jb local:26","+ja local:45","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov eax,ecx","+mov ecx,m4[ecx+None*1+0x4]","+test ecx,ecx","+je local:55","+cmp ecx,esi","+ja local:55","+mov edx,m4[ecx+None*1+0x0]","+add edx,ecx","+cmp edx,esi","+ja local:76","+mov ecx,m4[eax+None*1+0x8]","+test ecx,ecx","+je local:64","+cmp ecx,esi","+ja local:64","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov ecx,m4[None+None*1+address]","+jmp local:73","+cmp ecx,esi","+ja local:72","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76"," mov ecx,m4[ecx+None*1+0x8]","-mov ebx,m4[ecx+None*1+0x8]","-test ebx,ebx","-jne local:18","+test ecx,ecx","+jne local:66","+jmp local:93"," mov eax,address"," mov edx,ds"," and edx,0xffff"," mov ebx,ecx"," mov eax,esi"," call external","-mov ebp,m4[None+None*1+address]","+mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],ecx","-cmp ecx,ebp","-jae local:41","-mov eax,m4[None+None*1+address]","-mov edx,m4[ecx+None*1+0x14]","-cmp edx,eax","-jbe local:41","-mov m4[None+None*1+address],edx","+cmp ecx,edx","+jae local:91","+mov ebx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x14]","+cmp eax,ebx","+jbe local:91","+mov m4[None+None*1+address],eax"," xor ah,ah"," mov m1[None+None*1+address],ah"," call m4[None+None*1+address]","-pop ebp"," pop esi"," pop edx"," pop ecx"]},{"name":"far_strlen_","source":"prtf","reference":"0x4bd41e","earlier":"0x4bc8d4","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"fmt4hex_","source":"prtf","reference":"0x4bd4ab","earlier":"0x4bc91b","same_instruction_shape":true,"reference_instructions":48,"earlier_instructions":48,"callers":[],"diff":[]},{"name":"cget_","source":"scnf","reference":"0x4bdc3a","earlier":"0x4bd1c8","same_instruction_shape":true,"reference_instructions":5,"earlier_instructions":5,"callers":[[4968904,"cgetw_",9]],"diff":[]},{"name":"report_scan_","source":"scnf","reference":"0x4be220","earlier":"0x4bd70a","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"makelist_","source":"scnf","reference":"0x4be27e","earlier":"0x4bd768","same_instruction_shape":true,"reference_instructions":31,"earlier_instructions":31,"callers":[],"diff":[]},{"name":"radix_value_","source":"scnf","reference":"0x4bea92","earlier":"0x4bddac","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"cgetw_","source":"scnf","reference":"0x4beab9","earlier":"0x4bddd3","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"mktime_","source":"mktime","reference":"0x4beb46","earlier":"0x4bde5e","same_instruction_shape":false,"reference_instructions":143,"earlier_instructions":124,"callers":[[4972126,"time_",10],[4972126,"calc_yday_",35]],"diff":["--- 0x4bde5e","+++ 0x4beb46","@@ -4,24 +4,24 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov ebp,eax","-mov esi,0xc","+mov ebx,0xc"," mov edx,m4[ebp+None*1+0x10]"," mov eax,m4[eax+None*1+0x10]"," sar edx,0x1f","-idiv esi","-mov ebx,address","+idiv ebx","+mov ecx,address"," mov esi,m4[ebp+None*1+0x14]"," mov edi,edx"," cmp esi,0xf4fb7ea1","-jge local:19","+jge local:20"," mov eax,0xffffffff","-jmp local:117","+jmp local:135"," mov eax,m4[ebp+None*1+0x10]"," mov edx,eax","-mov ecx,0xc"," sar edx,0x1f","-idiv ecx","+idiv ebx"," add esi,eax"," test edi,edi"," jge local:30","@@ -29,13 +29,19 @@"," add edi,0xc"," jmp local:25"," test esi,esi","-jl local:17","+jl local:18"," lea eax,m4[esi+None*1+0x76c]"," call external"," test eax,eax"," je local:37","-mov ebx,address","-lea ecx,m4[esi+None*1+0x3]","+mov ecx,address","+lea edx,m4[esi+None*1+0x3]","+mov eax,edx","+sar edx,0x1f","+shl edx,0x2","+sbb eax,edx","+sar eax,0x2","+mov ebx,eax"," mov eax,esi"," shl eax,0x3"," add eax,esi","@@ -43,17 +49,29 @@"," add eax,esi"," mov edx,eax"," shl eax,0x2","-sar ecx,0x2"," add eax,edx","-lea edx,m4[eax+ecx*1+0x0]","-movsx eax,m2[ebx+edi*2+0x0]","-mov edi,m4[ebp+None*1+0xc]","+lea edx,m4[esi+None*1+0x63]","+add eax,ebx","+mov ebx,0x64","+mov m4[esp+None*1+0x0],eax","+mov eax,edx","+sar edx,0x1f","+idiv ebx","+mov edx,m4[esp+None*1+0x0]","+sub edx,eax","+mov m4[esp+None*1+0x0],edx","+lea edx,m4[esi+None*1+0x12b]","+mov ebx,0x190","+mov eax,edx","+sar edx,0x1f","+idiv ebx","+mov edx,m4[esp+None*1+0x0]","+add edx,eax","+mov eax,edi","+movsx eax,m2[ecx+eax*2+0x0]"," add eax,edx","-add edi,eax","-dec edi","-test esi,esi","-je local:56","-dec edi","+add eax,m4[ebp+None*1+0xc]","+lea edi,m4[eax+None*1+0xffffffff]"," mov edx,m4[ebp+None*1+0x8]"," mov eax,edx"," shl eax,0x4","@@ -68,41 +86,41 @@"," shl eax,0x2"," add esi,eax"," test esi,esi","-jge local:74","+jge local:92"," dec edi"," add esi,0x15180","-jmp local:69","+jmp local:87"," mov ecx,ebp"," mov edx,esi"," mov eax,edi"," xor ebx,ebx"," call external"," call external","-mov edx,m4[None+None*1+address]","-mov ebx,m4[ebp+None*1+0x20]","-add esi,edx","-test ebx,ebx","-jge local:87","+mov ebx,m4[None+None*1+address]","+mov ecx,m4[ebp+None*1+0x20]","+add esi,ebx","+test ecx,ecx","+jge local:105"," mov eax,ebp"," call external"," cmp m4[ebp+None*1+0x20],0x0","-jle local:90","+jle local:108"," sub esi,m4[None+None*1+address]"," test esi,esi","-jge local:95","+jge local:113"," dec edi"," add esi,0x15180","-jmp local:90","+jmp local:108"," cmp edi,0x63de","-jl local:17","-jne local:105","-mov eax,m4[None+None*1+address]","+jl local:18","+jne local:123","+mov ebx,m4[None+None*1+address]"," sub esi,0x15180","-test eax,eax","-jle local:17","+test ebx,ebx","+jle local:18"," test esi,esi","-jge local:116","-jmp local:17","+jge local:134","+jmp local:18"," lea eax,m4[edi+None*1+0xffff9c21]"," mov edi,eax"," shl edi,0x3","@@ -115,6 +133,7 @@"," sub edi,eax"," add esi,edi"," mov eax,esi","+add esp,0x4"," pop ebp"," pop edi"," pop esi"]},{"name":"docloseall_","source":"ioexit","reference":"0x4bedaf","earlier":"0x4c1118","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"tolower_","source":"tolower","reference":"0x4bfd9d","earlier":"0x4be606","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[[4974086,"radix_value_",6]],"diff":[]},{"name":"open_","source":"openwnt","reference":"0x4bfdab","earlier":"0x4be614","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"sopen_","source":"openwnt","reference":"0x4bfdcf","earlier":"0x4be638","same_instruction_shape":false,"reference_instructions":16,"earlier_instructions":146,"callers":[[4974136,"open_",11]],"diff":["--- 0x4be638","+++ 0x4bfdcf","@@ -1,145 +1,15 @@"," push ebx"," push ecx"," push edx","-push esi","-push edi","-push ebp","-sub esp,0xc","-mov ebp,m4[esp+None*1+0x28]","+sub esp,0x4","+lea eax,m4[esp+None*1+0x20]","+mov ecx,esp","+mov ebx,m4[esp+None*1+0x1c]","+mov edx,m4[esp+None*1+0x18]","+mov m4[esp+None*1+0x0],eax","+mov eax,m4[esp+None*1+0x14]"," call external","-test eax,eax","-je local:15","-mov eax,0xb","-call external","-mov eax,0xffffffff","-jmp local:138","-mov esi,m4[esp+None*1+0x2c]","-lea ebx,m4[esp+None*1+0x8]","-and esi,0x7","-lea edx,m4[esp+None*1+0x4]","-mov eax,esi","-call external","-mov edx,esp","-mov eax,m4[esp+None*1+0x30]","-call external","-mov edx,m4[None+None*1+address]","-mov ebx,0x80","-test edx,edx","-je local:43","-mov edx,address","-mov eax,ebp","-call external","-test eax,eax","-jne local:43","-call external","-call m4[None+None*1+address]","-push 0xffffffff","-push eax","-push 0x0","-mov edx,0x2000","-mov ebx,eax","-call m4[None+None*1+address]","-add esp,0xc","-jmp local:110","-mov ah,m1[esp+None*1+0x2c]","-test ah,0x20","-je local:72","-lea eax,m4[esp+None*1+0x34]","-add eax,0x4","-mov eax,m4[eax+None*1+0xfffffffc]","-mov m4[esp+None*1+0x8],eax","-mov eax,m4[None+None*1+address]","-mov ecx,m4[esp+None*1+0x8]","-not eax","-and ecx,eax","-mov m4[esp+None*1+0x8],ecx","-test m1[esp+None*1+0x9],0x1","-je local:60","-test m1[esp+None*1+0x8],0x80","-jne local:60","-mov ebx,0x1","-test m1[esp+None*1+0x2d],0x4","-je local:65","-mov edi,0x1","-mov eax,edi","-jmp local:75","-test m1[esp+None*1+0x2c],0x40","-je local:70","-mov edi,0x2","-mov eax,0x5","-jmp local:75","-mov edi,0x4","-jmp local:74","-test ah,0x40","-jne local:68","-mov eax,0x3","-push 0x0","-push ebx","-push eax","-push 0x0","-mov eax,m4[esp+None*1+0x10]","-push eax","-mov edx,m4[esp+None*1+0x18]","-push edx","-push ebp","-call external","-cmp eax,0xffffffff","-jne local:103","-test m1[esp+None*1+0x2c],0x20","-je local:99","-push 0x0","-push ebx","-push edi","-push 0x0","-mov ebx,m4[esp+None*1+0x10]","-push ebx","-mov ecx,m4[esp+None*1+0x18]","-push ecx","-push ebp","-call external","-cmp eax,0xffffffff","-jne local:103","-call external","-jmp local:138","-call m4[None+None*1+address]","-mov ebx,eax","-call external","-xor edx,edx","-test eax,eax","-je local:110","-mov edx,0x2000","-cmp esi,0x2","-jne local:114","-or dl,0x3","-jmp local:121","-test esi,esi","-jne local:118","-or dl,0x1","-jmp local:121","-cmp esi,0x1","-jne local:121","-or dl,0x2","-test m1[esp+None*1+0x2c],0x10","-je local:124","-or dl,0x80","-mov eax,edx","-mov ch,m1[esp+None*1+0x2d]","-or al,0x40","-test ch,0x3","-je local:132","-test ch,0x2","-je local:135","-jmp local:134","-cmp m4[None+None*1+address],0x200","-jne local:135","-mov edx,eax","-mov eax,ebx","-call external","-mov eax,ebx","-add esp,0xc","-pop ebp","-pop edi","-pop esi","+add esp,0x4"," pop edx"," pop ecx"," pop ebx"]},{"name":"sqrt_","source":"sqrt387","reference":"0x4c0562","earlier":"0x4beb04","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"utoa_","source":"itoa","reference":"0x4c1d18","earlier":"0x4bf397","same_instruction_shape":true,"reference_instructions":35,"earlier_instructions":35,"callers":[[4977559,"itoa_",9]],"diff":[]},{"name":"itoa_","source":"itoa","reference":"0x4c1d61","earlier":"0x4bf3e1","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[[4977633,"fmt4hex_",9]],"diff":[]},{"name":"calc_yday_","source":"timeutil","reference":"0x4c2011","earlier":"0x4c0425","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"time_less_","source":"timeutil","reference":"0x4c23e7","earlier":"0x4c0801","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"getche_","source":"gtchewnt","reference":"0x4c303d","earlier":"0x4c1c02","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"realloc_","source":"nrealloc","reference":"0x4c3417","earlier":"0x4c227b","same_instruction_shape":true,"reference_instructions":57,"earlier_instructions":57,"callers":[],"diff":[]},{"name":"getch_","source":"getchwnt","reference":"0x4c4ce0","earlier":"0x4c260d","same_instruction_shape":false,"reference_instructions":43,"earlier_instructions":43,"callers":[[4990477,"getche_",3]],"diff":["--- 0x4c260d","+++ 0x4c4ce0","@@ -21,17 +21,17 @@"," mov eax,esp"," push eax"," push ebx","-call external","+call m4[None+None*1+address]"," push 0x0"," push ebx","-call external","+call m4[None+None*1+address]"," mov eax,ebx"," call external"," mov ecx,m4[esp+None*1+0x0]"," push ecx"," push ebx"," mov esi,eax","-call external","+call m4[None+None*1+address]"," xor eax,eax"," call m4[None+None*1+address]"," mov eax,esi"]},{"name":"putch_","source":"putchwnt","reference":"0x4c4d5c","earlier":"0x4c2683","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":33,"callers":[[4990595,"getche_",9]],"diff":["--- 0x4c2683","+++ 0x4c4d5c","@@ -22,7 +22,7 @@"," lea edx,m4[esp+None*1+0x10]"," push edx"," push eax","-call external","+call m4[None+None*1+address]"," mov eax,0x1"," call m4[None+None*1+address]"," mov eax,ebx"]}]},{"source":"extracted/cd_1996_09_us_2019_repack/files/FILES/APACHE95.EXE","compile_stamp":"Sep 18 1996 02:58:13","mapped":325,"same_instruction_shape":215,"conflicts":[],"functions":[{"name":"save_quick_start_game_runs_","source":"E:\\apache\\source\\runs.c","reference":"0x401ed0","earlier":"0x411120","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[],"diff":[]},{"name":"process_events_","source":"E:\\apache\\source\\events.c","reference":"0x402b40","earlier":"0x411de0","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"check_for_user_abort_","source":"E:\\apache\\source\\keys.c","reference":"0x403958","earlier":"0x413704","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"draw_menu_11x15_","source":"E:\\apache\\source\\menus\\fonts.c","reference":"0x404790","earlier":"0x4138a0","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_menu_11x18_","source":"E:\\apache\\source\\menus\\fonts.c","reference":"0x4047f4","earlier":"0x413904","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"get_game_flow_","source":"E:\\apache\\source\\menus\\gameflow.c","reference":"0x404b08","earlier":"0x413c10","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4275216,"load_multi_player_mission_",4]],"diff":[]},{"name":"setup_menus_","source":"E:\\apache\\source\\menus\\menus.c","reference":"0x405030","earlier":"0x414100","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"set_special_exit_button_","source":"E:\\apache\\source\\menus\\notify.c","reference":"0x405070","earlier":"0x414140","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4276544,"notify_exiting_map_screen_",1]],"diff":[]},{"name":"create_menu_objects_","source":"E:\\apache\\source\\menus\\objects.c","reference":"0x4055e0","earlier":"0x414700","same_instruction_shape":false,"reference_instructions":75,"earlier_instructions":66,"callers":[[4278016,"setup_menus_",1]],"diff":["--- 0x414700","+++ 0x4055e0","@@ -8,10 +8,10 @@"," push 0x0"," mov edx,m4[None+None*1+address]"," push edx","+mov ecx,m4[None+None*1+address]","+push ecx"," mov ebx,m4[None+None*1+address]"," push ebx","-mov ecx,m4[None+None*1+address]","-push ecx"," mov esi,m4[None+None*1+address]"," push esi"," push 0x1","@@ -39,7 +39,7 @@"," push 0x13"," push 0x22"," push address","-push 0x3a","+push 0x3b"," push 0x7"," push 0x0"," push 0x14","@@ -52,7 +52,16 @@"," add esp,0x2c"," mov m4[None+None*1+address],eax"," test ebp,ebp","-je local:57","+jne local:64","+mov eax,m4[None+None*1+address]","+call external","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," call external"," call external"," mov eax,m4[None+None*1+address]"]},{"name":"update_preferences_screen_","source":"E:\\apache\\source\\menus\\prefscrn.c","reference":"0x407fec","earlier":"0x4171d0","same_instruction_shape":false,"reference_instructions":177,"earlier_instructions":177,"callers":[[4288976,"setup_menus_",7]],"diff":["--- 0x4171d0","+++ 0x407fec","@@ -11,44 +11,25 @@"," call external"," mov edx,m4[None+None*1+address]"," test edx,edx","-jne local:21","-mov edx,0x1","-mov eax,m4[None+None*1+address]","-call external","-mov eax,m4[None+None*1+address]","-xor edx,edx","-call external","-jmp local:35","+je local:117"," cmp edx,0x1","-jne local:30","+jne local:123"," mov eax,m4[None+None*1+address]"," xor edx,edx"," call external"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external","-jmp local:35","-push 0x7ed","-push address","-push address","-call external","-add esp,0xc"," mov eax,m4[None+None*1+address]"," test eax,eax","-jbe local:46","+jbe local:129"," cmp eax,0x2","-jne local:52","+jne local:33"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","-jmp local:51","-mov eax,m4[None+None*1+address]","-xor edx,edx","-call external","-mov edx,0x1","-mov eax,m4[None+None*1+address]"," call external"," mov edx,m4[None+None*1+address]"," lea eax,m4[None+edx*4+0x0]","@@ -58,40 +39,25 @@"," add edx,edx"," call external"," cmp m4[None+None*1+address],0x0","-je local:67","+je local:135"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","-jmp local:72","-mov eax,m4[None+None*1+address]","-xor edx,edx","-call external","-mov edx,0x1","-mov eax,m4[None+None*1+address]"," call external"," cmp m4[None+None*1+address],0x0","-je local:81","+je local:141"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","-jmp local:86","-mov eax,m4[None+None*1+address]","-xor edx,edx"," call external","+cmp m4[None+None*1+address],0x0","+je local:147"," mov edx,0x1"," mov eax,m4[None+None*1+address]","-call external","-cmp m4[None+None*1+address],0x0","-je local:92","-mov edx,0x1","-mov eax,m4[None+None*1+address]","-jmp local:94","-mov eax,m4[None+None*1+address]","-xor edx,edx"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","@@ -103,58 +69,38 @@"," xor edx,edx"," call external"," cmp m4[None+None*1+address],0x0","-je local:114","+je local:153"," cmp m4[None+None*1+address],0x0","-je local:111","-mov edx,0x1","-mov eax,m4[None+None*1+address]","-jmp local:116","-mov edx,0x1","-mov eax,m4[None+None*1+address]","-jmp local:116","+je local:150"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:121","+je local:81"," mov edx,0x1"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," test eax,eax","-jbe local:129","+jbe local:156"," cmp eax,0x6","-je local:131","-jmp local:134","-mov edx,address","-jmp local:132","+jne local:91"," mov edx,address"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," test eax,eax","-jbe local:140","+jbe local:158"," cmp eax,0x5","-je local:142","-jmp local:145","-mov edx,address","-jmp local:143","+jne local:99"," mov edx,address"," mov eax,m4[None+None*1+address]"," call external"," mov eax,m4[None+None*1+address]"," cmp eax,0x4","-ja local:160","+ja local:106"," jmp m4[None+eax*4+address]","-mov edx,address","-jmp local:158","-mov edx,address","-jmp local:158","-mov edx,address","-jmp local:158","-mov edx,address","-jmp local:158"," mov edx,address"," mov eax,m4[None+None*1+address]"," call external","@@ -165,7 +111,61 @@"," call external"," mov edx,0x1"," mov eax,m4[None+None*1+address]","-jmp local:173","+call external","+pop edx","+pop ebx","+ret ","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+call external","+mov eax,m4[None+None*1+address]","+xor edx,edx","+jmp local:21","+push 0x814","+push address","+push address","+call external","+add esp,0xc","+jmp local:22","+mov eax,m4[None+None*1+address]","+xor edx,edx","+call external","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:32","+mov eax,m4[None+None*1+address]","+xor edx,edx","+call external","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:47","+mov eax,m4[None+None*1+address]","+xor edx,edx","+call external","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:55","+mov eax,m4[None+None*1+address]","+xor edx,edx","+jmp local:60","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:76","+mov edx,0x1","+mov eax,m4[None+None*1+address]","+jmp local:76","+mov edx,address","+jmp local:89","+mov edx,address","+jmp local:97","+mov edx,address","+jmp local:104","+mov edx,address","+jmp local:104","+mov edx,address","+jmp local:104","+mov edx,address","+jmp local:104"," mov eax,m4[None+None*1+address]"," xor edx,edx"," call external"]},{"name":"create_text_","source":"E:\\apache\\source\\menus\\prefscrn.c","reference":"0x408320","earlier":"0x4174b4","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"notify_modem_type_","source":"E:\\apache\\source\\menus\\modemprf.c","reference":"0x40bbcc","earlier":"0x41ac04","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"transmit_message_","source":"E:\\apache\\source\\menus\\modemprf.c","reference":"0x40f7f4","earlier":"0x41e75c","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"do_takeoff_","source":"E:\\apache\\source\\menus\\takeoff.c","reference":"0x410704","earlier":"0x41f694","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"initialise_debrief_","source":"E:\\apache\\source\\menus\\debrief\\debrief.c","reference":"0x412be0","earlier":"0x421b50","same_instruction_shape":false,"reference_instructions":106,"earlier_instructions":106,"callers":[[4332368,"setup_menus_",3]],"diff":["--- 0x421b50","+++ 0x412be0","@@ -17,10 +17,10 @@"," mov m4[edx+None*1+address],eax"," inc eax"," add edx,0x4","-cmp eax,0x3fa","+cmp eax,0x522"," jl local:16","-mov ebx,0x40","-mov ecx,0x6f","+mov ecx,0x40","+mov ebx,0x6f"," mov esi,0x9c"," mov ebp,0x15e"," mov eax,0x198","@@ -34,8 +34,8 @@"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],edx","+mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],esi"," mov m4[None+None*1+address],esi"," mov m4[None+None*1+address],esi","@@ -84,13 +84,13 @@"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],edi"," mov edx,0x99","-mov ecx,0x10b","+mov ebx,0x10b"," mov ebp,0xd8"," mov eax,0xb"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],edx","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],ebp"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],eax"]},{"name":"clear_debrief_record_","source":"E:\\apache\\source\\menus\\debrief\\debrief.c","reference":"0x4131ac","earlier":"0x4220f4","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"check_and_count_mobile_target_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\bill.c","reference":"0x414c44","earlier":"0x423a04","same_instruction_shape":false,"reference_instructions":10,"earlier_instructions":7,"callers":[[4340228,"record_mobile_object_destroyed_",9],[4340228,"record_remote_mobile_object_destroyed_",12]],"diff":["--- 0x423a04","+++ 0x414c44","@@ -1,7 +1,10 @@"," cmp m4[eax+None*1+0x38],0x1","-jne external","+jne local:5"," mov eax,m4[eax+None*1+0x3c]"," test m1[eax+None*1+0x1c5],0x20","+jne local:6","+ret ","+dec m4[None+None*1+address]","+cmp m4[None+None*1+address],0x0"," je external","-dec m4[None+None*1+address]","-jmp external","+ret "]},{"name":"record_mobile_object_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414e58","earlier":"0x423bb8","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"record_remote_mobile_object_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414e78","earlier":"0x423bd8","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"actually_add_debrief_record_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414ef0","earlier":"0x423c50","same_instruction_shape":false,"reference_instructions":135,"earlier_instructions":124,"callers":[[4340816,"record_mobile_object_destroyed_",7],[4340816,"record_remote_mobile_object_destroyed_",10]],"diff":["--- 0x423c50","+++ 0x414ef0","@@ -8,46 +8,33 @@"," mov m4[esp+None*1+0x0],ebx"," mov m4[esp+None*1+0x4],ecx"," test esi,esi","-je local:92","+je local:103"," mov ebx,esi","+xor eax,eax"," xor edx,edx","-xor eax,eax","-cmp m4[ebx+eax*1+0x0],0x0","-jne local:50","+lea ecx,m4[esi+eax*1+0x0]","+cmp m4[ecx+None*1+0x0],0x0","+jne local:37"," test edx,edx","-jle local:34","+jle local:79"," lea ecx,m4[edx+None*1+0xffffffff]"," lea eax,m4[None+ecx*4+0x0]"," sub eax,ecx","-mov ebp,m4[ebx+eax*8+0x0]","-cmp edi,ebp","-jne local:34","-cmp ebp,0x2","-jne local:34","-dec edx","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx"," shl eax,0x3","-lea ebx,m4[esi+eax*1+0x0]","-mov eax,m4[esp+None*1+0x8]","-add m4[ebx+None*1+0x4],eax","-jmp local:118","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx","-lea edx,m4[None+eax*8+0x0]","-lea eax,m4[esi+edx*1+0x0]","+add eax,esi","+mov ecx,m4[eax+None*1+0x0]","+cmp edi,ecx","+jne local:79","+cmp ecx,0x2","+jne local:79"," mov edx,m4[esp+None*1+0x8]","-mov m4[eax+None*1+0x0],edi","-mov m4[eax+None*1+0x4],edx","-mov edx,m4[esp+None*1+0x0]","-mov m4[eax+None*1+0x8],edx","-mov edx,m4[esp+None*1+0x4]","-mov m4[eax+None*1+0xc],edx","-mov edx,m4[esp+None*1+0x1c]","-mov m4[eax+None*1+0x10],edx","-mov edx,m4[esp+None*1+0x20]","-mov m4[eax+None*1+0x14],edx","-jmp local:117","+add m4[eax+None*1+0x4],edx","+mov m4[None+None*1+address],esi","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret 0x8"," add eax,0x18"," inc edx"," cmp eax,0x5dc0","@@ -79,11 +66,35 @@"," mov m4[eax+None*1+0x0],0x0"," add eax,0x18"," cmp eax,edx","-jne local:78","+jne local:65","+mov ebp,m4[None+None*1+address]","+inc ebp","+mov esi,ecx","+mov m4[None+None*1+address],ebp","+mov m4[None+None*1+address],esi","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret 0x8","+lea eax,m4[None+edx*4+0x0]","+sub eax,edx","+shl eax,0x3","+add eax,esi","+mov edx,m4[esp+None*1+0x8]","+mov m4[eax+None*1+0x0],edi","+mov m4[eax+None*1+0x4],edx","+mov edx,m4[esp+None*1+0x0]","+mov m4[eax+None*1+0x8],edx","+mov edx,m4[esp+None*1+0x4]"," mov ebx,m4[None+None*1+address]","+mov m4[eax+None*1+0xc],edx","+mov edx,m4[esp+None*1+0x1c]"," inc ebx","-mov esi,ecx","+mov m4[eax+None*1+0x10],edx","+mov edx,m4[esp+None*1+0x20]"," mov m4[None+None*1+address],ebx","+mov m4[eax+None*1+0x14],edx"," mov m4[None+None*1+address],esi"," add esp,0xc"," pop ebp","@@ -114,7 +125,7 @@"," mov m4[eax+None*1+0x0],0x0"," add eax,0x18"," cmp eax,edx","-jne local:113","+jne local:124"," inc m4[None+None*1+address]"," mov m4[None+None*1+address],esi"," add esp,0xc"]},{"name":"select_log_","source":"E:\\apache\\source\\menus\\logs\\log.c","reference":"0x4159e8","earlier":"0x424760","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"load_logs_","source":"E:\\apache\\source\\menus\\logs\\log.c","reference":"0x415a60","earlier":"0x4247d4","same_instruction_shape":false,"reference_instructions":79,"earlier_instructions":79,"callers":[[4343764,"setup_menus_",2]],"diff":["--- 0x4247d4","+++ 0x415a60","@@ -8,31 +8,13 @@"," mov eax,address"," call external"," test eax,eax","-je local:29","-mov ecx,0x160","-mov ebx,address","-mov eax,address","-xor edx,edx","-call external","-mov ecx,eax","-test eax,eax","-je local:30","-push address","-push address","-push eax","-mov ebx,0x165","-call external","-add esp,0xc","-mov edx,address","-mov eax,ecx","-call external","-jmp local:30","+jne local:61"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," mov edi,address"," call external"," xor esi,esi","-xor ebp,ebp","+mov ebp,address"," push esi"," push address"," lea eax,m4[esp+None*1+0x8]","@@ -42,15 +24,15 @@"," mov eax,esp"," call external"," test eax,eax","-je local:64","+je local:46"," mov ecx,0x177","-mov ebx,address"," mov eax,esp","-mov edx,ebp","+mov ebx,ebp","+xor edx,edx"," call external"," mov ecx,eax"," test eax,eax","-je local:64","+je local:46"," push edi"," lea eax,m4[esp+None*1+0x68]"," push eax","@@ -59,13 +41,13 @@"," mov ebx,0x17c"," call external"," add esp,0x10","-mov edx,address","+mov edx,ebp"," mov eax,ecx"," call external"," inc esi"," add edi,0x10"," cmp esi,0xa","-jl local:35","+jl local:17"," call external"," mov eax,address"," call external","@@ -77,3 +59,21 @@"," pop ecx"," pop ebx"," ret ","+mov ecx,0x160","+mov ebx,address","+mov eax,address","+xor edx,edx","+call external","+mov ecx,eax","+test eax,eax","+je local:12","+push address","+push address","+push eax","+mov ebx,0x165","+call external","+add esp,0xc","+mov edx,address","+mov eax,ecx","+call external","+jmp local:12"]},{"name":"set_map_tool_none_","source":"E:\\apache\\source\\menus\\maps\\umap.c","reference":"0x41a1e4","earlier":"0x428d24","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"initialise_map_2d_viewport_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41a900","earlier":"0x4294b0","same_instruction_shape":false,"reference_instructions":53,"earlier_instructions":53,"callers":[[4363440,"display_rubber_waypoint_line_",9]],"diff":["--- 0x4294b0","+++ 0x41a900","@@ -9,34 +9,34 @@"," mov esi,eax"," mov eax,m4[None+None*1+address]"," call external","-mov ebx,m4[None+None*1+address]","-imul ebx,esi","+mov ecx,m4[None+None*1+address]","+imul ecx,esi"," mov edi,eax","-mov edx,ebx","-mov eax,ebx","+mov edx,ecx","+mov eax,ecx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","-imul ecx,edi","+mov ebx,m4[None+None*1+address]","+imul ebx,edi"," mov ebp,m4[None+None*1+address]","-mov edx,ecx","+mov edx,ebx"," sub ebp,eax","-mov eax,ecx","+mov eax,ebx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1"," mov edx,m4[None+None*1+address]"," sub edx,eax","-add ecx,edx","+add ebx,edx","+push ebx","+add ecx,ebp"," push ecx","-add ebx,ebp","-push ebx"," push edx"," xor eax,eax","+lea ebx,m4[esi+None*1+0x1]","+push ebp"," lea ecx,m4[edi+None*1+0x1]","-push ebp","-lea ebx,m4[esi+None*1+0x1]"," xor edx,edx"," call external"," mov eax,m4[None+None*1+address]"]},{"name":"get_map_world_coordinates_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41acb0","earlier":"0x42983c","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"get_map_grid_coordinates_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41ace0","earlier":"0x42986c","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"add_waypoint_redraw_letter_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ebd8","earlier":"0x42d694","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"add_waypoint_draw_drone_position_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ec94","earlier":"0x42d750","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"notify_waypoint_tool_info_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ed18","earlier":"0x42d7d4","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"display_rubber_waypoint_line_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ed5c","earlier":"0x42d818","same_instruction_shape":true,"reference_instructions":102,"earlier_instructions":102,"callers":[],"diff":[]},{"name":"update_waypoint_information_box_","source":"E:\\apache\\source\\menus\\maps\\umapinfo.c","reference":"0x4211a0","earlier":"0x42fc50","same_instruction_shape":false,"reference_instructions":321,"earlier_instructions":309,"callers":[[4389968,"notify_waypoint_tool_info_",7]],"diff":["--- 0x42fc50","+++ 0x4211a0","@@ -7,294 +7,33 @@"," sub esp,0x74"," mov esi,m4[None+None*1+address]"," test esi,esi","-je local:271","-call external","-mov eax,esi","-call external","-mov edx,eax","-mov ebp,eax","-mov eax,esi","-call external","-mov ebx,m4[esi+None*1+0xc]","-mov edi,eax","-cmp ebx,0x4","-jne local:41","-mov edx,m4[esi+None*1+0x14]","-mov eax,m4[esi+None*1+0x10]","-call external","-test eax,eax","-je local:46","-mov ax,m2[eax+None*1+0x0]","-mov edx,m4[None+None*1+address]","-and eax,0xffff","-mov eax,m4[edx+eax*4+0x0]","-add eax,0x58","-push eax","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-jmp local:58","-test eax,eax","-je local:50","-test edx,edx","-je local:50","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-jmp local:54","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-lea eax,m4[esp+None*1+0x8]","-push eax","-call external","-add esp,0xc","-mov edx,esp","-lea ecx,m4[esp+None*1+0x64]","-mov eax,m4[None+None*1+address]","-lea ebx,m4[esp+None*1+0x68]","-call external","-xor edx,edx","-xor eax,eax","-call external","+jne local:48","+mov edx,address","+mov eax,m4[None+None*1+address]","+call external","+xor ecx,ecx"," xor ebx,ebx","-mov edx,m4[esp+None*1+0x68]","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,m4[esp+None*1+0x64]","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:67","-lea ecx,m4[esp+None*1+0x64]","-mov edx,0xfffffff","-lea ebx,m4[esp+None*1+0x68]","-mov eax,edx","-call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:15","+mov edx,address"," xor ebx,ebx","-mov edx,m4[esp+None*1+0x68]","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,m4[esp+None*1+0x64]","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:82","-mov eax,esi","-lea ecx,m4[esp+None*1+0x64]","-call external","-mov m4[esp+None*1+0x68],eax","-mov eax,esi","-lea ebx,m4[esp+None*1+0x68]","-call external","-mov m4[esp+None*1+0x64],eax","-mov edx,eax","-mov eax,m4[esp+None*1+0x68]","-call external","-mov eax,m4[esp+None*1+0x68]","-mov m4[None+None*1+address],eax","-mov eax,m4[esp+None*1+0x64]","-mov m4[None+None*1+address],eax","-mov eax,esi","-call external","-mov edx,eax","-sar edx,0x1f","-shl edx,0x8","-sbb eax,edx","-sar eax,0x8","-mov m4[None+None*1+address],eax","-mov eax,esi","-call external","-mov edx,eax","-mov ebx,0x1b0","-sar edx,0x1f","-idiv ebx","-mov m4[None+None*1+address],eax","-call external","-call external","-mov edx,eax","-mov ebx,0xc8","-sar edx,0x1f","-idiv ebx","-mov m4[None+None*1+address],eax","-cmp m4[esi+None*1+0x1c],0xffffffff","-jne local:136","-push address","-lea eax,m4[esp+None*1+0x4]","-push eax","-call external","-add esp,0x8","-jmp local:181","-mov edx,m4[None+None*1+address]","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx","-shl eax,0x3","-add eax,edx","-mov ebx,m4[esi+None*1+0x1c]","-shl eax,0x3","-add ebx,eax","-mov ecx,0xafc80","-mov edx,ebx","-mov eax,ebx","-sar edx,0x1f","-idiv ecx","-mov edx,0xafc80","-mov ecx,eax","-mov m4[esp+None*1+0x70],edx","-mov edx,ebx","-mov eax,ebx","-sar edx,0x1f","-idiv m4[esp+None*1+0x70]","-mov m4[esp+None*1+0x70],0x2ee0","-mov eax,edx","-sar edx,0x1f","-idiv m4[esp+None*1+0x70]","-mov edx,0x2ee0","-mov m4[esp+None*1+0x6c],eax","-mov m4[esp+None*1+0x70],edx","-mov eax,ebx","-mov edx,ebx","-mov ebx,m4[esp+None*1+0x70]","-sar edx,0x1f","-idiv ebx","-mov ebx,0xc8","-mov eax,edx","-sar edx,0x1f","-idiv ebx","-push eax","-mov eax,m4[esp+None*1+0x70]","-push eax","-push ecx","-push address","-lea eax,m4[esp+None*1+0x10]","-push eax","-call external","-add esp,0x14","-mov edx,esp","-mov eax,m4[None+None*1+address]","-call external","-mov eax,m4[esi+None*1+0x20]","-mov edx,eax","-mov ebx,0x14a000","-sar edx,0x1f","-idiv ebx","-push eax","-mov eax,m4[esi+None*1+0x20]","-mov edx,eax","-sar edx,0x1f","-shl edx,0x8","-sbb eax,edx","-sar eax,0x8","-push eax","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,esp","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esi","-call external","-mov m4[None+None*1+address],eax","-cmp eax,0x2","-jne local:231","-test ebp,ebp","-je local:217","-mov eax,ebp","-call external","-cmp eax,0x3","-jne local:217","-mov m4[None+None*1+address],0xa","-test edi,edi","-je local:230","-mov eax,edi","-call external","-cmp eax,0x4","-jne local:224","-mov m4[None+None*1+address],0x9","-mov eax,edi","-call external","-test eax,eax","-jne local:231","-mov m4[None+None*1+address],0x8","-jmp local:231","-mov m4[None+None*1+address],0x7","-mov eax,m4[None+None*1+address]","-cmp eax,0xa","-ja local:265","-jmp m4[None+eax*4+address]","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-push 0x206","-push address","-push address","-call external","-add esp,0xc","-jmp local:298","-mov edx,address","-mov eax,m4[None+None*1+address]","-call external","-xor ebx,ebx","-xor ecx,ecx","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:276","-mov edx,address","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","+mov eax,m4[None+None*1+address]","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","@@ -307,3 +46,276 @@"," pop ecx"," pop ebx"," ret ","+call external","+mov eax,esi","+call external","+mov edx,eax","+mov ebp,eax","+mov eax,esi","+call external","+mov ecx,m4[esi+None*1+0xc]","+mov edi,eax","+cmp ecx,0x4","+jne local:218","+mov edx,m4[esi+None*1+0x14]","+mov eax,m4[esi+None*1+0x10]","+call external","+test eax,eax","+je local:210","+mov ax,m2[eax+None*1+0x0]","+mov edx,m4[None+None*1+address]","+and eax,0xffff","+mov eax,m4[edx+eax*4+0x0]","+add eax,0x58","+push eax","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,esp","+lea ecx,m4[esp+None*1+0x68]","+mov eax,m4[None+None*1+address]","+lea ebx,m4[esp+None*1+0x64]","+call external","+xor edx,edx","+xor eax,eax","+call external","+xor ecx,ecx","+mov edx,m4[esp+None*1+0x64]","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,m4[esp+None*1+0x68]","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:87","+lea ecx,m4[esp+None*1+0x68]","+mov edx,0xfffffff","+lea ebx,m4[esp+None*1+0x64]","+mov eax,edx","+call external","+xor ecx,ecx","+mov edx,m4[esp+None*1+0x64]","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,m4[esp+None*1+0x68]","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:102","+mov eax,esi","+lea ecx,m4[esp+None*1+0x68]","+call external","+mov m4[esp+None*1+0x64],eax","+mov eax,esi","+lea ebx,m4[esp+None*1+0x64]","+call external","+mov m4[esp+None*1+0x68],eax","+mov edx,eax","+mov eax,m4[esp+None*1+0x64]","+call external","+mov eax,m4[esp+None*1+0x64]","+mov m4[None+None*1+address],eax","+mov eax,m4[esp+None*1+0x68]","+mov m4[None+None*1+address],eax","+mov eax,esi","+call external","+mov edx,eax","+sar edx,0x1f","+shl edx,0x8","+sbb eax,edx","+sar eax,0x8","+mov m4[None+None*1+address],eax","+mov eax,esi","+call external","+mov edx,eax","+mov ecx,0x1b0","+sar edx,0x1f","+idiv ecx","+mov m4[None+None*1+address],eax","+call external","+call external","+mov edx,eax","+mov ecx,0xc8","+sar edx,0x1f","+idiv ecx","+mov m4[None+None*1+address],eax","+cmp m4[esi+None*1+0x1c],0xffffffff","+jne local:240","+push address","+lea eax,m4[esp+None*1+0x4]","+push eax","+call external","+add esp,0x8","+mov edx,esp","+mov eax,m4[None+None*1+address]","+call external","+mov eax,m4[esi+None*1+0x20]","+mov edx,eax","+mov ecx,0x14a000","+sar edx,0x1f","+idiv ecx","+push eax","+mov eax,m4[esi+None*1+0x20]","+mov edx,eax","+sar edx,0x1f","+shl edx,0x8","+sbb eax,edx","+sar eax,0x8","+push eax","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,esp","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esi","+call external","+mov m4[None+None*1+address],eax","+cmp eax,0x2","+jne local:203","+test ebp,ebp","+je local:191","+mov eax,ebp","+call external","+cmp eax,0x3","+jne local:191","+mov m4[None+None*1+address],0xa","+test edi,edi","+je local:286","+mov eax,edi","+call external","+cmp eax,0x4","+jne local:198","+mov m4[None+None*1+address],0x9","+mov eax,edi","+call external","+test eax,eax","+jne local:203","+mov m4[None+None*1+address],0x8","+mov eax,m4[None+None*1+address]","+cmp eax,0xa","+ja local:315","+jmp m4[None+eax*4+address]","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+test eax,eax","+je local:231","+test edx,edx","+je local:231","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+mov edx,m4[None+None*1+address]","+lea eax,m4[None+edx*4+0x0]","+sub eax,edx","+shl eax,0x3","+add eax,edx","+mov ecx,m4[esi+None*1+0x1c]","+shl eax,0x3","+add ecx,eax","+mov ebx,0xafc80","+mov edx,ecx","+mov eax,ecx","+sar edx,0x1f","+idiv ebx","+mov edx,0xafc80","+mov ebx,eax","+mov m4[esp+None*1+0x70],edx","+mov edx,ecx","+mov eax,ecx","+sar edx,0x1f","+idiv m4[esp+None*1+0x70]","+mov m4[esp+None*1+0x70],0x2ee0","+mov eax,edx","+sar edx,0x1f","+idiv m4[esp+None*1+0x70]","+mov edx,0x2ee0","+mov m4[esp+None*1+0x6c],eax","+mov m4[esp+None*1+0x70],edx","+mov eax,ecx","+mov edx,ecx","+mov ecx,m4[esp+None*1+0x70]","+sar edx,0x1f","+idiv ecx","+mov ecx,0xc8","+mov eax,edx","+sar edx,0x1f","+idiv ecx","+push eax","+mov eax,m4[esp+None*1+0x70]","+push eax","+push ebx","+push address","+lea eax,m4[esp+None*1+0x10]","+push eax","+call external","+add esp,0x14","+jmp local:155","+mov m4[None+None*1+address],0x7","+jmp local:203","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+push 0x206","+push address","+push address","+call external","+add esp,0xc","+jmp local:37"]},{"name":"set_waypoint_button_letter_","source":"E:\\apache\\source\\menus\\maps\\umapinit.c","reference":"0x422dc0","earlier":"0x43179c","same_instruction_shape":true,"reference_instructions":9,"earlier_instructions":9,"callers":[],"diff":[]},{"name":"create_mission_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x423794","earlier":"0x432150","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":28,"callers":[[4399440,"load_multi_player_mission_",1]],"diff":["--- 0x432150","+++ 0x423794","@@ -17,12 +17,19 @@"," mov m4[ecx+None*1+0x10],0x0"," mov m4[ecx+None*1+0x0],eax"," test eax,eax","-je local:21","-mov m4[eax+None*1+0x4],ecx","+jne local:27","+mov eax,esi"," mov m4[None+None*1+address],esi","-mov eax,esi"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+mov m4[eax+None*1+0x4],ecx","+mov eax,esi","+mov m4[None+None*1+address],esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"load_mission_data_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x4245d0","earlier":"0x432f58","same_instruction_shape":false,"reference_instructions":179,"earlier_instructions":183,"callers":[[4403032,"load_multi_player_mission_",7]],"diff":["--- 0x432f58","+++ 0x4245d0","@@ -6,103 +6,43 @@"," push ebp"," sub esp,0x3ec"," mov ebp,eax","-mov edx,address","-mov ebx,0xffffffff","-xor ecx,ecx","-mov m4[None+None*1+address],edx"," call external"," call external"," call external"," call external"," call external","-call external","-call external","-call external","-call external","-mov m4[None+None*1+address],ebx","+mov edx,0xffffffff","+mov esi,m4[ebp+None*1+0x4c]","+xor ecx,ecx","+mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],ecx","-mov esi,m4[ebp+None*1+0x4c]"," mov m4[None+None*1+address],ecx"," cmp esi,0x5","-jb local:32","-jbe local:86","-cmp esi,0x6","-je local:76","-jmp local:96","+jae local:108"," cmp esi,0x1","-jne local:96","+jne local:154"," call external"," cmp eax,0x2","-jb local:41","-jbe local:44","-cmp eax,0x3","-je local:52","-jmp local:68","+jae local:126"," cmp eax,esi","-je local:60","-jmp local:68","+jne local:133","+mov esi,address"," mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-push 0x55f","-push address","-push address","-call external","-add esp,0xc","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:42","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:32","+pop edi"," xor ecx,ecx"," mov m4[None+None*1+address],ecx","-jmp local:105","-mov edi,esp","-mov esi,address","-mov m4[None+None*1+address],ecx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]","-jmp local:105","-mov edi,esp","-mov esi,address","-mov m4[None+None*1+address],ecx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]","-jmp local:105","-mov ebx,m4[ebp+None*1+0x8]","-push ebx","-push address","-lea eax,m4[esp+None*1+0x8]","-push eax","-call external","-mov eax,m4[ebp+None*1+0x8]","-add esp,0xc","-mov m4[None+None*1+address],eax"," mov ecx,0x582"," mov ebx,address"," lea edx,m4[esp+None*1+0x3e8]","@@ -110,7 +50,7 @@"," call external"," mov esi,eax"," test eax,eax","-jne local:120","+jne local:60"," mov eax,esp"," push eax"," push 0x586","@@ -128,44 +68,29 @@"," mov eax,esi"," call external"," cmp m4[None+None*1+address],0xffffffff","-jne local:137","-xor edi,edi","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],edi","-call external","-jmp local:138","+jne local:164","+xor esi,esi","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi"," call external"," call external"," mov edx,eax"," test eax,eax","-je local:154","-call external","-mov ebx,m4[edx+None*1+0x20]","-test ebx,ebx","-je local:154","-mov eax,ebx","+je local:91"," call external"," mov eax,m4[edx+None*1+0x20]","-mov ecx,m4[eax+None*1+0xb4]","-test ecx,ecx","-je local:154","-mov eax,ecx","+test eax,eax","+je local:91","+call external","+mov eax,m4[edx+None*1+0x20]","+mov edx,m4[eax+None*1+0xb4]","+test edx,edx","+je local:91","+mov eax,edx"," call external"," cmp m4[None+None*1+address],0x0","-je local:168","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-xor eax,eax","-call external","+jne local:166"," call external"," call external"," call external","@@ -181,3 +106,74 @@"," pop ecx"," pop ebx"," ret ","+jbe local:139","+cmp esi,0x6","+jne local:154","+mov esi,address","+mov edi,esp","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:124","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:114","+pop edi","+jmp local:44","+jbe local:131","+cmp eax,0x3","+jne local:133","+mov esi,address","+jmp local:30","+mov esi,address","+jmp local:30","+push 0x55f","+push address","+push address","+call external","+add esp,0xc","+jmp local:43","+mov esi,address","+mov edi,esp","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:152","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:142","+pop edi","+jmp local:44","+mov edx,m4[ebp+None*1+0x8]","+push edx","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+mov eax,m4[ebp+None*1+0x8]","+add esp,0xc","+mov m4[None+None*1+address],eax","+jmp local:45","+call external","+jmp local:76","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+xor eax,eax","+call external","+jmp local:93"]},{"name":"load_multi_player_mission_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x424ad4","earlier":"0x433430","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"notify_exiting_map_screen_","source":"E:\\apache\\source\\menus\\missions\\misssel.c","reference":"0x425750","earlier":"0x4340b4","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"save_mission_weapons_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426134","earlier":"0x434a48","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":53,"callers":[[4409928,"save_mission_data_",13]],"diff":["--- 0x434a48","+++ 0x426134","@@ -14,30 +14,18 @@"," xor edi,edi"," mov edx,m4[edi+None*1+address]"," test edx,edx","-je local:29","-push edx","-push esi","-push address","-lea edx,m4[esp+None*1+0xc]","-push edx","-mov ecx,0x15a","-mov ebx,address","-call external","-add esp,0x10","-mov edx,esp","-mov eax,ebp","-call external","+jne local:41"," inc esi"," add edi,0x14"," cmp esi,0x9"," jl local:14","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ecx,0x15f"," mov ebx,address","-mov ecx,0x15f"," call external"," add esp,0xc"," mov edx,esp","@@ -51,3 +39,16 @@"," pop ecx"," pop ebx"," ret ","+push edx","+push esi","+push address","+lea edx,m4[esp+None*1+0xc]","+push edx","+mov ecx,0x15a","+mov ebx,address","+call external","+add esp,0x10","+mov edx,esp","+mov eax,ebp","+call external","+jmp local:17"]},{"name":"save_mission_gamedata_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x4261cc","earlier":"0x434adc","same_instruction_shape":false,"reference_instructions":95,"earlier_instructions":94,"callers":[[4410076,"save_mission_data_",15]],"diff":["--- 0x434adc","+++ 0x4261cc","@@ -16,26 +16,25 @@"," mov edx,esp"," mov eax,esi"," call external","-mov ebx,m4[None+None*1+address]","-push ebx","+mov ecx,m4[None+None*1+address]","+push ecx"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","-mov ecx,0x174","+mov ebx,address"," lea edx,m4[esp+None*1+0xc]"," call external"," add esp,0xc","-mov ebx,address","+mov ecx,0x174"," mov eax,esi"," call external"," mov eax,m4[None+None*1+address]"," mov edx,eax","-mov ebx,address","+mov ecx,address"," sar edx,0x1f","-idiv ebx","+idiv ecx"," test eax,eax","-jge local:38","-add eax,0x168","+jl local:93"," push eax"," push address"," lea eax,m4[esp+None*1+0x8]","@@ -47,43 +46,43 @@"," mov edx,esp"," mov eax,esi"," call external","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","-mov ebx,address","+mov ecx,0x181"," lea edx,m4[esp+None*1+0xc]"," call external"," add esp,0xc","-mov ecx,0x181","+mov ebx,address"," mov eax,esi"," call external","+mov eax,m4[None+None*1+address]","+mov edx,eax","+mov ecx,0xafc80","+sar edx,0x1f","+idiv ecx","+mov ecx,eax"," mov eax,m4[None+None*1+address]"," mov edx,eax"," mov ebx,0xafc80"," sar edx,0x1f"," idiv ebx","-mov ebx,eax","-mov eax,m4[None+None*1+address]","-mov edx,eax","-mov ecx,0xafc80","-sar edx,0x1f","-idiv ecx","-mov ecx,0x2ee0","+mov ebx,0x2ee0"," mov eax,edx"," sar edx,0x1f","-idiv ecx","+idiv ebx"," push eax","-push ebx","+push ecx"," push address"," lea eax,m4[esp+None*1+0xc]"," push eax","-mov ecx,0x186","+mov ebx,address"," lea edx,m4[esp+None*1+0x10]"," call external"," add esp,0x10","-mov ebx,address","+mov ecx,0x186"," mov eax,esi"," call external"," add esp,0x64","@@ -92,3 +91,5 @@"," pop ecx"," pop ebx"," ret ","+add eax,0x168","+jmp local:37"]},{"name":"save_mission_data_tasks_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x4263e4","earlier":"0x434cec","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":26,"callers":[[4410604,"save_mission_data_",9]],"diff":["--- 0x434cec","+++ 0x4263e4","@@ -1,23 +1,23 @@"," push ebx"," push ecx"," push edx","-mov ecx,eax","+mov ebx,eax"," call external"," test eax,eax"," je local:10"," mov edx,eax","+mov eax,ebx","+call external","+call external","+mov ecx,eax","+test eax,eax","+je local:22","+mov edx,ecx","+mov eax,ebx","+call external"," mov eax,ecx"," call external","-call external","-mov ebx,eax","-test eax,eax","-je local:22","-mov edx,ebx","-mov eax,ecx","-call external","-mov eax,ebx","-call external","-mov ebx,eax","+mov ecx,eax"," test eax,eax"," jne local:14"," pop edx"]},{"name":"save_mission_gameplay_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426420","earlier":"0x434d28","same_instruction_shape":false,"reference_instructions":423,"earlier_instructions":422,"callers":[[4410664,"save_mission_data_",11]],"diff":["--- 0x434d28","+++ 0x426420","@@ -25,31 +25,17 @@"," shl eax,0x1d"," sar eax,0x1d"," cmp eax,0x3","-je local:42","-push eax","-mov ecx,m4[esp+None*1+0x68]","-push ecx","-push edi","-push address","-lea eax,m4[esp+None*1+0x10]","-push eax","-mov ebx,address","-lea edx,m4[esp+None*1+0x14]","-call external","-add esp,0x14","-mov ecx,0x1eb","-mov eax,esi","-call external","+jne local:408"," inc edi"," add ebp,0x1800"," cmp edi,0x40"," jl local:23","+mov ebp,m4[esp+None*1+0x64]"," mov edi,m4[esp+None*1+0x88]","-mov ebp,m4[esp+None*1+0x64]","+inc ebp"," add edi,0x60","-inc ebp","+mov m4[esp+None*1+0x64],ebp"," mov m4[esp+None*1+0x88],edi","-mov m4[esp+None*1+0x64],ebp"," cmp ebp,0x40"," jl local:20"," mov ecx,0x1f0","@@ -59,45 +45,45 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0x90],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0x90]","-xor ebx,ebx","+mov m4[esp+None*1+0x8c],ecx"," mov m4[esp+None*1+0x68],eax","-mov m4[esp+None*1+0x8c],ebx"," mov ebp,m4[esp+None*1+0x68]"," add ebp,m4[esp+None*1+0x8c]"," xor edi,edi"," add ebp,address"," mov eax,m4[ebp+None*1+0x4]"," test eax,eax","-je local:86","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:72","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x1ff","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:69","-mov ecx,m4[esp+None*1+0x8c]","-add ecx,0x60","-mov m4[esp+None*1+0x8c],ecx","-cmp ecx,0x1800","-jne local:65","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:55","+mov ebx,m4[esp+None*1+0x8c]","+add ebx,0x60","+mov m4[esp+None*1+0x8c],ebx","+cmp ebx,0x1800","+jne local:51"," mov ebp,m4[esp+None*1+0x90]"," add ebp,0x4"," mov m4[esp+None*1+0x90],ebp"," cmp ebp,0x8","-jne local:61","+jne local:47"," mov ecx,0x205"," mov ebx,address"," mov edx,address","@@ -105,137 +91,137 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0x98],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0x98]","-xor ebx,ebx","+mov m4[esp+None*1+0x94],ecx"," mov m4[esp+None*1+0x6c],eax","+mov ebp,m4[esp+None*1+0x6c]","+add ebp,m4[esp+None*1+0x94]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0xc]","+test eax,eax","+je local:118","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x214","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:101","+mov ebx,m4[esp+None*1+0x94]","+add ebx,0x60"," mov m4[esp+None*1+0x94],ebx","-mov edi,m4[esp+None*1+0x6c]","-add edi,m4[esp+None*1+0x94]","+cmp ebx,0x1800","+jne local:97","+mov ebp,m4[esp+None*1+0x98]","+add ebp,0x4","+mov m4[esp+None*1+0x98],ebp","+cmp ebp,0x8","+jne local:93","+mov ecx,0x21b","+mov ebx,address","+mov edx,address","+mov eax,esi","+call external","+xor edx,edx","+mov m4[esp+None*1+0xa0],edx","+xor ecx,ecx","+mov eax,m4[esp+None*1+0xa0]","+mov m4[esp+None*1+0x9c],ecx","+mov m4[esp+None*1+0x70],eax","+mov ebp,m4[esp+None*1+0x70]","+add ebp,m4[esp+None*1+0x9c]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0x14]","+test eax,eax","+je local:164","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x22a","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:147","+mov ebx,m4[esp+None*1+0x9c]","+add ebx,0x60","+mov m4[esp+None*1+0x9c],ebx","+cmp ebx,0x1800","+jne local:143","+mov ebp,m4[esp+None*1+0xa0]","+add ebp,0x4","+mov m4[esp+None*1+0xa0],ebp","+cmp ebp,0x10","+jne local:139","+mov ecx,0x230","+mov ebx,address","+mov edx,address","+mov eax,esi","+call external","+xor edx,edx","+mov m4[esp+None*1+0xa8],edx","+xor ecx,ecx","+mov eax,m4[esp+None*1+0xa8]","+mov m4[esp+None*1+0xa4],ecx","+mov m4[esp+None*1+0x74],eax","+mov edi,m4[esp+None*1+0x74]","+add edi,m4[esp+None*1+0xa4]"," xor ebp,ebp"," add edi,address","-mov eax,m4[edi+None*1+0xc]","-test eax,eax","-je local:132","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x214","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","+mov eax,m4[edi+None*1+0x24]","+test eax,eax","+je local:210","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x23f"," mov eax,esi"," call external"," inc ebp"," add edi,0x1800"," cmp ebp,0x40","-jl local:115","-mov ecx,m4[esp+None*1+0x94]","-add ecx,0x60","-mov m4[esp+None*1+0x94],ecx","-cmp ecx,0x1800","-jne local:111","-mov ebp,m4[esp+None*1+0x98]","-add ebp,0x4","-mov m4[esp+None*1+0x98],ebp","-cmp ebp,0x8","-jne local:107","-mov ecx,0x21b","-mov ebx,address","-mov edx,address","-mov eax,esi","-call external","-xor edx,edx","-mov m4[esp+None*1+0xa0],edx","-mov eax,m4[esp+None*1+0xa0]","-xor ebx,ebx","-mov m4[esp+None*1+0x70],eax","-mov m4[esp+None*1+0x9c],ebx","-mov ebp,m4[esp+None*1+0x70]","-add ebp,m4[esp+None*1+0x9c]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x14]","-test eax,eax","-je local:178","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x22a","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:161","-mov ecx,m4[esp+None*1+0x9c]","-add ecx,0x60","-mov m4[esp+None*1+0x9c],ecx","-cmp ecx,0x1800","-jne local:157","-mov ebp,m4[esp+None*1+0xa0]","-add ebp,0x4","-mov m4[esp+None*1+0xa0],ebp","-cmp ebp,0x10","-jne local:153","-mov ecx,0x230","-mov ebx,address","-mov edx,address","-mov eax,esi","-call external","-xor edx,edx","-mov m4[esp+None*1+0xa8],edx","-mov eax,m4[esp+None*1+0xa8]","-xor ebx,ebx","-mov m4[esp+None*1+0x74],eax","+jl local:193","+mov ebx,m4[esp+None*1+0xa4]","+add ebx,0x60"," mov m4[esp+None*1+0xa4],ebx","-mov ebp,m4[esp+None*1+0x74]","-add ebp,m4[esp+None*1+0xa4]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x24]","-test eax,eax","-je local:224","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x23f","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:207","-mov ecx,m4[esp+None*1+0xa4]","-add ecx,0x60","-mov m4[esp+None*1+0xa4],ecx","-cmp ecx,0x1800","-jne local:203","+cmp ebx,0x1800","+jne local:189"," mov ebp,m4[esp+None*1+0xa8]"," add ebp,0x4"," mov m4[esp+None*1+0xa8],ebp"," cmp ebp,0x10","-jne local:199","+jne local:185"," mov ecx,0x245"," mov ebx,address"," mov edx,address","@@ -250,30 +236,30 @@"," add ebp,address"," mov eax,m4[ebp+None*1+0x34]"," test eax,eax","-je local:267","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:253","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x254","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:250","-mov ecx,m4[esp+None*1+0xac]","-add ecx,0x60","-mov m4[esp+None*1+0xac],ecx","-cmp ecx,0x1800","-jne local:246","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:236","+mov ebx,m4[esp+None*1+0xac]","+add ebx,0x60","+mov m4[esp+None*1+0xac],ebx","+cmp ebx,0x1800","+jne local:232"," mov ecx,0x25a"," mov ebx,address"," mov edx,address","@@ -285,87 +271,87 @@"," mov m4[esp+None*1+0x7c],eax"," xor eax,eax"," mov m4[esp+None*1+0xb0],eax","-mov edi,m4[esp+None*1+0x7c]","-add edi,m4[esp+None*1+0xb0]","-xor ebp,ebp","-add edi,address","-mov eax,m4[edi+None*1+0x38]","-test eax,eax","-je local:308","-mov ebx,m4[eax+None*1+0x8]","+mov ebp,m4[esp+None*1+0x7c]","+add ebp,m4[esp+None*1+0xb0]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0x38]","+test eax,eax","+je local:294","+mov ecx,m4[eax+None*1+0x8]","+push ecx","+mov ebx,m4[eax+None*1+0x4]"," push ebx","-mov ecx,m4[eax+None*1+0x4]","-push ecx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-lea edx,m4[esp+None*1+0x10]","-mov ebx,address","-call external","-add esp,0x10","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+lea edx,m4[esp+None*1+0x10]"," mov ecx,0x269","-mov eax,esi","-call external","-inc ebp","-add edi,0x1800","-cmp ebp,0x40","-jl local:291","+call external","+add esp,0x10","+mov ebx,address","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:277"," mov edi,m4[esp+None*1+0xb0]"," add edi,0x60"," mov m4[esp+None*1+0xb0],edi"," cmp edi,0x1800","-jne local:287","+jne local:273"," mov eax,m4[esp+None*1+0xb4]"," add eax,0x4"," mov m4[esp+None*1+0xb4],eax"," cmp eax,0x8","-jne local:283","+jne local:269"," mov ecx,0x26f"," mov ebx,address"," mov edx,address"," mov eax,esi"," call external","+xor ecx,ecx","+mov m4[esp+None*1+0xbc],ecx"," xor ebx,ebx","-mov m4[esp+None*1+0xbc],ebx"," mov eax,m4[esp+None*1+0xbc]","-xor ecx,ecx","+mov m4[esp+None*1+0xb8],ebx"," mov m4[esp+None*1+0x80],eax","-mov m4[esp+None*1+0xb8],ecx","-mov ebp,m4[esp+None*1+0x80]","-add ebp,m4[esp+None*1+0xb8]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x40]","-test eax,eax","-je local:354","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+mov edi,m4[esp+None*1+0x80]","+add edi,m4[esp+None*1+0xb8]","+xor ebp,ebp","+add edi,address","+mov eax,m4[edi+None*1+0x40]","+test eax,eax","+je local:340","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x27e","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:337","-mov ecx,m4[esp+None*1+0xb8]","-add ecx,0x60","-mov m4[esp+None*1+0xb8],ecx","-cmp ecx,0x1800","-jne local:333","+mov eax,esi","+call external","+inc ebp","+add edi,0x1800","+cmp ebp,0x40","+jl local:323","+mov ebx,m4[esp+None*1+0xb8]","+add ebx,0x60","+mov m4[esp+None*1+0xb8],ebx","+cmp ebx,0x1800","+jne local:319"," mov ebp,m4[esp+None*1+0xbc]"," add ebp,0x4"," mov m4[esp+None*1+0xbc],ebp"," cmp ebp,0x10","-jne local:329","+jne local:315"," mov ecx,0x285"," mov ebx,address"," mov edx,address","@@ -373,45 +359,45 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0xc4],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0xc4]","-xor ebx,ebx","+mov m4[esp+None*1+0xc0],ecx"," mov m4[esp+None*1+0x84],eax","-mov m4[esp+None*1+0xc0],ebx"," mov ebp,m4[esp+None*1+0x84]"," add ebp,m4[esp+None*1+0xc0]"," xor edi,edi"," add ebp,address"," mov eax,m4[ebp+None*1+0x50]"," test eax,eax","-je local:400","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:386","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x294","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:383","-mov ecx,m4[esp+None*1+0xc0]","-add ecx,0x60","-mov m4[esp+None*1+0xc0],ecx","-cmp ecx,0x1800","-jne local:379","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:369","+mov ebx,m4[esp+None*1+0xc0]","+add ebx,0x60","+mov m4[esp+None*1+0xc0],ebx","+cmp ebx,0x1800","+jne local:365"," mov ebp,m4[esp+None*1+0xc4]"," add ebp,0x4"," mov m4[esp+None*1+0xc4],ebp"," cmp ebp,0x10","-jne local:375","+jne local:361"," add esp,0xc8"," pop ebp"," pop edi","@@ -420,3 +406,18 @@"," pop ecx"," pop ebx"," ret ","+push eax","+mov ebx,m4[esp+None*1+0x68]","+push ebx","+push edi","+push address","+lea eax,m4[esp+None*1+0x10]","+push eax","+mov ecx,0x1eb","+lea edx,m4[esp+None*1+0x14]","+call external","+add esp,0x14","+mov ebx,address","+mov eax,esi","+call external","+jmp local:28"]},{"name":"save_mission_debrief_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426aac","earlier":"0x4353ac","same_instruction_shape":false,"reference_instructions":62,"earlier_instructions":62,"callers":[[4412332,"save_mission_data_",17]],"diff":["--- 0x4353ac","+++ 0x426aac","@@ -25,13 +25,13 @@"," mov edx,address"," mov eax,esi"," call external","-mov ebx,m4[None+None*1+address]","-push ebx","+mov ecx,m4[None+None*1+address]","+push ecx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ebx,address"," mov ecx,0x2ad","-mov ebx,address"," call external"," add esp,0xc"," mov edx,esp","@@ -42,13 +42,13 @@"," mov edx,address"," mov eax,esi"," call external","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ecx,0x2b2"," mov ebx,address","-mov ecx,0x2b2"," call external"," add esp,0xc"," mov edx,esp"]},{"name":"save_mission_destroy_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426b84","earlier":"0x435484","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":41,"callers":[[4412548,"save_mission_data_",19]],"diff":["--- 0x435484","+++ 0x426b84","@@ -10,28 +10,12 @@"," mov edx,address"," call external"," xor esi,esi","-lea ebx,m4[esp+None*1+0x64]","-lea edx,m4[esp+None*1+0x68]","+lea ebx,m4[esp+None*1+0x68]","+lea edx,m4[esp+None*1+0x64]"," mov eax,esi"," call external"," test eax,eax","-je local:34","-mov edx,m4[esp+None*1+0x64]","-push edx","-mov ebx,m4[esp+None*1+0x6c]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-mov ecx,0x2ca","-push eax","-lea edx,m4[esp+None*1+0x10]","-mov ebx,address","-call external","-add esp,0x10","-mov eax,edi","-inc esi","-call external","-jmp local:12","+jne local:25"," add esp,0x6c"," pop edi"," pop esi","@@ -39,3 +23,19 @@"," pop ecx"," pop ebx"," ret ","+mov edx,m4[esp+None*1+0x68]","+push edx","+mov ecx,m4[esp+None*1+0x68]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+mov ebx,address","+push eax","+lea edx,m4[esp+None*1+0x10]","+mov ecx,0x2ca","+call external","+add esp,0x10","+mov eax,edi","+inc esi","+call external","+jmp local:12"]},{"name":"save_mission_data_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426bf4","earlier":"0x4354f4","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"create_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4270f0","earlier":"0x4359d0","same_instruction_shape":false,"reference_instructions":73,"earlier_instructions":65,"callers":[[4413904,"test_waypoint_stuff_",21]],"diff":["--- 0x4359d0","+++ 0x4270f0","@@ -21,10 +21,8 @@"," mov m4[ecx+None*1+0x4],0x0"," mov m4[ecx+None*1+0x0],eax"," test eax,eax","-je local:26","+je local:60"," mov m4[eax+None*1+0x4],ecx","-jmp local:27","-mov m4[esi+None*1+0x20],ecx"," mov eax,m4[esi+None*1+0x14]"," mov m4[ecx+None*1+0x5c],eax"," lea ebx,m4[eax+None*1+0x1]","@@ -43,15 +41,25 @@"," mov ebp,m4[None+None*1+address]"," mov m4[ecx+None*1+0x48],edi"," test ebp,ebp","-jne local:48","+jne local:46"," cmp m4[None+None*1+address],0x0","-je local:54","+je local:62"," mov edx,m4[None+None*1+address]"," cmp edx,m4[esi+None*1+0x8]","-jne local:57","+jne local:52"," mov ebx,m4[None+None*1+address]"," cmp ebx,m4[ecx+None*1+0x5c]","-jne local:57","+je local:62","+mov eax,ecx","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov m4[esi+None*1+0x20],ecx","+jmp local:25"," lea eax,m4[ecx+None*1+0x8]"," call external"," mov m4[None+None*1+address],ecx"]},{"name":"setup_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4271ac","earlier":"0x435a84","same_instruction_shape":true,"reference_instructions":63,"earlier_instructions":63,"callers":[],"diff":[]},{"name":"set_drone_position_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427548","earlier":"0x435e9c","same_instruction_shape":false,"reference_instructions":5,"earlier_instructions":4,"callers":[[4415132,"test_waypoint_stuff_",23]],"diff":["--- 0x435e9c","+++ 0x427548","@@ -1,4 +1,5 @@","-mov m4[eax+None*1+0x60],edx"," mov m4[eax+None*1+0x64],ebx"," mov m4[eax+None*1+0x68],ecx","+mov eax,eax","+mov m4[eax+None*1+0x60],edx"," ret "]},{"name":"set_drone_attitude_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x42756c","earlier":"0x435ec4","same_instruction_shape":false,"reference_instructions":4,"earlier_instructions":4,"callers":[[4415172,"test_waypoint_stuff_",28]],"diff":["--- 0x435ec4","+++ 0x42756c","@@ -1,4 +1,4 @@","-mov m4[eax+None*1+0x90],edx"," mov m4[eax+None*1+0x94],ebx"," mov m4[eax+None*1+0x98],ecx","+mov m4[eax+None*1+0x90],edx"," ret "]},{"name":"set_drone_speed_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427590","earlier":"0x435ef0","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4415216,"test_waypoint_stuff_",32]],"diff":[]},{"name":"set_simple_drone_object_number_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427668","earlier":"0x435fc4","same_instruction_shape":true,"reference_instructions":32,"earlier_instructions":32,"callers":[],"diff":[]},{"name":"get_next_simple_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4276d4","earlier":"0x436030","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4415536,"move_ground_simple_drones_",32]],"diff":[]},{"name":"get_drone_speed_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4277d0","earlier":"0x436128","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[],"diff":[]},{"name":"initialise_drone_attention_level_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427840","earlier":"0x436198","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":37,"callers":[[4415896,"setup_drone_",57]],"diff":["--- 0x436198","+++ 0x427840","@@ -1,37 +1,41 @@","-push ebx"," push ecx"," push edx","-mov ebx,eax","+mov ecx,eax"," mov eax,m4[eax+None*1+0x4c]"," mov eax,m4[eax+None*1+0x10]"," cmp eax,0x15","-ja local:17","+ja local:22"," jmp m4[None+eax*4+address]","-mov edx,0xce4000","-jmp local:22","+xor edx,edx","+mov eax,m4[ecx+None*1+0x4c]","+cmp m4[eax+None*1+0xc],0x2","+je local:28","+mov m4[ecx+None*1+0x17c],edx","+pop edx","+pop ecx","+ret "," mov edx,address","-jmp local:22","+jmp local:9"," mov edx,address","-jmp local:22","-xor edx,edx","-jmp local:22","+jmp local:9","+mov edx,address","+jmp local:9"," push 0x3e3"," push address"," push address"," call external"," add esp,0xc","-mov eax,m4[ebx+None*1+0x4c]","-cmp m4[eax+None*1+0xc],0x2","-jne local:32","+jmp local:9","+push ebx"," call external"," imul edx,eax","-mov ecx,0x64","+mov ebx,0x64"," mov eax,edx"," sar edx,0x1f","-idiv ecx","+idiv ebx"," mov edx,eax","-mov m4[ebx+None*1+0x17c],edx","+pop ebx","+mov m4[ecx+None*1+0x17c],edx"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"destroy_all_tasks_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427ca0","earlier":"0x4365d0","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[[4416976,"test_waypoint_stuff_",4]],"diff":[]},{"name":"create_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427cc0","earlier":"0x4365f0","same_instruction_shape":false,"reference_instructions":48,"earlier_instructions":45,"callers":[[4417008,"test_waypoint_stuff_",8]],"diff":["--- 0x4365f0","+++ 0x427cc0","@@ -1,12 +1,9 @@"," push ebx","+push ecx"," push edx"," push esi"," cmp m4[None+None*1+address],0x0","-je local:9","-mov eax,address","-xor ebx,ebx","-call external","-mov m4[None+None*1+address],ebx","+jne local:40"," mov ebx,0x51"," mov edx,address"," mov eax,0x24","@@ -14,20 +11,17 @@"," mov edx,eax"," mov eax,m4[None+None*1+address]"," test eax,eax","-je local:22","+je local:19"," cmp m4[eax+None*1+0x4],0x0","-je local:22","+je local:19"," mov eax,m4[eax+None*1+0x4]"," test eax,eax","-jne local:17","+jne local:14"," mov m4[edx+None*1+0x4],0x0"," mov m4[edx+None*1+0x0],eax"," test eax,eax","-je local:28","+je local:45"," mov m4[eax+None*1+0x4],edx","-jmp local:30","-mov m4[None+None*1+address],edx","-mov m4[None+None*1+address],edx"," mov m4[edx+None*1+0xc],0x0"," mov m4[edx+None*1+0x10],0x0"," mov m4[edx+None*1+0x1c],0x0","@@ -41,5 +35,14 @@"," mov eax,edx"," pop esi"," pop edx","+pop ecx"," pop ebx"," ret ","+mov eax,address","+xor ecx,ecx","+call external","+mov m4[None+None*1+address],ecx","+jmp local:6","+mov m4[None+None*1+address],edx","+mov m4[None+None*1+address],edx","+jmp local:24"]},{"name":"destroy_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427d74","earlier":"0x43669c","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":53,"callers":[[4417180,"destroy_all_tasks_",3]],"diff":["--- 0x43669c","+++ 0x427d74","@@ -6,37 +6,32 @@"," push ebp"," mov ecx,eax"," cmp eax,m4[None+None*1+address]","-jne local:11","+je local:15","+mov esi,m4[ecx+None*1+0x20]","+test esi,esi","+je local:18","+mov eax,esi","+call external","+jmp local:9"," xor ebx,ebx"," mov m4[None+None*1+address],ebx","-mov esi,m4[ecx+None*1+0x20]","-test esi,esi","-je local:17","-mov eax,esi","-call external","-jmp local:11","+jmp local:9"," mov edi,m4[None+None*1+address]"," cmp ecx,edi","-jne local:27","+jne local:25"," mov ebp,m4[edi+None*1+0x4]"," test ebp,ebp","-je local:25","+je local:48"," mov m4[None+None*1+address],ebp","-jmp local:27","-mov eax,m4[edi+None*1+0x0]","-mov m4[None+None*1+address],eax"," mov eax,m4[ecx+None*1+0x0]"," test eax,eax","-je local:34","+je local:51"," mov edx,eax"," mov eax,m4[ecx+None*1+0x4]"," mov m4[edx+None*1+0x4],eax","-jmp local:36","-mov eax,m4[ecx+None*1+0x4]","-mov m4[None+None*1+address],eax"," mov edx,m4[ecx+None*1+0x4]"," test edx,edx","-je local:41","+je local:36"," mov eax,m4[ecx+None*1+0x0]"," mov m4[edx+None*1+0x0],eax"," mov ebx,0xa1","@@ -51,3 +46,9 @@"," pop ecx"," pop ebx"," ret ","+mov eax,m4[edi+None*1+0x0]","+mov m4[None+None*1+address],eax","+jmp local:25","+mov eax,m4[ecx+None*1+0x4]","+mov m4[None+None*1+address],eax","+jmp local:31"]},{"name":"set_task_type_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e00","earlier":"0x436728","same_instruction_shape":false,"reference_instructions":15,"earlier_instructions":14,"callers":[[4417320,"test_waypoint_stuff_",11]],"diff":["--- 0x436728","+++ 0x427e00","@@ -3,7 +3,7 @@"," mov eax,m4[eax+None*1+0x20]"," mov edx,eax"," test eax,eax","-je local:13","+je local:14"," mov eax,edx"," call external"," mov eax,edx","@@ -11,4 +11,5 @@"," mov edx,eax"," test eax,eax"," jne local:6","+lea eax,m4[eax+None*1+0x0]"," ret "]},{"name":"set_task_side_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e2c","earlier":"0x436750","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4417360,"test_waypoint_stuff_",15]],"diff":[]},{"name":"set_user_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e30","earlier":"0x436754","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4417364,"test_waypoint_stuff_",18]],"diff":[]},{"name":"update_all_tasks_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427eb4","earlier":"0x4367d0","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"initialise_drone_weapons_","source":"E:\\apache\\source\\drone\\dweapons.c","reference":"0x428fd4","earlier":"0x437a20","same_instruction_shape":false,"reference_instructions":55,"earlier_instructions":55,"callers":[[4422176,"setup_drone_",55]],"diff":["--- 0x437a20","+++ 0x428fd4","@@ -1,7 +1,7 @@","+push ecx","+mov ecx,eax","+push edx"," push ebx","-push ecx","-push edx","-mov ecx,eax"," add eax,0xe4"," mov m1[eax+None*1+0xfffffff8],0x0"," mov m1[eax+None*1+0xfffffff9],0x0","@@ -44,12 +44,12 @@"," mov m1[ecx+None*1+0x1c4],dl"," mov eax,ecx"," add ecx,0x28","+pop ebx","+pop edx"," add eax,0x8","+mov m4[eax+None*1+0x188],0x0"," mov m4[eax+None*1+0x184],0x0","-mov m4[eax+None*1+0x188],0x0"," cmp eax,ecx","-jne local:46","-pop edx","+jne local:48"," pop ecx","-pop ebx"," ret "]},{"name":"initialise_drone_specific_weapons_","source":"E:\\apache\\source\\drone\\dweapons.c","reference":"0x429104","earlier":"0x437b50","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":85,"callers":[[4422480,"set_simple_drone_object_number_",25]],"diff":["--- 0x437b50","+++ 0x429104","@@ -7,66 +7,42 @@"," sub esp,0xc"," mov m4[esp+None*1+0x8],eax"," mov edi,eax","-mov ecx,m4[eax+None*1+0x8]","+mov ebx,m4[eax+None*1+0x8]"," xor ebp,ebp","-xor ebx,ebx","-mov edx,ebx","-mov eax,ecx","+xor ecx,ecx","+mov edx,ecx","+mov eax,ebx"," call external"," mov esi,eax"," test eax,eax","-je local:25","-mov edx,ebx","-mov eax,ecx","-inc ebp","-call external","-mov m4[esp+None*1+0x0],esi","-mov m4[esp+None*1+0x4],ebx","-mov m4[edi+None*1+0x18c],eax","-inc ebx","+jne local:61","+inc ecx"," add edi,0x8","-cmp ebx,0x5","+cmp ecx,0x5"," jl local:12"," mov eax,m4[esp+None*1+0x8]"," mov eax,m4[eax+None*1+0x4c]"," cmp m4[eax+None*1+0x10],0x12","-jne local:39","+jne local:32"," mov eax,m4[esp+None*1+0x8]"," cmp m4[eax+None*1+0x194],0x0","-jne local:37","+jne local:30"," inc ebp"," mov eax,m4[esp+None*1+0x8]"," mov m4[eax+None*1+0x194],0xa"," test ebp,ebp","-jbe local:44","+jbe local:69"," cmp ebp,0x1","-je local:51","-jmp local:61","-mov eax,m4[esp+None*1+0x8]","-mov m4[eax+None*1+0x184],0x0","-mov dh,m1[eax+None*1+0x1c4]","-mov m1[eax+None*1+0x188],0xff","-and dh,0x3f","-mov m1[eax+None*1+0x1c4],dh","-jmp local:69","+jne local:76"," mov eax,m4[esp+None*1+0x8]"," mov dl,m1[eax+None*1+0x1c4]"," or dl,0xc0","-mov ebx,m4[esp+None*1+0x8]","+mov ecx,m4[esp+None*1+0x8]"," mov m1[eax+None*1+0x1c4],dl"," mov eax,m4[esp+None*1+0x0]","-mov m4[ebx+None*1+0x184],eax","+mov m4[ecx+None*1+0x184],eax"," mov al,m1[esp+None*1+0x4]","-mov m1[ebx+None*1+0x188],al","-jmp local:69","-mov eax,m4[esp+None*1+0x8]","-mov bl,m1[eax+None*1+0x1c4]","-or bl,0x40","-mov m1[eax+None*1+0x1c4],bl","-mov bh,bl","-mov m1[eax+None*1+0x188],0x0","-and bh,0x7f","-mov m1[eax+None*1+0x1c4],bh","+mov m1[ecx+None*1+0x188],al"," mov eax,m4[esp+None*1+0x8]"," call external"," mov eax,m4[esp+None*1+0x8]","@@ -83,3 +59,27 @@"," pop ecx"," pop ebx"," ret ","+mov edx,ecx","+mov eax,ebx","+call external","+mov m4[esp+None*1+0x0],esi","+mov m4[esp+None*1+0x4],ecx","+inc ebp","+mov m4[edi+None*1+0x18c],eax","+jmp local:18","+mov eax,m4[esp+None*1+0x8]","+mov m4[eax+None*1+0x184],0x0","+mov dh,m1[eax+None*1+0x1c4]","+mov m1[eax+None*1+0x188],0xff","+and dh,0x3f","+mov m1[eax+None*1+0x1c4],dh","+jmp local:45","+mov eax,m4[esp+None*1+0x8]","+mov bl,m1[eax+None*1+0x1c4]","+or bl,0x40","+mov m1[eax+None*1+0x1c4],bl","+mov bh,bl","+mov m1[eax+None*1+0x188],0x0","+and bh,0x7f","+mov m1[eax+None*1+0x1c4],bh","+jmp local:45"]},{"name":"get_drone_carrier_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b29c","earlier":"0x43b16c","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"get_drone_carrier_speed_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b2bc","earlier":"0x43b18c","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"get_drone_carrier_heading_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b2e0","earlier":"0x43b1b0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"move_ground_simple_drones_","source":"E:\\apache\\source\\drone\\movement.c","reference":"0x42c6b8","earlier":"0x43c57c","same_instruction_shape":true,"reference_instructions":41,"earlier_instructions":41,"callers":[],"diff":[]},{"name":"test_waypoint_stuff_","source":"E:\\apache\\source\\drone\\waydebug.c","reference":"0x42fc80","earlier":"0x43f8f0","same_instruction_shape":true,"reference_instructions":50,"earlier_instructions":50,"callers":[],"diff":[]},{"name":"append_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x43035c","earlier":"0x43ff9c","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":68,"callers":[[4456348,"test_waypoint_stuff_",36],[4456348,"test_waypoint_stuff_",42]],"diff":["--- 0x43ff9c","+++ 0x43035c","@@ -1,24 +1,22 @@","-push ebx"," push ecx"," push edx","-push esi","-push edi"," push ebp"," mov ebp,eax"," mov ecx,m4[eax+None*1+0xb4]"," xor eax,eax"," test ecx,ecx","-je local:17","+je local:14"," mov edx,m4[ecx+None*1+0x4]"," test edx,edx","-je local:17","+je local:14","+inc eax"," mov ecx,edx","-inc eax","-jmp local:11","+jmp local:8"," cmp eax,0x26","-jl local:21","-mov eax,ecx","-jmp local:61","+jge local:58","+push edi","+push esi","+push ebx"," call external"," mov ebx,0x30"," mov edi,eax","@@ -28,13 +26,9 @@"," mov m4[edi+None*1+0x4],0x0"," mov m4[edi+None*1+0x0],ecx"," test ecx,ecx","-je local:34","+je local:63"," mov m4[edi+None*1+0xc],0x2"," mov m4[ecx+None*1+0x4],edi","-jmp local:37","-mov m4[ebp+None*1+0xb4],edi","-mov m4[ebp+None*1+0xb8],edi","-mov m4[edi+None*1+0xc],0x1"," mov m4[esi+None*1+0x8],ebp"," inc m4[ebp+None*1+0xbc]"," mov m4[esi+None*1+0x10],0x0","@@ -42,27 +36,43 @@"," mov m4[esi+None*1+0x18],0x0"," mov m4[esi+None*1+0x1c],0xffffffff"," mov m4[esi+None*1+0x24],0xffffffff","-mov ecx,m4[esi+None*1+0x0]","+mov ebx,m4[esi+None*1+0x0]"," mov m4[esi+None*1+0x20],0x0","-test ecx,ecx","-je local:51","-mov eax,m4[ecx+None*1+0x28]","+test ebx,ebx","+je local:67","+mov eax,m4[ebx+None*1+0x28]"," mov m4[esi+None*1+0x28],eax","-jmp local:52","-mov m4[esi+None*1+0x28],ecx"," mov edi,m4[None+None*1+address]"," mov m1[esi+None*1+0x2c],0x0"," test edi,edi","-jne local:59","-mov m4[None+None*1+address],esi","-mov eax,m4[esi+None*1+0x8]","-call external","+jne local:69","+mov eax,esi"," call external"," mov eax,esi","+pop ebx","+pop esi","+pop edi"," pop ebp","-pop edi","-pop esi"," pop edx"," pop ecx","+ret ","+mov eax,ecx","+pop ebp","+pop edx","+pop ecx","+ret ","+mov m4[ebp+None*1+0xb8],edi","+mov m4[ebp+None*1+0xb4],edi","+mov m4[edi+None*1+0xc],0x1","+jmp local:31","+mov m4[esi+None*1+0x28],ebx","+jmp local:44","+call external","+mov eax,esi"," pop ebx","+pop esi","+pop edi","+pop ebp","+pop edx","+pop ecx"," ret "]},{"name":"insert_after_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x43043c","earlier":"0x440078","same_instruction_shape":true,"reference_instructions":42,"earlier_instructions":42,"callers":[],"diff":[]},{"name":"allocate_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x4305c4","earlier":"0x440218","same_instruction_shape":false,"reference_instructions":30,"earlier_instructions":31,"callers":[[4456984,"insert_after_waypoint_",6]],"diff":["--- 0x440218","+++ 0x4305c4","@@ -1,25 +1,24 @@","-push ebx","+push ecx"," push edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]","+xor eax,eax"," xor edx,edx","-xor eax,eax","-test ebx,ebx","-jne local:15","+test ecx,ecx","+je local:13","+add eax,0x4","+inc edx","+cmp eax,0x3000","+jge local:21","+cmp m4[eax+None*1+address],0x0","+jne local:7"," mov m4[eax+None*1+address],0x1"," lea eax,m4[None+edx*4+0x0]"," sub eax,edx"," shl eax,0x4"," add eax,address"," pop edx","-pop ebx","+pop ecx"," ret ","-add eax,0x4","-inc edx","-cmp eax,0x3000","-jge local:22","-cmp m4[eax+None*1+address],0x0","-je local:7","-jmp local:15"," push 0x148"," push address"," push address","@@ -27,5 +26,5 @@"," add esp,0xc"," xor eax,eax"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"set_waypoint_position_","source":"E:\\apache\\source\\drone\\wayset.c","reference":"0x430660","earlier":"0x4402c0","same_instruction_shape":false,"reference_instructions":11,"earlier_instructions":12,"callers":[[4457152,"test_waypoint_stuff_",37],[4457152,"test_waypoint_stuff_",43]],"diff":["--- 0x4402c0","+++ 0x430660","@@ -1,12 +1,11 @@"," cmp edx,m4[eax+None*1+0x10]","-jne local:6","+jne local:7"," cmp ebx,m4[eax+None*1+0x14]","-jne local:6","+jne local:7"," cmp ecx,m4[eax+None*1+0x18]","-je external","+jne local:7","+ret "," mov m4[eax+None*1+0x10],edx"," mov m4[eax+None*1+0x14],ebx"," mov m4[eax+None*1+0x18],ecx","-jmp local:10","-mov m4[None+None*1+address],0x2","-ret ","+jmp external"]},{"name":"update_waypoints_","source":"E:\\apache\\source\\drone\\wayup.c","reference":"0x4306dc","earlier":"0x44033c","same_instruction_shape":false,"reference_instructions":75,"earlier_instructions":75,"callers":[[4457276,"insert_after_waypoint_",34]],"diff":["--- 0x44033c","+++ 0x4306dc","@@ -8,18 +8,18 @@"," call external"," mov m4[esp+None*1+0x0],eax"," test eax,eax","-je local:66","+je local:59"," mov eax,m4[esp+None*1+0x0]"," call external"," mov ebp,eax"," test eax,eax","-je local:61","+je local:54"," mov ecx,m4[ebp+None*1+0xb4]"," test ecx,ecx","-je local:58","+je local:51"," mov edx,m4[ecx+None*1+0x0]"," test edx,edx","-je local:52","+je local:71"," mov eax,edx"," mov edi,m4[edx+None*1+0x10]"," mov ebx,m4[ecx+None*1+0x10]","@@ -36,10 +36,7 @@"," mov ebx,m4[ecx+None*1+0x28]"," mov esi,eax"," test ebx,ebx","-jg local:42","-mov m4[ecx+None*1+0x24],0xffffffff","-mov m4[ecx+None*1+0x1c],0xffffffff","-jmp local:50","+jle local:68"," sar edx,0x1f"," idiv ebx"," imul eax,eax,0xc8","@@ -49,10 +46,6 @@"," add edx,eax"," mov m4[ecx+None*1+0x1c],edx"," mov m4[ecx+None*1+0x20],esi","-jmp local:55","-mov m4[ecx+None*1+0x20],edx","-mov m4[ecx+None*1+0x1c],edx","-mov m4[ecx+None*1+0x24],edx"," mov ecx,m4[ecx+None*1+0x4]"," test ecx,ecx"," jne local:19","@@ -73,3 +66,10 @@"," pop ecx"," pop ebx"," ret ","+mov m4[ecx+None*1+0x1c],0xffffffff","+mov m4[ecx+None*1+0x24],0xffffffff","+jmp local:47","+mov m4[ecx+None*1+0x1c],edx","+mov m4[ecx+None*1+0x24],edx","+mov m4[ecx+None*1+0x20],edx","+jmp local:48"]},{"name":"update_waypoint_letters_","source":"E:\\apache\\source\\drone\\wayup.c","reference":"0x430870","earlier":"0x4404dc","same_instruction_shape":false,"reference_instructions":43,"earlier_instructions":35,"callers":[[4457692,"test_waypoint_stuff_",44],[4457692,"insert_after_waypoint_",33]],"diff":["--- 0x4404dc","+++ 0x430870","@@ -1,35 +1,43 @@","-push ebx","+push ecx"," push edx"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:32","-mov ebx,m4[edx+None*1+0x8]","+jne local:8","+pop edx","+pop ecx","+ret ","+mov ecx,m4[edx+None*1+0x8]"," call external","-test ebx,ebx","-je local:32","+test ecx,ecx","+je local:5"," mov dh,0x41","-mov eax,m4[ebx+None*1+0xb4]","+mov eax,m4[ecx+None*1+0xb4]"," mov dl,0x58"," test eax,eax","-je local:32","-mov ebx,m4[eax+None*1+0xc]","-cmp ebx,0x8","-ja local:29","-jmp m4[None+ebx*4+address]","+je local:5","+mov ecx,m4[eax+None*1+0xc]","+cmp ecx,0x8","+ja local:26","+jmp m4[None+ecx*4+address]"," mov m1[eax+None*1+0x2c],dh"," inc dh"," cmp dh,0x54","-jne local:29","+jne local:26"," mov dh,0x61","-jmp local:29","+mov eax,m4[eax+None*1+0x4]","+test eax,eax","+jne local:17","+pop edx","+pop ecx","+ret "," mov m1[eax+None*1+0x2c],dl"," inc dl"," cmp dl,0x5b","-jne local:29","+jne local:26"," mov dl,0x78"," mov eax,m4[eax+None*1+0x4]"," test eax,eax","-jne local:14","+jne local:17"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"send_modem_prefs_","source":"E:\\apache\\source\\apnet\\apnet.c","reference":"0x433bc0","earlier":"0x44319c","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"store_round_data_for_two_player_","source":"E:\\apache\\source\\apnet\\apser.c","reference":"0x4353fc","earlier":"0x4448d4","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"initialise_kills_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436da0","earlier":"0x4461d0","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"initialise_mobile_kills_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436df8","earlier":"0x446228","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"initialise_ground_kills_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436e28","earlier":"0x446258","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"add_to_kills_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436e58","earlier":"0x446288","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"add_to_gobs_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436ea0","earlier":"0x4462d0","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"position_apache_object_","source":"E:\\apache\\source\\models\\model.c","reference":"0x43b96c","earlier":"0x449630","same_instruction_shape":false,"reference_instructions":120,"earlier_instructions":115,"callers":[[4494896,"move_apache_model_",33]],"diff":["--- 0x449630","+++ 0x43b96c","@@ -1,17 +1,22 @@"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x14"," mov esi,eax"," mov eax,m4[None+None*1+address]"," test m1[eax+None*1+0x1c5],0x4","-jne local:14","+jne local:18"," mov eax,m4[None+None*1+address]"," mov ecx,ebx"," mov ebx,edx"," mov edx,esi","-jmp local:108","+call external","+add esp,0x14","+pop ebp","+pop esi","+pop ecx","+ret ","+push edi"," call external"," lea ebp,m4[eax+None*1+0x60]"," mov eax,m4[None+None*1+address]","@@ -19,7 +24,7 @@"," mov ecx,m4[ebp+None*1+0x18]"," mov eax,m4[eax+None*1+0xc]"," mov edx,m4[ebp+None*1+0xc]","-mov m4[esp+None*1+0xc],eax","+mov m4[esp+None*1+0x10],eax"," mov esi,m4[eax+None*1+0x8]"," mov ebx,m4[eax+None*1+0x4]"," mov eax,m4[eax+None*1+0x0]","@@ -37,19 +42,19 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov esi,m4[esp+None*1+0xc]","-mov ebx,m4[esp+None*1+0xc]","+mov esi,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0x10]"," mov eax,m4[ebp+None*1+0x0]"," mov edi,m4[ebp+None*1+0x28]"," add eax,edx"," mov esi,m4[esi+None*1+0x8]","-mov m4[esp+None*1+0x0],eax","+mov m4[esp+None*1+0x4],eax"," mov eax,m4[ebp+None*1+0x1c]"," mov ebx,m4[ebx+None*1+0x4]","-mov m4[esp+None*1+0x10],eax","-mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0x14],eax","+mov eax,m4[esp+None*1+0x10]"," mov edx,m4[ebp+None*1+0x10]","-mov ecx,m4[esp+None*1+0x10]","+mov ecx,m4[esp+None*1+0x14]"," mov eax,m4[eax+None*1+0x0]"," imul edx"," xchg ebx,eax","@@ -65,15 +70,15 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov esi,m4[esp+None*1+0xc]","-mov ebx,m4[esp+None*1+0xc]","+mov esi,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0x10]"," mov eax,m4[ebp+None*1+0x4]"," mov edi,m4[ebp+None*1+0x2c]"," mov ecx,m4[ebp+None*1+0x20]"," add eax,edx"," mov esi,m4[esi+None*1+0x8]","-mov m4[esp+None*1+0x4],eax","-mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0x8],eax","+mov eax,m4[esp+None*1+0x10]"," mov ebx,m4[ebx+None*1+0x4]"," mov edx,m4[ebp+None*1+0x14]"," mov eax,m4[eax+None*1+0x0]","@@ -93,23 +98,23 @@"," adc edx,0x0"," mov eax,m4[ebp+None*1+0x8]"," add eax,edx","-mov m4[esp+None*1+0x8],eax","+mov m4[esp+None*1+0xc],eax"," mov eax,m4[None+None*1+address]"," lea edx,m4[ebp+None*1+0xc]","-mov ecx,m4[esp+None*1+0x8]","+mov ecx,m4[esp+None*1+0xc]"," mov ebx,m4[eax+None*1+0x8]"," mov eax,m4[eax+None*1+0xc]"," add ebx,0xc"," add eax,0xc"," add ecx,0x900"," call external","-mov ebx,m4[esp+None*1+0x4]","-mov edx,m4[esp+None*1+0x0]","+mov ebx,m4[esp+None*1+0x8]","+mov edx,m4[esp+None*1+0x4]"," mov eax,m4[None+None*1+address]"," call external","+pop edi"," add esp,0x14"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret "]},{"name":"move_apache_model_","source":"E:\\apache\\source\\models\\model_a.c","reference":"0x43f918","earlier":"0x44d270","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"draw_radar_cross_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441810","earlier":"0x44f0b0","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_radar_square_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441848","earlier":"0x44f0e8","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"draw_radar_inverted_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x44189c","earlier":"0x44f13c","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_radar_plus_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x4418d8","earlier":"0x44f178","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_radar_diamond_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441910","earlier":"0x44f1b0","same_instruction_shape":true,"reference_instructions":39,"earlier_instructions":39,"callers":[],"diff":[]},{"name":"draw_radar_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441968","earlier":"0x44f208","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_radar_rotated_cross_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x4419a4","earlier":"0x44f244","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_square_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441a70","earlier":"0x44f310","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"draw_radar_rotated_inverted_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441b58","earlier":"0x44f3f8","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_plus_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441c24","earlier":"0x44f4c4","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_diamond_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441cf0","earlier":"0x44f590","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"draw_radar_rotated_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441dd8","earlier":"0x44f678","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"initialise_gameplay_object_","source":"E:\\apache\\source\\gameplay\\gameplay.c","reference":"0x4437a4","earlier":"0x4510f0","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"wipe_gameplay_object_","source":"E:\\apache\\source\\gameplay\\gameplay.c","reference":"0x444224","earlier":"0x451e0c","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"play_sound_effect_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x4458b0","earlier":"0x453330","same_instruction_shape":false,"reference_instructions":63,"earlier_instructions":52,"callers":[[4535088,"play_crash_sound_",7],[4535088,"play_damage_sound_",7],[4535088,"play_hit_metal_sound_",7],[4535088,"play_failure_sound_",7],[4535088,"start_gun_sound_",7],[4535088,"play_missile1_sound_",7],[4535088,"play_missile2_sound_",7],[4535088,"play_missile3_sound_",7],[4535088,"play_missile4_sound_",7],[4535088,"play_missile_warning_sound_",7],[4535088,"play_incoming_sound_",7],[4535088,"play_lockon_sound_",7],[4535088,"play_threat_sound_",7],[4535088,"play_radio1_sound_",7],[4535088,"play_radio2_sound_",7],[4535088,"play_radio3_sound_",7],[4535088,"play_radio4_sound_",7],[4535088,"start_rotor1_sound_",7],[4535088,"start_rotor2_sound_",7],[4535088,"start_rotor3_sound_",7],[4535088,"start_slap_sound_",7]],"diff":["--- 0x453330","+++ 0x4458b0","@@ -1,52 +1,63 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov edi,eax","-mov edx,ebx","-mov ebx,m4[None+None*1+address]","+mov m4[esp+None*1+0x0],ebx","+mov ebp,ecx","+mov ecx,m4[None+None*1+address]"," mov esi,0xffffffff","-test ebx,ebx","-je local:47","+test ecx,ecx","+je local:17"," cmp m4[None+None*1+address],0x0","-je local:47","+je local:17"," shl eax,0x2"," add eax,edi"," cmp m4[None+eax*8+address],0x0","-je local:47","-call external","-mov esi,eax","-cmp eax,0xffffffff","-je local:47","-cmp eax,m4[None+None*1+address]","-jne local:22","-mov m4[None+None*1+address],0xffffffff","-cmp esi,m4[None+None*1+address]","-jne local:25","-mov m4[None+None*1+address],0xffffffff","-lea eax,m4[None+edi*4+0x0]","-lea ebx,m4[edi+eax*1+0x0]","-shl ebx,0x3","-mov eax,m4[ebx+None*1+address]","-call external","-mov ebp,eax","-mov eax,m4[ebx+None*1+address]","-push eax","-push ecx","-imul edx,m4[None+None*1+address]","-mov ecx,0x3f","-mov eax,edx","-sar edx,0x1f","-idiv ecx","-push eax","-mov edx,esi","-mov eax,m4[ebx+None*1+address]","-mov ecx,m4[ebx+None*1+address]","-push eax","-mov ebx,ebp","-mov eax,edi","-call external","+jne local:23"," mov eax,esi","+add esp,0x4"," pop ebp"," pop edi"," pop esi"," ret ","+mov eax,edx","+call external","+mov esi,eax","+cmp eax,0xffffffff","+je local:17","+cmp eax,m4[None+None*1+address]","+je local:61","+cmp esi,m4[None+None*1+address]","+jne local:33","+mov m4[None+None*1+address],0xffffffff","+lea ecx,m4[None+edi*4+0x0]","+add ecx,edi","+shl ecx,0x3","+mov eax,m4[ecx+None*1+address]","+call external","+mov ebx,eax","+mov eax,m4[ecx+None*1+address]","+push eax","+mov edx,m4[None+None*1+address]","+push ebp","+imul edx,m4[esp+None*1+0x8]","+mov ebp,0x3f","+mov eax,edx","+sar edx,0x1f","+idiv ebp","+push eax","+mov eax,m4[ecx+None*1+address]","+mov edx,esi","+push eax","+mov ecx,m4[ecx+None*1+address]","+mov eax,edi","+call external","+mov eax,esi","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+ret ","+mov m4[None+None*1+address],0xffffffff","+jmp local:30"]},{"name":"play_crash_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a00","earlier":"0x453474","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_damage_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a20","earlier":"0x453494","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_hit_metal_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a40","earlier":"0x4534b4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_failure_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a60","earlier":"0x4534d4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_gun_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a80","earlier":"0x4534f4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445ad8","earlier":"0x453540","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445af8","earlier":"0x453560","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b18","earlier":"0x453580","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile4_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b38","earlier":"0x4535a0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile_warning_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b58","earlier":"0x4535c0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_incoming_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bb8","earlier":"0x453620","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_lockon_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bd8","earlier":"0x453640","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_threat_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bf8","earlier":"0x453660","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c18","earlier":"0x453680","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c38","earlier":"0x4536a0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c58","earlier":"0x4536c0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio4_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c78","earlier":"0x4536e0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445e9c","earlier":"0x4538cc","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445ebc","earlier":"0x4538ec","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445edc","earlier":"0x45390c","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_slap_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445f10","earlier":"0x453940","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"create_creative_cannon_crater_","source":"E:\\apache\\source\\weapons\\ccc.c","reference":"0x448b48","earlier":"0x4566bc","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"damage_mobile_object_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x449798","earlier":"0x457374","same_instruction_shape":false,"reference_instructions":175,"earlier_instructions":182,"callers":[[4551540,"damage_mobiles_in_range_exclusive_",17]],"diff":["--- 0x457374","+++ 0x449798","@@ -1,55 +1,41 @@"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x4"," mov esi,eax"," mov ecx,edx"," test m1[eax+None*1+0x40],0x1","-je local:11","+je local:14"," xor eax,eax","-jmp local:176","-mov edx,m4[esi+None*1+0x38]","-cmp edx,0x1","-je local:16","-xor eax,eax","-jmp local:17","-mov eax,edx","+add esp,0x4","+pop ebp","+pop esi","+pop ecx","+ret ","+mov eax,esi","+call external"," test eax,eax","-je local:176","-mov eax,m4[ecx+None*1+0x5c]","+je local:9","+mov eax,m4[edx+None*1+0x5c]"," call external"," mov edx,m4[esi+None*1+0x40]"," shl edx,0x1d"," shr edx,0x1e"," cmp eax,edx","-jne local:52","+jne local:37"," mov eax,m4[ecx+None*1+0x5c]"," cmp m4[eax+None*1+0x24],0x2","-jne local:45","+jne local:8"," mov eax,m4[eax+None*1+0x2c]","+call external"," test eax,eax","-je local:35","-mov ebp,m4[eax+None*1+0x38]","-cmp ebp,0x1"," je local:37","-xor eax,eax","-jmp local:38","-mov eax,ebp","-test eax,eax","-je local:52"," mov eax,m4[ecx+None*1+0x5c]"," mov eax,m4[eax+None*1+0x2c]"," mov eax,m4[eax+None*1+0x3c]"," cmp m4[eax+None*1+0x1c8],0xffffffff","-jne local:52","-xor eax,eax","-add esp,0x4","-pop ebp","-pop edi","-pop esi","-pop ecx","-ret ","+je local:8","+push edi"," mov edx,m4[esi+None*1+0x8]"," mov ebp,m4[ebx+None*1+0x8]"," mov eax,m4[edx+None*1+0x8]","@@ -57,12 +43,12 @@"," mov ebp,eax"," mov eax,m4[edx+None*1+0x4]"," sub eax,m4[ebx+None*1+0x4]","-mov m4[esp+None*1+0x0],eax","+mov m4[esp+None*1+0x4],eax"," mov eax,m4[edx+None*1+0x0]"," mov edx,m4[ebx+None*1+0x0]"," mov ebx,ebp"," sub eax,edx","-mov edx,m4[esp+None*1+0x0]","+mov edx,m4[esp+None*1+0x4]"," mov edi,m4[esi+None*1+0x3c]"," call external"," mov ebx,eax","@@ -74,15 +60,15 @@"," mov ebx,eax"," call external"," cmp eax,0x7","-je local:92","+je local:78"," cmp m4[esi+None*1+0x0],0x40","-jne local:92","+jne local:78"," cmp m4[edi+None*1+0x1c8],0xffffffff","-jne local:92","+jne local:78"," mov eax,m4[ecx+None*1+0x5c]"," call external"," cmp eax,0x2","-jne local:92","+jne local:78"," mov eax,ecx"," call external"," lea ebx,m4[eax+None*1+0x2]","@@ -92,8 +78,8 @@"," mov ebx,eax"," mov edx,m4[esi+None*1+0x0]"," shl edx,0x2","-mov m4[esp+None*1+0x0],edx","-mov ebp,m4[esp+None*1+0x0]","+mov m4[esp+None*1+0x4],edx","+mov ebp,m4[esp+None*1+0x4]"," mov edx,m4[None+None*1+address]"," xor eax,eax"," add edx,ebp","@@ -101,82 +87,89 @@"," mov edx,m4[edx+None*1+0x0]"," add eax,ebx"," cmp eax,m4[edx+None*1+0xa8]","-jl local:151","+jl local:144"," mov eax,m4[esi+None*1+0x0]"," call external"," mov edx,ecx"," lea eax,m4[edi+None*1+0x8]"," call external"," cmp edi,m4[None+None*1+address]","-jne local:175","-mov eax,m4[ecx+None*1+0x5c]","-mov edx,m4[eax+None*1+0x24]","-cmp edx,0x1","-jb local:139","-jbe local:135","-cmp edx,0x2","-jne local:139","-mov eax,m4[eax+None*1+0x2c]","-test eax,eax","-je local:124","-mov esi,m4[eax+None*1+0x38]","-cmp esi,0x1","-je local:126","-xor eax,eax","-jmp local:127","-mov eax,esi","-test eax,eax","-je local:175","-mov eax,m4[ecx+None*1+0x5c]","-mov eax,m4[eax+None*1+0x2c]","-mov edx,m4[ecx+None*1+0x0]","-mov eax,m4[eax+None*1+0x3c]","-call external","-jmp local:175","-mov edx,m4[ecx+None*1+0x0]","-mov eax,m4[eax+None*1+0x2c]","-call external","-jmp local:175","+jne local:106","+mov edx,m4[ecx+None*1+0x5c]","+mov eax,m4[edx+None*1+0x24]","+cmp eax,0x1","+jae local:113"," push 0x129"," push address"," push address"," call external"," add esp,0xc"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","+pop esi","+pop ecx","+ret ","+jbe local:132","+cmp eax,0x2","+jne local:101","+mov eax,m4[edx+None*1+0x2c]","+call external","+test eax,eax","+je local:106","+mov eax,m4[ecx+None*1+0x5c]","+mov eax,m4[eax+None*1+0x2c]","+mov edx,m4[ecx+None*1+0x0]","+mov eax,m4[eax+None*1+0x3c]","+call external","+mov eax,ebx"," pop edi","+add esp,0x4","+pop ebp","+pop esi","+pop ecx","+ret ","+mov eax,m4[ecx+None*1+0x0]","+mov ecx,m4[edx+None*1+0x2c]","+mov edx,eax","+mov eax,ecx","+call external","+mov eax,ebx","+pop edi","+add esp,0x4","+pop ebp"," pop esi"," pop ecx"," ret "," test eax,eax","-jge local:155","-xor eax,eax","-jmp local:158","+jl local:163"," cmp eax,0xff","-jle local:158","+jle local:149"," mov eax,0xff"," mov m1[edi+None*1+0xdc],al"," cmp edi,m4[None+None*1+address]","-jne local:175","+jne local:106"," call external"," cmp ebx,0xa","-jge local:172","+jge local:165"," call external"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret ","+xor eax,eax","+jmp local:149"," mov edx,0x8000"," mov eax,0x3f"," call external"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret "]},{"name":"damage_mobiles_in_range_exclusive_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x4499f0","earlier":"0x4575f0","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"get_passed_task_id_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x449e40","earlier":"0x457afc","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"get_rounds_direction_change_to_target_","source":"E:\\apache\\source\\weapons\\rndmove.c","reference":"0x44cc2c","earlier":"0x45a664","same_instruction_shape":true,"reference_instructions":36,"earlier_instructions":36,"callers":[],"diff":[]},{"name":"pitch_round_down_","source":"E:\\apache\\source\\weapons\\rndmove.c","reference":"0x44cc94","earlier":"0x45a6cc","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"initialise_rounds_","source":"E:\\apache\\source\\weapons\\rounds.c","reference":"0x44cd90","earlier":"0x45a7b0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"release_target_sanely_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e6a0","earlier":"0x45c144","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":58,"callers":[[4571460,"wipe_gameplay_object_",9],[4571460,"wipe_gameplay_object_",12]],"diff":["--- 0x45c144","+++ 0x44e6a0","@@ -1,58 +1,33 @@","-push ebx","-push ecx"," push edx","-mov ecx,eax"," test eax,eax","-je local:54","+je local:17"," mov edx,m4[eax+None*1+0x24]"," cmp edx,0x2","-jne local:47","+jne local:30"," mov eax,m4[eax+None*1+0x2c]"," mov eax,m4[eax+None*1+0x38]"," cmp eax,0x1","-jb local:17","-jbe local:54","-cmp eax,edx","-je local:20","-jmp local:38","+jae local:19"," test eax,eax","-je local:29","-jmp local:38","-push 0x3f5","-push address","-push address","-call external","-add esp,0xc","-pop edx","-pop ecx","-pop ebx","-ret ","+jne local:26"," push 0x3f9"," push address"," push address"," call external"," add esp,0xc"," pop edx","-pop ecx","-pop ebx"," ret ","+jbe local:17","+cmp eax,edx","+jne local:26","+push 0x3f5","+push address","+push address","+jmp local:15"," push 0x3fd"," push address"," push address","+jmp local:15"," call external","-add esp,0xc"," pop edx","-pop ecx","-pop ebx"," ret ","-mov ebx,m4[None+None*1+address]","-dec ebx","-xor edx,edx","-mov m4[None+None*1+address],ebx","-mov ebx,0x30","-call external","-mov m4[ecx+None*1+0x24],0x0","-pop edx","-pop ecx","-pop ebx","-ret "]},{"name":"release_target_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e704","earlier":"0x45c1f0","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"initialise_targets_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e730","earlier":"0x45c21c","same_instruction_shape":true,"reference_instructions":9,"earlier_instructions":9,"callers":[],"diff":[]},{"name":"initialise_comms_panel_","source":"E:\\apache\\source\\avionics\\commspan.c","reference":"0x4573b0","earlier":"0x464e80","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"initialise_goggles_","source":"E:\\apache\\source\\avionics\\goggles.c","reference":"0x458020","earlier":"0x465b00","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"set_goggles_dvo_mode_","source":"E:\\apache\\source\\avionics\\goggles.c","reference":"0x458694","earlier":"0x46614c","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"set_ihadss_viewport_and_window_","source":"E:\\apache\\source\\avionics\\ihadss.c","reference":"0x458ea4","earlier":"0x466904","same_instruction_shape":true,"reference_instructions":29,"earlier_instructions":29,"callers":[],"diff":[]},{"name":"draw_i_beam_","source":"E:\\apache\\source\\avionics\\ihadss.c","reference":"0x45b1ec","earlier":"0x468bec","same_instruction_shape":true,"reference_instructions":83,"earlier_instructions":83,"callers":[],"diff":[]},{"name":"initialise_tads_","source":"E:\\apache\\source\\avionics\\inittads.c","reference":"0x45c1a0","earlier":"0x469b70","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[],"diff":[]},{"name":"mfd_off_","source":"E:\\apache\\source\\avionics\\mfdfunc.c","reference":"0x45cec0","earlier":"0x46a860","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"print_field_and_value_","source":"E:\\apache\\source\\avionics\\mfdfunc.c","reference":"0x460820","earlier":"0x46e1cc","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"set_primary_visual_viewport_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x4625ec","earlier":"0x470218","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"set_spectator_camera_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x4628b0","earlier":"0x4704ec","same_instruction_shape":true,"reference_instructions":29,"earlier_instructions":29,"callers":[],"diff":[]},{"name":"initialise_crash_camera_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x462d48","earlier":"0x47096c","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_2d_window_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x4678f4","earlier":"0x4752a8","same_instruction_shape":true,"reference_instructions":61,"earlier_instructions":61,"callers":[],"diff":[]},{"name":"set_2d_viewport_and_window_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x4679bc","earlier":"0x475370","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":77,"callers":[[4674416,"set_ihadss_viewport_and_window_",21],[4674416,"mfd_off_",11]],"diff":["--- 0x475370","+++ 0x4679bc","@@ -22,31 +22,31 @@"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ebx,m4[esp+None*1+0x1c]","+mov ecx,m4[esp+None*1+0x1c]"," mov edx,m4[esp+None*1+0x14]","-add edx,ebx","+add edx,ecx"," mov m4[None+None*1+address],eax"," mov eax,edx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ecx","+sub eax,ebx"," mov ebp,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," sub eax,ebp"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],eax","-mov eax,ecx","-mov ebx,edi","+mov eax,ebx","+mov ecx,m4[None+None*1+address]"," sub eax,esi"," mov edx,m4[esp+None*1+0x14]"," mov m4[None+None*1+address],eax"," mov eax,ebp","-mov ecx,m4[None+None*1+address]","+mov ebx,edi"," sub eax,edx"," mov edx,m4[None+None*1+address]"," sub ebx,esi","@@ -57,20 +57,21 @@"," rcr eax,0x1"," idiv ebx"," mov ebx,m4[None+None*1+address]","+mov edx,m4[None+None*1+address]","+mov m4[None+None*1+address],eax","+mov eax,m4[None+None*1+address]"," mov esi,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-mov edi,m4[None+None*1+address]","-sub ebx,esi","-sub edx,edi","-mov m4[None+None*1+address],eax","+sub eax,ebx","+sub edx,esi","+mov ebx,eax"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-mov ebp,eax","+mov edi,eax"," mov m4[None+None*1+address],eax","-neg ebp","-mov m4[None+None*1+address],ebp","+neg edi","+mov m4[None+None*1+address],edi"," pop ebp"," pop edi"," pop esi"]},{"name":"set_2d_object_origin_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467ac4","earlier":"0x475478","same_instruction_shape":false,"reference_instructions":18,"earlier_instructions":18,"callers":[[4674680,"draw_radar_cross_",4],[4674680,"draw_radar_cross_",21],[4674680,"draw_radar_square_",4],[4674680,"draw_radar_square_",33],[4674680,"draw_radar_inverted_tee_",4],[4674680,"draw_radar_inverted_tee_",22],[4674680,"draw_radar_plus_",4],[4674680,"draw_radar_plus_",21],[4674680,"draw_radar_diamond_",4],[4674680,"draw_radar_diamond_",34],[4674680,"draw_radar_tee_",4],[4674680,"draw_radar_tee_",22],[4674680,"draw_radar_rotated_cross_",44],[4674680,"draw_radar_rotated_cross_",63],[4674680,"draw_radar_rotated_square_",45],[4674680,"draw_radar_rotated_square_",75],[4674680,"draw_radar_rotated_inverted_tee_",44],[4674680,"draw_radar_rotated_inverted_tee_",63],[4674680,"draw_radar_rotated_plus_",45],[4674680,"draw_radar_rotated_plus_",63],[4674680,"draw_radar_rotated_diamond_",45],[4674680,"draw_radar_rotated_diamond_",75],[4674680,"draw_radar_rotated_tee_",44],[4674680,"draw_radar_rotated_tee_",63],[4674680,"draw_i_beam_",6]],"diff":["--- 0x475478","+++ 0x467ac4","@@ -1,18 +1,18 @@","-push ebx","-mov ebx,m4[None+None*1+address]","+push ecx","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-sub eax,ebx","+sub eax,ecx"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],edx"," sub edx,eax"," mov m4[None+None*1+address],edx","-mov eax,ebx","+mov eax,ecx"," sub eax,m4[None+None*1+address]","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ebx","+sub eax,ecx"," mov m4[None+None*1+address],eax","-pop ebx","+pop ecx"," ret "]},{"name":"set_2d_rotation_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467b60","earlier":"0x4754ec","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"store_2d_visual_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467c5c","earlier":"0x4755ec","same_instruction_shape":true,"reference_instructions":45,"earlier_instructions":45,"callers":[[4675052,"do_reschedule_",17]],"diff":[]},{"name":"restore_2d_visual_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467d1c","earlier":"0x4756ac","same_instruction_shape":true,"reference_instructions":54,"earlier_instructions":54,"callers":[[4675244,"do_reschedule_",48]],"diff":[]},{"name":"clear_2d_viewport_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467dfc","earlier":"0x47578c","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":25,"callers":[[4675468,"mfd_off_",13]],"diff":["--- 0x47578c","+++ 0x467dfc","@@ -6,15 +6,16 @@"," mov edx,eax"," mov eax,m4[None+None*1+address]"," sub eax,m4[None+None*1+address]","+lea ecx,m4[eax+None*1+0x1]","+mov ebx,m4[None+None*1+address]","+mov eax,m4[None+None*1+address]","+sub eax,ebx","+mov edi,m4[None+None*1+address]"," lea ebx,m4[eax+None*1+0x1]","-mov ecx,m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-sub eax,ecx","-mov edi,m4[None+None*1+address]","-lea ecx,m4[eax+None*1+0x1]"," mov esi,m4[None+None*1+address]"," mov eax,edx","-mov edx,ebx","+mov edx,ecx","+mov ecx,ebx"," mov ebx,edi"," call external"," pop edi"]},{"name":"draw_2d_line_","source":"E:\\library\\2dvisual\\2dline.c","reference":"0x467ed0","earlier":"0x476760","same_instruction_shape":false,"reference_instructions":27,"earlier_instructions":25,"callers":[[4679520,"draw_radar_cross_",12],[4679520,"draw_radar_cross_",18],[4679520,"draw_radar_square_",12],[4679520,"draw_radar_square_",18],[4679520,"draw_radar_square_",24],[4679520,"draw_radar_square_",30],[4679520,"draw_radar_inverted_tee_",13],[4679520,"draw_radar_inverted_tee_",19],[4679520,"draw_radar_plus_",12],[4679520,"draw_radar_plus_",18],[4679520,"draw_radar_diamond_",13],[4679520,"draw_radar_diamond_",19],[4679520,"draw_radar_diamond_",25],[4679520,"draw_radar_diamond_",31],[4679520,"draw_radar_tee_",13],[4679520,"draw_radar_tee_",19],[4679520,"draw_radar_rotated_cross_",52],[4679520,"draw_radar_rotated_cross_",58],[4679520,"draw_radar_rotated_square_",52],[4679520,"draw_radar_rotated_square_",58],[4679520,"draw_radar_rotated_square_",64],[4679520,"draw_radar_rotated_square_",70],[4679520,"draw_radar_rotated_inverted_tee_",52],[4679520,"draw_radar_rotated_inverted_tee_",58],[4679520,"draw_radar_rotated_plus_",52],[4679520,"draw_radar_rotated_plus_",58],[4679520,"draw_radar_rotated_diamond_",52],[4679520,"draw_radar_rotated_diamond_",58],[4679520,"draw_radar_rotated_diamond_",64],[4679520,"draw_radar_rotated_diamond_",70],[4679520,"draw_radar_rotated_tee_",52],[4679520,"draw_radar_rotated_tee_",58],[4679520,"draw_i_beam_",14],[4679520,"draw_i_beam_",22],[4679520,"draw_i_beam_",30],[4679520,"draw_i_beam_",38],[4679520,"draw_i_beam_",46],[4679520,"draw_i_beam_",54],[4679520,"draw_i_beam_",67],[4679520,"draw_i_beam_",77]],"diff":["--- 0x476760","+++ 0x467ed0","@@ -1,5 +1,3 @@","-push esi","-push edi"," sub esp,0x10"," mov m4[esp+None*1+0x0],eax"," mov m4[esp+None*1+0x4],edx","@@ -11,15 +9,19 @@"," mov eax,esp"," call external"," test eax,eax","-je local:21","-mov esi,m4[esp+None*1+0xc]","-mov edx,m4[esp+None*1+0x8]","-mov ebx,m4[esp+None*1+0x4]","+jne local:14","+add esp,0x10","+ret 0x4","+push edi","+push esi","+mov esi,m4[esp+None*1+0x14]","+mov edx,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0xc]"," xor eax,eax","-mov ecx,m4[esp+None*1+0x0]","+mov ecx,m4[esp+None*1+0x8]"," mov al,m1[esp+None*1+0x1c]"," call external","+pop esi","+pop edi"," add esp,0x10","-pop edi","-pop esi"," ret 0x4"]},{"name":"set_2d_text_position_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468a90","earlier":"0x4781f8","same_instruction_shape":true,"reference_instructions":53,"earlier_instructions":53,"callers":[],"diff":[]},{"name":"draw_2d_circle_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468b38","earlier":"0x4782a0","same_instruction_shape":true,"reference_instructions":67,"earlier_instructions":67,"callers":[],"diff":[]},{"name":"draw_2d_sprite_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468f38","earlier":"0x4786a0","same_instruction_shape":true,"reference_instructions":58,"earlier_instructions":58,"callers":[],"diff":[]},{"name":"draw_2d_recoloured_sprite_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468fe8","earlier":"0x478750","same_instruction_shape":true,"reference_instructions":58,"earlier_instructions":58,"callers":[],"diff":[]},{"name":"FlipAnimScreens_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46bae8","earlier":"0x478fb8","same_instruction_shape":false,"reference_instructions":44,"earlier_instructions":40,"callers":[[4689848,"PlotWholeAnimScreen_",19]],"diff":["--- 0x478fb8","+++ 0x46bae8","@@ -1,5 +1,4 @@"," push ebx","-push ecx"," push edx"," push esi"," call external","@@ -14,19 +13,25 @@"," sub eax,edx"," mov m4[None+None*1+address],eax"," cmp eax,0x10","-jl local:10","+jl local:9","+mov eax,eax"," call external","-mov ecx,0x1","+mov ebx,0x1"," mov m4[None+None*1+address],eax"," call external"," call external"," mov ah,m1[None+None*1+address]","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," test ah,0x20","-je local:29","+je local:34"," mov eax,m4[None+None*1+address]"," call external","-jmp local:33","+xor esi,esi","+mov m4[None+None*1+address],esi","+pop esi","+pop edx","+pop ebx","+ret "," mov ebx,0x100"," mov eax,m4[None+None*1+address]"," xor edx,edx","@@ -35,6 +40,5 @@"," mov m4[None+None*1+address],esi"," pop esi"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"SetupAnimScreen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46bb80","earlier":"0x479044","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"PlotWholeAnimScreen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d1d0","earlier":"0x47a500","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"pixeliseAnim_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d210","earlier":"0x47a540","same_instruction_shape":false,"reference_instructions":38,"earlier_instructions":35,"callers":[[4695360,"SetupAnimScreen_",19]],"diff":["--- 0x47a540","+++ 0x46d210","@@ -2,12 +2,12 @@"," mov ecx,eax"," sub ebx,0x4"," test ebx,ebx","-jle local:33","+jle local:22"," inc edx"," mov al,m1[edx+None*1+0xffffffff]"," dec ebx"," cmp al,0x80","-jb local:21","+jb local:24"," dec al"," je local:18"," mov ah,m1[edx+None*1+0x0]","@@ -16,11 +16,14 @@"," inc ecx"," test al,al"," jne local:12","+dec ebx"," inc edx","-dec ebx","-jmp local:31","+test ebx,ebx","+jg local:5","+pop ecx","+ret "," inc al","-je local:31","+je local:20"," inc ecx"," mov ah,m1[edx+None*1+0x0]"," inc edx","@@ -28,7 +31,7 @@"," dec al"," dec ebx"," test al,al","-jne local:23","+jne local:26"," test ebx,ebx"," jg local:5"," pop ecx"]},{"name":"Clear_Visible_Anim_Screen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d254","earlier":"0x47a580","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"install_lib32_","source":"E:\\library\\config\\config.c","reference":"0x46d3d8","earlier":"0x47a708","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_preferences_filename_","source":"E:\\library\\config\\prefs.c","reference":"0x46d430","earlier":"0x47a760","same_instruction_shape":false,"reference_instructions":236,"earlier_instructions":224,"callers":[[4695904,"install_lib32_",11]],"diff":["--- 0x47a760","+++ 0x46d430","@@ -8,7 +8,7 @@"," mov m4[esp+None*1+0x4],eax"," mov ebp,m4[None+None*1+address]"," test ebp,ebp","-je local:29","+je local:30"," mov ecx,address"," mov edi,0x3e"," mov esi,ebp","@@ -27,14 +27,15 @@"," call external"," test ebp,ebp"," jne local:13","+nop "," xor edx,edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],edx","-test ebx,ebx","-je local:38","-mov edx,address","-mov eax,ebx","+test ecx,ecx","+je local:39"," mov ebx,0x47","+mov edx,address","+mov eax,ecx"," call external"," mov edi,m4[esp+None*1+0x4]"," mov ebx,0x4a","@@ -54,18 +55,28 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:63","+je local:64"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:53","+jne local:54"," pop edi"," mov eax,m4[None+None*1+address]"," call external"," test eax,eax","-je local:214","+jne local:79","+mov eax,address","+call external","+add esp,0x10","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x4f"," mov ecx,address"," mov ebx,0x1","@@ -76,7 +87,7 @@"," call external"," mov edi,eax"," test eax,eax","-je local:214","+je local:69"," mov ebx,0x55"," mov edx,address"," inc eax","@@ -96,54 +107,52 @@"," mov eax,m4[None+None*1+address]"," mov m1[edi+esi*1+0x0],0x0"," call external","-xor ecx,ecx","+xor ebx,ebx"," mov ah,m1[esi+None*1+0x0]","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," test ah,ah","-je local:210","+je local:219"," mov esi,ebp"," xor edi,edi"," mov dh,m1[ebp+None*1+0x0]"," mov m4[esp+None*1+0xc],edi"," test dh,dh","-je local:120","+je local:126"," mov bh,m1[ebp+None*1+0x0]"," lea eax,m4[ebp+None*1+0x1]"," cmp bh,0x3d","-jne local:116","+jne local:140"," mov m1[ebp+None*1+0x0],0x0"," mov ebp,eax","-jmp local:120","-mov bl,m1[eax+None*1+0x0]","-mov ebp,eax","-test bl,bl","-jne local:109"," mov cl,m1[ebp+None*1+0x0]"," test cl,cl","-je local:142","+je local:151"," mov m4[esp+None*1+0xc],ebp","-je local:142","+je local:151"," mov ah,m1[ebp+None*1+0x0]"," cmp ah,0xa","-je local:130","-cmp ah,0xd","-jne local:138","+jne local:145"," mov m1[ebp+None*1+0x0],0x0"," inc ebp"," mov dh,m1[ebp+None*1+0x0]"," cmp dh,0xa","-je local:131","-cmp dh,0xd","-jne local:142","-jmp local:131","+jne local:233","+jmp local:135","+mov bl,m1[eax+None*1+0x0]","+mov ebp,eax","+test bl,bl","+jne local:120","+jmp local:126","+cmp ah,0xd","+je local:134"," mov al,m1[ebp+None*1+0x1]"," inc ebp"," test al,al","-jne local:125","+jne local:131"," test esi,esi","-je local:208","+je local:217"," cmp m4[esp+None*1+0xc],0x0","-je local:208","+je local:217"," mov ebx,0x8a"," mov edx,address"," mov eax,0xc","@@ -172,13 +181,13 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:181","+je local:190"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:171","+jne local:180"," pop edi"," mov edi,m4[esp+None*1+0xc]"," mov edx,address","@@ -198,16 +207,16 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:207","+je local:216"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:197","+jne local:206"," pop edi"," cmp m1[ebp+None*1+0x0],0x0","-jne local:103","+jne local:114"," mov ebx,0x99"," mov edx,address"," mov eax,m4[esp+None*1+0x0]","@@ -222,3 +231,6 @@"," pop ecx"," pop ebx"," ret ","+cmp dh,0xd","+je local:135","+jmp local:151"]},{"name":"set_preferences_int_","source":"E:\\library\\config\\prefs.c","reference":"0x46d764","earlier":"0x47aa78","same_instruction_shape":false,"reference_instructions":15,"earlier_instructions":15,"callers":[[4696696,"save_quick_start_game_runs_",3]],"diff":["--- 0x47aa78","+++ 0x46d764","@@ -1,6 +1,6 @@","-push ebx","+push ecx"," sub esp,0x64","-mov ebx,eax","+mov ecx,eax"," push edx"," push address"," lea edx,m4[esp+None*1+0x8]","@@ -8,8 +8,8 @@"," call external"," add esp,0xc"," mov edx,esp","-mov eax,ebx","+mov eax,ecx"," call external"," add esp,0x64","-pop ebx","+pop ecx"," ret "]},{"name":"install_debug_log_","source":"E:\\library\\debug\\debuglog.c","reference":"0x46dc20","earlier":"0x47afa0","same_instruction_shape":false,"reference_instructions":50,"earlier_instructions":44,"callers":[[4698016,"install_lib32_",2]],"diff":["--- 0x47afa0","+++ 0x46dc20","@@ -1,4 +1,3 @@","-push ebx"," push ecx"," push edx"," push esi","@@ -10,35 +9,42 @@"," call m4[None+None*1+address]"," mov esi,m4[None+None*1+address]"," mov edi,address","-mov edx,0x1"," mov esi,m4[esi+None*1+0x0]"," mov m4[None+None*1+address],eax"," push edi"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:26","+je local:24"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:16","+jne local:14"," pop edi","+mov esi,address","+mov edx,0x1","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:38","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:28","+pop edi","+mov ecx,m4[None+None*1+address]"," mov eax,address","-mov edi,address","-mov esi,address","-mov ebx,m4[None+None*1+address]","+add ecx,edx"," mov m4[None+None*1+address],edx","-add ebx,edx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ecx"," call external"," pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"debug_log_fatal_long_","source":"E:\\library\\debug\\debuglog.c","reference":"0x46dcac","earlier":"0x47b01c","same_instruction_shape":false,"reference_instructions":89,"earlier_instructions":76,"callers":[[4698140,"set_simple_drone_object_number_",12],[4698140,"add_to_kills_list_",20],[4698140,"add_to_gobs_list_",22]],"diff":["--- 0x47b01c","+++ 0x46dcac","@@ -7,7 +7,17 @@"," sub esp,0x68"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:56","+jne local:20","+cmp m4[None+None*1+address],0x0","+je local:71","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov edi,address"," lea ebx,m4[esp+None*1+0x64]"," xor ah,ah","@@ -25,26 +35,23 @@"," call external"," mov edx,m4[esp+None*1+0x8c]"," push edx","-mov ebx,m4[esp+None*1+0x8c]","-push ebx","+mov ecx,m4[esp+None*1+0x8c]","+push ecx"," xor eax,eax"," push address"," mov m4[esp+None*1+0x70],eax"," lea eax,m4[esp+None*1+0xc]"," push eax","-xor edx,edx"," call external"," add esp,0x10"," mov eax,esp","-xor ebx,ebx"," call external"," call external","-mov eax,edi"," call external","-mov ecx,m4[None+None*1+address]","-test ecx,ecx","-jne local:68","-push ecx","+mov ebx,m4[None+None*1+address]","+test ebx,ebx","+jne local:12","+push ebx"," push address"," push edi"," mov edi,m4[None+None*1+address]","@@ -53,16 +60,22 @@"," mov m4[None+None*1+address],esi"," call m4[None+None*1+address]"," mov eax,0xa","-jmp local:67","-cmp m4[None+None*1+address],0x0","-jne local:68","+call external","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push edx"," push address"," push address"," mov esi,m4[None+None*1+address]","-mov ecx,0x1","+mov ebx,0x1"," push esi","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," call m4[None+None*1+address]"," mov eax,0xff"," call external"]},{"name":"create_fader_","source":"E:\\library\\graphics\\palette.c","reference":"0x46f0f8","earlier":"0x47c35c","same_instruction_shape":false,"reference_instructions":69,"earlier_instructions":65,"callers":[[4703068,"initialise_crash_camera_",11]],"diff":["--- 0x47c35c","+++ 0x46f0f8","@@ -1,27 +1,58 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov esi,eax"," mov edi,edx","-mov ebp,ebx","-mov ebx,0x151","+mov m4[esp+None*1+0x0],ebx","+mov ebp,ecx","+mov ebx,0x1e6"," mov edx,address","-mov eax,0x28","+mov eax,0x2c"," call external","+mov edx,eax"," mov m4[eax+None*1+0x0],esi","-mov m4[eax+None*1+0x4],edi","-mov edx,eax","-mov m4[eax+None*1+0x8],ebp","+mov ecx,eax","+mov m4[eax+None*1+0x8],edi","+mov eax,m4[esp+None*1+0x0]","+mov m4[edx+None*1+0x10],ebp","+mov m4[edx+None*1+0xc],eax","+mov eax,m4[esp+None*1+0x14]","+mov m4[edx+None*1+0x18],eax","+test esi,esi","+je local:55","+xor eax,eax","+mov al,m1[esp+None*1+0x18]","+mov m4[edx+None*1+0x1c],eax","+xor eax,eax","+mov al,m1[esp+None*1+0x1c]","+mov m4[edx+None*1+0x20],eax","+xor eax,eax","+mov al,m1[esp+None*1+0x20]","+mov m4[edx+None*1+0x24],eax","+mov eax,m4[None+None*1+address]","+xor ebx,ebx","+test eax,eax","+je local:43","+mov esi,m4[eax+None*1+0x8]","+cmp esi,m4[ecx+None*1+0x8]","+jg local:43"," mov ebx,eax","-mov m4[eax+None*1+0xc],ecx","-mov eax,m4[esp+None*1+0x10]","-mov m4[edx+None*1+0x14],eax","-test esi,esi","-jne local:32","-xor eax,eax","-mov al,m1[esp+None*1+0x14]","-shl eax,0x10","-mov m4[edx+None*1+0x18],eax","+mov eax,m4[eax+None*1+0x28]","+test eax,eax","+jne local:36","+mov m4[ecx+None*1+0x28],eax","+test ebx,ebx","+je local:67","+mov m4[ebx+None*1+0x28],ecx","+mov m4[None+None*1+address],0x1","+call external","+mov eax,ecx","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+ret 0x10"," xor eax,eax"," mov al,m1[esp+None*1+0x18]"," shl eax,0x10","@@ -29,37 +60,10 @@"," xor eax,eax"," mov al,m1[esp+None*1+0x1c]"," shl eax,0x10","-jmp local:40","+mov m4[edx+None*1+0x20],eax"," xor eax,eax","-mov al,m1[esp+None*1+0x14]","-mov m4[edx+None*1+0x18],eax","-xor eax,eax","-mov al,m1[esp+None*1+0x18]","-mov m4[edx+None*1+0x1c],eax","-xor eax,eax","-mov al,m1[esp+None*1+0x1c]","-mov m4[edx+None*1+0x20],eax","-mov eax,m4[None+None*1+address]","-xor ecx,ecx","-test eax,eax","-je local:52","-mov edx,m4[ebx+None*1+0x4]","-cmp edx,m4[eax+None*1+0x4]","-jl local:52","-mov ecx,eax","-mov eax,m4[eax+None*1+0x24]","-test eax,eax","-jne local:45","-mov m4[ebx+None*1+0x24],eax","-test ecx,ecx","-je local:57","-mov m4[ecx+None*1+0x24],ebx","-jmp local:58","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],0x1","-call external","-mov eax,ebx","-pop ebp","-pop edi","-pop esi","-ret 0x10","+mov al,m1[esp+None*1+0x20]","+shl eax,0x10","+jmp local:31","+mov m4[None+None*1+address],ecx","+jmp local:47"]},{"name":"set_border_colour_","source":"E:\\library\\graphics\\palette.c","reference":"0x46f2dc","earlier":"0x47c524","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"assign_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f424","earlier":"0x47c7c4","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"set_active_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f4a4","earlier":"0x47c828","same_instruction_shape":false,"reference_instructions":67,"earlier_instructions":66,"callers":[[4704296,"do_reschedule_",42]],"diff":["--- 0x47c828","+++ 0x46f4a4","@@ -2,63 +2,64 @@"," push ecx"," push edx"," push esi","+push edi","+mov esi,m4[None+None*1+address]","+mov edi,m4[None+None*1+address]","+mov ecx,eax"," mov m4[None+None*1+address],eax"," test eax,eax","-je local:61","-mov edx,m4[eax+None*1+0x0]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x4]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x8]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0xc]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x10]","-mov ebx,m4[None+None*1+address]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x14]","-mov eax,m4[eax+None*1+0x18]","-dec ebx","+je local:59","+mov esi,m4[eax+None*1+0x4]","+mov edi,m4[eax+None*1+0x0]","+mov eax,m4[eax+None*1+0x8]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0xc]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x10]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x14]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x18]"," shl eax,0x1e","-mov m4[None+None*1+address],edx"," shr eax,0x1f"," mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-mov eax,m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","-add eax,edx","-dec ecx","+lea eax,m4[edi+edx*1+0x0]"," mov m4[None+None*1+address],eax","-xor edx,edx","-xor eax,eax","-call external","-mov edx,m4[None+None*1+address]","-mov eax,edx","+lea edx,m4[esi+None*1+0xffffffff]","+lea eax,m4[edi+None*1+0xffffffff]","+mov m4[None+None*1+address],edx","+mov m4[None+None*1+address],eax","+mov edx,edi","+mov eax,edi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-mov eax,edx","+mov edx,esi","+mov eax,esi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","+xor ebx,ebx","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx"," mov ebx,m4[None+None*1+address]","-mov esi,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-add ecx,ebx"," mov m4[None+None*1+address],eax","-mov edx,m4[edx+None*1+0x14]","+mov edx,m4[ecx+None*1+0x14]"," test esi,esi","-jle local:61","-lea ebx,m4[None+esi*4+0x0]","+jle local:59","+lea ecx,m4[None+esi*4+0x0]"," xor eax,eax"," mov m4[eax+None*1+address],edx"," add eax,0x4","-add edx,ecx","-cmp eax,ebx","-jl local:56","+add edx,ebx","+cmp eax,ecx","+jl local:53","+lea eax,m4[eax+None*1+0x0]","+mov m4[None+None*1+address],edi","+mov m4[None+None*1+address],esi","+pop edi"," pop esi"," pop edx"," pop ecx"]},{"name":"get_active_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f580","earlier":"0x47c90c","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4704524,"do_reschedule_",11]],"diff":[]},{"name":"set_screen_extent_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f5a4","earlier":"0x47c930","same_instruction_shape":false,"reference_instructions":5,"earlier_instructions":5,"callers":[[4704560,"restore_2d_visual_",49]],"diff":["--- 0x47c930","+++ 0x46f5a4","@@ -1,5 +1,5 @@","-mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],eax"," ret "]},{"name":"clear_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f5fc","earlier":"0x47c988","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[[4704648,"Clear_Visible_Anim_Screen_",4]],"diff":[]},{"name":"allocate_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f66c","earlier":"0x47c9f8","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":31,"callers":[[4704760,"assign_screen_",2]],"diff":["--- 0x47c9f8","+++ 0x46f66c","@@ -1,31 +1,33 @@","-push ebx","+push ecx"," push edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]","+xor eax,eax"," xor edx,edx","-xor eax,eax","-test ebx,ebx","-jne local:15","-mov m4[eax+None*1+address],0x1","-lea eax,m4[None+edx*8+0x0]","-sub eax,edx","-shl eax,0x2","-add eax,address","-pop edx","-pop ebx","-ret ","+test ecx,ecx","+je local:13"," add eax,0x4"," inc edx"," cmp eax,0x190","-jge local:22","+jge local:24"," cmp m4[eax+None*1+address],0x0","-je local:7","-jmp local:15","-push 0x18d","+jne local:7","+push esi","+mov esi,0x1","+shl edx,0x2","+mov m4[eax+None*1+address],esi","+lea eax,m4[None+edx*8+0x0]","+sub eax,edx","+add eax,address","+pop esi","+pop edx","+pop ecx","+ret ","+push 0x1a7"," push address"," push address"," call external"," add esp,0xc"," xor eax,eax"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"print_text_string_","source":"E:\\library\\graphics\\text.c","reference":"0x471a30","earlier":"0x47d3f0","same_instruction_shape":false,"reference_instructions":91,"earlier_instructions":84,"callers":[[4707312,"print_field_and_value_",9],[4707312,"print_field_and_value_",20]],"diff":["--- 0x47d3f0","+++ 0x471a30","@@ -7,12 +7,19 @@"," mov esi,eax"," mov ah,m1[None+None*1+address]"," test ah,0x1","-je local:46","+je local:53"," test ah,0x2","-je local:31","+je local:38"," mov ch,m1[esi+None*1+0x0]"," test ch,ch","-je external","+jne local:22","+mov m4[None+None*1+address],edi","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov ebx,m4[None+None*1+address]"," xor eax,eax"," mov edx,edi","@@ -31,7 +38,7 @@"," jmp local:12"," mov cl,m1[esi+None*1+0x0]"," test cl,cl","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," xor eax,eax"," mov edx,edi","@@ -43,11 +50,11 @@"," inc eax"," inc esi"," add edi,eax","-jmp local:31","+jmp local:38"," test ah,0x2","-je local:68","+je local:75"," cmp m1[esi+None*1+0x0],0x0","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," mov edx,edi"," xor ecx,ecx","@@ -65,9 +72,9 @@"," and eax,0xff"," inc eax"," add edi,eax","-jmp local:48","+jmp local:55"," cmp m1[esi+None*1+0x0],0x0","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," mov edx,edi"," xor ecx,ecx","@@ -81,4 +88,4 @@"," inc eax"," inc esi"," add edi,eax","-jmp local:68","+jmp local:75"]},{"name":"get_text_string_width_","source":"E:\\library\\graphics\\text.c","reference":"0x471b7c","earlier":"0x47d534","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":34,"callers":[[4707636,"print_field_and_value_",14]],"diff":["--- 0x47d534","+++ 0x471b7c","@@ -5,27 +5,28 @@"," mov bl,m1[None+None*1+address]"," xor edx,edx"," test bl,0x2","-je local:19","-cmp m1[eax+None*1+0x0],0x0","-je local:28","-xor ecx,ecx","-mov ebx,m4[None+None*1+address]","+je local:20"," mov cl,m1[eax+None*1+0x0]","+test cl,cl","+je local:29","+xor ebx,ebx","+mov bl,cl","+mov ecx,m4[None+None*1+address]"," inc eax","-mov bl,m1[ecx+ebx*1+0x0]","-and ebx,0xff","-inc ebx","-add edx,ebx","+mov cl,m1[ecx+ebx*1+0x0]","+and ecx,0xff","+inc ecx","+add edx,ecx"," jmp local:8"," mov esi,m4[None+None*1+address]"," inc esi","-mov ebx,eax","-mov cl,m1[ebx+None*1+0x0]","+mov ecx,eax","+mov bh,m1[ecx+None*1+0x0]"," inc eax","-test cl,cl","-je local:28","+test bh,bh","+je local:29"," add edx,esi","-jmp local:21","+jmp local:22"," mov eax,edx"," pop esi"," pop edx"]},{"name":"fill_translucent_masked_textured_polygon_","source":"E:\\library\\graphics\\polygon.c","reference":"0x471e58","earlier":"0x47c668","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472d8c","earlier":"0x47e388","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"quick_set_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472e94","earlier":"0x47e48c","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"quick_set_windows_palette_registers_using_run_list_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472f9c","earlier":"0x47e58c","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"get_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x4730dc","earlier":"0x47e6b4","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"draw_windows_xored_video_line_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x47317c","earlier":"0x47e74c","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"draw_windows_textured_xored_video_line_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x47321c","earlier":"0x47e7e0","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"initialise_maths_library_","source":"E:\\library\\maths\\initmath.c","reference":"0x473c50","earlier":"0x47f180","same_instruction_shape":false,"reference_instructions":64,"earlier_instructions":89,"callers":[[4714880,"install_lib32_",14]],"diff":["--- 0x47f180","+++ 0x473c50","@@ -1,89 +1,64 @@"," call external"," call external"," mov eax,eax","-push ebx","-sub esp,0x9c","-mov m4[esp+None*1+0x8c],0xf7060000","-mov ebx,0x4267ffff","-mov m4[esp+None*1+0x90],ebx","-mov eax,m4[esp+None*1+0x8c]","+push ecx","+push ebp","+mov ebp,esp","+sub esp,0xac","+and esp,0xfffffff8","+mov m4[esp+None*1+0x0],0xf7060000","+mov ecx,0x4267ffff","+mov m4[esp+None*1+0x4],ecx","+mov eax,m4[esp+None*1+0x0]"," mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x90]","+mov eax,m4[esp+None*1+0x4]"," mov m4[esp+None*1+0x98],eax"," fld1 "," fdiv m8[esp+None*1+0x94]"," fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x74]","-mov m4[esp+None*1+0x84],0xf7062000","-mov m4[esp+None*1+0x88],ebx","-mov eax,m4[esp+None*1+0x84]","-mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x88]","-mov m4[esp+None*1+0x98],eax","+fstp m8[esp+None*1+0x18]","+mov m4[esp+None*1+0x8],0xf7062000","+mov m4[esp+None*1+0xc],ecx","+mov eax,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x9c],eax","+mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0xa0],eax"," fld1 ","-fdiv m8[esp+None*1+0x94]","-fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x6c]","-mov m4[esp+None*1+0x7c],0xf7064000","-mov m4[esp+None*1+0x80],ebx","-mov eax,m4[esp+None*1+0x7c]","-mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x80]","-mov m4[esp+None*1+0x98],eax","+fdiv m8[esp+None*1+0x9c]","+fmul m8[esp+None*1+0x9c]","+fstp m8[esp+None*1+0x20]","+mov m4[esp+None*1+0x10],0xf7064000","+mov m4[esp+None*1+0x14],ecx","+mov eax,m4[esp+None*1+0x10]","+mov m4[esp+None*1+0xa4],eax","+mov eax,m4[esp+None*1+0x14]","+mov m4[esp+None*1+0xa8],eax"," fld1 ","-fdiv m8[esp+None*1+0x94]","-fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x64]","-fld m8[esp+None*1+0x74]","+fdiv m8[esp+None*1+0xa4]","+fmul m8[esp+None*1+0xa4]","+fstp m8[esp+None*1+0x28]","+fld m8[esp+None*1+0x18]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-ja local:57","-fld m8[esp+None*1+0x6c]","+ja external","+fld m8[esp+None*1+0x20]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-ja local:57","-fld m8[esp+None*1+0x64]","+ja external","+fld m8[esp+None*1+0x28]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-jbe local:86","-fld m8[None+None*1+address]","-fld m8[esp+None*1+0x64]","-fadd st(1)","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x84]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x7c]","-fadd st(1)","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x9c]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fadd m8[esp+None*1+0x94]","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0xb4]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-push address","-lea eax,m4[esp+None*1+0x34]","-push eax","-call external","-add esp,0x38","-add esp,0x9c","-pop ebx","+ja external","+mov esp,ebp","+pop ebp","+pop ecx"," ret "]},{"name":"mat_mul_scawen_","source":"E:\\library\\maths\\matrix.c","reference":"0x473fc0","earlier":"0x47f510","same_instruction_shape":true,"reference_instructions":86,"earlier_instructions":86,"callers":[],"diff":[]},{"name":"mat_mul_3x3_3x3_","source":"E:\\library\\maths\\matrix.c","reference":"0x474090","earlier":"0x47f5e0","same_instruction_shape":true,"reference_instructions":236,"earlier_instructions":236,"callers":[],"diff":[]},{"name":"get_transformation_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x4744ec","earlier":"0x47fa38","same_instruction_shape":false,"reference_instructions":162,"earlier_instructions":163,"callers":[[4717112,"create_creative_cannon_crater_",9],[4717112,"pitch_round_down_",40]],"diff":["--- 0x47fa38","+++ 0x4744ec","@@ -79,13 +79,11 @@"," mov ebx,m4[esp+None*1+0x18]"," mov m4[ebx+None*1+0x4],edx"," mov edx,m4[esp+None*1+0x10]","-mov ebx,edx","+mov ecx,edx"," mov m4[esp+None*1+0x0],edx","-neg ebx","+neg ecx"," mov edx,m4[esp+None*1+0xc]","-mov m4[esp+None*1+0x0],ebx","-mov eax,ebx","-mov ebx,m4[esp+None*1+0x18]","+mov eax,ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -93,6 +91,7 @@"," mov eax,m4[esp+None*1+0xc]"," mov m4[ebx+None*1+0x8],edx"," mov edx,ebp","+mov esi,ebp"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -100,7 +99,7 @@"," mov eax,m4[esp+None*1+0xc]"," mov m4[ebx+None*1+0xc],edx"," mov edx,edi","-mov esi,ebp","+mov m4[esp+None*1+0x0],ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2"]},{"name":"get_XZ_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x4747b4","earlier":"0x47fccc","same_instruction_shape":true,"reference_instructions":70,"earlier_instructions":70,"callers":[],"diff":[]},{"name":"get_ZX_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x474874","earlier":"0x47fd8c","same_instruction_shape":true,"reference_instructions":72,"earlier_instructions":72,"callers":[],"diff":[]},{"name":"get_approx_2d_range_","source":"E:\\library\\maths\\range.c","reference":"0x474a20","earlier":"0x47ff30","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":21,"callers":[[4718384,"get_rounds_direction_change_to_target_",21]],"diff":["--- 0x47ff30","+++ 0x474a20","@@ -1,21 +1,25 @@"," push ebx"," push ecx","-mov ecx,edx","+mov ebx,edx"," cdq "," xor eax,edx"," sub eax,edx","-mov ebx,eax","-mov eax,ecx","+mov ecx,eax","+mov eax,ebx"," cdq "," xor eax,edx"," sub eax,edx","-cmp ebx,eax","-jl local:15","-shl ebx,0x2","-jmp local:16","-shl eax,0x2","-add eax,ebx","+cmp ecx,eax","+jl local:19","+shl ecx,0x2","+add eax,ecx"," sar eax,0x2"," pop ecx"," pop ebx"," ret ","+shl eax,0x2","+add eax,ecx","+sar eax,0x2","+pop ecx","+pop ebx","+ret "]},{"name":"get_approx_3d_range_","source":"E:\\library\\maths\\range.c","reference":"0x474a4c","earlier":"0x47ff58","same_instruction_shape":true,"reference_instructions":42,"earlier_instructions":42,"callers":[],"diff":[]},{"name":"iarctan360f_","source":"E:\\library\\maths\\trig.c","reference":"0x474d5c","earlier":"0x480258","same_instruction_shape":false,"reference_instructions":223,"earlier_instructions":223,"callers":[[4719192,"get_rounds_direction_change_to_target_",17],[4719192,"get_rounds_direction_change_to_target_",24],[4719192,"get_heading_pitch_roll_",25],[4719192,"get_heading_pitch_roll_",30]],"diff":["--- 0x480258","+++ 0x474d5c","@@ -23,7 +23,7 @@"," pop ecx"," pop ebx"," ret ","-jge local:220","+jge local:9"," mov eax,0xc0000000"," pop ecx"," pop ebx","@@ -33,11 +33,7 @@"," test edx,edx"," jle local:77"," cmp ecx,edx","-jne local:40","-mov eax,0x20000000","-pop ecx","-pop ebx","-ret ","+je local:54"," jge local:58"," mov ebx,edx"," mov edx,ecx","@@ -56,6 +52,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,0x20000000","+pop ecx","+pop ebx","+ret "," mov ebx,ecx"," xor eax,eax"," sar edx,0x1","@@ -77,11 +77,7 @@"," ret "," neg eax"," cmp ecx,eax","-jne local:84","-mov eax,0x60000000","-pop ecx","-pop ebx","-ret ","+je local:101"," jge local:105"," mov ebx,eax"," mov edx,ecx","@@ -100,6 +96,10 @@"," sub eax,edx"," sub ecx,eax"," mov eax,ecx","+pop ecx","+pop ebx","+ret ","+mov eax,0x60000000"," pop ecx"," pop ebx"," ret ","@@ -130,11 +130,7 @@"," jle local:176"," neg ecx"," cmp ecx,edx","-jne local:137","-mov eax,0xe0000000","-pop ecx","-pop ebx","-ret ","+je local:152"," jge local:156"," mov ebx,edx"," mov edx,ecx","@@ -154,34 +150,34 @@"," pop ecx"," pop ebx"," ret ","-mov ebx,ecx","-xor eax,eax","-sar edx,0x1","-rcr eax,0x1","-idiv ebx","-mov ecx,0x40000000","-cdq ","-xor eax,edx","-sub eax,edx","-shr eax,0x13","-adc eax,0x0","-mov eax,m4[None+eax*4+address]","-xor eax,edx","-sub eax,edx","-sub ecx,eax","-mov eax,ecx","-neg eax","-pop ecx","-pop ebx","-ret ","+mov eax,0xe0000000","+pop ecx","+pop ebx","+ret ","+mov ebx,ecx","+xor eax,eax","+sar edx,0x1","+rcr eax,0x1","+idiv ebx","+mov ecx,0x40000000","+cdq ","+xor eax,edx","+sub eax,edx","+shr eax,0x13","+adc eax,0x0","+mov eax,m4[None+eax*4+address]","+xor eax,edx","+sub eax,edx","+sub ecx,eax","+mov eax,ecx","+neg eax","+pop ecx","+pop ebx","+ret ","+neg eax"," neg ecx","-neg eax"," cmp ecx,eax","-jne local:184","-mov eax,0xa0000000","-pop ecx","-pop ebx","-ret ","+je local:199"," jge local:203"," mov ebx,eax"," mov edx,ecx","@@ -201,6 +197,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,0xa0000000","+pop ecx","+pop ebx","+ret "," mov ebx,ecx"," mov edx,eax"," xor eax,eax"]},{"name":"get_3d_normalised_unit_vector_","source":"E:\\library\\maths\\vector.c","reference":"0x474f50","earlier":"0x480450","same_instruction_shape":false,"reference_instructions":130,"earlier_instructions":117,"callers":[[4719696,"add_unit_vectors_",45]],"diff":["--- 0x480450","+++ 0x474f50","@@ -8,19 +8,7 @@"," xor eax,edx"," sub eax,edx"," cmp eax,0x3fffffff","-jg local:23","-mov eax,m4[ecx+None*1+0x4]","-cdq ","-xor eax,edx","-sub eax,edx","-cmp eax,0x3fffffff","-jg local:23","-mov eax,m4[ecx+None*1+0x8]","-cdq ","-xor eax,edx","-sub eax,edx","-cmp eax,0x3fffffff","-jle local:41","+jle local:42"," mov eax,m4[ecx+None*1+0x0]"," mov edx,eax"," sar edx,0x1f","@@ -45,61 +33,86 @@"," call external"," lea esi,m4[eax+None*1+0x1]"," test esi,esi","-je local:111","+jne local:55","+mov eax,esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,m4[ecx+None*1+0x4]","+cdq ","+xor eax,edx","+sub eax,edx","+cmp eax,0x3fffffff","+jg local:11","+mov eax,m4[ecx+None*1+0x8]","+cdq ","+xor eax,edx","+sub eax,edx","+cmp eax,0x3fffffff","+jg local:11","+jmp local:29"," mov eax,m4[ecx+None*1+0x0]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:61","+jge local:97"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x0]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:66","-cmp m4[ecx+None*1+0x0],0x0","-jle local:65","-mov eax,0x7fffffff","-jmp local:66","-mov eax,0x80000001"," mov m4[ecx+None*1+0x0],eax"," mov eax,m4[ecx+None*1+0x4]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:80","+jge local:103"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x4]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:85","-cmp m4[ecx+None*1+0x4],0x0","-jle local:84","-mov eax,0x7fffffff","-jmp local:85","-mov eax,0x80000001"," mov m4[ecx+None*1+0x4],eax"," mov eax,m4[ecx+None*1+0x8]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:99","+jl local:109","+cmp m4[ecx+None*1+0x8],0x0","+jle local:122","+mov eax,0x7fffffff","+mov m4[ecx+None*1+0x8],eax","+mov eax,esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+cmp m4[ecx+None*1+0x0],0x0","+jle local:101","+mov eax,0x7fffffff","+jmp local:67","+mov eax,0x80000001","+jmp local:67","+cmp m4[ecx+None*1+0x4],0x0","+jle local:107","+mov eax,0x7fffffff","+jmp local:80","+mov eax,0x80000001","+jmp local:80"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x8]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:110","-cmp m4[ecx+None*1+0x8],0x0","-jle local:109","-mov eax,0x7fffffff"," mov m4[ecx+None*1+0x8],eax"," mov eax,esi"," pop esi"]},{"name":"add_unit_vectors_","source":"E:\\library\\maths\\vector.c","reference":"0x475638","earlier":"0x480b30","same_instruction_shape":true,"reference_instructions":50,"earlier_instructions":50,"callers":[],"diff":[]},{"name":"ipx_destroy_events_","source":"E:\\library\\network\\ipx.c","reference":"0x4757b8","earlier":"0x480ca4","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4721828,"install_lib32_",16]],"diff":[]},{"name":"send_all_connections_","source":"E:\\library\\network\\net.c","reference":"0x476008","earlier":"0x481500","same_instruction_shape":false,"reference_instructions":36,"earlier_instructions":26,"callers":[[4723968,"send_modem_prefs_",19]],"diff":["--- 0x481500","+++ 0x476008","@@ -5,10 +5,20 @@"," push ebp"," mov edi,eax"," mov ebp,edx","+xor esi,esi"," xor ecx,ecx","-xor esi,esi"," cmp m4[esi+None*1+address],0x0","-je local:16","+jne local:21","+inc ecx","+add esi,0x20","+cmp ecx,0x10","+jl local:9","+pop ebp","+pop edi","+pop esi","+pop ecx","+pop ebx","+ret "," mov ebx,ebp"," mov edx,edi"," mov eax,ecx"]},{"name":"check_network_","source":"E:\\library\\network\\net.c","reference":"0x476054","earlier":"0x48153c","same_instruction_shape":false,"reference_instructions":11,"earlier_instructions":9,"callers":[[4724028,"send_modem_prefs_",20]],"diff":["--- 0x48153c","+++ 0x476054","@@ -1,9 +1,11 @@"," push edx"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:7","+je local:6"," cmp edx,0x1","-jne local:7","+je local:8","+pop edx","+ret "," call external"," pop edx"," ret "]},{"name":"set_network_channel_","source":"E:\\library\\network\\net.c","reference":"0x4769d0","earlier":"0x481e88","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"open_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x476b80","earlier":"0x482020","same_instruction_shape":false,"reference_instructions":327,"earlier_instructions":357,"callers":[[4726816,"save_mission_data_",7]],"diff":["--- 0x482020","+++ 0x476b80","@@ -6,13 +6,13 @@"," mov m4[esp+None*1+0x6c],edx"," mov m4[esp+None*1+0x68],ebx"," mov m4[esp+None*1+0x64],ecx","-mov ebx,0x94","+mov ebx,0x97"," mov edx,address"," mov eax,0x18"," call external"," mov edi,ebp"," mov esi,ebp","-mov ebx,0x98","+mov ebx,0x9b"," mov m4[esp+None*1+0x74],eax"," mov m4[esp+None*1+0x70],eax"," sub ecx,ecx","@@ -40,16 +40,16 @@"," jne local:30"," pop edi"," mov dl,m1[ecx+None*1+0x14]","-mov ebx,m4[esp+None*1+0x68]","+mov eax,m4[esp+None*1+0x6c]"," and dl,0xf8","-mov eax,m4[esp+None*1+0x6c]","+mov m4[ecx+None*1+0x4],eax"," mov m1[ecx+None*1+0x14],dl"," xor edx,edx","-mov m4[ecx+None*1+0x4],eax","+mov ecx,m4[esp+None*1+0x68]"," mov m4[esp+None*1+0x78],edx","-cmp ebx,0x3","-ja local:318","-mov eax,ebx","+cmp ecx,0x3","+ja local:118","+mov eax,ecx"," jmp m4[None+eax*4+address]"," mov eax,ebp"," mov edx,address","@@ -59,18 +59,18 @@"," test eax,eax"," je local:61"," call external","-mov ecx,m4[esp+None*1+0x6c]","-cmp ecx,0x1","-jne local:119","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","+mov ebx,m4[esp+None*1+0x6c]","+cmp ebx,0x1","+jne local:155","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118"," mov edi,m4[None+None*1+address]"," test edi,edi","-je local:318","+je local:118"," push ebp"," push edi"," push address","@@ -83,9 +83,9 @@"," call external"," mov m4[esp+None*1+0x78],eax"," test eax,eax","-je local:318","+je local:118"," mov eax,m4[esp+None*1+0x70]","-mov ebx,0xbd","+mov ebx,0xc0"," mov edx,address"," mov edi,esp"," mov eax,m4[eax+None*1+0x0]","@@ -97,7 +97,7 @@"," repne scasb al,m1[edi+None*1+0x0]"," not ecx"," dec ecx","-mov ebx,0xbf","+mov ebx,0xc2"," lea eax,m4[ecx+None*1+0x1]"," mov edx,address"," mov ecx,m4[esp+None*1+0x70]","@@ -116,219 +116,19 @@"," cmp al,0x0"," jne local:107"," pop edi","-jmp local:318","-cmp ecx,0x2","-jne local:181","-mov edx,address","-jmp local:315","-mov edi,m4[esp+None*1+0x6c]","-cmp edi,0x1","-jne local:180","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov edx,m4[None+None*1+address]","-test edx,edx","-je local:318","-push ebp","-push edx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov ebx,0xdb","-mov edx,address","-mov edi,esp","-mov eax,m4[ecx+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0xdd","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x74]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:178","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:168","-pop edi","-jmp local:318","-cmp edi,0x2","-mov edx,address","-jmp local:315","-mov edx,m4[esp+None*1+0x6c]","-cmp edx,0x1","-jne local:241","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov ecx,m4[None+None*1+address]","-test ecx,ecx","-je local:318","-push ebp","+cmp m4[esp+None*1+0x78],0x0","+jne local:136","+mov ecx,m4[esp+None*1+0x8c]"," push ecx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov eax,m4[esp+None*1+0x74]","-mov ebx,0xf8","-mov edx,address","-mov edi,esp","-mov eax,m4[eax+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0xfa","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x74]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:239","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:229","-pop edi","-jmp local:318","-cmp edx,0x2","-mov edx,address","-jmp local:315","-mov eax,ebp","-mov edx,address","-call external","-mov eax,ebp","-call external","-test eax,eax","-je local:252","-call external","-mov ecx,m4[esp+None*1+0x6c]","-cmp ecx,0x1","-jne local:310","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov edi,m4[None+None*1+address]","-test edi,edi","-je local:318","-push ebp","-push edi","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov eax,m4[esp+None*1+0x70]","-mov ebx,0x11c","-mov edx,address","-mov edi,esp","-mov eax,m4[eax+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0x11e","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x70]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:308","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:298","-pop edi","-jmp local:318","-cmp ecx,0x2","-jne local:314","-mov edx,address","-jmp local:315","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-cmp m4[esp+None*1+0x78],0x0","-jne local:336","-mov ebx,m4[esp+None*1+0x8c]","+mov ebx,m4[esp+None*1+0x68]"," push ebx","-mov ecx,m4[esp+None*1+0x68]","-push ecx"," push ebp"," push address"," lea eax,m4[esp+None*1+0x10]"," push eax"," call external"," add esp,0x14","-push 0x134","+push 0x137"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","@@ -339,10 +139,8 @@"," mov esi,m4[esp+None*1+0x68]"," mov m4[ecx+None*1+0xc],eax"," cmp esi,0x1","-jne local:344","+jne local:325"," mov ebx,0x2","-jmp local:345","-xor ebx,ebx"," xor edx,edx"," call external"," mov eax,m4[esp+None*1+0x78]","@@ -355,3 +153,175 @@"," pop edi"," pop esi"," ret 0x4","+cmp ebx,0x2","+jne local:162","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edi,m4[esp+None*1+0x6c]","+cmp edi,0x1","+je local:176","+cmp edi,0x2","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov edx,m4[None+None*1+address]","+test edx,edx","+je local:118","+push ebp","+push edx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x74]","+mov ebx,0xde","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0xe0","+lea eax,m4[ecx+None*1+0x1]","+mov edx,address","+mov ecx,m4[esp+None*1+0x74]","+jmp local:103","+mov edx,m4[esp+None*1+0x6c]","+cmp edx,0x1","+je local:225","+cmp edx,0x2","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov ebx,m4[None+None*1+address]","+test ebx,ebx","+je local:118","+push ebp","+push ebx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x74]","+mov ebx,0xfb","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0xfd","+lea eax,m4[ecx+None*1+0x1]","+mov edx,address","+mov ecx,m4[esp+None*1+0x74]","+jmp local:103","+mov eax,ebp","+mov edx,address","+call external","+mov eax,ebp","+call external","+test eax,eax","+je local:273","+call external","+mov ebx,m4[esp+None*1+0x6c]","+cmp ebx,0x1","+je local:283","+cmp ebx,0x2","+jne local:320","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov edi,m4[None+None*1+address]","+test edi,edi","+je local:118","+push ebp","+push edi","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x70]","+mov ebx,0x11f","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0x121","+jmp local:100","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+xor ebx,ebx","+jmp local:143"]},{"name":"close_file_","source":"E:\\library\\os\\file.c","reference":"0x476fd4","earlier":"0x4824a8","same_instruction_shape":false,"reference_instructions":24,"earlier_instructions":23,"callers":[[4727976,"save_mission_data_",21]],"diff":["--- 0x4824a8","+++ 0x476fd4","@@ -6,14 +6,12 @@"," shl eax,0x1e"," sar eax,0x1f"," test eax,eax","-jne local:11","-mov eax,m4[ecx+None*1+0xc]","-call external","-mov ebx,0x160","+je local:21","+mov ebx,0x163"," mov edx,address"," mov eax,m4[ecx+None*1+0x0]"," call external","-mov ebx,0x161","+mov ebx,0x164"," mov edx,address"," mov eax,ecx"," call external","@@ -21,3 +19,6 @@"," pop ecx"," pop ebx"," ret ","+mov eax,m4[ecx+None*1+0xc]","+call external","+jmp local:9"]},{"name":"write_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x477018","earlier":"0x4824e8","same_instruction_shape":false,"reference_instructions":105,"earlier_instructions":93,"callers":[[4728040,"write_string_file_verbose_",19]],"diff":["--- 0x4824e8","+++ 0x477018","@@ -11,21 +11,12 @@"," sar eax,0x1f"," xor ecx,ecx"," test eax,eax","-je local:23","-mov edx,address","-mov eax,m4[esi+None*1+0x0]","-call external","-mov m4[esi+None*1+0xc],eax","-xor ebx,ebx","-mov edx,m4[esi+None*1+0x10]","-mov eax,m4[esi+None*1+0xc]","-mov m4[esi+None*1+0x8],ecx","-call external","+jne local:47"," mov edx,m4[esi+None*1+0x4]"," cmp edx,0x2","-jne local:63","+jne local:79"," cmp edx,m4[esi+None*1+0x8]","-je local:36","+je local:27"," mov edx,m4[esi+None*1+0x10]"," mov eax,m4[esi+None*1+0xc]"," xor ebx,ebx","@@ -41,14 +32,34 @@"," call external"," mov ecx,eax"," cmp eax,edi","-jne local:46","+jne local:57"," add m4[esi+None*1+0x10],edi","-jmp local:79","+mov eax,m4[esi+None*1+0x14]","+shl eax,0x1e","+sar eax,0x1f","+test eax,eax","+jne local:96","+mov eax,ecx","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+ret 0x4","+mov edx,address","+mov eax,m4[esi+None*1+0x0]","+call external","+mov m4[esi+None*1+0xc],eax","+xor ebx,ebx","+mov edx,m4[esi+None*1+0x10]","+mov eax,m4[esi+None*1+0xc]","+mov m4[esi+None*1+0x8],ecx","+call external","+jmp local:14"," mov eax,m4[esi+None*1+0x14]"," shl eax,0x1d"," sar eax,0x1f"," test eax,eax","-je local:79","+je local:36"," mov edx,m4[esp+None*1+0x78]"," push edx"," push ebp","@@ -59,8 +70,13 @@"," push eax"," call external"," add esp,0x14","-push 0x199","-jmp local:74","+push 0x19c","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:36"," mov ebx,m4[esp+None*1+0x78]"," push ebx"," push ebp","@@ -71,17 +87,13 @@"," push eax"," call external"," add esp,0x14","-push 0x1a0","+push 0x1a3"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax"," call external"," add esp,0xc","-mov eax,m4[esi+None*1+0x14]","-shl eax,0x1e","-sar eax,0x1f","-test eax,eax","-je local:87","+jmp local:36"," mov eax,m4[esi+None*1+0xc]"," call external"," mov m4[esi+None*1+0xc],0x0"]},{"name":"write_string_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x477690","earlier":"0x482af4","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"get_file_spec_","source":"E:\\library\\os\\file.c","reference":"0x477a28","earlier":"0x482e50","same_instruction_shape":true,"reference_instructions":43,"earlier_instructions":43,"callers":[],"diff":[]},{"name":"find_read_only_path_","source":"E:\\library\\os\\file.c","reference":"0x47807c","earlier":"0x483470","same_instruction_shape":false,"reference_instructions":98,"earlier_instructions":90,"callers":[[4732016,"install_lib32_",5]],"diff":["--- 0x483470","+++ 0x47807c","@@ -6,23 +6,56 @@"," sub esp,0x3e8"," mov ebx,eax"," test eax,eax","-je local:82","+je local:36"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:49","+jne local:45","+mov edx,0x43","+push ebx","+push edx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov eax,esp","+call external","+test eax,eax","+jne local:83","+inc edx","+cmp edx,0x5a","+jle local:13","+mov ecx,m4[None+None*1+address]","+test ecx,ecx","+je local:36","+mov ebx,0x670","+mov edx,address","+mov eax,ecx","+call external","+xor ebx,ebx","+mov m4[None+None*1+address],ebx","+xor esi,esi","+mov m4[None+None*1+address],esi","+add esp,0x3e8","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov edi,esp"," mov esi,edx"," push edi"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:25","+je local:58"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:15","+jne local:48"," pop edi"," mov edi,esp"," mov esi,ebx","@@ -35,30 +68,19 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:44","+je local:77"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:34","+jne local:67"," pop edi"," mov eax,esp"," call external"," test eax,eax","-jne local:83","-mov edx,0x43","-push ebx","-push edx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov eax,esp","-call external","-test eax,eax","-je local:70","+jne local:38","+jmp local:12"," push edx"," push address"," lea eax,m4[esp+None*1+0x8]","@@ -67,20 +89,6 @@"," add esp,0xc"," mov eax,esp"," call external","-jmp local:83","-inc edx","-cmp edx,0x5a","-jle local:50","-mov ebx,m4[None+None*1+address]","-test ebx,ebx","-je local:82","-mov edx,address","-mov eax,ebx","-mov ebx,0x667","-xor ecx,ecx","-call external","-mov m4[None+None*1+address],ecx","-call external"," add esp,0x3e8"," pop edi"," pop esi"]},{"name":"create_sound_buffer_","source":"E:\\library\\sound\\dsound.c","reference":"0x478ecc","earlier":"0x484264","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"duplicate_sound_buffer_","source":"E:\\library\\sound\\dsound.c","reference":"0x479028","earlier":"0x4843b4","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"install_16bit_segments_","source":"E:\\library\\system\\16bit.c","reference":"0x4790c0","earlier":"0x484440","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[],"diff":[]},{"name":"get_event_","source":"E:\\library\\system\\event.c","reference":"0x479254","earlier":"0x4845d4","same_instruction_shape":false,"reference_instructions":109,"earlier_instructions":113,"callers":[[4736468,"process_events_",2]],"diff":["--- 0x4845d4","+++ 0x479254","@@ -1,91 +1,90 @@","-push ebx","-push ecx"," push edx","-push edi"," mov edx,eax"," cli "," mov al,m1[None+None*1+address]"," cmp al,m1[None+None*1+address]","-je local:105","-xor ebx,ebx","-mov bl,al","-lea eax,m4[None+ebx*4+0x0]","-add eax,ebx","+je local:104","+push edi","+push ecx","+push ebx","+xor ecx,ecx","+mov cl,al","+lea eax,m4[None+ecx*4+0x0]","+add eax,ecx"," shl eax,0x2"," add eax,address","-mov ebx,m4[eax+None*1+0x0]","-mov m4[edx+None*1+0x0],ebx","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+mov ecx,m4[eax+None*1+0x0]","+mov m4[edx+None*1+0x0],ecx","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax","-dec m4[None+None*1+address]"," mov bl,m1[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," inc bl","-mov ecx,m4[edx+None*1+0x0]","+dec ecx"," mov m1[None+None*1+address],bl","-cmp ecx,0x1","-jne local:35","-mov eax,m4[edx+None*1+0x4]","-call external","-mov m4[edx+None*1+0x8],eax","+mov ebx,m4[edx+None*1+0x0]","+mov m4[None+None*1+address],ecx","+cmp ebx,0x1","+je local:57"," cmp m4[edx+None*1+0x0],0x2","-jne local:71","-mov al,m1[None+None*1+address]","-cmp al,m1[None+None*1+address]","-je local:71","+jne local:70","+mov bh,m1[None+None*1+address]","+cmp bh,m1[None+None*1+address]","+je local:70"," xor eax,eax"," mov al,m1[None+None*1+address]"," imul eax,eax,0x14"," add eax,address"," mov edi,m4[eax+None*1+0x0]"," cmp edi,0x2","-jne local:62","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+jne local:61","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax","-mov ebx,m4[None+None*1+address]","-mov ch,m1[None+None*1+address]","-dec ebx","-inc ch","-mov m4[None+None*1+address],ebx","-mov m1[None+None*1+address],ch","-jmp local:37","+dec m4[None+None*1+address]","+inc m1[None+None*1+address]","+jmp local:36","+mov eax,m4[edx+None*1+0x4]","+call external","+mov m4[edx+None*1+0x8],eax","+jmp local:34"," cmp edi,0x5","-jne local:71","+jne local:70","+mov cl,m1[None+None*1+address]"," mov eax,m4[None+None*1+address]","-mov cl,m1[None+None*1+address]","+inc cl"," dec eax","-inc cl","+mov m1[None+None*1+address],cl"," mov m4[None+None*1+address],eax","-mov m1[None+None*1+address],cl","-jmp local:37","+jmp local:36"," cmp m4[edx+None*1+0x0],0x5","-jne local:97","+jne local:96"," mov al,m1[None+None*1+address]"," cmp al,m1[None+None*1+address]","-je local:97","+je local:96"," xor eax,eax"," mov al,m1[None+None*1+address]"," imul eax,eax,0x14"," add eax,address"," cmp m4[eax+None*1+0x0],0x5","-jne local:97","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+jne local:96","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax"," mov edi,m4[None+None*1+address]","@@ -94,20 +93,17 @@"," inc bl"," mov m4[None+None*1+address],edi"," mov m1[None+None*1+address],bl","-jmp local:73","+jmp local:72"," sti "," cld "," mov eax,0x1","+pop ebx","+pop ecx"," pop edi"," pop edx","-pop ecx","-pop ebx"," ret "," sti "," cld "," xor eax,eax","-pop edi"," pop edx","-pop ecx","-pop ebx"," ret "]},{"name":"register_exit_","source":"E:\\library\\system\\exit.c","reference":"0x479440","earlier":"0x4847c0","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":24,"callers":[[4736960,"install_lib32_",9],[4736960,"install_object_manager_",33]],"diff":["--- 0x4847c0","+++ 0x479440","@@ -3,13 +3,7 @@"," push edx"," mov ecx,eax"," cmp m4[None+None*1+address],0x0","-je local:12","-mov eax,address","-call external","-xor ebx,ebx","-mov eax,address","-mov m4[None+None*1+address],ebx","-call local:0","+jne local:18"," mov ebx,0x40"," mov edx,address"," mov eax,0x8","@@ -22,3 +16,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,address","+call external","+xor ebx,ebx","+mov eax,address","+mov m4[None+None*1+address],ebx","+call local:0","+jmp local:6"]},{"name":"install_joystick_","source":"E:\\library\\system\\joystick.c","reference":"0x4795a0","earlier":"0x484930","same_instruction_shape":false,"reference_instructions":117,"earlier_instructions":117,"callers":[[4737328,"install_lib32_",12]],"diff":["--- 0x484930","+++ 0x4795a0","@@ -1,16 +1,17 @@"," push ebx","-push ecx"," push edx","+push esi"," call external","+mov edx,0x1"," mov eax,address","-mov edx,0x1"," mov ebx,0x3","+xor esi,esi","+mov m4[None+None*1+address],edx"," call external","-xor ecx,ecx"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi"," call external"," mov eax,0x5"," call external","@@ -110,8 +111,7 @@"," mov edx,0x3"," mov eax,address"," call external","+pop esi"," pop edx","-pop ecx"," pop ebx","-mov eax,eax"," ret "]},{"name":"register_key_","source":"E:\\library\\system\\key.c","reference":"0x47a560","earlier":"0x48583c","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":24,"callers":[[4741180,"setup_menus_",6],[4741180,"test_waypoint_stuff_",7],[4741180,"push_keyboard_",3],[4741180,"install_object_manager_",9]],"diff":["--- 0x48583c","+++ 0x47a560","@@ -4,12 +4,8 @@"," mov esi,eax"," mov ecx,edx"," cmp m4[None+None*1+address],0x0","-je local:11","-mov eax,address","-xor ebx,ebx","-call external","-mov m4[None+None*1+address],ebx","-mov ebx,0x3e","+jne local:20","+mov ebx,0x3f"," mov edx,address"," mov eax,0xc"," call external","@@ -22,3 +18,8 @@"," pop ecx"," pop ebx"," ret ","+mov eax,address","+xor ebx,ebx","+call external","+mov m4[None+None*1+address],ebx","+jmp local:7"]},{"name":"push_keyboard_","source":"E:\\library\\system\\key.c","reference":"0x47a600","earlier":"0x4858dc","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"dispatch_down_keys_","source":"E:\\library\\system\\key.c","reference":"0x47a700","earlier":"0x4859d4","same_instruction_shape":false,"reference_instructions":72,"earlier_instructions":61,"callers":[[4741588,"process_events_",10]],"diff":["--- 0x4859d4","+++ 0x47a700","@@ -1,60 +1,71 @@"," push ebx"," push ecx"," push edx","+mov ebx,eax"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:57","-mov ebx,m4[edx+None*1+0x0]","-cmp ebx,0xffffffff","-je local:57","+je local:15","+mov ecx,m4[edx+None*1+0x0]","+cmp ecx,0xffffffff","+je local:15"," test m1[edx+None*1+0x2],0x2","-je local:54","-mov eax,ebx","+jne local:19","+mov edx,m4[edx+None*1+0x8]","+test edx,edx","+jne local:7","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,ecx"," and eax,0x7f"," call external"," test eax,eax","-je local:54","+je local:12"," mov eax,m4[edx+None*1+0x0]"," and eax,0x7f"," call external","-mov cl,m1[edx+None*1+0x1]","-mov ebx,0x1","-test cl,0x40","-je local:32","-mov eax,0x2a","-call external","-test eax,eax","-je local:31","-mov eax,0x36","-call external","-test eax,eax","-jne local:32","-xor ebx,ebx","+mov al,m1[edx+None*1+0x1]","+mov ecx,0x1","+test al,0x40","+jne local:50"," test m1[edx+None*1+0x1],0x20","-je local:39","+je local:38"," mov eax,0x1d"," call external"," test eax,eax","-jne local:39","-xor ebx,ebx","+jne local:38","+xor ecx,ecx"," test m1[edx+None*1+0x1],0x10","-je local:46","-mov eax,0x38","-call external","-test eax,eax","-jne local:46","-xor ebx,ebx","+jne local:61","+test ecx,ecx","+je local:12"," test ebx,ebx","-je local:54","+jne local:15"," mov eax,m4[edx+None*1+0x0]"," call m4[edx+None*1+0x4]"," pop edx"," pop ecx"," pop ebx"," ret ","+mov eax,0x2a","+call external","+test eax,eax","+jne local:56","+xor ecx,ecx","+jmp local:31","+mov eax,0x36","+call external","+test eax,eax","+je local:54","+jmp local:31","+mov eax,0x38","+call external","+test eax,eax","+jne local:40"," mov edx,m4[edx+None*1+0x8]"," test edx,edx","-jne local:6","+jne local:7"," pop edx"," pop ecx"," pop ebx"]},{"name":"do_key_event_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a7c0","earlier":"0x485a90","same_instruction_shape":false,"reference_instructions":70,"earlier_instructions":68,"callers":[[4741776,"process_events_",8]],"diff":["--- 0x485a90","+++ 0x47a7c0","@@ -1,68 +1,70 @@"," push edx","-mov eax,m4[eax+None*1+0x4]","-mov edx,eax","-and edx,0x7f","-cmp edx,0x38","-jb local:16","-jbe local:59","-cmp edx,0x58","-jb local:13","-jbe local:46","-cmp edx,0xfa","-je local:59","-jmp local:60","-cmp edx,0x57","-je local:33","-jmp local:60","-cmp edx,0x2a","-jb local:26","-jbe local:59","-cmp edx,0x36","-je local:59","-test eax,eax","-je local:65","+mov edx,m4[eax+None*1+0x4]","+mov eax,edx","+and eax,0x7f","+cmp eax,0x38","+jae local:13","+cmp eax,0x2a","+jae local:45","+cmp eax,0x1d","+jne local:22","+mov eax,0x1","+pop edx","+ret ","+jbe local:10","+cmp eax,0x58","+jae local:28","+cmp eax,0x57","+jne local:22","+cmp edx,0x2057","+je local:49","+cmp edx,0x3057","+je local:56","+test edx,edx","+je local:10","+mov eax,edx"," call external"," pop edx"," ret ","-cmp edx,0x1d","-je local:59","-test eax,eax","-je local:65","+ja local:40","+cmp edx,0x2058","+je local:63","+cmp edx,0x3058","+jne local:22","+xor eax,eax"," call external","+mov eax,0x14","+call external","+mov eax,0x1"," pop edx"," ret ","-cmp eax,0x2057","-jne local:40","+cmp eax,0xfa","+jne local:22","+mov eax,0x1","+pop edx","+ret ","+jbe local:10","+cmp eax,0x36","+je local:10","+jmp local:22"," xor eax,eax"," call external"," mov eax,0xffffffff"," call external","-xor eax,eax","-cmp eax,0x3057","-jne local:60","+mov eax,0x1","+pop edx","+ret "," xor eax,eax"," call external"," mov eax,0xffffffec","-jmp local:58","-cmp eax,0x2058","-jne local:53","+call external","+mov eax,0x1","+pop edx","+ret "," xor eax,eax"," call external"," mov eax,0x1"," call external","-xor eax,eax","-cmp eax,0x3058","-jne local:60","-xor eax,eax","-call external","-mov eax,0x14","-call external","-xor eax,eax","-test eax,eax","-je local:65","-call external","-pop edx","-ret "," mov eax,0x1"," pop edx"," ret "]},{"name":"check_key_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a91c","earlier":"0x485bf0","same_instruction_shape":true,"reference_instructions":4,"earlier_instructions":4,"callers":[[4742128,"check_for_user_abort_",1],[4742128,"check_for_user_abort_",5],[4742128,"check_for_user_abort_",9],[4742128,"check_for_user_abort_",13],[4742128,"check_for_user_abort_",17],[4742128,"check_for_user_abort_",21]],"diff":[]},{"name":"clear_key_count_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a938","earlier":"0x485c0c","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[[4742156,"push_keyboard_",7]],"diff":[]},{"name":"mem_free_","source":"E:\\library\\system\\memory.c","reference":"0x47b170","earlier":"0x486384","same_instruction_shape":false,"reference_instructions":11,"earlier_instructions":9,"callers":[[4744068,"clear_debrief_record_",11]],"diff":["--- 0x486384","+++ 0x47b170","@@ -2,7 +2,9 @@"," mov ecx,eax"," call external"," test eax,eax","-jne local:7","+je local:7","+pop ecx","+ret "," mov eax,ecx"," call external"," pop ecx"]},{"name":"register_garbage_collect_","source":"E:\\library\\system\\memory.c","reference":"0x47b1f8","earlier":"0x486404","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"lock_virtual_memory_","source":"E:\\library\\system\\memory.c","reference":"0x47b294","earlier":"0x4864d8","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4744408,"install_16bit_segments_",3]],"diff":[]},{"name":"install_mouse_","source":"E:\\library\\system\\mouse.c","reference":"0x47b864","earlier":"0x486a64","same_instruction_shape":false,"reference_instructions":239,"earlier_instructions":265,"callers":[[4745828,"install_lib32_",7]],"diff":["--- 0x486a64","+++ 0x47b864","@@ -4,7 +4,7 @@"," push esi"," push edi"," push ebp","-sub esp,0x310","+sub esp,0x300"," mov edx,0x1"," mov ebx,address"," mov eax,address","@@ -84,135 +84,37 @@"," mov m4[None+None*1+address],eax"," mov eax,0x12"," call external","-mov ecx,0xf","-mov m4[None+None*1+address],eax","-mov eax,m4[None+None*1+address]","-mov edx,0x20","-call external","-mov ebx,ecx","-mov eax,edx","-call external","-mov m4[None+None*1+address],eax","-call external","-mov eax,m4[None+None*1+address]","-mov m4[eax+None*1+0x10],address","-mov eax,address","+mov m4[None+None*1+address],eax","+mov ecx,0xf","+mov eax,m4[None+None*1+address]","+mov edx,0x20","+call external","+mov ebx,ecx","+mov eax,edx","+call external","+mov m4[None+None*1+address],eax","+call external","+mov eax,address","+mov edx,0x20","+call external","+mov ecx,m4[None+None*1+address]","+xor ebx,ebx","+mov eax,edx","+mov ecx,m4[ecx+None*1+0x14]","+call external","+mov edx,address","+mov m4[None+None*1+address],eax","+xor ecx,ecx","+xor ebx,ebx","+mov eax,address","+call external","+mov eax,address","+call external"," test eax,eax","-je local:107","-cmp m4[None+None*1+address],0x0","-jne local:107","+jne local:149"," mov ecx,0x1","-mov ebx,0x2","-mov edx,0xfd","-call external","-mov edx,0x20","-mov ecx,m4[None+None*1+address]","-xor ebx,ebx","-mov eax,edx","-mov ecx,m4[ecx+None*1+0x14]","-call external","-mov edx,address","-mov m4[None+None*1+address],eax","-xor ecx,ecx","-xor ebx,ebx","-mov eax,address","-call external","-mov eax,address","-call external","-test eax,eax","-je local:212","-mov ebx,0x158","-mov edx,address","-mov eax,0x4b000","-call external","-mov esi,eax","-mov eax,esp","-push eax","-mov ecx,0x1e0","-mov ebx,0x280","-push 0x0","-mov edx,esi","-mov eax,address","-call external","-mov eax,esp","-push eax","-mov edx,esi","-xor ecx,ecx","-push 0x280","-xor ebx,ebx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x20","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x40","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x60","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x80","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xa0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xc0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xe0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x100","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov ebx,0x168","-mov edx,address","-mov eax,esi","-call external","-mov ecx,0x1","-mov eax,m4[None+None*1+address]","-mov edi,0x64","+mov eax,m4[None+None*1+address]","+mov esi,0x64"," call external"," mov ebx,m4[None+None*1+address]"," mov edx,m4[None+None*1+address]","@@ -220,31 +122,13 @@"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],ecx"," mov ecx,m4[None+None*1+address]","-mov ebp,0x3","-call external","+mov edi,0x3","+call external","+mov edx,0x78"," mov eax,0xa0","-mov edx,0x78","-mov ebx,m4[None+None*1+address]","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],ebp","-mov m4[esp+None*1+0x300],eax","-mov m4[esp+None*1+0x304],edx","-test ebx,ebx","-je local:240","-mov esi,m4[None+None*1+address]","-mov edi,m4[None+None*1+address]","-sub esi,eax","-sub edi,edx"," mov m4[None+None*1+address],esi"," mov m4[None+None*1+address],edi","-jmp local:247","-lea eax,m4[esp+None*1+0x300]","-push eax","-push ebp","-push 0x400","-mov ecx,m4[None+None*1+address]","-push ecx","-call m4[None+None*1+address]","+call external"," mov eax,address"," xor ebp,ebp"," call external","@@ -255,7 +139,7 @@"," push eax"," mov m4[None+None*1+address],ebp"," call m4[None+None*1+address]","-add esp,0x310","+add esp,0x300"," pop ebp"," pop edi"," pop esi","@@ -263,3 +147,93 @@"," pop ecx"," pop ebx"," ret ","+mov ebx,0x164","+mov edx,address","+mov eax,0x4b000","+call external","+mov esi,eax","+mov eax,esp","+push eax","+mov ecx,0x1e0","+mov ebx,0x280","+push 0x0","+mov edx,esi","+mov eax,address","+call external","+mov eax,esp","+push eax","+mov edx,esi","+xor ecx,ecx","+push 0x280","+xor ebx,ebx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x20","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x40","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x60","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x80","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xa0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xc0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xe0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x100","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov ebx,0x174","+mov edx,address","+mov eax,esi","+call external","+jmp local:114"]},{"name":"set_mouse_pointer_","source":"E:\\library\\system\\mouse.c","reference":"0x47bdd4","earlier":"0x486ff0","same_instruction_shape":false,"reference_instructions":45,"earlier_instructions":41,"callers":[[4747248,"setup_menus_",9]],"diff":["--- 0x486ff0","+++ 0x47bdd4","@@ -1,41 +1,45 @@"," push ebx","-push ecx"," push edx"," push ebp"," mov edx,eax"," cmp eax,m4[None+None*1+address]","-je local:36","-mov ecx,m4[None+None*1+address]","-test ecx,ecx","-jne local:15","+je local:31","+mov ebx,m4[None+None*1+address]","+test ebx,ebx","+jne local:14"," cmp m4[None+None*1+address],0x0","-je local:15","+je local:14"," mov eax,0x1"," call external","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," mov ebp,m4[edx+None*1+0x10]"," mov m4[None+None*1+address],edx"," test ebp,ebp","-je local:26","+je local:27"," cmp m4[None+None*1+address],0x0","-jne local:26","+jne local:27","+push ecx"," mov ecx,0x1"," mov ebx,0x2"," mov edx,0xfd"," mov eax,ebp"," call external","+pop ecx"," cmp m4[None+None*1+address],0x0","-jne local:36","+jne local:31"," cmp m4[None+None*1+address],0x0","-jle local:36","+jg local:35","+pop ebp","+pop edx","+pop ebx","+ret "," mov eax,0x1"," call external"," mov eax,0x1","-mov ecx,0x1","+mov ebx,0x1"," call external","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," pop ebp"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"put_serial_char_","source":"E:\\library\\system\\sercomms.c","reference":"0x47c530","earlier":"0x4876dc","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"put_serial_string_","source":"E:\\library\\system\\sercomms.c","reference":"0x47c55c","earlier":"0x487708","same_instruction_shape":false,"reference_instructions":16,"earlier_instructions":27,"callers":[[4749064,"transmit_message_",19]],"diff":["--- 0x487708","+++ 0x47c55c","@@ -1,27 +1,16 @@"," push ebx","-push ecx"," push edx","-sub esp,0x8","-mov ebx,eax","+mov edx,eax"," cmp m1[eax+None*1+0x0],0x0","-je local:22","-mov al,m1[ebx+None*1+0x0]","-push 0x0","-mov m1[esp+None*1+0x8],al","-lea eax,m4[esp+None*1+0x4]","-push eax","-push 0x1","-lea eax,m4[esp+None*1+0x10]","-push eax","-mov edx,m4[None+None*1+address]","-push edx","-call m4[None+None*1+address]","-mov dl,m1[ebx+None*1+0x1]","-inc ebx","-test dl,dl","-jne local:7","-add esp,0x8","+je local:13","+xor eax,eax","+mov al,m1[edx+None*1+0x0]","+call external","+mov bl,m1[edx+None*1+0x1]","+inc edx","+test bl,bl","+jne local:5","+mov eax,eax"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"install_system_","source":"E:\\library\\system\\system.c","reference":"0x47da40","earlier":"0x488d20","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4754720,"install_lib32_",13]],"diff":[]},{"name":"beep_","source":"E:\\library\\system\\system.c","reference":"0x47da64","earlier":"0x488d44","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"click_","source":"E:\\library\\system\\system.c","reference":"0x47dae8","earlier":"0x488dc8","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"create_system_thread_","source":"E:\\library\\system\\thread.c","reference":"0x47dcc4","earlier":"0x488fb4","same_instruction_shape":false,"reference_instructions":97,"earlier_instructions":99,"callers":[[4755380,"install_lib32_",6]],"diff":["--- 0x488fb4","+++ 0x47dcc4","@@ -1,8 +1,6 @@","-push ebx"," push ecx"," push edx"," push esi","-push edi"," sub esp,0x4"," call m4[None+None*1+address]"," push eax","@@ -20,6 +18,8 @@"," mov m4[None+None*1+address],eax"," test edx,edx"," jne local:87","+push edi","+push ebx"," call m4[None+None*1+address]"," push 0x2"," push 0x0","@@ -34,21 +34,21 @@"," push eax"," call m4[None+None*1+address]"," push eax","-mov ebx,0x64","+mov ebx,0x10"," xor edi,edi"," call m4[None+None*1+address]","+mov ecx,0x64"," mov eax,address"," mov edx,address","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi","+mov m4[None+None*1+address],ecx"," add eax,0x58","-mov ebx,0x10","+mov m4[None+None*1+address],ecx"," call external"," mov eax,address"," mov m4[None+None*1+address],edi","@@ -64,10 +64,10 @@"," push edi"," mov m1[None+None*1+address],ah"," call m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],edi","-test ecx,ecx","+test ebx,ebx"," jg local:72"," mov m4[None+None*1+address],0x1"," push esi","@@ -78,12 +78,12 @@"," xor ecx,ecx"," call external"," call external","+pop ebx","+pop edi"," add esp,0x4","-pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "," push 0x14d"," push address","@@ -91,9 +91,7 @@"," call external"," add esp,0xc"," add esp,0x4","-pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"create_thread_","source":"E:\\library\\system\\thread.c","reference":"0x47de90","earlier":"0x4891a8","same_instruction_shape":false,"reference_instructions":95,"earlier_instructions":95,"callers":[[4755880,"do_takeoff_",7],[4755880,"install_object_manager_",16],[4755880,"install_object_manager_",21],[4755880,"install_object_manager_",26],[4755880,"install_object_manager_",31]],"diff":["--- 0x4891a8","+++ 0x47de90","@@ -20,7 +20,22 @@"," mov edx,m4[esi+None*1+address]"," lea ebp,m4[edi+None*1+0x1]"," test edx,edx","-jne local:80","+je local:38","+add esi,0xd0","+mov edi,ebp","+cmp esi,0x1380","+jl local:19","+push 0x1c4","+push address","+push address","+call external","+add esp,0xc","+xor eax,eax","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret "," mov m4[esi+None*1+address],edx"," mov m4[esi+None*1+address],edx"," mov m4[esi+None*1+address],edx","@@ -37,16 +52,16 @@"," mov m4[esi+None*1+address],edx"," mov eax,m4[esp+None*1+0x0]"," mov m4[esi+None*1+address],edx","-mov ebx,0x64","+mov ecx,0x64"," mov m4[esi+None*1+address],eax","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," mov edx,address","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," mov eax,m4[esp+None*1+0x8]"," add edx,esi"," mov m4[esi+None*1+address],eax"," lea eax,m4[edx+None*1+0x58]","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," call external"," lea eax,m4[edx+None*1+0xbc]"," mov ebx,0x10","@@ -62,7 +77,7 @@"," call m4[None+None*1+address]"," mov m4[esi+None*1+address],eax"," cmp edi,m4[None+None*1+address]","-jl local:66","+jl local:81"," mov m4[None+None*1+address],ebp"," mov ebp,m4[esp+None*1+0x8]"," push ebp","@@ -78,18 +93,3 @@"," pop edi"," pop esi"," ret ","-add esi,0xd0","-mov edi,ebp","-cmp esi,0x1380","-jl local:19","-push 0x1c4","-push address","-push address","-call external","-add esp,0xc","-xor eax,eax","-add esp,0xc","-pop ebp","-pop edi","-pop esi","-ret "]},{"name":"yield_","source":"E:\\library\\system\\thread.c","reference":"0x47dffc","earlier":"0x48931c","same_instruction_shape":false,"reference_instructions":28,"earlier_instructions":25,"callers":[[4756252,"click_",13],[4756252,"click_",18],[4756252,"sleep_on_idle_",15]],"diff":["--- 0x48931c","+++ 0x47dffc","@@ -1,25 +1,28 @@","+push ebp"," cmp m4[None+None*1+address],0x0","-jne local:24","-mov ebx,0x1","+jne local:26"," mov eax,m4[None+None*1+address]","-mov m4[None+None*1+address],ebx"," lea ebx,m4[None+eax*4+0x0]"," sub ebx,eax"," shl ebx,0x2","+mov ecx,0x1"," add ebx,eax","+mov m4[None+None*1+address],ecx"," shl ebx,0x4"," xor esi,esi"," push esi"," push 0x1","-mov ecx,m4[ebx+None*1+address]","-push ecx","+mov edi,m4[ebx+None*1+address]","+push edi"," call m4[None+None*1+address]"," push esi"," call m4[None+None*1+address]"," push 0xffffffff","-mov edi,m4[ebx+None*1+address]","-push edi","+mov ebp,m4[ebx+None*1+address]","+push ebp"," call m4[None+None*1+address]"," cmp esi,m4[None+None*1+address]","-jne local:11","+jne local:12","+mov eax,eax","+pop ebp"," ret "]},{"name":"set_low_priority_","source":"E:\\library\\system\\thread.c","reference":"0x47e280","earlier":"0x489594","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"set_normal_priority_","source":"E:\\library\\system\\thread.c","reference":"0x47e2a8","earlier":"0x4895bc","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"sleep_on_idle_","source":"E:\\library\\system\\thread.c","reference":"0x47e5c8","earlier":"0x4898d0","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"my_install_timer_","source":"E:\\library\\system\\timer.c","reference":"0x47e6b0","earlier":"0x4899c0","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4757952,"install_lib32_",3]],"diff":[]},{"name":"fast_clock_","source":"E:\\library\\system\\timer.c","reference":"0x47e6bc","earlier":"0x4899cc","same_instruction_shape":false,"reference_instructions":28,"earlier_instructions":28,"callers":[[4757964,"reschedule_",11]],"diff":["--- 0x4899cc","+++ 0x47e6bc","@@ -3,25 +3,25 @@"," push edx"," mov al,0xc2"," mov edx,0x43","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," out dx,al"," mov edx,0x40"," sub eax,eax"," in al,dx","-add ecx,ecx","-mov ebx,eax","+add ebx,ebx","+mov ecx,eax"," sub eax,eax"," in al,dx"," sub eax,eax"," in al,dx","-test bl,0x80","+test cl,0x80"," je local:23","-mov eax,ecx","+mov eax,ebx"," pop edx"," pop ecx"," pop ebx"," ret ","-lea eax,m4[ecx+None*1+0x1]","+lea eax,m4[ebx+None*1+0x1]"," pop edx"," pop ecx"," pop ebx"]},{"name":"clock_","source":"E:\\library\\system\\timer.c","reference":"0x47e6f4","earlier":"0x489a04","same_instruction_shape":true,"reference_instructions":3,"earlier_instructions":3,"callers":[[4758020,"create_menu_",54],[4758020,"place_menu_at_",20]],"diff":[]},{"name":"wait_","source":"E:\\library\\system\\timer.c","reference":"0x47e760","earlier":"0x489a64","same_instruction_shape":false,"reference_instructions":12,"earlier_instructions":12,"callers":[[4758116,"beep_",15]],"diff":["--- 0x489a64","+++ 0x47e760","@@ -1,12 +1,12 @@","-push ebx","+push ecx"," push edx"," mov edx,eax"," call external","-mov ebx,eax","+mov ecx,eax"," call external","-sub eax,ebx","+sub eax,ecx"," cmp eax,edx"," jle local:5"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"draw_clipped_box_","source":"E:\\library\\ui\\clip.c","reference":"0x47ed24","earlier":"0x489e54","same_instruction_shape":true,"reference_instructions":32,"earlier_instructions":32,"callers":[],"diff":[]},{"name":"draw_clipped_hline_","source":"E:\\library\\ui\\clip.c","reference":"0x47f200","earlier":"0x48a3f8","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_clipped_vline_","source":"E:\\library\\ui\\clip.c","reference":"0x47f248","earlier":"0x48a440","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"create_object_","source":"E:\\library\\ui\\object.c","reference":"0x47fa78","earlier":"0x48ad08","same_instruction_shape":false,"reference_instructions":108,"earlier_instructions":84,"callers":[[4762888,"create_text_",18],[4762888,"add_close_box_to_",16],[4762888,"add_menu_line_to_",14],[4762888,"add_menu_text_to_",17],[4762888,"create_menu_",32]],"diff":["--- 0x48ad08","+++ 0x47fa78","@@ -3,10 +3,11 @@"," push edx"," push esi"," push edi","+push ebp"," sub esp,0x4","-mov edi,m4[esp+None*1+0x20]","+mov edi,m4[esp+None*1+0x24]"," call external","-mov ebx,0xd0","+mov ebx,0xd8"," mov esi,eax"," xor edx,edx"," mov ecx,eax","@@ -15,70 +16,93 @@"," mov m4[esi+None*1+0xc],0x0"," mov m4[esi+None*1+0x8],edi"," test edi,edi","-je local:22","-mov eax,m4[edi+None*1+0xc]","-mov m4[esi+None*1+0x14],eax","-mov m4[edi+None*1+0xc],esi","-jmp local:24","+jne local:89"," mov m4[None+None*1+address],esi"," mov m4[esi+None*1+0x14],edi"," mov ebx,0x1f","-mov edx,m4[esp+None*1+0x24]","+mov edx,m4[esp+None*1+0x28]"," lea eax,m4[ecx+None*1+0x40]"," call external"," mov m4[ecx+None*1+0x60],0x0"," mov m4[ecx+None*1+0x38],0xffffffff","+mov edx,m4[ecx+None*1+0x6c]"," mov m4[ecx+None*1+0x3c],0x0","+and edx,0xfffb7786","+mov m4[ecx+None*1+0x6c],edx","+mov ebx,m4[ecx+None*1+0x6c]"," mov m4[ecx+None*1+0x68],0x1","+or ebx,0x48049","+mov m4[ecx+None*1+0x6c],ebx","+test edi,edi","+je local:93","+mov dl,m1[ecx+None*1+0x6e]","+and dl,0x7f","+mov eax,m4[edi+None*1+0x6c]","+mov m1[ecx+None*1+0x6e],dl","+and eax,address","+or m4[ecx+None*1+0x6c],eax"," mov m4[ecx+None*1+0x18],0xffffffff"," mov m4[ecx+None*1+0x1c],0xffffffff"," mov m4[ecx+None*1+0x20],0xffffffff"," mov m4[ecx+None*1+0x24],0xffffffff","-mov m4[ecx+None*1+0x70],0x0","-mov m4[ecx+None*1+0x74],0xf9f9f9f9","+mov m4[ecx+None*1+0x74],0x0","+mov m4[ecx+None*1+0x78],0xf9f9f9f9","+mov m4[ecx+None*1+0x84],0x0","+mov eax,m4[esp+None*1+0x20]","+mov dh,m1[ecx+None*1+0x6c]","+mov m4[ecx+None*1+0x88],0x0","+and dh,0x7f","+mov m4[ecx+None*1+0x4],eax","+mov m1[ecx+None*1+0x6c],dh","+lea edx,m4[eax+None*1+0xfffffffd]"," mov m4[ecx+None*1+0x80],0x0","-mov m4[ecx+None*1+0x84],0x0","-mov edx,m4[ecx+None*1+0x6c]","-mov m4[ecx+None*1+0x7c],0x0","-or edx,0x48049","-mov m4[ecx+None*1+0x6c],edx","-mov eax,m4[esp+None*1+0x1c]","-mov dx,m2[ecx+None*1+0x6c]","-mov m4[ecx+None*1+0x4],eax","-and edx,0xfffff74f","-sub eax,0x3","-mov m2[ecx+None*1+0x6c],dx","-cmp eax,0x9","-ja local:57","-jmp m4[None+eax*4+address]","-mov m4[ecx+None*1+0x9c],0xfbfbfbfb","-jmp local:57","-mov eax,ecx","-call external","-lea eax,m4[esp+None*1+0x28]","+cmp edx,0x9","+ja local:63","+jmp m4[None+edx*4+address]","+mov m4[ecx+None*1+0xa4],0x0","+mov m4[ecx+None*1+0xa0],0xfbfbfbfb","+lea eax,m4[esp+None*1+0x2c]"," mov edx,esp","-mov esi,0x1","+mov ebp,0x1"," mov m4[esp+None*1+0x0],eax"," mov eax,ecx","-xor ebx,ebx","+xor edi,edi"," call external","-mov m4[esp+None*1+0x0],ebx","+mov m4[esp+None*1+0x0],edi"," mov eax,ecx","-mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],ebp"," call external"," xor edx,edx"," mov eax,ecx"," call external","-mov edi,m4[None+None*1+address]","-test edi,edi","-je local:76","-mov eax,edi","-call external","+mov eax,m4[None+None*1+address]","+test eax,eax","+jne local:98"," mov eax,ecx"," add esp,0x4","+pop ebp"," pop edi"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+mov eax,m4[edi+None*1+0xc]","+mov m4[esi+None*1+0x14],eax","+mov m4[edi+None*1+0xc],esi","+jmp local:21","+and m1[ecx+None*1+0x6e],0x7f","+jmp local:43","+mov eax,ecx","+call external","+jmp local:63","+call external","+mov eax,ecx","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"destroy_object_soon_","source":"E:\\library\\ui\\object.c","reference":"0x47fc10","earlier":"0x48ae54","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[],"diff":[]},{"name":"install_object_manager_","source":"E:\\library\\ui\\object.c","reference":"0x47fe24","earlier":"0x48b03c","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"notify_","source":"E:\\library\\ui\\object.c","reference":"0x48002c","earlier":"0x48b248","same_instruction_shape":false,"reference_instructions":77,"earlier_instructions":67,"callers":[[4764232,"create_menu_",57],[4764232,"place_menu_at_",24]],"diff":["--- 0x48b248","+++ 0x48002c","@@ -11,43 +11,40 @@"," mov esi,address"," rep movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]"," test eax,eax","-je local:60","+je local:55"," cmp m4[edx+None*1+0x0],0x3","-jne local:25","+jne local:62"," cmp m4[ebp+None*1+0x4],0x1","-jne local:25","+jne local:62","+mov eax,m4[eax+None*1+0x8]","+cmp m4[eax+None*1+0x7c],0x1869f","+je local:23","+mov eax,ebx"," call external","-mov edi,m4[ebx+None*1+0x64]","-test edi,edi","-je local:30","-mov eax,edi","-call external","-jmp local:30","-mov esi,m4[ebx+None*1+0x64]","-test esi,esi","-je local:30","-mov eax,esi","+mov eax,m4[ebx+None*1+0x64]","+test eax,eax","+je local:27"," call external"," mov eax,m4[ebx+None*1+0x6c]"," shl eax,0x19"," sar eax,0x1f"," test eax,eax","-je local:39","+je local:36"," mov ecx,m4[ebx+None*1+0x4]"," mov edx,ebp"," mov eax,ebx"," call m4[None+ecx*4+address]"," cmp m4[ebx+None*1+0x3c],0x0","-je local:53","+je local:50"," mov eax,m4[ebx+None*1+0x6c]"," shl eax,0xa"," sar eax,0x1f"," test eax,eax","-jne local:53","+jne local:50"," mov eax,m4[ebp+None*1+0x0]","-mov edx,m4[ebx+None*1+0x38]","-test m4[esp+eax*4+0x0],edx","-je local:53","+mov ecx,m4[ebx+None*1+0x38]","+test m4[esp+eax*4+0x0],ecx","+je local:50"," mov edx,ebp"," mov eax,ebx"," call m4[ebx+None*1+0x3c]","@@ -55,7 +52,20 @@"," shl eax,0xa"," sar eax,0x1f"," test eax,eax","-je local:60","+jne local:68","+add esp,0x80","+pop ebp","+pop edi","+pop esi","+pop ecx","+pop ebx","+ret ","+mov esi,m4[ebx+None*1+0x64]","+test esi,esi","+je local:27","+mov eax,esi","+call external","+jmp local:27"," mov eax,ebx"," call external"," add esp,0x80"]},{"name":"move_object_","source":"E:\\library\\ui\\object.c","reference":"0x480378","earlier":"0x48b594","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":118,"callers":[[4765076,"set_object_position_",6]],"diff":["--- 0x48b594","+++ 0x480378","@@ -5,103 +5,52 @@"," sub esp,0x14"," mov esi,eax"," cmp m4[eax+None*1+0x8],0x0","-je local:17","-sub edx,m4[eax+None*1+0x18]","-mov eax,m4[esi+None*1+0x8]","-mov edi,m4[eax+None*1+0x18]","-add edi,edx","-mov edx,m4[esi+None*1+0x1c]","-mov ebp,m4[eax+None*1+0x1c]","-sub ebx,edx","-add ebp,ebx","-jmp local:23","-mov edi,m4[eax+None*1+0x18]","-mov ebp,m4[eax+None*1+0x1c]","-sub edx,edi","-sub ebx,ebp","-mov edi,edx","-mov ebp,ebx","+je local:67","+mov ecx,m4[eax+None*1+0x18]","+mov edi,m4[esi+None*1+0x1c]","+mov eax,m4[eax+None*1+0x8]","+sub ebx,edi","+sub edx,ecx","+mov ebp,m4[eax+None*1+0x18]","+mov edi,m4[eax+None*1+0x1c]","+add ebp,edx","+add edi,ebx","+test ebp,ebp","+jne local:21"," test edi,edi","-jne local:27","-test ebp,ebp","-je local:112","-xor ebx,ebx","-mov ecx,m4[None+None*1+address]","-mov m4[None+None*1+address],ebx","-test ecx,ecx","-je local:41","-mov eax,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-push eax","-mov ecx,m4[None+None*1+address]","-mov ebx,m4[None+None*1+address]","-push edx","-mov eax,m4[None+None*1+address]","-mov edx,0x1","+je local:61"," call external","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:45","-mov m4[None+None*1+address],eax"," push 0x1","-mov ebx,m4[esi+None*1+0x30]","-mov edx,m4[esi+None*1+0x2c]","-xor ecx,ecx","-mov eax,m4[esi+None*1+0x28]","-mov m4[None+None*1+address],ecx","-mov ecx,m4[esi+None*1+0x34]","-inc m4[None+None*1+address]","-call external","-mov ebx,ebp","-mov edx,edi","-mov eax,esi","-call external","-mov edi,0x1","-mov eax,m4[None+None*1+address]","-xor ebp,ebp","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],ebp","-test eax,eax","-je local:73","-mov edx,m4[None+None*1+address]","-push edx","-mov ebx,m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","-push ebx","-mov edx,edi","-mov ebx,m4[None+None*1+address]","-call external","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:77","-mov m4[None+None*1+address],eax","-push 0x1","-mov ebp,m4[None+None*1+address]"," mov ecx,m4[esi+None*1+0x34]"," mov ebx,m4[esi+None*1+0x30]"," mov edx,m4[esi+None*1+0x2c]"," mov eax,m4[esi+None*1+0x28]","-xor edi,edi","-inc ebp","-mov m4[None+None*1+address],edi","+call external","+mov ebx,edi","+mov edx,ebp","+mov eax,esi","+mov ebp,0x1","+call external"," mov m4[None+None*1+address],ebp","+call external","+push ebp","+mov ecx,m4[esi+None*1+0x34]","+mov ebx,m4[esi+None*1+0x30]","+mov edx,m4[esi+None*1+0x2c]","+mov eax,m4[esi+None*1+0x28]"," call external"," mov m4[esp+None*1+0x0],0x10"," mov edx,m4[esi+None*1+0x8]"," test edx,edx","-je local:101","+je local:74"," mov eax,m4[esi+None*1+0x18]","-mov ebx,m4[edx+None*1+0x18]","-sub eax,ebx","+mov ecx,m4[edx+None*1+0x18]","+sub eax,ecx"," mov m4[esp+None*1+0x8],eax"," mov edx,m4[esi+None*1+0x8]"," mov eax,m4[esi+None*1+0x1c]","-mov ecx,m4[edx+None*1+0x1c]","-sub eax,ecx","-jmp local:104","-mov eax,m4[esi+None*1+0x18]","-mov m4[esp+None*1+0x8],eax","-mov eax,m4[esi+None*1+0x1c]","+mov ebx,m4[edx+None*1+0x1c]","+sub eax,ebx"," mov m4[esp+None*1+0xc],eax"," xor edi,edi"," mov edx,esp","@@ -116,3 +65,14 @@"," pop esi"," pop ecx"," ret ","+mov ebp,edx","+mov edi,m4[eax+None*1+0x18]","+mov eax,m4[eax+None*1+0x1c]","+sub ebp,edi","+mov edi,ebx","+sub edi,eax","+jmp local:17","+mov eax,m4[esi+None*1+0x18]","+mov m4[esp+None*1+0x8],eax","+mov eax,m4[esi+None*1+0x1c]","+jmp local:53"]},{"name":"resize_object_","source":"E:\\library\\ui\\object.c","reference":"0x4804d0","earlier":"0x48b78c","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":83,"callers":[[4765580,"set_object_position_",12]],"diff":["--- 0x48b78c","+++ 0x4804d0","@@ -6,20 +6,22 @@"," mov esi,eax"," mov edi,edx"," mov ebp,ebx","+mov edx,m4[esi+None*1+0x18]"," mov eax,m4[eax+None*1+0x20]","-sub eax,m4[esi+None*1+0x18]","+sub eax,edx"," cmp eax,edi","-jne local:16","+jne local:18","+mov ecx,m4[esi+None*1+0x1c]"," mov eax,m4[esi+None*1+0x24]","-sub eax,m4[esi+None*1+0x1c]","-cmp eax,ebp","-je local:77","+sub eax,ecx","+cmp eax,ebx","+je local:79"," mov ah,m1[esi+None*1+0x6d]"," or ah,0x1","-mov ecx,m4[esi+None*1+0x68]","+mov ebx,m4[esi+None*1+0x68]"," mov m1[esi+None*1+0x6d],ah","-test ecx,ecx","-je local:36","+test ebx,ebx","+je local:38"," push 0x1"," mov ecx,m4[esi+None*1+0x24]"," mov ebx,m4[esi+None*1+0x20]","@@ -42,9 +44,9 @@"," mov ecx,m4[esi+None*1+0xc]"," mov m4[esi+None*1+0x24],eax"," test ecx,ecx","-je local:59","+je local:61"," cmp m4[ecx+None*1+0x4],0xb","-jne local:56","+jne local:58"," mov eax,m4[esi+None*1+0x24]"," sub eax,m4[esi+None*1+0x1c]"," lea ebx,m4[eax+None*1+0xfffffff1]","@@ -56,20 +58,20 @@"," call external"," mov ecx,m4[ecx+None*1+0x14]"," test ecx,ecx","-jne local:45","+jne local:47"," mov m4[esp+None*1+0x0],0x11"," mov eax,m4[esi+None*1+0x20]"," mov edx,m4[esi+None*1+0x18]"," mov edi,0x1"," sub eax,edx","-xor ecx,ecx","+xor ebx,ebx"," mov m4[esp+None*1+0x8],eax"," mov m4[None+None*1+address],edi"," mov eax,m4[esi+None*1+0x24]","-mov ebx,m4[esi+None*1+0x1c]","+mov ecx,m4[esi+None*1+0x1c]"," mov edx,esp","-sub eax,ebx","-mov m4[esp+None*1+0x4],ecx","+sub eax,ecx","+mov m4[esp+None*1+0x4],ebx"," mov m4[esp+None*1+0xc],eax"," call external"," mov m4[esp+None*1+0x10],eax"]},{"name":"set_cursor_","source":"E:\\library\\ui\\object.c","reference":"0x4807e4","earlier":"0x48baa8","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"object_top_","source":"E:\\library\\ui\\otop.c","reference":"0x480910","earlier":"0x48bc50","same_instruction_shape":false,"reference_instructions":139,"earlier_instructions":138,"callers":[[4766800,"notify_modem_type_",8],[4766800,"notify_waypoint_tool_info_",6]],"diff":["--- 0x48bc50","+++ 0x480910","@@ -4,131 +4,15 @@"," push esi"," push edi"," push ebp","-mov ebx,eax","+sub esp,0x4","+mov ecx,eax","+xor edx,edx"," mov esi,m4[eax+None*1+0x8]","-xor edi,edi","+mov m4[esp+None*1+0x0],edx"," test esi,esi","-jne local:13","+jne local:22"," mov m4[None+None*1+address],0x1","-jmp local:131","-mov eax,esi","-call local:0","-mov edx,m4[esi+None*1+0xc]","-mov ecx,m4[edx+None*1+0x14]","-test ecx,ecx","-je local:131","-mov eax,edx","-cmp edx,ebx","-jne local:26","-mov m4[esi+None*1+0xc],ecx","-xor ebp,ebp","-mov m4[edx+None*1+0x14],edi","-jmp local:38","-test eax,eax","-je local:38","-mov edx,m4[eax+None*1+0x14]","-cmp ebx,edx","-jne local:36","-mov edx,m4[edx+None*1+0x14]","-mov m4[eax+None*1+0x14],edx","-mov ebp,eax","-mov m4[ebx+None*1+0x14],0x0","-jmp local:38","-mov eax,edx","-jmp local:26","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x13","-sar eax,0x1f","-test eax,eax","-jne local:112","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x14","-sar eax,0x1f","-test eax,eax","-je local:82","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:71","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x14","-sar edx,0x1f","-test edx,edx","-je local:67","-test ecx,ecx","-je local:62","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:65","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:71","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:52","-test edi,edi","-jne local:115","-test ecx,ecx","-je local:78","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:105","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x13","-sar edx,0x1f","-test edx,edx","-jne local:101","-test ecx,ecx","-je local:96","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:99","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:105","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:86","-test edi,edi","-jne local:115","-test ecx,ecx","-je local:112","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-test ebp,ebp","-je local:124","-cmp ebx,m4[ebp+None*1+0x14]","-je local:131","-mov ebp,0x1","-mov eax,ebx","-xor edx,edx","-mov m4[None+None*1+address],ebp","-jmp local:130","-cmp ebx,m4[esi+None*1+0xc]","-je local:131","-mov esi,0x1","-mov eax,ebx","-xor edx,edx","-mov m4[None+None*1+address],esi","-call external","+add esp,0x4"," pop ebp"," pop edi"," pop esi","@@ -136,3 +20,120 @@"," pop ecx"," pop ebx"," ret ","+mov eax,esi","+call local:0","+mov edx,m4[esi+None*1+0xc]","+mov ebx,m4[edx+None*1+0x14]","+test ebx,ebx","+je local:14","+mov eax,edx","+cmp edx,ecx","+je local:38","+test eax,eax","+je local:41","+mov ebp,m4[eax+None*1+0x14]","+cmp ecx,ebp","+je local:66","+mov eax,ebp","+jmp local:31","+xor edi,edi","+mov m4[esi+None*1+0xc],ebx","+mov m4[edx+None*1+0x14],edi","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x13","+sar eax,0x1f","+test eax,eax","+je local:71","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+test edi,edi","+je local:124","+cmp ecx,m4[edi+None*1+0x14]","+je local:14","+mov esi,0x1","+mov eax,ecx","+xor edx,edx","+mov m4[None+None*1+address],esi","+call external","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov edx,m4[ebp+None*1+0x14]","+mov m4[eax+None*1+0x14],edx","+mov edi,eax","+mov m4[ebp+None*1+0x14],0x0","+jmp local:41","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x14","+sar eax,0x1f","+test eax,eax","+je local:101","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:94","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x14","+sar edx,0x1f","+test edx,edx","+je local:90","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:80","+cmp m4[esp+None*1+0x0],0x0","+jne local:49","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:114","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x13","+sar edx,0x1f","+test edx,edx","+je local:119","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:105","+cmp m4[esp+None*1+0x0],0x0","+jne local:49","+test ebx,ebx","+jne local:121","+jmp local:46","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+cmp ecx,m4[esi+None*1+0xc]","+je local:14","+mov edx,0x1","+mov eax,ecx","+mov m4[None+None*1+address],edx","+xor edx,edx","+call external","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"object_back_","source":"E:\\library\\ui\\otop.c","reference":"0x480a78","earlier":"0x48bdc0","same_instruction_shape":false,"reference_instructions":155,"earlier_instructions":144,"callers":[[4767168,"add_menu_line_to_",16],[4767168,"add_menu_text_to_",19]],"diff":["--- 0x48bdc0","+++ 0x480a78","@@ -4,135 +4,62 @@"," push esi"," push edi"," push ebp","-mov ebx,eax","+mov ecx,eax"," mov esi,m4[eax+None*1+0x8]"," xor edi,edi"," test esi,esi","-jne local:13","+jne local:19"," mov m4[None+None*1+address],0x1","-jmp local:137","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov eax,esi"," call external"," mov edx,m4[esi+None*1+0xc]","-mov ecx,m4[edx+None*1+0x14]","-test ecx,ecx","-je local:137","+mov ebx,m4[edx+None*1+0x14]","+test ebx,ebx","+je local:12"," mov eax,edx","-cmp edx,ebx","-jne local:25","-mov m4[esi+None*1+0xc],ecx","+cmp edx,ecx","+je local:35","+test eax,eax","+je local:37","+mov ebp,m4[eax+None*1+0x14]","+cmp ecx,ebp","+je local:71","+mov eax,ebp","+jmp local:28","+mov m4[esi+None*1+0xc],ebx"," mov m4[edx+None*1+0x14],edi","-jmp local:36","-test eax,eax","-je local:36","-mov ebp,m4[eax+None*1+0x14]","-cmp ebx,ebp","-jne local:34","-mov edx,m4[ebp+None*1+0x14]","-mov m4[eax+None*1+0x14],edx","-mov m4[ebp+None*1+0x14],0x0","-jmp local:36","-mov eax,ebp","-jmp local:25","-mov eax,m4[ebx+None*1+0x6c]","+mov eax,m4[ecx+None*1+0x6c]"," shl eax,0x13"," sar eax,0x1f"," test eax,eax","-je local:71","+je local:81"," mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","+xor ebx,ebx"," test eax,eax","-je local:64","+je local:55"," mov edx,m4[eax+None*1+0x6c]"," shl edx,0x13"," sar edx,0x1f"," test edx,edx","-jne local:60","-test ecx,ecx","-je local:55","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:58","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:64","-mov ecx,eax","+je local:75","+mov ebx,eax"," mov eax,m4[eax+None*1+0x14]"," test eax,eax","-jne local:45","+jne local:46"," test edi,edi","-jne local:132","-test ecx,ecx","-je local:89","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x14","-sar eax,0x1f","-test eax,eax","-je local:93","-mov eax,m4[esi+None*1+0xc]","-xor edx,edx","-test eax,eax","-je local:84","-mov edx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:80","-test edx,edx","-je local:89","-mov m4[edx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:121","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x13","-sar edx,0x1f","-test edx,edx","-jne local:117","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x14","-sar edx,0x1f","-test edx,edx","-je local:117","-test ecx,ecx","-je local:112","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:121","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:97","-test edi,edi","-jne local:132","-test ecx,ecx","-je local:128","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-test edi,edi","-je local:137","-mov eax,ebx","+jne local:147","+test ebx,ebx","+je local:77","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+mov eax,ecx"," xor edx,edx"," call external"," pop ebp","@@ -142,3 +69,87 @@"," pop ecx"," pop ebx"," ret ","+mov edx,m4[ebp+None*1+0x14]","+mov m4[eax+None*1+0x14],edx","+mov m4[ebp+None*1+0x14],0x0","+jmp local:37","+test ebx,ebx","+jne local:59","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+jmp local:61","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x14","+sar eax,0x1f","+test eax,eax","+je local:109","+mov eax,m4[esi+None*1+0xc]","+xor edx,edx","+test eax,eax","+je local:95","+mov edx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:90","+lea eax,m4[eax+None*1+0x0]","+test edx,edx","+je local:77","+mov m4[edx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+mov eax,ecx","+xor edx,edx","+call external","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:122","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x13","+sar edx,0x1f","+test edx,edx","+je local:127","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:113","+test edi,edi","+jne local:147","+test ebx,ebx","+je local:134","+jmp local:59","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x14","+sar edx,0x1f","+test edx,edx","+je local:118","+test ebx,ebx","+jne local:59","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+mov eax,ecx","+xor edx,edx","+call external","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+jne local:61","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"repaint_area_","source":"E:\\library\\ui\\repaint.c","reference":"0x480c98","earlier":"0x48bff0","same_instruction_shape":false,"reference_instructions":162,"earlier_instructions":155,"callers":[[4767728,"set_cursor_",14],[4767728,"set_display_screen_active_",10]],"diff":["--- 0x48bff0","+++ 0x480c98","@@ -7,39 +7,38 @@"," mov m4[esp+None*1+0x8],ebx"," mov m4[esp+None*1+0xc],ecx"," cmp m4[None+None*1+address],0x0","-jne local:150","+jne local:80"," cmp eax,m4[None+None*1+address]","-jg local:150","-mov eax,m4[esp+None*1+0x8]","-mov ecx,m4[None+None*1+address]","-cmp eax,ecx","-jl local:150","+jg local:80","+mov eax,ebx","+mov ebx,m4[None+None*1+address]","+cmp eax,ebx","+jl local:80"," mov eax,m4[esp+None*1+0x4]"," cmp eax,m4[None+None*1+address]","-jg local:150","+jg local:80"," mov eax,m4[esp+None*1+0xc]"," cmp eax,m4[None+None*1+address]","-jl local:150","-cmp ecx,m4[esp+None*1+0x0]","-jle local:25","-mov m4[esp+None*1+0x0],ecx","+jl local:80","+cmp ebx,m4[esp+None*1+0x0]","+jg local:57"," mov eax,m4[esp+None*1+0x8]"," mov edx,m4[None+None*1+address]"," cmp eax,edx","-jle local:30","+jle local:29"," mov m4[esp+None*1+0x8],edx"," mov eax,m4[esp+None*1+0x4]","+mov ecx,m4[None+None*1+address]","+cmp eax,ecx","+jge local:34","+mov m4[esp+None*1+0x4],ecx","+mov eax,m4[esp+None*1+0xc]"," mov ebx,m4[None+None*1+address]"," cmp eax,ebx","-jge local:35","-mov m4[esp+None*1+0x4],ebx","-mov eax,m4[esp+None*1+0xc]","-mov ecx,m4[None+None*1+address]","-cmp eax,ecx","-jle local:40","-mov m4[esp+None*1+0xc],ecx","+jle local:39","+mov m4[esp+None*1+0xc],ebx"," cmp m4[None+None*1+address],0x40","-jle local:47","+jle local:46"," lea ecx,m4[esp+None*1+0xc]"," lea ebx,m4[esp+None*1+0x8]"," lea edx,m4[esp+None*1+0x4]","@@ -47,37 +46,45 @@"," call external"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:131","+je local:138"," test edx,edx","-je local:78","+je local:85"," mov eax,m4[esp+None*1+0x0]"," mov esi,m4[edx+None*1+0x8]"," cmp eax,esi","-jl local:76","+jge local:59","+mov edx,m4[edx+None*1+0x0]","+jmp local:49","+mov m4[esp+None*1+0x0],ebx","+jmp local:24"," mov edi,m4[edx+None*1+0x10]"," cmp eax,edi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0x8]"," cmp eax,esi","-jl local:76","+jl local:55"," cmp eax,edi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0x4]","-mov ecx,m4[edx+None*1+0xc]","-cmp eax,ecx","-jl local:76","+mov ebx,m4[edx+None*1+0xc]","+cmp eax,ebx","+jl local:55"," mov esi,m4[edx+None*1+0x14]"," cmp eax,esi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0xc]","-cmp eax,ecx","-jl local:76","+cmp eax,ebx","+jl local:55"," cmp eax,esi","-jle local:150","-mov edx,m4[edx+None*1+0x0]","-jmp local:50","+jg local:55","+nop ","+add esp,0x10","+pop ebp","+pop edi","+pop esi","+ret 0x4"," cmp m4[esp+None*1+0x20],0x0","-je local:121","+je local:128"," mov esi,m4[None+None*1+address]"," call external"," mov edx,eax","@@ -98,12 +105,12 @@"," sub eax,eax"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],eax","-lea ecx,m4[edx+None*1+0x1]","-lea ebx,m4[eax+None*1+0x1]","+lea ebx,m4[edx+None*1+0x1]","+lea ecx,m4[eax+None*1+0x1]","+mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ebx"," test esi,esi","-je local:150","+je local:80"," mov ecx,m4[esi+None*1+0x14]"," mov ebx,m4[esi+None*1+0x10]"," mov edx,m4[esi+None*1+0xc]","@@ -113,7 +120,7 @@"," mov esi,m4[esi+None*1+0x0]"," call external"," test esi,esi","-jne local:106","+jne local:113"," add esp,0x10"," pop ebp"," pop edi"]},{"name":"set_display_screen_active_","source":"E:\\library\\ui\\repaint.c","reference":"0x481790","earlier":"0x48ca6c","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"display_rubber_line_","source":"E:\\library\\ui\\repaint.c","reference":"0x48219c","earlier":"0x48d3e0","same_instruction_shape":false,"reference_instructions":55,"earlier_instructions":49,"callers":[[4772832,"display_rubber_waypoint_line_",96]],"diff":["--- 0x48d3e0","+++ 0x48219c","@@ -21,9 +21,9 @@"," test edx,edx"," je local:26"," mov eax,0x1","-xor ebx,ebx","+xor ecx,ecx"," call external","-mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ecx"," sti "," cld "," mov ecx,m4[None+esi*4+address]","@@ -34,16 +34,22 @@"," cli "," mov m4[None+None*1+address],edi"," test edi,edi","-jle local:43","-mov eax,0x1","-call external","-mov eax,0x1","-mov ecx,0x1","-call external","-mov m4[None+None*1+address],ecx","+jg local:43"," sti "," cld "," pop ebp"," pop edi"," pop esi"," ret 0x4","+mov eax,0x1","+call external","+mov eax,0x1","+mov ebx,0x1","+call external","+mov m4[None+None*1+address],ebx","+sti ","+cld ","+pop ebp","+pop edi","+pop esi","+ret 0x4"]},{"name":"set_attr_","source":"E:\\library\\ui\\setattr.c","reference":"0x482690","earlier":"0x48d900","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"set_attr_pargs_","source":"E:\\library\\ui\\setattr.c","reference":"0x4827bc","earlier":"0x48da24","same_instruction_shape":false,"reference_instructions":468,"earlier_instructions":473,"callers":[[4774436,"set_attr_",6],[4774436,"create_menu_",40]],"diff":["--- 0x48da24","+++ 0x4827bc","@@ -11,463 +11,458 @@"," mov m4[esi+None*1+0x0],edx"," mov eax,edx"," mov edx,m4[edx+None*1+0xfffffffc]","-cmp edx,0x40","-ja local:461","+cmp edx,0x42","+ja local:462"," jmp m4[None+edx*4+address]","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov ecx,ebx","-mov m4[esi+None*1+0x0],ebx","-add ecx,ebp","-mov ebx,m4[ebx+None*1+0xfffffffc]","-mov eax,ecx","-mov m4[esi+None*1+0x0],ecx","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov eax,m4[eax+None*1+0xfffffffc]","-push eax","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-lea eax,m4[ecx+ebp*1+0x0]","-mov edx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-lea ecx,m4[eax+ebp*1+0x0]","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ecx","-mov eax,m4[esi+None*1+0x0]","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov eax,m4[eax+None*1+0xfffffffc]","-push eax","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,m4[esi+None*1+0x0]","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-mov edx,eax","-sar edx,0x1f","-sub eax,edx","-sar eax,0x1","-sub ebx,eax","-mov eax,edi","-call external","-mov edx,eax","-sar edx,0x1f","-sub eax,edx","-sar eax,0x1","-mov edx,ecx","-sub edx,eax","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-lea eax,m4[ecx+ebp*1+0x0]","-mov edx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,m4[edi+None*1+0x4]","-mov edx,edi","-cmp eax,0xc","-jb local:8","-jbe local:167","-cmp eax,0x10","-je local:171","-jmp local:8","-mov eax,edi","-mov edx,ebx","-call external","-jmp local:8","-mov edx,ebx","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-or m1[edi+None*1+0x6f],0x2","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-push 0x237","-push address","-push address","-call external","-add esp,0xc","-jmp local:8"," pop ebp"," pop edi"," pop esi"," pop ecx"," pop ebx"," ret ","+mov edx,eax","+add edx,ebp","+mov ecx,edx","+mov m4[esi+None*1+0x0],edx","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+lea eax,m4[ecx+ebp*1+0x0]","+mov ebx,m4[ecx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ecx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov eax,m4[eax+None*1+0xfffffffc]","+push eax","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov edx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+lea ecx,m4[eax+ebp*1+0x0]","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,ecx","+mov m4[esi+None*1+0x0],ecx","+add eax,ebp","+mov ecx,m4[ecx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov eax,m4[eax+None*1+0xfffffffc]","+push eax","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov ecx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+mov edx,eax","+sar edx,0x1f","+sub eax,edx","+sar eax,0x1","+sub ebx,eax","+mov eax,edi","+call external","+mov edx,eax","+sar edx,0x1f","+sub eax,edx","+sar eax,0x1","+mov edx,ecx","+sub edx,eax","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov edx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+or m1[edi+None*1+0x6e],0x40","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+or m1[edi+None*1+0x6e],0x80","+jmp local:8","+push 0x244","+push address","+push address","+call external","+add esp,0xc","+jmp local:8"]},{"name":"add_close_box_to_","source":"E:\\library\\ui\\setattr.c","reference":"0x482d44","earlier":"0x48dfb8","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"draw_ui_block_","source":"E:\\library\\ui\\ublock.c","reference":"0x482e94","earlier":"0x48e104","same_instruction_shape":true,"reference_instructions":36,"earlier_instructions":36,"callers":[],"diff":[]},{"name":"install_close_box_sprites_","source":"E:\\library\\ui\\uclose.c","reference":"0x4836dc","earlier":"0x48e8cc","same_instruction_shape":false,"reference_instructions":90,"earlier_instructions":84,"callers":[[4778188,"install_object_manager_",3]],"diff":["--- 0x48e8cc","+++ 0x4836dc","@@ -29,7 +29,7 @@"," mov eax,address"," call external"," test eax,eax","-je local:47","+je local:48"," push 0x4e"," mov ecx,address"," mov ebx,0x100","@@ -45,6 +45,7 @@"," mov m1[eax+None*1+0xffffffff],bl"," cmp edx,0x100"," jl local:40","+mov eax,eax"," mov eax,m4[None+None*1+address]"," mov m4[eax+None*1+0x0],0x10"," mov m4[eax+None*1+0x4],0x10","@@ -61,7 +62,12 @@"," mov eax,address"," call external"," test eax,eax","-je local:79","+jne local:70","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x69"," mov ecx,address"," mov ebx,0x100","@@ -76,7 +82,7 @@"," inc edx"," mov m1[eax+None*1+0xffffffff],bh"," cmp edx,0x100","-jl local:72","+jl local:78"," pop esi"," pop edx"," pop ecx"]},{"name":"install_menu_font_","source":"E:\\library\\ui\\umenu.c","reference":"0x483a30","earlier":"0x48ebb0","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4778928,"install_object_manager_",5]],"diff":[]},{"name":"add_menu_line_to_","source":"E:\\library\\ui\\umenu.c","reference":"0x483b74","earlier":"0x48ece4","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"add_menu_text_to_","source":"E:\\library\\ui\\umenu.c","reference":"0x483bb0","earlier":"0x48ed20","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"create_menu_","source":"E:\\library\\ui\\umenu.c","reference":"0x483cb4","earlier":"0x48ee20","same_instruction_shape":true,"reference_instructions":68,"earlier_instructions":68,"callers":[],"diff":[]},{"name":"place_menu_at_","source":"E:\\library\\ui\\umenu.c","reference":"0x483d68","earlier":"0x48eed4","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"draw_ui_menu_line_","source":"E:\\library\\ui\\umline.c","reference":"0x483dc4","earlier":"0x48ef34","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"set_object_position_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484850","earlier":"0x48f954","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"set_object_on_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484ab0","earlier":"0x48fbb4","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":31,"callers":[[4783028,"notify_modem_type_",11],[4783028,"set_map_tool_none_",6],[4783028,"set_map_tool_none_",9],[4783028,"set_map_tool_none_",12],[4783028,"set_map_tool_none_",15]],"diff":["--- 0x48fbb4","+++ 0x484ab0","@@ -1,31 +1,35 @@"," push ebx"," push ecx","+sub esp,0x14","+mov ecx,eax","+mov ebx,edx","+mov eax,m4[eax+None*1+0x74]","+mov m4[ecx+None*1+0x74],edx","+cmp eax,edx","+jne local:13","+add esp,0x14","+pop ecx","+pop ebx","+ret ","+push edi"," push esi","-push edi","-sub esp,0x14","-mov ebx,eax","-mov ecx,edx","-mov eax,m4[eax+None*1+0x70]","-mov m4[ebx+None*1+0x70],edx","-cmp eax,edx","-je local:25","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov esi,0x12"," call external"," xor edi,edi","-mov edx,esp","-mov m4[esp+None*1+0x0],esi","-mov m4[esp+None*1+0x8],edi","-mov m4[esp+None*1+0xc],edi","-mov m4[esp+None*1+0x4],ecx","+lea edx,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x8],esi","+mov m4[esp+None*1+0x10],edi","+mov m4[esp+None*1+0x14],edi","+mov m4[esp+None*1+0xc],ebx"," call external","-mov m4[esp+None*1+0x10],eax","-mov eax,ebx","+mov m4[esp+None*1+0x18],eax","+mov eax,ecx"," call external","+pop esi","+pop edi"," add esp,0x14","-pop edi","-pop esi"," pop ecx"," pop ebx"," ret "]},{"name":"set_object_displayable_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484c20","earlier":"0x48fd10","same_instruction_shape":false,"reference_instructions":56,"earlier_instructions":50,"callers":[[4783376,"notify_modem_type_",6],[4783376,"notify_modem_type_",14],[4783376,"set_map_tool_none_",3],[4783376,"notify_waypoint_tool_info_",4],[4783376,"notify_waypoint_tool_info_",10]],"diff":["--- 0x48fd10","+++ 0x484c20","@@ -1,49 +1,55 @@"," push ebx"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x14","-mov ebx,eax","-mov ecx,edx","+mov ecx,eax","+mov ebx,edx"," mov eax,m4[eax+None*1+0x6c]","-and m1[ebx+None*1+0x6c],0xfe","+and m1[ecx+None*1+0x6c],0xfe"," and edx,0x1","-mov esi,m4[ebx+None*1+0x6c]","+mov esi,m4[ecx+None*1+0x6c]"," or esi,edx"," mov edx,esi"," shl eax,0x1f"," shl edx,0x1f"," sar eax,0x1f"," sar edx,0x1f","-mov m4[ebx+None*1+0x6c],esi","+mov m4[ecx+None*1+0x6c],esi"," cmp edx,eax","-je local:43","+jne local:26","+add esp,0x14","+pop ebp","+pop esi","+pop ecx","+pop ebx","+ret ","+push edi"," mov edi,0x1","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov ebp,0x13"," call external","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov m4[None+None*1+address],edi"," call external","-mov edx,esp","-mov m4[esp+None*1+0x0],ebp","+lea edx,m4[esp+None*1+0x4]","+mov m4[esp+None*1+0x4],ebp"," xor eax,eax","-mov m4[esp+None*1+0x4],ecx","-mov m4[esp+None*1+0x8],eax","+mov m4[esp+None*1+0x8],ebx"," mov m4[esp+None*1+0xc],eax","+mov m4[esp+None*1+0x10],eax"," call external","-mov m4[esp+None*1+0x10],eax","-mov eax,ebx","+mov m4[esp+None*1+0x14],eax","+mov eax,ecx"," call external"," mov edx,m4[None+None*1+address]"," mov eax,m4[None+None*1+address]"," call external","+pop edi"," add esp,0x14"," pop ebp","-pop edi"," pop esi"," pop ecx"," pop ebx"]},{"name":"install_resize_box_sprites_","source":"E:\\library\\ui\\uresize.c","reference":"0x48658c","earlier":"0x49152c","same_instruction_shape":false,"reference_instructions":90,"earlier_instructions":84,"callers":[[4789548,"install_object_manager_",4]],"diff":["--- 0x49152c","+++ 0x48658c","@@ -29,7 +29,7 @@"," mov eax,address"," call external"," test eax,eax","-je local:47","+je local:48"," push 0x56"," mov ecx,address"," mov ebx,0x100","@@ -45,6 +45,7 @@"," mov m1[eax+None*1+0xffffffff],bl"," cmp edx,0x100"," jl local:40","+mov eax,eax"," mov eax,m4[None+None*1+address]"," mov m4[eax+None*1+0x0],0x10"," mov m4[eax+None*1+0x4],0x10","@@ -61,7 +62,12 @@"," mov eax,address"," call external"," test eax,eax","-je local:79","+jne local:70","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x71"," mov ecx,address"," mov ebx,0x100","@@ -76,7 +82,7 @@"," inc edx"," mov m1[eax+None*1+0xffffffff],bh"," cmp edx,0x100","-jl local:72","+jl local:78"," pop esi"," pop edx"," pop ecx"]},{"name":"set_object_text_","source":"E:\\library\\ui\\utext.c","reference":"0x4879fc","earlier":"0x492788","same_instruction_shape":false,"reference_instructions":75,"earlier_instructions":75,"callers":[[4794248,"set_waypoint_button_letter_",6]],"diff":["--- 0x492788","+++ 0x4879fc","@@ -6,61 +6,15 @@"," mov ebp,eax"," mov esi,edx"," test edx,edx","-je local:18","-mov edi,edx","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","+jne local:29","+mov ecx,m4[ebp+None*1+0x84]"," test ecx,ecx","-jne local:27","-mov ebx,m4[ebp+None*1+0x80]","-test ebx,ebx","-je local:25","+je local:16","+mov ebx,0x161"," mov edx,address","-mov eax,ebx","-mov ebx,0x131","+mov eax,ecx"," call external","-mov m4[ebp+None*1+0x80],0x0","-jmp local:63","-mov edx,m4[ebp+None*1+0x80]","-test edx,edx","-je local:38","-mov eax,esi","-call external","-test eax,eax","-je local:69","-mov ebx,0x13f","-mov edx,address","-mov eax,m4[ebp+None*1+0x80]","-call external","-mov ebx,0x142","-mov edi,esi","-mov edx,address","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-lea eax,m4[ecx+None*1+0x1]","-call external","-mov edi,eax","-mov m4[ebp+None*1+0x80],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:62","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:52","-pop edi","+mov m4[ebp+None*1+0x84],0x0"," mov ah,m1[ebp+None*1+0x6e]"," and ah,0xf7"," xor edx,edx","@@ -73,3 +27,49 @@"," pop ecx"," pop ebx"," ret ","+mov edi,edx","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+test ecx,ecx","+je local:9","+mov edx,m4[ebp+None*1+0x84]","+test edx,edx","+je local:49","+mov eax,esi","+call external","+test eax,eax","+je local:23","+mov ebx,0x16f","+mov edx,address","+mov eax,m4[ebp+None*1+0x84]","+call external","+mov ebx,0x172","+mov edi,esi","+mov edx,address","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+lea eax,m4[ecx+None*1+0x1]","+call external","+mov edi,eax","+mov m4[ebp+None*1+0x84],eax","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:73","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:63","+pop edi","+jmp local:17"]},{"name":"construct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4881a0","earlier":"0x492ee0","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[[4796128,"setup_drone_",17],[4796128,"set_simple_drone_object_number_",23]],"diff":[]},{"name":"recurse_construct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4881b8","earlier":"0x492ef8","same_instruction_shape":false,"reference_instructions":146,"earlier_instructions":147,"callers":[[4796152,"construct_3d_object_",4]],"diff":["--- 0x492ef8","+++ 0x4881b8","@@ -5,111 +5,88 @@"," mov m4[esp+None*1+0x0],eax"," mov edi,edx"," mov m4[esp+None*1+0x4],ebx","-mov m4[esp+None*1+0x14],ecx","+mov m4[esp+None*1+0x10],ecx"," mov ecx,m4[esp+None*1+0x28]"," mov edx,m4[None+None*1+address]"," mov ebp,m4[edx+eax*4+0x0]"," mov ebp,m4[ebp+None*1+0x2c]"," test ebp,ebp","-je local:17","+je local:122"," mov esi,m4[ebp+None*1+0x0]"," add ebp,0x4","-jmp local:18","-xor esi,esi"," xor eax,eax"," test edi,edi","-jne local:22","+jne local:20"," mov eax,0x44"," cmp m4[esp+None*1+0x4],0x0","-jne local:25","+jne local:23"," add eax,0x30"," test ecx,ecx","-jne local:28","+jne local:26"," add eax,0x30"," lea edx,m4[None+esi*4+0x0]"," add eax,edx"," test eax,eax","-jle local:36","+jle local:124"," mov ebx,0x96"," mov edx,address"," call external","-jmp local:37","-xor eax,eax"," test edi,edi","-jne local:43","+jne local:126"," mov m4[esp+None*1+0xc],eax"," mov m4[eax+None*1+0x34],eax"," add eax,0x44","-jmp local:45","-mov m4[esp+None*1+0xc],edi","-mov m4[edi+None*1+0x34],eax"," mov ebx,m4[esp+None*1+0x4]"," test ebx,ebx","-jne local:52","+jne local:129"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x8],eax"," add eax,0x30","-jmp local:54","-mov edi,m4[esp+None*1+0xc]","-mov m4[edi+None*1+0x8],ebx"," test ecx,ecx","-jne local:60","+jne local:132"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0xc],eax"," add eax,0x30","-jmp local:62","-mov edx,m4[esp+None*1+0xc]","-mov m4[edx+None*1+0xc],0x0"," test esi,esi","-jle local:67","+jle local:135"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x1c],eax","-jmp local:69","-mov eax,m4[esp+None*1+0xc]","-mov m4[eax+None*1+0x1c],0x0"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x4],0x0"," mov m4[edx+None*1+0x24],0x0"," mov m4[edx+None*1+0x28],0x0"," mov m4[edx+None*1+0x2c],0x0","+mov m4[edx+None*1+0x30],0x0"," mov eax,m4[esp+None*1+0x0]","-mov m4[edx+None*1+0x30],0x0","+mov m4[edx+None*1+0x20],esi"," mov m4[edx+None*1+0x0],eax","-mov m4[edx+None*1+0x20],esi"," test ecx,ecx","-jne local:81","+jne local:65"," mov m4[edx+None*1+0x38],ecx"," mov eax,m4[esp+None*1+0xc]"," and m1[eax+None*1+0x40],0xef"," test esi,esi","-jle local:141","-jle local:141","-xor eax,eax","+jle local:116","+jle local:116"," shl esi,0x2","-mov m4[esp+None*1+0x10],eax","+xor ecx,ecx"," mov m4[esp+None*1+0x8],esi","+mov m4[esp+None*1+0x14],ecx"," mov esi,m4[ebp+None*1+0x0]"," add ebp,0x4"," test esi,esi","-jne local:108","-mov eax,m4[esp+None*1+0x14]","-mov edx,m4[eax+None*1+0x0]","-test edx,edx","-je local:103","-mov esi,edx","-add edx,0x4","+jne local:85","+mov eax,m4[esp+None*1+0x10]","+mov ebx,m4[eax+None*1+0x0]","+test ebx,ebx","+je local:138","+lea edx,m4[ebx+None*1+0x4]"," mov m4[eax+None*1+0x0],edx","-mov esi,m4[esi+None*1+0x0]","-jmp local:108","-push 0x110","-push address","-push address","-call external","-add esp,0xc","+mov esi,m4[ebx+None*1+0x0]"," test esi,esi","-je local:129","+je local:144"," push 0x0","-mov ecx,m4[esp+None*1+0x18]","+mov ecx,m4[esp+None*1+0x14]"," mov eax,esi"," xor ebx,ebx"," xor edx,edx","@@ -126,22 +103,44 @@"," and cl,0x3"," repne movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]"," pop edi","-jmp local:130","-xor edx,edx"," mov eax,m4[esp+None*1+0xc]","-mov ecx,m4[esp+None*1+0x10]","+mov esi,m4[esp+None*1+0x14]"," mov eax,m4[eax+None*1+0x1c]","-mov edi,m4[esp+None*1+0x8]","-add eax,ecx","+add eax,esi"," add ebp,0x30","-lea esi,m4[ecx+None*1+0x4]","+lea edi,m4[esi+None*1+0x4]"," mov m4[eax+None*1+0x0],edx","-mov m4[esp+None*1+0x10],esi","-cmp esi,edi","-jl local:90","+mov edx,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x14],edi","+cmp edi,edx","+jl local:74"," mov eax,m4[esp+None*1+0xc]"," add esp,0x18"," pop ebp"," pop edi"," pop esi"," ret 0x4","+xor esi,esi","+jmp local:16","+xor eax,eax","+jmp local:33","+mov m4[esp+None*1+0xc],edi","+mov m4[edi+None*1+0x34],eax","+jmp local:38","+mov edi,m4[esp+None*1+0xc]","+mov m4[edi+None*1+0x8],ebx","+jmp local:44","+mov edx,m4[esp+None*1+0xc]","+mov m4[edx+None*1+0xc],0x0","+jmp local:49","+mov eax,m4[esp+None*1+0xc]","+mov m4[eax+None*1+0x1c],0x0","+jmp local:53","+push 0x110","+push address","+push address","+call external","+add esp,0xc","+jmp local:85","+xor edx,edx","+jmp local:105"]},{"name":"destruct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4883b4","earlier":"0x4930c0","same_instruction_shape":false,"reference_instructions":36,"earlier_instructions":30,"callers":[[4796608,"set_simple_drone_object_number_",16]],"diff":["--- 0x4930c0","+++ 0x4883b4","@@ -3,22 +3,28 @@"," push edx"," push esi"," mov ecx,eax","+mov edx,m4[eax+None*1+0x1c]"," mov ebx,m4[eax+None*1+0x20]","-mov edx,m4[eax+None*1+0x1c]"," dec ebx"," cmp ebx,0xffffffff","-je local:18","+je local:19"," mov esi,m4[edx+None*1+0x0]"," test esi,esi","-je local:16","+jne local:15","+add edx,0x4","+jmp local:7"," mov eax,esi"," call local:0"," mov m4[edx+None*1+0x0],0x0","-add edx,0x4","-jmp local:7","+jmp local:13"," mov edx,m4[ecx+None*1+0x34]"," test edx,edx","-je local:25","+jne local:27","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov ebx,0x160"," mov eax,edx"," mov edx,address"]},{"name":"initialise_3d_core_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x488780","earlier":"0x493410","same_instruction_shape":true,"reference_instructions":8,"earlier_instructions":8,"callers":[],"diff":[]},{"name":"set_3d_viewport_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x4887a0","earlier":"0x493430","same_instruction_shape":false,"reference_instructions":63,"earlier_instructions":57,"callers":[[4797488,"set_primary_visual_viewport_",17]],"diff":["--- 0x493430","+++ 0x4887a0","@@ -1,57 +1,63 @@"," push esi"," push edi","-sub esp,0x18","-mov edi,eax","-mov esi,edx","-mov m4[esp+None*1+0x14],ebx","-mov m4[esp+None*1+0x10],ecx","-mov m4[None+None*1+address],ebx","+push ebp","+mov ebp,esp","+sub esp,0x1c","+and esp,0xfffffff8","+mov m4[esp+None*1+0x14],eax","+mov m4[esp+None*1+0x10],edx","+mov edi,ebx","+mov esi,ecx"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],eax","-add ebx,eax","+lea ecx,m4[eax+ebx*1+0xffffffff]"," mov m4[None+None*1+address],edx","-dec ebx","-mov eax,m4[esp+None*1+0x14]","-mov m4[None+None*1+address],ebx","-lea ebx,m4[ecx+edx*1+0x0]","-mov edx,eax","+mov m4[None+None*1+address],ecx","+lea ecx,m4[edx+esi*1+0x0]","+mov edx,ebx","+mov eax,ebx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1"," mov m4[None+None*1+address],eax","-mov edx,ecx","-mov eax,ecx","+mov edx,esi","+mov eax,esi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-dec ebx"," mov m4[None+None*1+address],ebx","-mov ecx,ebx","+mov m4[esp+None*1+0x18],edi","+dec ecx"," mov ebx,m4[None+None*1+address]","+mov edx,m4[esp+None*1+0x10]"," mov m4[None+None*1+address],eax","-mov edx,esi","-mov eax,edi","+mov eax,m4[esp+None*1+0x14]","+mov m4[None+None*1+address],ecx"," call external","-fild m4[esp+None*1+0x14]","+fild m4[esp+None*1+0x18]"," fld st(0)"," fld m8[None+None*1+address]"," fxch st(0),st(1)"," fmul st(1)","-fild m4[esp+None*1+0x10]","+mov m4[esp+None*1+0x18],esi","+fild m4[esp+None*1+0x18]"," fld st(0)"," fld m8[None+None*1+address]"," fxch st(0),st(1)"," fmul st(1)"," fdivp st(3)","+fxch st(0),st(1)","+fmulp st(3)","+fmulp st(3)"," fxch st(0),st(2)","+fdivp st(1)","+fxch st(0),st(1)"," call external"," fistp m4[None+None*1+address]","-fmulp st(2)","-fmulp st(2)","-fdivrp st(1)"," call external"," fistp m4[None+None*1+address]","-add esp,0x18","+mov esp,ebp","+pop ebp"," pop edi"," pop esi"," ret "]},{"name":"get_heading_pitch_roll_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x4894dc","earlier":"0x4940e8","same_instruction_shape":true,"reference_instructions":35,"earlier_instructions":35,"callers":[],"diff":[]},{"name":"create_small_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48dfd0","earlier":"0x4a0ae0","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_heave_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e060","earlier":"0x4a0b70","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_splash_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e090","earlier":"0x4a0ba0","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_cannon_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e0c0","earlier":"0x4a0bd0","same_instruction_shape":false,"reference_instructions":19,"earlier_instructions":19,"callers":[[4852688,"create_creative_cannon_crater_",12]],"diff":["--- 0x4a0bd0","+++ 0x48e0c0","@@ -4,11 +4,11 @@"," sub esp,0xc"," mov esi,eax"," mov eax,edx","-mov ecx,esp","+lea ecx,m4[esp+None*1+0x8]"," lea ebx,m4[esp+None*1+0x4]","-lea edx,m4[esp+None*1+0x8]","+mov edx,esp"," call external","-mov ebx,m4[esp+None*1+0x8]","+mov ebx,m4[esp+None*1+0x0]"," mov edx,0x3e"," mov eax,esi"," call external"]},{"name":"create_short_life_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e0f0","earlier":"0x4a0c00","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":37,"callers":[[4852736,"create_splash_",11]],"diff":["--- 0x4a0c00","+++ 0x48e0f0","@@ -4,14 +4,18 @@"," mov ecx,edx"," mov edx,m4[eax+None*1+0x0]"," test edx,edx","-jl local:33","+jl local:14"," cmp edx,0xfffffff","-jg local:33","+jg local:14"," mov edi,m4[eax+None*1+0x4]"," test edi,edi","-jl local:33","+jl local:14"," cmp edi,0xfffffff","-jg local:33","+jle local:18","+pop edi","+pop esi","+pop ecx","+ret "," mov edx,m4[None+None*1+address]"," mov esi,m4[eax+None*1+0x0]"," mov m4[edx+None*1+0x0],esi","@@ -22,14 +26,14 @@"," call external"," mov edx,eax"," mov eax,m4[None+None*1+address]","-add eax,0x18","-mov m4[eax+None*1+0xfffffffc],0x0","-mov m4[eax+None*1+0xfffffff0],edx","-mov m4[eax+None*1+0xfffffff4],ecx","-mov m4[eax+None*1+0xfffffff8],ebx","+add eax,0x24","+mov m4[eax+None*1+0xfffffff0],0x0","+mov m4[eax+None*1+0xffffffe4],edx","+mov m4[eax+None*1+0xffffffe8],ecx","+mov m4[eax+None*1+0xffffffec],ebx"," mov m4[None+None*1+address],eax"," cmp eax,address","-jne local:33","+jne local:14"," mov m4[None+None*1+address],address"," pop edi"," pop esi"]},{"name":"create_long_life_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e164","earlier":"0x4a0c70","same_instruction_shape":false,"reference_instructions":40,"earlier_instructions":36,"callers":[[4852848,"create_small_crater_",11],[4852848,"create_heave_crater_",11]],"diff":["--- 0x4a0c70","+++ 0x48e164","@@ -4,14 +4,18 @@"," mov ecx,edx"," mov edx,m4[eax+None*1+0x0]"," test edx,edx","-jl local:32","+jl local:14"," cmp edx,0xfffffff","-jg local:32","+jg local:14"," mov edi,m4[eax+None*1+0x4]"," test edi,edi","-jl local:32","+jl local:14"," cmp edi,0xfffffff","-jg local:32","+jle local:18","+pop edi","+pop esi","+pop ecx","+ret "," mov edx,m4[None+None*1+address]"," mov esi,m4[eax+None*1+0x0]"," mov m4[edx+None*1+0x0],esi","@@ -22,13 +26,13 @@"," call external"," mov edx,eax"," mov eax,m4[None+None*1+address]","-add eax,0x18","-mov m4[eax+None*1+0xfffffff0],edx","-mov m4[eax+None*1+0xfffffff4],ecx","-mov m4[eax+None*1+0xfffffff8],ebx","+add eax,0x24","+mov m4[eax+None*1+0xffffffe4],edx","+mov m4[eax+None*1+0xffffffe8],ecx","+mov m4[eax+None*1+0xffffffec],ebx"," mov m4[None+None*1+address],eax"," cmp eax,address","-jne local:32","+jne local:14"," mov m4[None+None*1+address],address"," pop edi"," pop esi"]},{"name":"update_craters_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e1d0","earlier":"0x4a0cd8","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":19,"callers":[[4852952,"update_3d_visual_",9]],"diff":["--- 0x4a0cd8","+++ 0x48e1d0","@@ -1,19 +1,26 @@","-push ecx","+push ebx"," push edx"," mov eax,address"," xor edx,edx"," cmp m4[eax+None*1+0xc],0x180","-jne local:12","-mov ecx,m4[eax+None*1+0x14]","-inc ecx","-mov m4[eax+None*1+0x14],ecx","-cmp ecx,0x5","-jne local:12","-mov m4[eax+None*1+0xc],0xffffffff","+je local:13"," inc edx","-add eax,0x18","+add eax,0x24"," cmp edx,0x80"," jl local:4"," pop edx","-pop ecx","+pop ebx"," ret ","+mov ebx,m4[eax+None*1+0x14]","+inc ebx","+mov m4[eax+None*1+0x14],ebx","+cmp ebx,0x5","+jne local:6","+mov m4[eax+None*1+0xc],0xffffffff","+inc edx","+add eax,0x24","+cmp edx,0x80","+jl local:4","+pop edx","+pop ebx","+ret "]},{"name":"set_map_configuration_","source":"E:\\library\\3dvisual\\drawmap.c","reference":"0x48e740","earlier":"0x4a11e0","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"initialise_map_grids_","source":"E:\\library\\3dvisual\\drawmap.c","reference":"0x48eb38","earlier":"0x4a1584","same_instruction_shape":true,"reference_instructions":61,"earlier_instructions":61,"callers":[],"diff":[]},{"name":"update_fragments_","source":"E:\\library\\3dvisual\\fragment.c","reference":"0x48fd1c","earlier":"0x4a5740","same_instruction_shape":false,"reference_instructions":145,"earlier_instructions":144,"callers":[[4872000,"update_3d_visual_",12]],"diff":["--- 0x4a5740","+++ 0x48fd1c","@@ -10,16 +10,16 @@"," mov m4[esp+None*1+0x54],eax"," lea eax,m4[ebp+None*1+0x78]"," xor edx,edx","-mov m4[esp+None*1+0x50],eax","+mov m4[esp+None*1+0x4c],eax"," lea eax,m4[ebp+None*1+0x48]","-mov m4[esp+None*1+0x4c],edx","+mov m4[esp+None*1+0x50],edx"," mov m4[esp+None*1+0x48],eax"," mov eax,m4[ebp+None*1+0x0]"," test eax,eax","-jbe local:121","+jbe local:111"," cmp eax,0x1","-jne local:116","-mov ebx,esp","+jne local:139","+lea ebx,m4[esp+None*1+0x24]"," mov edx,m4[None+None*1+address]"," mov eax,m4[ebp+None*1+0x84]"," mov ecx,0x24","@@ -27,12 +27,12 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov eax,m4[esp+None*1+0x50]","-lea esi,m4[esp+None*1+0x24]","+mov eax,m4[esp+None*1+0x4c]","+mov esi,esp"," call external","-lea ebx,m4[esp+None*1+0x24]","+mov ebx,esp"," mov edx,m4[esp+None*1+0x54]","-mov eax,esp","+lea eax,m4[esp+None*1+0x24]"," mov edi,m4[esp+None*1+0x54]"," call external"," push edi","@@ -49,20 +49,20 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov ebx,m4[ebp+None*1+0x90]","+mov ecx,m4[ebp+None*1+0x90]"," mov eax,m4[ebp+None*1+0x88]","-sub ebx,edx","+sub ecx,edx"," mov edx,m4[None+None*1+address]","-mov m4[ebp+None*1+0x90],ebx","+mov m4[ebp+None*1+0x90],ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov ecx,m4[ebp+None*1+0x48]","+mov ebx,m4[ebp+None*1+0x48]"," mov eax,m4[ebp+None*1+0x8c]","-add ecx,edx","+add ebx,edx"," mov edx,m4[None+None*1+address]","-mov m4[ebp+None*1+0x48],ecx","+mov m4[ebp+None*1+0x48],ebx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -83,56 +83,46 @@"," mov m4[ebp+None*1+0x50],edi"," call external"," cmp eax,m4[ebp+None*1+0x50]","-jl local:121","+jl local:111"," mov m4[ebp+None*1+0x84],0x0"," mov m4[ebp+None*1+0x88],0x0"," mov m4[ebp+None*1+0x8c],0x0"," mov m4[ebp+None*1+0x90],0x0"," mov m4[ebp+None*1+0x50],eax"," test eax,eax","-jne local:121","+jne local:111"," mov edx,m4[ebp+None*1+0x4c]"," mov eax,m4[ebp+None*1+0x48]"," call external"," cmp eax,0x1","-je local:102","-cmp eax,0x2","-je local:102","-cmp eax,0x3","-jne local:121","-mov ebx,m4[ebp+None*1+0x48]","+jne local:134","+mov ecx,m4[ebp+None*1+0x48]"," mov m4[ebp+None*1+0x0],0x0","-test ebx,ebx","-jl local:121","-cmp ebx,0xfffffff","-jg local:121","+test ecx,ecx","+jl local:111","+cmp ecx,0xfffffff","+jg local:111"," mov esi,m4[ebp+None*1+0x4c]"," test esi,esi","-jl local:121","+jl local:111"," cmp esi,0xfffffff","-jg local:121","+jg local:111"," mov eax,m4[esp+None*1+0x48]"," call external","-jmp local:121","-push 0x16c","-push address","-push address","-call external","-add esp,0xc","+mov edx,m4[esp+None*1+0x4c]","+mov ecx,m4[esp+None*1+0x48]","+mov ebx,m4[esp+None*1+0x50]"," mov eax,m4[esp+None*1+0x54]","-mov edx,m4[esp+None*1+0x50]","-mov ebx,m4[esp+None*1+0x48]","-mov ecx,m4[esp+None*1+0x4c]"," add ebp,0x94","+add edx,0x94","+add ecx,0x94","+inc ebx"," add eax,0x94","-add edx,0x94","-add ebx,0x94","-inc ecx","+mov m4[esp+None*1+0x4c],edx","+mov m4[esp+None*1+0x48],ecx","+mov m4[esp+None*1+0x50],ebx"," mov m4[esp+None*1+0x54],eax","-mov m4[esp+None*1+0x50],edx","-mov m4[esp+None*1+0x48],ebx","-mov m4[esp+None*1+0x4c],ecx","-cmp ecx,0x40","+cmp ebx,0x40"," jl local:16"," add esp,0x58"," pop ebp","@@ -142,3 +132,14 @@"," pop ecx"," pop ebx"," ret ","+cmp eax,0x2","+je local:98","+cmp eax,0x3","+je local:98","+jmp local:111","+push 0x16c","+push address","+push address","+call external","+add esp,0xc","+jmp local:111"]},{"name":"move_mobile_object_","source":"E:\\library\\3dvisual\\mobobjs.c","reference":"0x4932b0","earlier":"0x4a8a70","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":46,"callers":[[4885104,"move_ground_simple_drones_",30]],"diff":["--- 0x4a8a70","+++ 0x4932b0","@@ -3,44 +3,52 @@"," push ebp"," sub esp,0xc"," mov esi,eax","+mov edi,ecx"," mov eax,m4[eax+None*1+0x8]","-add edx,m4[eax+None*1+0x0]","-add ebx,m4[eax+None*1+0x4]","-add ecx,m4[eax+None*1+0x8]","-mov ebp,edx","-mov edi,m4[eax+None*1+0x0]","+mov ecx,m4[eax+None*1+0x4]","+sar ecx,0x16","+mov m4[esp+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x0]","+add ecx,edx","+mov edx,m4[eax+None*1+0x4]","+add edx,ebx","+mov ebx,m4[eax+None*1+0x8]","+add ebx,edi","+mov edi,ecx","+sar edi,0x16","+mov m4[esp+None*1+0x0],edi","+mov edi,edx","+mov ebp,m4[eax+None*1+0x0]","+sar edi,0x16"," sar ebp,0x16","-sar edi,0x16","-mov m4[esp+None*1+0x0],ebp","-mov ebp,ebx","-mov m4[esp+None*1+0x4],edi","-sar ebp,0x16","-mov edi,m4[eax+None*1+0x4]","-mov m4[esp+None*1+0x8],ebp","-mov ebp,m4[esp+None*1+0x0]","-sar edi,0x16","-cmp ebp,m4[esp+None*1+0x4]","-jne local:25","-cmp edi,m4[esp+None*1+0x8]","-je local:36","-mov eax,esi","-call external","+mov m4[esp+None*1+0x8],edi","+cmp ebp,m4[esp+None*1+0x0]","+jne local:39","+mov edi,m4[esp+None*1+0x8]","+cmp edi,m4[esp+None*1+0x4]","+jne local:39","+mov m4[eax+None*1+0x0],ecx"," mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x0],edx","+mov m4[eax+None*1+0x4],edx"," mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x4],ebx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x8],ecx","-mov eax,esi","-call external","-jmp local:41","-mov m4[eax+None*1+0x0],edx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x4],ebx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x8],ecx","+mov m4[eax+None*1+0x8],ebx"," add esp,0xc"," pop ebp"," pop edi"," pop esi"," ret ","+mov eax,esi","+call external","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x0],ecx","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x4],edx","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x8],ebx","+mov eax,esi","+call external","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret "]},{"name":"get_mobile_object_in_range_","source":"E:\\library\\3dvisual\\mobobjs.c","reference":"0x493c40","earlier":"0x4a931c","same_instruction_shape":false,"reference_instructions":148,"earlier_instructions":141,"callers":[[4887324,"damage_mobiles_in_range_exclusive_",8],[4887324,"damage_mobiles_in_range_exclusive_",21]],"diff":["--- 0x4a931c","+++ 0x493c40","@@ -4,77 +4,82 @@"," push ebp"," mov ecx,eax"," test ebx,ebx","-je local:14","+je local:29"," cmp m4[None+None*1+address],0x0","-jne local:122","-push 0x435","+je local:24","+mov eax,m4[None+None*1+address]","+mov eax,m4[eax+None*1+0x18]","+mov m4[None+None*1+address],eax","+mov edx,m4[None+None*1+address]","+test edx,edx","+jne local:119","+inc m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]","+mov eax,m4[None+None*1+address]","+cmp eax,ebx","+jg local:138","+mov edx,m4[None+None*1+address]","+shl edx,0x8","+mov eax,m4[edx+eax*4+address]","+jmp local:11","+push 0x437"," push address"," push address"," call external"," add esp,0xc"," mov esi,m4[ecx+None*1+0x0]"," test esi,esi","-jl local:24","+jl local:103"," cmp esi,0xfffffff","-jg local:24","+jg local:103"," mov ebp,m4[ecx+None*1+0x4]"," test ebp,ebp","-jl local:24","+jl local:103"," cmp ebp,0xfffffff","-jle local:30","-xor eax,eax","-pop ebp","-pop edi","-pop esi","-pop ecx","-ret ","+jg local:103"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],edx","+mov eax,m4[ecx+None*1+0x8]","+mov ecx,ebp"," mov m4[None+None*1+address],esi","-mov ebx,ebp","+sar ecx,0x16"," mov m4[None+None*1+address],ebp","-sar ebx,0x16","-mov eax,m4[ecx+None*1+0x8]","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ebx","-mov ebx,esi","+mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ecx","+mov ecx,esi"," mov m4[None+None*1+address],eax","-sub ebx,edx","+sub ecx,edx"," mov eax,esi","-mov edx,ebx","+mov edx,ecx"," sar eax,0x16"," sar edx,0x16"," mov m4[None+None*1+address],eax"," cmp eax,edx","-jl local:50","-mov eax,edx","+jge local:109"," test eax,eax","-jg local:53","-xor eax,eax","+jle local:111"," mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," add eax,edx","+mov ecx,m4[None+None*1+address]","+sar eax,0x16","+cmp eax,ecx","+jge local:69","+mov eax,ecx","+cmp eax,0x3f","+jge local:113"," mov ebx,m4[None+None*1+address]","-sar eax,0x16","-cmp eax,ebx","-jge local:62","-mov eax,ebx","-cmp eax,0x3f","-jl local:65","-mov eax,0x3f","-mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ecx","+sub eax,ebx"," mov esi,m4[None+None*1+address]"," sar eax,0x16"," cmp eax,esi","-jle local:74","+jle local:80"," mov eax,esi"," test eax,eax","-jg local:77","-xor eax,eax","+jle local:115"," mov edi,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","@@ -82,55 +87,57 @@"," mov ebp,m4[None+None*1+address]"," sar eax,0x16"," cmp eax,ebp","-jge local:86","+jge local:91"," mov eax,ebp"," cmp eax,0x3f","-jl local:89","-mov eax,0x3f","+jge local:117"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],0x1"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-jmp local:130","+mov edi,m4[None+None*1+address]","+cmp edi,m4[None+None*1+address]","+jl local:140"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-jmp local:126","-mov edx,m4[None+None*1+address]","-shl edx,0x8","-mov eax,m4[edx+eax*4+address]","-mov m4[None+None*1+address],eax","-mov edx,m4[None+None*1+address]","-test edx,edx","-je local:125","+jmp local:16","+xor eax,eax","+pop ebp","+pop edi","+pop esi","+pop ecx","+ret ","+mov eax,edx","+jmp local:58","+xor eax,eax","+jmp local:60","+mov eax,0x3f","+jmp local:71","+xor eax,eax","+jmp local:82","+mov eax,0x3f","+jmp local:93"," mov ecx,m4[edx+None*1+0x8]"," mov edx,m4[None+None*1+address]"," mov eax,m4[ecx+None*1+0x0]"," mov ebx,m4[None+None*1+address]"," sub eax,edx"," mov edx,m4[ecx+None*1+0x4]","+mov edi,m4[None+None*1+address]"," sub edx,ebx"," mov ebx,m4[ecx+None*1+0x8]","-sub ebx,m4[None+None*1+address]","+sub ebx,edi"," call external"," cmp eax,m4[None+None*1+address]","-jge local:122","+jge local:9"," mov eax,m4[None+None*1+address]"," pop ebp"," pop edi"," pop esi"," pop ecx"," ret ","-mov eax,m4[None+None*1+address]","-mov eax,m4[eax+None*1+0x18]","-jmp local:100"," inc m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:97","-inc m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:94","+jmp local:97"," xor ebp,ebp"," xor eax,eax"," mov m4[None+None*1+address],ebp"]},{"name":"update_3d_visual_","source":"E:\\library\\3dvisual\\3dmain.c","reference":"0x49bf30","earlier":"0x495e88","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"deinitialise_explosions_","source":"E:\\library\\3dvisual\\explode.c","reference":"0x4a6668","earlier":"0x4a17d8","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"update_explosions_","source":"E:\\library\\3dvisual\\explode.c","reference":"0x4a67c0","earlier":"0x4a1914","same_instruction_shape":false,"reference_instructions":82,"earlier_instructions":85,"callers":[[4856084,"update_3d_visual_",10]],"diff":["--- 0x4a1914","+++ 0x4a67c0","@@ -4,77 +4,17 @@"," push esi"," push edi"," push ebp","-mov ebx,address","-xor ecx,ecx","+mov ecx,address","+xor ebx,ebx"," xor esi,esi","-mov edx,m4[ebx+None*1+0x0]","+mov edx,m4[ecx+None*1+0x0]"," cmp edx,0x1","-jb local:16","-jbe local:19","-cmp edx,0x2","-je local:26","-jmp local:69","+jae local:25"," test edx,edx","-je local:74","-jmp local:69","-mov ebp,m4[ebx+None*1+0x20]","-inc ebp","-mov m4[ebx+None*1+0x20],ebp","-cmp ebp,0x21","-jne local:74","-mov m4[ebx+None*1+0x0],esi","-jmp local:74","-mov edx,m4[ebx+None*1+0x20]","-inc edx","-mov m4[ebx+None*1+0x20],edx","-cmp edx,0xf","-jne local:33","-mov m4[ebx+None*1+0x0],esi","-jmp local:74","-cmp esi,edx","-jge local:58","-mov edx,m4[None+None*1+address]","-mov eax,m4[ebx+None*1+0x10]","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-add m4[ebx+None*1+0x4],edx","-mov edx,m4[None+None*1+address]","-mov eax,m4[ebx+None*1+0x14]","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-mov edi,m4[ebx+None*1+0x8]","-mov eax,m4[ebx+None*1+0x18]","-add edi,edx","-mov edx,m4[None+None*1+address]","-mov m4[ebx+None*1+0x8],edi","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-add m4[ebx+None*1+0xc],edx","-mov edx,m4[ebx+None*1+0x8]","-mov eax,m4[ebx+None*1+0x4]","-call external","-mov edx,m4[ebx+None*1+0x1c]","-mov edi,m4[ebx+None*1+0xc]","-add eax,edx","-cmp eax,edi","-jge local:67","-mov eax,edi","-mov m4[ebx+None*1+0xc],eax","-jmp local:74","-push 0x224","-push address","-push address","-call external","-add esp,0xc","-inc ecx","-add ebx,0x24","-cmp ecx,0x80","+jne local:76","+inc ebx","+add ecx,0x24","+cmp ebx,0x80"," jl local:9"," pop ebp"," pop edi","@@ -83,3 +23,60 @@"," pop ecx"," pop ebx"," ret ","+ja local:33","+mov ebp,m4[ecx+None*1+0x20]","+inc ebp","+mov m4[ecx+None*1+0x20],ebp","+cmp ebp,0x21","+jne local:14","+mov m4[ecx+None*1+0x0],esi","+jmp local:14","+cmp edx,0x2","+jne local:76","+mov edx,m4[ecx+None*1+0x20]","+inc edx","+mov m4[ecx+None*1+0x20],edx","+cmp edx,0xf","+je local:31","+cmp esi,edx","+jge local:65","+mov edx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x10]","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+add m4[ecx+None*1+0x4],edx","+mov edx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x14]","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+mov edi,m4[ecx+None*1+0x8]","+mov eax,m4[ecx+None*1+0x18]","+add edi,edx","+mov edx,m4[None+None*1+address]","+mov m4[ecx+None*1+0x8],edi","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+add m4[ecx+None*1+0xc],edx","+mov edx,m4[ecx+None*1+0x8]","+mov eax,m4[ecx+None*1+0x4]","+call external","+mov edx,m4[ecx+None*1+0x1c]","+mov edi,m4[ecx+None*1+0xc]","+add eax,edx","+cmp eax,edi","+jge local:74","+mov eax,edi","+mov m4[ecx+None*1+0xc],eax","+jmp local:14","+push 0x226","+push address","+push address","+call external","+add esp,0xc","+jmp local:14"]},{"name":"deinitialise_smoke_","source":"E:\\library\\3dvisual\\smoke.c","reference":"0x4a9bc4","earlier":"0x4acd28","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"update_smoke_","source":"E:\\library\\3dvisual\\smoke.c","reference":"0x4a9d6c","earlier":"0x4acebc","same_instruction_shape":false,"reference_instructions":34,"earlier_instructions":34,"callers":[[4902588,"update_3d_visual_",11]],"diff":["--- 0x4acebc","+++ 0x4a9d6c","@@ -3,32 +3,32 @@"," push edx"," push esi"," mov edx,address","-xor ebx,ebx","+xor ecx,ecx"," mov eax,m4[edx+None*1+0x0]"," test eax,eax","-jbe local:25","+jbe local:19"," cmp eax,0x1","-jne local:20","+jne local:28"," mov eax,m4[None+None*1+address]","-mov ecx,m4[edx+None*1+0x18]","-add ecx,eax","+mov ebx,m4[edx+None*1+0x18]","+add ebx,eax"," mov esi,m4[edx+None*1+0x14]","-mov m4[edx+None*1+0x18],ecx","-cmp ecx,esi","-jl local:25","+mov m4[edx+None*1+0x18],ebx","+cmp ebx,esi","+jl local:19"," mov m4[edx+None*1+0x0],0x0","-jmp local:25","-push 0x154","-push address","-push address","-call external","-add esp,0xc","-inc ebx","+inc ecx"," add edx,0x20","-cmp ebx,0x800","+cmp ecx,0x800"," jl local:6"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+push 0x154","+push address","+push address","+call external","+add esp,0xc","+jmp local:19"]},{"name":"reschedule_","source":"\\library\\system\\thread.asm","reference":"0x4b92b0","earlier":"0x4ba2c8","same_instruction_shape":true,"reference_instructions":121,"earlier_instructions":121,"callers":[],"diff":[]},{"name":"do_reschedule_","source":"\\library\\system\\thread.asm","reference":"0x4b9410","earlier":"0x4ba428","same_instruction_shape":true,"reference_instructions":64,"earlier_instructions":64,"callers":[],"diff":[]},{"name":"do_yield_","source":"\\library\\system\\thread.asm","reference":"0x4b9500","earlier":"0x4ba518","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"sprintf_","source":"sprintf","reference":"0x4baf99","earlier":"0x4bbfe1","same_instruction_shape":false,"reference_instructions":13,"earlier_instructions":18,"callers":[[4964321,"set_network_channel_",7]],"diff":["--- 0x4bbfe1","+++ 0x4baf99","@@ -1,18 +1,13 @@"," push ebx","-push ecx"," push edx"," sub esp,0x4","-lea eax,m4[esp+None*1+0x1c]","-mov ecx,address","+lea eax,m4[esp+None*1+0x18]"," mov ebx,esp","-mov edx,m4[esp+None*1+0x18]","+mov edx,m4[esp+None*1+0x14]"," mov m4[esp+None*1+0x0],eax","-mov eax,m4[esp+None*1+0x14]","+mov eax,m4[esp+None*1+0x10]"," call external","-mov edx,m4[esp+None*1+0x14]","-mov m1[edx+eax*1+0x0],0x0"," add esp,0x4"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"initrandnext_","source":"rand","reference":"0x4bb00e","earlier":"0x4bc06f","same_instruction_shape":true,"reference_instructions":3,"earlier_instructions":3,"callers":[[4964463,"rand_",1]],"diff":[]},{"name":"rand_","source":"rand","reference":"0x4bb018","earlier":"0x4bc079","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"memset_","source":"memset","reference":"0x4bb069","earlier":"0x4bc0b0","same_instruction_shape":false,"reference_instructions":12,"earlier_instructions":12,"callers":[[4964528,"setup_drone_",13],[4964528,"set_simple_drone_object_number_",19],[4964528,"insert_after_waypoint_",11],[4964528,"initialise_kills_list_",7],[4964528,"initialise_kills_list_",11],[4964528,"initialise_kills_list_",15],[4964528,"initialise_kills_list_",19],[4964528,"initialise_mobile_kills_list_",6],[4964528,"initialise_mobile_kills_list_",10],[4964528,"initialise_ground_kills_list_",6],[4964528,"initialise_ground_kills_list_",10],[4964528,"initialise_rounds_",5],[4964528,"release_target_",9],[4964528,"initialise_targets_",5],[4964528,"makelist_",8]],"diff":["--- 0x4bc0b0","+++ 0x4bb069","@@ -1,12 +1,12 @@","+push ecx","+mov ecx,ebx"," push eax","-push ecx"," mov dh,dl"," shl edx,0x8"," mov dl,dh"," shl edx,0x8"," mov dl,dh","-mov ecx,ebx"," call external","+pop eax"," pop ecx","-pop eax"," ret "]},{"name":"strstr_","source":"strstr","reference":"0x4bb081","earlier":"0x4bc0c8","same_instruction_shape":true,"reference_instructions":100,"earlier_instructions":100,"callers":[],"diff":[]},{"name":"strcmp_","source":"_strcmp","reference":"0x4bb170","earlier":"0x4bc1b0","same_instruction_shape":true,"reference_instructions":67,"earlier_instructions":67,"callers":[],"diff":[]},{"name":"cget_string_","source":"sscanf","reference":"0x4bb282","earlier":"0x4bc37e","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"vsscanf_","source":"sscanf","reference":"0x4bb2af","earlier":"0x4bc3ab","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"time_","source":"time","reference":"0x4bb2f7","earlier":"0x4bc3f3","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"memmove_","source":"memmove","reference":"0x4bb372","earlier":"0x4bc4b0","same_instruction_shape":true,"reference_instructions":47,"earlier_instructions":47,"callers":[],"diff":[]},{"name":"printf_","source":"printf","reference":"0x4bb3bf","earlier":"0x4bc4fd","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"strncmp_","source":"strncmp","reference":"0x4bb64d","earlier":"0x4bc730","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"close_file_","source":"fopen","reference":"0x4bb8c5","earlier":"0x4bc931","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"fclose_","source":"fclose","reference":"0x4bbcbb","earlier":"0x4bca13","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"strdup_","source":"strdup","reference":"0x4bc4cf","earlier":"0x4bd3f8","same_instruction_shape":true,"reference_instructions":41,"earlier_instructions":41,"callers":[],"diff":[]},{"name":"malloc_","source":"nmalloc","reference":"0x4bc63f","earlier":"0x4bd5a7","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":86,"callers":[[4969895,"register_garbage_collect_",3],[4969895,"strdup_",18],[4969895,"realloc_",10],[4969895,"realloc_",25]],"diff":["--- 0x4bd5a7","+++ 0x4bc63f","@@ -8,67 +8,66 @@"," push gs"," push ebp"," sub esp,0x4","-mov esi,eax","+mov edi,eax"," test eax,eax"," je local:15"," cmp eax,0xffffffd4"," jbe local:17"," xor eax,eax","-jmp local:75","-mov ebp,address","-lea edi,m4[esi+None*1+0x3]","+jmp local:74","+lea ebp,m4[eax+None*1+0xb]","+and ebp,0xfffffff8","+cmp ebp,0x10","+jae local:22","+mov ebp,0x10","+call m4[None+None*1+address]"," xor ah,ah"," xor edx,edx"," mov m1[esp+None*1+0x0],ah","-and di,0xfffc","-call m4[None+None*1+address]","-mov eax,edi","-cmp edi,0xc","-jae local:28","-mov eax,0xc","-cmp eax,m4[None+None*1+address]","-jbe local:36","+cmp ebp,m4[None+None*1+address]","+jbe local:32"," mov ecx,m4[None+None*1+address]"," test ecx,ecx","-jne local:54","+jne local:35","+jmp local:33","+xor ecx,ecx"," mov m4[None+None*1+address],ecx"," mov ecx,m4[None+None*1+address]","-jmp local:54","-xor ecx,ecx","-jmp local:33","+test ecx,ecx","+je local:55","+mov esi,m4[ecx+None*1+0x14]","+mov m4[None+None*1+address],ecx","+cmp esi,edi","+jb local:50","+mov eax,address"," mov edx,ds","-mov eax,ebp","-mov m4[None+None*1+address],ecx"," and edx,0xffff"," mov ebx,ecx","-mov eax,esi","+mov eax,edi"," call external"," mov edx,eax"," test eax,eax","-jne local:71","-mov ebx,m4[None+None*1+address]","-mov eax,m4[ecx+None*1+0x14]","-cmp eax,ebx","+jne local:70","+cmp esi,m4[None+None*1+address]"," jbe local:53","-mov m4[None+None*1+address],eax","+mov m4[None+None*1+address],esi"," mov ecx,m4[ecx+None*1+0x8]","-test ecx,ecx","-jne local:38","+jmp local:35"," cmp m1[esp+None*1+0x0],0x0","-jne local:62","-mov eax,esi","+jne local:61","+mov eax,edi"," call external"," test eax,eax","-jne local:69","-mov eax,esi","+jne local:68","+mov eax,edi"," call external"," test eax,eax","-je local:71","+je local:70"," xor cl,cl"," mov m1[esp+None*1+0x0],cl","-jmp local:24","+jmp local:26"," mov m1[esp+None*1+0x0],0x1","-jmp local:24","+jmp local:26"," xor ch,ch"," mov m1[None+None*1+address],ch"," call m4[None+None*1+address]"]},{"name":"free_","source":"nfree","reference":"0x4bc72c","earlier":"0x4bd696","same_instruction_shape":false,"reference_instructions":99,"earlier_instructions":50,"callers":[[4970134,"realloc_",14],[4970134,"realloc_",45]],"diff":["--- 0x4bd696","+++ 0x4bc72c","@@ -2,47 +2,96 @@"," push ecx"," push edx"," push esi","-push ebp"," mov esi,eax"," test eax,eax","-je local:44","+je local:94"," call m4[None+None*1+address]"," mov ecx,m4[None+None*1+address]"," test ecx,ecx","-je local:16","+je local:36"," cmp ecx,esi","-ja local:16","-cmp esi,m4[ecx+None*1+0x8]","-jb local:26","+ja local:17","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov eax,ecx","+mov ecx,m4[ecx+None*1+0x4]","+test ecx,ecx","+je local:27","+cmp ecx,esi","+ja local:27","+mov edx,m4[ecx+None*1+0x0]","+add edx,ecx","+cmp edx,esi","+ja local:76","+mov ecx,m4[eax+None*1+0x8]","+test ecx,ecx","+je local:36","+cmp ecx,esi","+ja local:36","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76"," mov ecx,m4[None+None*1+address]","-jmp local:23","+test ecx,ecx","+je local:64"," cmp ecx,esi","-ja local:22","-cmp esi,ebx","-jb local:26","+ja local:45","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov eax,ecx","+mov ecx,m4[ecx+None*1+0x4]","+test ecx,ecx","+je local:55","+cmp ecx,esi","+ja local:55","+mov edx,m4[ecx+None*1+0x0]","+add edx,ecx","+cmp edx,esi","+ja local:76","+mov ecx,m4[eax+None*1+0x8]","+test ecx,ecx","+je local:64","+cmp ecx,esi","+ja local:64","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov ecx,m4[None+None*1+address]","+jmp local:73","+cmp ecx,esi","+ja local:72","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76"," mov ecx,m4[ecx+None*1+0x8]","-mov ebx,m4[ecx+None*1+0x8]","-test ebx,ebx","-jne local:18","+test ecx,ecx","+jne local:66","+jmp local:93"," mov eax,address"," mov edx,ds"," and edx,0xffff"," mov ebx,ecx"," mov eax,esi"," call external","-mov ebp,m4[None+None*1+address]","+mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],ecx","-cmp ecx,ebp","-jae local:41","-mov eax,m4[None+None*1+address]","-mov edx,m4[ecx+None*1+0x14]","-cmp edx,eax","-jbe local:41","-mov m4[None+None*1+address],edx","+cmp ecx,edx","+jae local:91","+mov ebx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x14]","+cmp eax,ebx","+jbe local:91","+mov m4[None+None*1+address],eax"," xor ah,ah"," mov m1[None+None*1+address],ah"," call m4[None+None*1+address]","-pop ebp"," pop esi"," pop edx"," pop ecx"]},{"name":"far_strlen_","source":"prtf","reference":"0x4bd41e","earlier":"0x4bde84","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"fmt4hex_","source":"prtf","reference":"0x4bd4ab","earlier":"0x4bdecb","same_instruction_shape":true,"reference_instructions":48,"earlier_instructions":48,"callers":[],"diff":[]},{"name":"cget_","source":"scnf","reference":"0x4bdc3a","earlier":"0x4be778","same_instruction_shape":true,"reference_instructions":5,"earlier_instructions":5,"callers":[[4974456,"cgetw_",9]],"diff":[]},{"name":"report_scan_","source":"scnf","reference":"0x4be220","earlier":"0x4becba","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"makelist_","source":"scnf","reference":"0x4be27e","earlier":"0x4bed18","same_instruction_shape":true,"reference_instructions":31,"earlier_instructions":31,"callers":[],"diff":[]},{"name":"radix_value_","source":"scnf","reference":"0x4bea92","earlier":"0x4bf35c","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"cgetw_","source":"scnf","reference":"0x4beab9","earlier":"0x4bf383","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"mktime_","source":"mktime","reference":"0x4beb46","earlier":"0x4bf40e","same_instruction_shape":false,"reference_instructions":143,"earlier_instructions":124,"callers":[[4977678,"time_",10],[4977678,"calc_yday_",35]],"diff":["--- 0x4bf40e","+++ 0x4beb46","@@ -4,24 +4,24 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov ebp,eax","-mov esi,0xc","+mov ebx,0xc"," mov edx,m4[ebp+None*1+0x10]"," mov eax,m4[eax+None*1+0x10]"," sar edx,0x1f","-idiv esi","-mov ebx,address","+idiv ebx","+mov ecx,address"," mov esi,m4[ebp+None*1+0x14]"," mov edi,edx"," cmp esi,0xf4fb7ea1","-jge local:19","+jge local:20"," mov eax,0xffffffff","-jmp local:117","+jmp local:135"," mov eax,m4[ebp+None*1+0x10]"," mov edx,eax","-mov ecx,0xc"," sar edx,0x1f","-idiv ecx","+idiv ebx"," add esi,eax"," test edi,edi"," jge local:30","@@ -29,13 +29,19 @@"," add edi,0xc"," jmp local:25"," test esi,esi","-jl local:17","+jl local:18"," lea eax,m4[esi+None*1+0x76c]"," call external"," test eax,eax"," je local:37","-mov ebx,address","-lea ecx,m4[esi+None*1+0x3]","+mov ecx,address","+lea edx,m4[esi+None*1+0x3]","+mov eax,edx","+sar edx,0x1f","+shl edx,0x2","+sbb eax,edx","+sar eax,0x2","+mov ebx,eax"," mov eax,esi"," shl eax,0x3"," add eax,esi","@@ -43,17 +49,29 @@"," add eax,esi"," mov edx,eax"," shl eax,0x2","-sar ecx,0x2"," add eax,edx","-lea edx,m4[eax+ecx*1+0x0]","-movsx eax,m2[ebx+edi*2+0x0]","-mov edi,m4[ebp+None*1+0xc]","+lea edx,m4[esi+None*1+0x63]","+add eax,ebx","+mov ebx,0x64","+mov m4[esp+None*1+0x0],eax","+mov eax,edx","+sar edx,0x1f","+idiv ebx","+mov edx,m4[esp+None*1+0x0]","+sub edx,eax","+mov m4[esp+None*1+0x0],edx","+lea edx,m4[esi+None*1+0x12b]","+mov ebx,0x190","+mov eax,edx","+sar edx,0x1f","+idiv ebx","+mov edx,m4[esp+None*1+0x0]","+add edx,eax","+mov eax,edi","+movsx eax,m2[ecx+eax*2+0x0]"," add eax,edx","-add edi,eax","-dec edi","-test esi,esi","-je local:56","-dec edi","+add eax,m4[ebp+None*1+0xc]","+lea edi,m4[eax+None*1+0xffffffff]"," mov edx,m4[ebp+None*1+0x8]"," mov eax,edx"," shl eax,0x4","@@ -68,41 +86,41 @@"," shl eax,0x2"," add esi,eax"," test esi,esi","-jge local:74","+jge local:92"," dec edi"," add esi,0x15180","-jmp local:69","+jmp local:87"," mov ecx,ebp"," mov edx,esi"," mov eax,edi"," xor ebx,ebx"," call external"," call external","-mov edx,m4[None+None*1+address]","-mov ebx,m4[ebp+None*1+0x20]","-add esi,edx","-test ebx,ebx","-jge local:87","+mov ebx,m4[None+None*1+address]","+mov ecx,m4[ebp+None*1+0x20]","+add esi,ebx","+test ecx,ecx","+jge local:105"," mov eax,ebp"," call external"," cmp m4[ebp+None*1+0x20],0x0","-jle local:90","+jle local:108"," sub esi,m4[None+None*1+address]"," test esi,esi","-jge local:95","+jge local:113"," dec edi"," add esi,0x15180","-jmp local:90","+jmp local:108"," cmp edi,0x63de","-jl local:17","-jne local:105","-mov eax,m4[None+None*1+address]","+jl local:18","+jne local:123","+mov ebx,m4[None+None*1+address]"," sub esi,0x15180","-test eax,eax","-jle local:17","+test ebx,ebx","+jle local:18"," test esi,esi","-jge local:116","-jmp local:17","+jge local:134","+jmp local:18"," lea eax,m4[edi+None*1+0xffff9c21]"," mov edi,eax"," shl edi,0x3","@@ -115,6 +133,7 @@"," sub edi,eax"," add esi,edi"," mov eax,esi","+add esp,0x4"," pop ebp"," pop edi"," pop esi"]},{"name":"docloseall_","source":"ioexit","reference":"0x4bedaf","earlier":"0x4c26c8","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"tolower_","source":"tolower","reference":"0x4bfd9d","earlier":"0x4bfbb6","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[[4979638,"radix_value_",6]],"diff":[]},{"name":"open_","source":"openwnt","reference":"0x4bfdab","earlier":"0x4bfbc4","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"sopen_","source":"openwnt","reference":"0x4bfdcf","earlier":"0x4bfbe8","same_instruction_shape":false,"reference_instructions":16,"earlier_instructions":146,"callers":[[4979688,"open_",11]],"diff":["--- 0x4bfbe8","+++ 0x4bfdcf","@@ -1,145 +1,15 @@"," push ebx"," push ecx"," push edx","-push esi","-push edi","-push ebp","-sub esp,0xc","-mov ebp,m4[esp+None*1+0x28]","+sub esp,0x4","+lea eax,m4[esp+None*1+0x20]","+mov ecx,esp","+mov ebx,m4[esp+None*1+0x1c]","+mov edx,m4[esp+None*1+0x18]","+mov m4[esp+None*1+0x0],eax","+mov eax,m4[esp+None*1+0x14]"," call external","-test eax,eax","-je local:15","-mov eax,0xb","-call external","-mov eax,0xffffffff","-jmp local:138","-mov esi,m4[esp+None*1+0x2c]","-lea ebx,m4[esp+None*1+0x8]","-and esi,0x7","-lea edx,m4[esp+None*1+0x4]","-mov eax,esi","-call external","-mov edx,esp","-mov eax,m4[esp+None*1+0x30]","-call external","-mov edx,m4[None+None*1+address]","-mov ebx,0x80","-test edx,edx","-je local:43","-mov edx,address","-mov eax,ebp","-call external","-test eax,eax","-jne local:43","-call external","-call m4[None+None*1+address]","-push 0xffffffff","-push eax","-push 0x0","-mov edx,0x2000","-mov ebx,eax","-call m4[None+None*1+address]","-add esp,0xc","-jmp local:110","-mov ah,m1[esp+None*1+0x2c]","-test ah,0x20","-je local:72","-lea eax,m4[esp+None*1+0x34]","-add eax,0x4","-mov eax,m4[eax+None*1+0xfffffffc]","-mov m4[esp+None*1+0x8],eax","-mov eax,m4[None+None*1+address]","-mov ecx,m4[esp+None*1+0x8]","-not eax","-and ecx,eax","-mov m4[esp+None*1+0x8],ecx","-test m1[esp+None*1+0x9],0x1","-je local:60","-test m1[esp+None*1+0x8],0x80","-jne local:60","-mov ebx,0x1","-test m1[esp+None*1+0x2d],0x4","-je local:65","-mov edi,0x1","-mov eax,edi","-jmp local:75","-test m1[esp+None*1+0x2c],0x40","-je local:70","-mov edi,0x2","-mov eax,0x5","-jmp local:75","-mov edi,0x4","-jmp local:74","-test ah,0x40","-jne local:68","-mov eax,0x3","-push 0x0","-push ebx","-push eax","-push 0x0","-mov eax,m4[esp+None*1+0x10]","-push eax","-mov edx,m4[esp+None*1+0x18]","-push edx","-push ebp","-call external","-cmp eax,0xffffffff","-jne local:103","-test m1[esp+None*1+0x2c],0x20","-je local:99","-push 0x0","-push ebx","-push edi","-push 0x0","-mov ebx,m4[esp+None*1+0x10]","-push ebx","-mov ecx,m4[esp+None*1+0x18]","-push ecx","-push ebp","-call external","-cmp eax,0xffffffff","-jne local:103","-call external","-jmp local:138","-call m4[None+None*1+address]","-mov ebx,eax","-call external","-xor edx,edx","-test eax,eax","-je local:110","-mov edx,0x2000","-cmp esi,0x2","-jne local:114","-or dl,0x3","-jmp local:121","-test esi,esi","-jne local:118","-or dl,0x1","-jmp local:121","-cmp esi,0x1","-jne local:121","-or dl,0x2","-test m1[esp+None*1+0x2c],0x10","-je local:124","-or dl,0x80","-mov eax,edx","-mov ch,m1[esp+None*1+0x2d]","-or al,0x40","-test ch,0x3","-je local:132","-test ch,0x2","-je local:135","-jmp local:134","-cmp m4[None+None*1+address],0x200","-jne local:135","-mov edx,eax","-mov eax,ebx","-call external","-mov eax,ebx","-add esp,0xc","-pop ebp","-pop edi","-pop esi","+add esp,0x4"," pop edx"," pop ecx"," pop ebx"]},{"name":"sqrt_","source":"sqrt387","reference":"0x4c0562","earlier":"0x4c00b4","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"utoa_","source":"itoa","reference":"0x4c1d18","earlier":"0x4c0947","same_instruction_shape":true,"reference_instructions":35,"earlier_instructions":35,"callers":[[4983111,"itoa_",9]],"diff":[]},{"name":"itoa_","source":"itoa","reference":"0x4c1d61","earlier":"0x4c0991","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[[4983185,"fmt4hex_",9]],"diff":[]},{"name":"calc_yday_","source":"timeutil","reference":"0x4c2011","earlier":"0x4c19d5","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"time_less_","source":"timeutil","reference":"0x4c23e7","earlier":"0x4c1db1","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"getche_","source":"gtchewnt","reference":"0x4c303d","earlier":"0x4c31b2","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"realloc_","source":"nrealloc","reference":"0x4c3417","earlier":"0x4c382b","same_instruction_shape":true,"reference_instructions":57,"earlier_instructions":57,"callers":[],"diff":[]},{"name":"getch_","source":"getchwnt","reference":"0x4c4ce0","earlier":"0x4c3bbd","same_instruction_shape":false,"reference_instructions":43,"earlier_instructions":43,"callers":[[4996029,"getche_",3]],"diff":["--- 0x4c3bbd","+++ 0x4c4ce0","@@ -21,17 +21,17 @@"," mov eax,esp"," push eax"," push ebx","-call external","+call m4[None+None*1+address]"," push 0x0"," push ebx","-call external","+call m4[None+None*1+address]"," mov eax,ebx"," call external"," mov ecx,m4[esp+None*1+0x0]"," push ecx"," push ebx"," mov esi,eax","-call external","+call m4[None+None*1+address]"," xor eax,eax"," call m4[None+None*1+address]"," mov eax,esi"]},{"name":"putch_","source":"putchwnt","reference":"0x4c4d5c","earlier":"0x4c3c33","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":33,"callers":[[4996147,"getche_",9]],"diff":["--- 0x4c3c33","+++ 0x4c4d5c","@@ -22,7 +22,7 @@"," lea edx,m4[esp+None*1+0x10]"," push edx"," push eax","-call external","+call m4[None+None*1+address]"," mov eax,0x1"," call m4[None+None*1+address]"," mov eax,ebx"]}]},{"source":"extracted/cd_1996_10_jp/files/FILES/APACHE95.EXE","compile_stamp":"Oct 02 1996 15:49:30","mapped":330,"same_instruction_shape":220,"conflicts":[],"functions":[{"name":"save_quick_start_game_runs_","source":"E:\\apache\\source\\runs.c","reference":"0x401ed0","earlier":"0x411120","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[],"diff":[]},{"name":"process_events_","source":"E:\\apache\\source\\events.c","reference":"0x402b40","earlier":"0x411de0","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"check_for_user_abort_","source":"E:\\apache\\source\\keys.c","reference":"0x403958","earlier":"0x413704","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"draw_menu_11x15_","source":"E:\\apache\\source\\menus\\fonts.c","reference":"0x404790","earlier":"0x4138a0","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_menu_11x18_","source":"E:\\apache\\source\\menus\\fonts.c","reference":"0x4047f4","earlier":"0x413904","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"get_game_flow_","source":"E:\\apache\\source\\menus\\gameflow.c","reference":"0x404b08","earlier":"0x413c10","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4275216,"load_multi_player_mission_",4]],"diff":[]},{"name":"set_special_exit_button_","source":"E:\\apache\\source\\menus\\notify.c","reference":"0x405070","earlier":"0x414320","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4277024,"notify_exiting_map_screen_",1]],"diff":[]},{"name":"create_text_","source":"E:\\apache\\source\\menus\\prefscrn.c","reference":"0x408320","earlier":"0x4176f4","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"notify_modem_type_","source":"E:\\apache\\source\\menus\\modemprf.c","reference":"0x40bbcc","earlier":"0x41ae44","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"transmit_message_","source":"E:\\apache\\source\\menus\\modemprf.c","reference":"0x40f7f4","earlier":"0x41e99c","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"do_takeoff_","source":"E:\\apache\\source\\menus\\takeoff.c","reference":"0x410704","earlier":"0x41f8d4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"clear_debrief_record_","source":"E:\\apache\\source\\menus\\debrief\\debrief.c","reference":"0x4131ac","earlier":"0x422274","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"check_and_count_mobile_target_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\bill.c","reference":"0x414c44","earlier":"0x423ba4","same_instruction_shape":false,"reference_instructions":10,"earlier_instructions":7,"callers":[[4340644,"record_mobile_object_destroyed_",9],[4340644,"record_remote_mobile_object_destroyed_",12]],"diff":["--- 0x423ba4","+++ 0x414c44","@@ -1,7 +1,10 @@"," cmp m4[eax+None*1+0x38],0x1","-jne external","+jne local:5"," mov eax,m4[eax+None*1+0x3c]"," test m1[eax+None*1+0x1c5],0x20","+jne local:6","+ret ","+dec m4[None+None*1+address]","+cmp m4[None+None*1+address],0x0"," je external","-dec m4[None+None*1+address]","-jmp external","+ret "]},{"name":"record_mobile_object_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414e58","earlier":"0x423d58","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"record_remote_mobile_object_destroyed_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414e78","earlier":"0x423d78","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"actually_add_debrief_record_","source":"E:\\apache\\source\\menus\\debrief\\dbrecord.c","reference":"0x414ef0","earlier":"0x423df0","same_instruction_shape":false,"reference_instructions":135,"earlier_instructions":124,"callers":[[4341232,"record_mobile_object_destroyed_",7],[4341232,"record_remote_mobile_object_destroyed_",10]],"diff":["--- 0x423df0","+++ 0x414ef0","@@ -8,46 +8,33 @@"," mov m4[esp+None*1+0x0],ebx"," mov m4[esp+None*1+0x4],ecx"," test esi,esi","-je local:92","+je local:103"," mov ebx,esi","+xor eax,eax"," xor edx,edx","-xor eax,eax","-cmp m4[ebx+eax*1+0x0],0x0","-jne local:50","+lea ecx,m4[esi+eax*1+0x0]","+cmp m4[ecx+None*1+0x0],0x0","+jne local:37"," test edx,edx","-jle local:34","+jle local:79"," lea ecx,m4[edx+None*1+0xffffffff]"," lea eax,m4[None+ecx*4+0x0]"," sub eax,ecx","-mov ebp,m4[ebx+eax*8+0x0]","-cmp edi,ebp","-jne local:34","-cmp ebp,0x2","-jne local:34","-dec edx","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx"," shl eax,0x3","-lea ebx,m4[esi+eax*1+0x0]","-mov eax,m4[esp+None*1+0x8]","-add m4[ebx+None*1+0x4],eax","-jmp local:118","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx","-lea edx,m4[None+eax*8+0x0]","-lea eax,m4[esi+edx*1+0x0]","+add eax,esi","+mov ecx,m4[eax+None*1+0x0]","+cmp edi,ecx","+jne local:79","+cmp ecx,0x2","+jne local:79"," mov edx,m4[esp+None*1+0x8]","-mov m4[eax+None*1+0x0],edi","-mov m4[eax+None*1+0x4],edx","-mov edx,m4[esp+None*1+0x0]","-mov m4[eax+None*1+0x8],edx","-mov edx,m4[esp+None*1+0x4]","-mov m4[eax+None*1+0xc],edx","-mov edx,m4[esp+None*1+0x1c]","-mov m4[eax+None*1+0x10],edx","-mov edx,m4[esp+None*1+0x20]","-mov m4[eax+None*1+0x14],edx","-jmp local:117","+add m4[eax+None*1+0x4],edx","+mov m4[None+None*1+address],esi","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret 0x8"," add eax,0x18"," inc edx"," cmp eax,0x5dc0","@@ -79,11 +66,35 @@"," mov m4[eax+None*1+0x0],0x0"," add eax,0x18"," cmp eax,edx","-jne local:78","+jne local:65","+mov ebp,m4[None+None*1+address]","+inc ebp","+mov esi,ecx","+mov m4[None+None*1+address],ebp","+mov m4[None+None*1+address],esi","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret 0x8","+lea eax,m4[None+edx*4+0x0]","+sub eax,edx","+shl eax,0x3","+add eax,esi","+mov edx,m4[esp+None*1+0x8]","+mov m4[eax+None*1+0x0],edi","+mov m4[eax+None*1+0x4],edx","+mov edx,m4[esp+None*1+0x0]","+mov m4[eax+None*1+0x8],edx","+mov edx,m4[esp+None*1+0x4]"," mov ebx,m4[None+None*1+address]","+mov m4[eax+None*1+0xc],edx","+mov edx,m4[esp+None*1+0x1c]"," inc ebx","-mov esi,ecx","+mov m4[eax+None*1+0x10],edx","+mov edx,m4[esp+None*1+0x20]"," mov m4[None+None*1+address],ebx","+mov m4[eax+None*1+0x14],edx"," mov m4[None+None*1+address],esi"," add esp,0xc"," pop ebp","@@ -114,7 +125,7 @@"," mov m4[eax+None*1+0x0],0x0"," add eax,0x18"," cmp eax,edx","-jne local:113","+jne local:124"," inc m4[None+None*1+address]"," mov m4[None+None*1+address],esi"," add esp,0xc"]},{"name":"select_log_","source":"E:\\apache\\source\\menus\\logs\\log.c","reference":"0x4159e8","earlier":"0x424900","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"set_map_tool_none_","source":"E:\\apache\\source\\menus\\maps\\umap.c","reference":"0x41a1e4","earlier":"0x428ec4","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"initialise_map_2d_viewport_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41a900","earlier":"0x429650","same_instruction_shape":false,"reference_instructions":53,"earlier_instructions":53,"callers":[[4363856,"display_rubber_waypoint_line_",9]],"diff":["--- 0x429650","+++ 0x41a900","@@ -9,34 +9,34 @@"," mov esi,eax"," mov eax,m4[None+None*1+address]"," call external","-mov ebx,m4[None+None*1+address]","-imul ebx,esi","+mov ecx,m4[None+None*1+address]","+imul ecx,esi"," mov edi,eax","-mov edx,ebx","-mov eax,ebx","+mov edx,ecx","+mov eax,ecx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","-imul ecx,edi","+mov ebx,m4[None+None*1+address]","+imul ebx,edi"," mov ebp,m4[None+None*1+address]","-mov edx,ecx","+mov edx,ebx"," sub ebp,eax","-mov eax,ecx","+mov eax,ebx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1"," mov edx,m4[None+None*1+address]"," sub edx,eax","-add ecx,edx","+add ebx,edx","+push ebx","+add ecx,ebp"," push ecx","-add ebx,ebp","-push ebx"," push edx"," xor eax,eax","+lea ebx,m4[esi+None*1+0x1]","+push ebp"," lea ecx,m4[edi+None*1+0x1]","-push ebp","-lea ebx,m4[esi+None*1+0x1]"," xor edx,edx"," call external"," mov eax,m4[None+None*1+address]"]},{"name":"get_map_world_coordinates_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41acb0","earlier":"0x4299dc","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"get_map_grid_coordinates_","source":"E:\\apache\\source\\menus\\maps\\umapdraw.c","reference":"0x41ace0","earlier":"0x429a0c","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"add_waypoint_redraw_letter_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ebd8","earlier":"0x42d834","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"add_waypoint_draw_drone_position_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ec94","earlier":"0x42d8f0","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"notify_waypoint_tool_info_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ed18","earlier":"0x42d974","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"display_rubber_waypoint_line_","source":"E:\\apache\\source\\menus\\maps\\umapway.c","reference":"0x41ed5c","earlier":"0x42d9b8","same_instruction_shape":true,"reference_instructions":102,"earlier_instructions":102,"callers":[],"diff":[]},{"name":"update_waypoint_information_box_","source":"E:\\apache\\source\\menus\\maps\\umapinfo.c","reference":"0x4211a0","earlier":"0x42fdf0","same_instruction_shape":false,"reference_instructions":321,"earlier_instructions":309,"callers":[[4390384,"notify_waypoint_tool_info_",7]],"diff":["--- 0x42fdf0","+++ 0x4211a0","@@ -7,294 +7,33 @@"," sub esp,0x74"," mov esi,m4[None+None*1+address]"," test esi,esi","-je local:271","-call external","-mov eax,esi","-call external","-mov edx,eax","-mov ebp,eax","-mov eax,esi","-call external","-mov ebx,m4[esi+None*1+0xc]","-mov edi,eax","-cmp ebx,0x4","-jne local:41","-mov edx,m4[esi+None*1+0x14]","-mov eax,m4[esi+None*1+0x10]","-call external","-test eax,eax","-je local:46","-mov ax,m2[eax+None*1+0x0]","-mov edx,m4[None+None*1+address]","-and eax,0xffff","-mov eax,m4[edx+eax*4+0x0]","-add eax,0x58","-push eax","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-jmp local:58","-test eax,eax","-je local:50","-test edx,edx","-je local:50","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-jmp local:54","-xor eax,eax","-mov al,m1[esi+None*1+0x2c]","-push eax","-push address","-lea eax,m4[esp+None*1+0x8]","-push eax","-call external","-add esp,0xc","-mov edx,esp","-lea ecx,m4[esp+None*1+0x64]","-mov eax,m4[None+None*1+address]","-lea ebx,m4[esp+None*1+0x68]","-call external","-xor edx,edx","-xor eax,eax","-call external","+jne local:48","+mov edx,address","+mov eax,m4[None+None*1+address]","+call external","+xor ecx,ecx"," xor ebx,ebx","-mov edx,m4[esp+None*1+0x68]","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,m4[esp+None*1+0x64]","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:67","-lea ecx,m4[esp+None*1+0x64]","-mov edx,0xfffffff","-lea ebx,m4[esp+None*1+0x68]","-mov eax,edx","-call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,ebx","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:15","+mov edx,address"," xor ebx,ebx","-mov edx,m4[esp+None*1+0x68]","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,m4[esp+None*1+0x64]","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:82","-mov eax,esi","-lea ecx,m4[esp+None*1+0x64]","-call external","-mov m4[esp+None*1+0x68],eax","-mov eax,esi","-lea ebx,m4[esp+None*1+0x68]","-call external","-mov m4[esp+None*1+0x64],eax","-mov edx,eax","-mov eax,m4[esp+None*1+0x68]","-call external","-mov eax,m4[esp+None*1+0x68]","-mov m4[None+None*1+address],eax","-mov eax,m4[esp+None*1+0x64]","-mov m4[None+None*1+address],eax","-mov eax,esi","-call external","-mov edx,eax","-sar edx,0x1f","-shl edx,0x8","-sbb eax,edx","-sar eax,0x8","-mov m4[None+None*1+address],eax","-mov eax,esi","-call external","-mov edx,eax","-mov ebx,0x1b0","-sar edx,0x1f","-idiv ebx","-mov m4[None+None*1+address],eax","-call external","-call external","-mov edx,eax","-mov ebx,0xc8","-sar edx,0x1f","-idiv ebx","-mov m4[None+None*1+address],eax","-cmp m4[esi+None*1+0x1c],0xffffffff","-jne local:136","-push address","-lea eax,m4[esp+None*1+0x4]","-push eax","-call external","-add esp,0x8","-jmp local:181","-mov edx,m4[None+None*1+address]","-lea eax,m4[None+edx*4+0x0]","-sub eax,edx","-shl eax,0x3","-add eax,edx","-mov ebx,m4[esi+None*1+0x1c]","-shl eax,0x3","-add ebx,eax","-mov ecx,0xafc80","-mov edx,ebx","-mov eax,ebx","-sar edx,0x1f","-idiv ecx","-mov edx,0xafc80","-mov ecx,eax","-mov m4[esp+None*1+0x70],edx","-mov edx,ebx","-mov eax,ebx","-sar edx,0x1f","-idiv m4[esp+None*1+0x70]","-mov m4[esp+None*1+0x70],0x2ee0","-mov eax,edx","-sar edx,0x1f","-idiv m4[esp+None*1+0x70]","-mov edx,0x2ee0","-mov m4[esp+None*1+0x6c],eax","-mov m4[esp+None*1+0x70],edx","-mov eax,ebx","-mov edx,ebx","-mov ebx,m4[esp+None*1+0x70]","-sar edx,0x1f","-idiv ebx","-mov ebx,0xc8","-mov eax,edx","-sar edx,0x1f","-idiv ebx","-push eax","-mov eax,m4[esp+None*1+0x70]","-push eax","-push ecx","-push address","-lea eax,m4[esp+None*1+0x10]","-push eax","-call external","-add esp,0x14","-mov edx,esp","-mov eax,m4[None+None*1+address]","-call external","-mov eax,m4[esi+None*1+0x20]","-mov edx,eax","-mov ebx,0x14a000","-sar edx,0x1f","-idiv ebx","-push eax","-mov eax,m4[esi+None*1+0x20]","-mov edx,eax","-sar edx,0x1f","-shl edx,0x8","-sbb eax,edx","-sar eax,0x8","-push eax","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,esp","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esi","-call external","-mov m4[None+None*1+address],eax","-cmp eax,0x2","-jne local:231","-test ebp,ebp","-je local:217","-mov eax,ebp","-call external","-cmp eax,0x3","-jne local:217","-mov m4[None+None*1+address],0xa","-test edi,edi","-je local:230","-mov eax,edi","-call external","-cmp eax,0x4","-jne local:224","-mov m4[None+None*1+address],0x9","-mov eax,edi","-call external","-test eax,eax","-jne local:231","-mov m4[None+None*1+address],0x8","-jmp local:231","-mov m4[None+None*1+address],0x7","-mov eax,m4[None+None*1+address]","-cmp eax,0xa","-ja local:265","-jmp m4[None+eax*4+address]","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-mov edx,address","-mov eax,m4[None+None*1+address]","-jmp local:297","-push 0x206","-push address","-push address","-call external","-add esp,0xc","-jmp local:298","-mov edx,address","-mov eax,m4[None+None*1+address]","-call external","-xor ebx,ebx","-xor ecx,ecx","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-call external","-mov edx,ecx","-mov eax,m4[ebx+None*1+address]","-add ebx,0x4","-call external","-cmp ebx,0x18","-jne local:276","-mov edx,address","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","+mov eax,m4[None+None*1+address]","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx"," call external"," mov eax,m4[None+None*1+address]"," xor edx,edx","@@ -307,3 +46,276 @@"," pop ecx"," pop ebx"," ret ","+call external","+mov eax,esi","+call external","+mov edx,eax","+mov ebp,eax","+mov eax,esi","+call external","+mov ecx,m4[esi+None*1+0xc]","+mov edi,eax","+cmp ecx,0x4","+jne local:218","+mov edx,m4[esi+None*1+0x14]","+mov eax,m4[esi+None*1+0x10]","+call external","+test eax,eax","+je local:210","+mov ax,m2[eax+None*1+0x0]","+mov edx,m4[None+None*1+address]","+and eax,0xffff","+mov eax,m4[edx+eax*4+0x0]","+add eax,0x58","+push eax","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,esp","+lea ecx,m4[esp+None*1+0x68]","+mov eax,m4[None+None*1+address]","+lea ebx,m4[esp+None*1+0x64]","+call external","+xor edx,edx","+xor eax,eax","+call external","+xor ecx,ecx","+mov edx,m4[esp+None*1+0x64]","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,m4[esp+None*1+0x68]","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:87","+lea ecx,m4[esp+None*1+0x68]","+mov edx,0xfffffff","+lea ebx,m4[esp+None*1+0x64]","+mov eax,edx","+call external","+xor ecx,ecx","+mov edx,m4[esp+None*1+0x64]","+mov eax,m4[ecx+None*1+address]","+call external","+mov edx,m4[esp+None*1+0x68]","+mov eax,m4[ecx+None*1+address]","+add ecx,0x4","+call external","+cmp ecx,0x18","+jne local:102","+mov eax,esi","+lea ecx,m4[esp+None*1+0x68]","+call external","+mov m4[esp+None*1+0x64],eax","+mov eax,esi","+lea ebx,m4[esp+None*1+0x64]","+call external","+mov m4[esp+None*1+0x68],eax","+mov edx,eax","+mov eax,m4[esp+None*1+0x64]","+call external","+mov eax,m4[esp+None*1+0x64]","+mov m4[None+None*1+address],eax","+mov eax,m4[esp+None*1+0x68]","+mov m4[None+None*1+address],eax","+mov eax,esi","+call external","+mov edx,eax","+sar edx,0x1f","+shl edx,0x8","+sbb eax,edx","+sar eax,0x8","+mov m4[None+None*1+address],eax","+mov eax,esi","+call external","+mov edx,eax","+mov ecx,0x1b0","+sar edx,0x1f","+idiv ecx","+mov m4[None+None*1+address],eax","+call external","+call external","+mov edx,eax","+mov ecx,0xc8","+sar edx,0x1f","+idiv ecx","+mov m4[None+None*1+address],eax","+cmp m4[esi+None*1+0x1c],0xffffffff","+jne local:240","+push address","+lea eax,m4[esp+None*1+0x4]","+push eax","+call external","+add esp,0x8","+mov edx,esp","+mov eax,m4[None+None*1+address]","+call external","+mov eax,m4[esi+None*1+0x20]","+mov edx,eax","+mov ecx,0x14a000","+sar edx,0x1f","+idiv ecx","+push eax","+mov eax,m4[esi+None*1+0x20]","+mov edx,eax","+sar edx,0x1f","+shl edx,0x8","+sbb eax,edx","+sar eax,0x8","+push eax","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,esp","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esi","+call external","+mov m4[None+None*1+address],eax","+cmp eax,0x2","+jne local:203","+test ebp,ebp","+je local:191","+mov eax,ebp","+call external","+cmp eax,0x3","+jne local:191","+mov m4[None+None*1+address],0xa","+test edi,edi","+je local:286","+mov eax,edi","+call external","+cmp eax,0x4","+jne local:198","+mov m4[None+None*1+address],0x9","+mov eax,edi","+call external","+test eax,eax","+jne local:203","+mov m4[None+None*1+address],0x8","+mov eax,m4[None+None*1+address]","+cmp eax,0xa","+ja local:315","+jmp m4[None+eax*4+address]","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+test eax,eax","+je local:231","+test edx,edx","+je local:231","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+xor eax,eax","+mov al,m1[esi+None*1+0x2c]","+push eax","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:78","+mov edx,m4[None+None*1+address]","+lea eax,m4[None+edx*4+0x0]","+sub eax,edx","+shl eax,0x3","+add eax,edx","+mov ecx,m4[esi+None*1+0x1c]","+shl eax,0x3","+add ecx,eax","+mov ebx,0xafc80","+mov edx,ecx","+mov eax,ecx","+sar edx,0x1f","+idiv ebx","+mov edx,0xafc80","+mov ebx,eax","+mov m4[esp+None*1+0x70],edx","+mov edx,ecx","+mov eax,ecx","+sar edx,0x1f","+idiv m4[esp+None*1+0x70]","+mov m4[esp+None*1+0x70],0x2ee0","+mov eax,edx","+sar edx,0x1f","+idiv m4[esp+None*1+0x70]","+mov edx,0x2ee0","+mov m4[esp+None*1+0x6c],eax","+mov m4[esp+None*1+0x70],edx","+mov eax,ecx","+mov edx,ecx","+mov ecx,m4[esp+None*1+0x70]","+sar edx,0x1f","+idiv ecx","+mov ecx,0xc8","+mov eax,edx","+sar edx,0x1f","+idiv ecx","+push eax","+mov eax,m4[esp+None*1+0x70]","+push eax","+push ebx","+push address","+lea eax,m4[esp+None*1+0x10]","+push eax","+call external","+add esp,0x14","+jmp local:155","+mov m4[None+None*1+address],0x7","+jmp local:203","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+mov edx,address","+mov eax,m4[None+None*1+address]","+jmp local:36","+push 0x206","+push address","+push address","+call external","+add esp,0xc","+jmp local:37"]},{"name":"set_waypoint_button_letter_","source":"E:\\apache\\source\\menus\\maps\\umapinit.c","reference":"0x422dc0","earlier":"0x431a70","same_instruction_shape":true,"reference_instructions":9,"earlier_instructions":9,"callers":[],"diff":[]},{"name":"create_mission_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x423794","earlier":"0x4323f0","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":28,"callers":[[4400112,"load_multi_player_mission_",1]],"diff":["--- 0x4323f0","+++ 0x423794","@@ -17,12 +17,19 @@"," mov m4[ecx+None*1+0x10],0x0"," mov m4[ecx+None*1+0x0],eax"," test eax,eax","-je local:21","-mov m4[eax+None*1+0x4],ecx","+jne local:27","+mov eax,esi"," mov m4[None+None*1+address],esi","-mov eax,esi"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+mov m4[eax+None*1+0x4],ecx","+mov eax,esi","+mov m4[None+None*1+address],esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"load_mission_data_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x4245d0","earlier":"0x4331f8","same_instruction_shape":false,"reference_instructions":179,"earlier_instructions":183,"callers":[[4403704,"load_multi_player_mission_",7]],"diff":["--- 0x4331f8","+++ 0x4245d0","@@ -6,103 +6,43 @@"," push ebp"," sub esp,0x3ec"," mov ebp,eax","-mov edx,address","-mov ebx,0xffffffff","-xor ecx,ecx","-mov m4[None+None*1+address],edx"," call external"," call external"," call external"," call external"," call external","-call external","-call external","-call external","-call external","-mov m4[None+None*1+address],ebx","+mov edx,0xffffffff","+mov esi,m4[ebp+None*1+0x4c]","+xor ecx,ecx","+mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],ecx","-mov esi,m4[ebp+None*1+0x4c]"," mov m4[None+None*1+address],ecx"," cmp esi,0x5","-jb local:32","-jbe local:86","-cmp esi,0x6","-je local:76","-jmp local:96","+jae local:108"," cmp esi,0x1","-jne local:96","+jne local:154"," call external"," cmp eax,0x2","-jb local:41","-jbe local:44","-cmp eax,0x3","-je local:52","-jmp local:68","+jae local:126"," cmp eax,esi","-je local:60","-jmp local:68","+jne local:133","+mov esi,address"," mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-mov edi,esp","-mov esi,address","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-jmp local:73","-push 0x55f","-push address","-push address","-call external","-add esp,0xc","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:42","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:32","+pop edi"," xor ecx,ecx"," mov m4[None+None*1+address],ecx","-jmp local:105","-mov edi,esp","-mov esi,address","-mov m4[None+None*1+address],ecx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]","-jmp local:105","-mov edi,esp","-mov esi,address","-mov m4[None+None*1+address],ecx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]","-jmp local:105","-mov ebx,m4[ebp+None*1+0x8]","-push ebx","-push address","-lea eax,m4[esp+None*1+0x8]","-push eax","-call external","-mov eax,m4[ebp+None*1+0x8]","-add esp,0xc","-mov m4[None+None*1+address],eax"," mov ecx,0x582"," mov ebx,address"," lea edx,m4[esp+None*1+0x3e8]","@@ -110,7 +50,7 @@"," call external"," mov esi,eax"," test eax,eax","-jne local:120","+jne local:60"," mov eax,esp"," push eax"," push 0x586","@@ -128,44 +68,29 @@"," mov eax,esi"," call external"," cmp m4[None+None*1+address],0xffffffff","-jne local:137","-xor edi,edi","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],edi","-call external","-jmp local:138","+jne local:164","+xor esi,esi","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi"," call external"," call external"," mov edx,eax"," test eax,eax","-je local:154","-call external","-mov ebx,m4[edx+None*1+0x20]","-test ebx,ebx","-je local:154","-mov eax,ebx","+je local:91"," call external"," mov eax,m4[edx+None*1+0x20]","-mov ecx,m4[eax+None*1+0xb4]","-test ecx,ecx","-je local:154","-mov eax,ecx","+test eax,eax","+je local:91","+call external","+mov eax,m4[edx+None*1+0x20]","+mov edx,m4[eax+None*1+0xb4]","+test edx,edx","+je local:91","+mov eax,edx"," call external"," cmp m4[None+None*1+address],0x0","-je local:168","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-call external","-xor eax,eax","-call external","+jne local:166"," call external"," call external"," call external","@@ -181,3 +106,74 @@"," pop ecx"," pop ebx"," ret ","+jbe local:139","+cmp esi,0x6","+jne local:154","+mov esi,address","+mov edi,esp","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:124","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:114","+pop edi","+jmp local:44","+jbe local:131","+cmp eax,0x3","+jne local:133","+mov esi,address","+jmp local:30","+mov esi,address","+jmp local:30","+push 0x55f","+push address","+push address","+call external","+add esp,0xc","+jmp local:43","+mov esi,address","+mov edi,esp","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:152","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:142","+pop edi","+jmp local:44","+mov edx,m4[ebp+None*1+0x8]","+push edx","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+mov eax,m4[ebp+None*1+0x8]","+add esp,0xc","+mov m4[None+None*1+address],eax","+jmp local:45","+call external","+jmp local:76","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+call external","+xor eax,eax","+call external","+jmp local:93"]},{"name":"load_multi_player_mission_","source":"E:\\apache\\source\\menus\\missions\\missions.c","reference":"0x424ad4","earlier":"0x4336d0","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"notify_exiting_map_screen_","source":"E:\\apache\\source\\menus\\missions\\misssel.c","reference":"0x425750","earlier":"0x4343dc","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"save_mission_weapons_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426134","earlier":"0x434e48","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":53,"callers":[[4410952,"save_mission_data_",13]],"diff":["--- 0x434e48","+++ 0x426134","@@ -14,30 +14,18 @@"," xor edi,edi"," mov edx,m4[edi+None*1+address]"," test edx,edx","-je local:29","-push edx","-push esi","-push address","-lea edx,m4[esp+None*1+0xc]","-push edx","-mov ecx,0x15a","-mov ebx,address","-call external","-add esp,0x10","-mov edx,esp","-mov eax,ebp","-call external","+jne local:41"," inc esi"," add edi,0x14"," cmp esi,0x9"," jl local:14","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ecx,0x15f"," mov ebx,address","-mov ecx,0x15f"," call external"," add esp,0xc"," mov edx,esp","@@ -51,3 +39,16 @@"," pop ecx"," pop ebx"," ret ","+push edx","+push esi","+push address","+lea edx,m4[esp+None*1+0xc]","+push edx","+mov ecx,0x15a","+mov ebx,address","+call external","+add esp,0x10","+mov edx,esp","+mov eax,ebp","+call external","+jmp local:17"]},{"name":"save_mission_gamedata_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x4261cc","earlier":"0x434edc","same_instruction_shape":false,"reference_instructions":95,"earlier_instructions":94,"callers":[[4411100,"save_mission_data_",15]],"diff":["--- 0x434edc","+++ 0x4261cc","@@ -16,26 +16,25 @@"," mov edx,esp"," mov eax,esi"," call external","-mov ebx,m4[None+None*1+address]","-push ebx","+mov ecx,m4[None+None*1+address]","+push ecx"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","-mov ecx,0x174","+mov ebx,address"," lea edx,m4[esp+None*1+0xc]"," call external"," add esp,0xc","-mov ebx,address","+mov ecx,0x174"," mov eax,esi"," call external"," mov eax,m4[None+None*1+address]"," mov edx,eax","-mov ebx,address","+mov ecx,address"," sar edx,0x1f","-idiv ebx","+idiv ecx"," test eax,eax","-jge local:38","-add eax,0x168","+jl local:93"," push eax"," push address"," lea eax,m4[esp+None*1+0x8]","@@ -47,43 +46,43 @@"," mov edx,esp"," mov eax,esi"," call external","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","-mov ebx,address","+mov ecx,0x181"," lea edx,m4[esp+None*1+0xc]"," call external"," add esp,0xc","-mov ecx,0x181","+mov ebx,address"," mov eax,esi"," call external","+mov eax,m4[None+None*1+address]","+mov edx,eax","+mov ecx,0xafc80","+sar edx,0x1f","+idiv ecx","+mov ecx,eax"," mov eax,m4[None+None*1+address]"," mov edx,eax"," mov ebx,0xafc80"," sar edx,0x1f"," idiv ebx","-mov ebx,eax","-mov eax,m4[None+None*1+address]","-mov edx,eax","-mov ecx,0xafc80","-sar edx,0x1f","-idiv ecx","-mov ecx,0x2ee0","+mov ebx,0x2ee0"," mov eax,edx"," sar edx,0x1f","-idiv ecx","+idiv ebx"," push eax","-push ebx","+push ecx"," push address"," lea eax,m4[esp+None*1+0xc]"," push eax","-mov ecx,0x186","+mov ebx,address"," lea edx,m4[esp+None*1+0x10]"," call external"," add esp,0x10","-mov ebx,address","+mov ecx,0x186"," mov eax,esi"," call external"," add esp,0x64","@@ -92,3 +91,5 @@"," pop ecx"," pop ebx"," ret ","+add eax,0x168","+jmp local:37"]},{"name":"save_mission_data_tasks_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x4263e4","earlier":"0x4350ec","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":26,"callers":[[4411628,"save_mission_data_",9]],"diff":["--- 0x4350ec","+++ 0x4263e4","@@ -1,23 +1,23 @@"," push ebx"," push ecx"," push edx","-mov ecx,eax","+mov ebx,eax"," call external"," test eax,eax"," je local:10"," mov edx,eax","+mov eax,ebx","+call external","+call external","+mov ecx,eax","+test eax,eax","+je local:22","+mov edx,ecx","+mov eax,ebx","+call external"," mov eax,ecx"," call external","-call external","-mov ebx,eax","-test eax,eax","-je local:22","-mov edx,ebx","-mov eax,ecx","-call external","-mov eax,ebx","-call external","-mov ebx,eax","+mov ecx,eax"," test eax,eax"," jne local:14"," pop edx"]},{"name":"save_mission_gameplay_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426420","earlier":"0x435128","same_instruction_shape":false,"reference_instructions":423,"earlier_instructions":422,"callers":[[4411688,"save_mission_data_",11]],"diff":["--- 0x435128","+++ 0x426420","@@ -25,31 +25,17 @@"," shl eax,0x1d"," sar eax,0x1d"," cmp eax,0x3","-je local:42","-push eax","-mov ecx,m4[esp+None*1+0x68]","-push ecx","-push edi","-push address","-lea eax,m4[esp+None*1+0x10]","-push eax","-mov ebx,address","-lea edx,m4[esp+None*1+0x14]","-call external","-add esp,0x14","-mov ecx,0x1eb","-mov eax,esi","-call external","+jne local:408"," inc edi"," add ebp,0x1800"," cmp edi,0x40"," jl local:23","+mov ebp,m4[esp+None*1+0x64]"," mov edi,m4[esp+None*1+0x88]","-mov ebp,m4[esp+None*1+0x64]","+inc ebp"," add edi,0x60","-inc ebp","+mov m4[esp+None*1+0x64],ebp"," mov m4[esp+None*1+0x88],edi","-mov m4[esp+None*1+0x64],ebp"," cmp ebp,0x40"," jl local:20"," mov ecx,0x1f0","@@ -59,45 +45,45 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0x90],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0x90]","-xor ebx,ebx","+mov m4[esp+None*1+0x8c],ecx"," mov m4[esp+None*1+0x68],eax","-mov m4[esp+None*1+0x8c],ebx"," mov ebp,m4[esp+None*1+0x68]"," add ebp,m4[esp+None*1+0x8c]"," xor edi,edi"," add ebp,address"," mov eax,m4[ebp+None*1+0x4]"," test eax,eax","-je local:86","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:72","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x1ff","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:69","-mov ecx,m4[esp+None*1+0x8c]","-add ecx,0x60","-mov m4[esp+None*1+0x8c],ecx","-cmp ecx,0x1800","-jne local:65","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:55","+mov ebx,m4[esp+None*1+0x8c]","+add ebx,0x60","+mov m4[esp+None*1+0x8c],ebx","+cmp ebx,0x1800","+jne local:51"," mov ebp,m4[esp+None*1+0x90]"," add ebp,0x4"," mov m4[esp+None*1+0x90],ebp"," cmp ebp,0x8","-jne local:61","+jne local:47"," mov ecx,0x205"," mov ebx,address"," mov edx,address","@@ -105,137 +91,137 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0x98],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0x98]","-xor ebx,ebx","+mov m4[esp+None*1+0x94],ecx"," mov m4[esp+None*1+0x6c],eax","+mov ebp,m4[esp+None*1+0x6c]","+add ebp,m4[esp+None*1+0x94]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0xc]","+test eax,eax","+je local:118","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x214","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:101","+mov ebx,m4[esp+None*1+0x94]","+add ebx,0x60"," mov m4[esp+None*1+0x94],ebx","-mov edi,m4[esp+None*1+0x6c]","-add edi,m4[esp+None*1+0x94]","+cmp ebx,0x1800","+jne local:97","+mov ebp,m4[esp+None*1+0x98]","+add ebp,0x4","+mov m4[esp+None*1+0x98],ebp","+cmp ebp,0x8","+jne local:93","+mov ecx,0x21b","+mov ebx,address","+mov edx,address","+mov eax,esi","+call external","+xor edx,edx","+mov m4[esp+None*1+0xa0],edx","+xor ecx,ecx","+mov eax,m4[esp+None*1+0xa0]","+mov m4[esp+None*1+0x9c],ecx","+mov m4[esp+None*1+0x70],eax","+mov ebp,m4[esp+None*1+0x70]","+add ebp,m4[esp+None*1+0x9c]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0x14]","+test eax,eax","+je local:164","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x22a","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:147","+mov ebx,m4[esp+None*1+0x9c]","+add ebx,0x60","+mov m4[esp+None*1+0x9c],ebx","+cmp ebx,0x1800","+jne local:143","+mov ebp,m4[esp+None*1+0xa0]","+add ebp,0x4","+mov m4[esp+None*1+0xa0],ebp","+cmp ebp,0x10","+jne local:139","+mov ecx,0x230","+mov ebx,address","+mov edx,address","+mov eax,esi","+call external","+xor edx,edx","+mov m4[esp+None*1+0xa8],edx","+xor ecx,ecx","+mov eax,m4[esp+None*1+0xa8]","+mov m4[esp+None*1+0xa4],ecx","+mov m4[esp+None*1+0x74],eax","+mov edi,m4[esp+None*1+0x74]","+add edi,m4[esp+None*1+0xa4]"," xor ebp,ebp"," add edi,address","-mov eax,m4[edi+None*1+0xc]","-test eax,eax","-je local:132","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x214","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","+mov eax,m4[edi+None*1+0x24]","+test eax,eax","+je local:210","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10","+mov ecx,0x23f"," mov eax,esi"," call external"," inc ebp"," add edi,0x1800"," cmp ebp,0x40","-jl local:115","-mov ecx,m4[esp+None*1+0x94]","-add ecx,0x60","-mov m4[esp+None*1+0x94],ecx","-cmp ecx,0x1800","-jne local:111","-mov ebp,m4[esp+None*1+0x98]","-add ebp,0x4","-mov m4[esp+None*1+0x98],ebp","-cmp ebp,0x8","-jne local:107","-mov ecx,0x21b","-mov ebx,address","-mov edx,address","-mov eax,esi","-call external","-xor edx,edx","-mov m4[esp+None*1+0xa0],edx","-mov eax,m4[esp+None*1+0xa0]","-xor ebx,ebx","-mov m4[esp+None*1+0x70],eax","-mov m4[esp+None*1+0x9c],ebx","-mov ebp,m4[esp+None*1+0x70]","-add ebp,m4[esp+None*1+0x9c]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x14]","-test eax,eax","-je local:178","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x22a","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:161","-mov ecx,m4[esp+None*1+0x9c]","-add ecx,0x60","-mov m4[esp+None*1+0x9c],ecx","-cmp ecx,0x1800","-jne local:157","-mov ebp,m4[esp+None*1+0xa0]","-add ebp,0x4","-mov m4[esp+None*1+0xa0],ebp","-cmp ebp,0x10","-jne local:153","-mov ecx,0x230","-mov ebx,address","-mov edx,address","-mov eax,esi","-call external","-xor edx,edx","-mov m4[esp+None*1+0xa8],edx","-mov eax,m4[esp+None*1+0xa8]","-xor ebx,ebx","-mov m4[esp+None*1+0x74],eax","+jl local:193","+mov ebx,m4[esp+None*1+0xa4]","+add ebx,0x60"," mov m4[esp+None*1+0xa4],ebx","-mov ebp,m4[esp+None*1+0x74]","-add ebp,m4[esp+None*1+0xa4]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x24]","-test eax,eax","-je local:224","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-mov ecx,0x23f","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:207","-mov ecx,m4[esp+None*1+0xa4]","-add ecx,0x60","-mov m4[esp+None*1+0xa4],ecx","-cmp ecx,0x1800","-jne local:203","+cmp ebx,0x1800","+jne local:189"," mov ebp,m4[esp+None*1+0xa8]"," add ebp,0x4"," mov m4[esp+None*1+0xa8],ebp"," cmp ebp,0x10","-jne local:199","+jne local:185"," mov ecx,0x245"," mov ebx,address"," mov edx,address","@@ -250,30 +236,30 @@"," add ebp,address"," mov eax,m4[ebp+None*1+0x34]"," test eax,eax","-je local:267","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:253","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x254","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:250","-mov ecx,m4[esp+None*1+0xac]","-add ecx,0x60","-mov m4[esp+None*1+0xac],ecx","-cmp ecx,0x1800","-jne local:246","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:236","+mov ebx,m4[esp+None*1+0xac]","+add ebx,0x60","+mov m4[esp+None*1+0xac],ebx","+cmp ebx,0x1800","+jne local:232"," mov ecx,0x25a"," mov ebx,address"," mov edx,address","@@ -285,87 +271,87 @@"," mov m4[esp+None*1+0x7c],eax"," xor eax,eax"," mov m4[esp+None*1+0xb0],eax","-mov edi,m4[esp+None*1+0x7c]","-add edi,m4[esp+None*1+0xb0]","-xor ebp,ebp","-add edi,address","-mov eax,m4[edi+None*1+0x38]","-test eax,eax","-je local:308","-mov ebx,m4[eax+None*1+0x8]","+mov ebp,m4[esp+None*1+0x7c]","+add ebp,m4[esp+None*1+0xb0]","+xor edi,edi","+add ebp,address","+mov eax,m4[ebp+None*1+0x38]","+test eax,eax","+je local:294","+mov ecx,m4[eax+None*1+0x8]","+push ecx","+mov ebx,m4[eax+None*1+0x4]"," push ebx","-mov ecx,m4[eax+None*1+0x4]","-push ecx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-lea edx,m4[esp+None*1+0x10]","-mov ebx,address","-call external","-add esp,0x10","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+lea edx,m4[esp+None*1+0x10]"," mov ecx,0x269","-mov eax,esi","-call external","-inc ebp","-add edi,0x1800","-cmp ebp,0x40","-jl local:291","+call external","+add esp,0x10","+mov ebx,address","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:277"," mov edi,m4[esp+None*1+0xb0]"," add edi,0x60"," mov m4[esp+None*1+0xb0],edi"," cmp edi,0x1800","-jne local:287","+jne local:273"," mov eax,m4[esp+None*1+0xb4]"," add eax,0x4"," mov m4[esp+None*1+0xb4],eax"," cmp eax,0x8","-jne local:283","+jne local:269"," mov ecx,0x26f"," mov ebx,address"," mov edx,address"," mov eax,esi"," call external","+xor ecx,ecx","+mov m4[esp+None*1+0xbc],ecx"," xor ebx,ebx","-mov m4[esp+None*1+0xbc],ebx"," mov eax,m4[esp+None*1+0xbc]","-xor ecx,ecx","+mov m4[esp+None*1+0xb8],ebx"," mov m4[esp+None*1+0x80],eax","-mov m4[esp+None*1+0xb8],ecx","-mov ebp,m4[esp+None*1+0x80]","-add ebp,m4[esp+None*1+0xb8]","-xor edi,edi","-add ebp,address","-mov eax,m4[ebp+None*1+0x40]","-test eax,eax","-je local:354","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+mov edi,m4[esp+None*1+0x80]","+add edi,m4[esp+None*1+0xb8]","+xor ebp,ebp","+add edi,address","+mov eax,m4[edi+None*1+0x40]","+test eax,eax","+je local:340","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x27e","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:337","-mov ecx,m4[esp+None*1+0xb8]","-add ecx,0x60","-mov m4[esp+None*1+0xb8],ecx","-cmp ecx,0x1800","-jne local:333","+mov eax,esi","+call external","+inc ebp","+add edi,0x1800","+cmp ebp,0x40","+jl local:323","+mov ebx,m4[esp+None*1+0xb8]","+add ebx,0x60","+mov m4[esp+None*1+0xb8],ebx","+cmp ebx,0x1800","+jne local:319"," mov ebp,m4[esp+None*1+0xbc]"," add ebp,0x4"," mov m4[esp+None*1+0xbc],ebp"," cmp ebp,0x10","-jne local:329","+jne local:315"," mov ecx,0x285"," mov ebx,address"," mov edx,address","@@ -373,45 +359,45 @@"," call external"," xor edx,edx"," mov m4[esp+None*1+0xc4],edx","+xor ecx,ecx"," mov eax,m4[esp+None*1+0xc4]","-xor ebx,ebx","+mov m4[esp+None*1+0xc0],ecx"," mov m4[esp+None*1+0x84],eax","-mov m4[esp+None*1+0xc0],ebx"," mov ebp,m4[esp+None*1+0x84]"," add ebp,m4[esp+None*1+0xc0]"," xor edi,edi"," add ebp,address"," mov eax,m4[ebp+None*1+0x50]"," test eax,eax","-je local:400","-mov edx,m4[eax+None*1+0x8]","-push edx","-mov ebx,m4[eax+None*1+0x4]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","+je local:386","+mov edx,m4[eax+None*1+0x8]","+push edx","+mov ecx,m4[eax+None*1+0x4]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+mov ebx,address","+lea edx,m4[esp+None*1+0x10]","+call external","+add esp,0x10"," mov ecx,0x294","-lea edx,m4[esp+None*1+0x10]","-call external","-add esp,0x10","-mov ebx,address","-mov eax,esi","-call external","-inc edi","-add ebp,0x1800","-cmp edi,0x40","-jl local:383","-mov ecx,m4[esp+None*1+0xc0]","-add ecx,0x60","-mov m4[esp+None*1+0xc0],ecx","-cmp ecx,0x1800","-jne local:379","+mov eax,esi","+call external","+inc edi","+add ebp,0x1800","+cmp edi,0x40","+jl local:369","+mov ebx,m4[esp+None*1+0xc0]","+add ebx,0x60","+mov m4[esp+None*1+0xc0],ebx","+cmp ebx,0x1800","+jne local:365"," mov ebp,m4[esp+None*1+0xc4]"," add ebp,0x4"," mov m4[esp+None*1+0xc4],ebp"," cmp ebp,0x10","-jne local:375","+jne local:361"," add esp,0xc8"," pop ebp"," pop edi","@@ -420,3 +406,18 @@"," pop ecx"," pop ebx"," ret ","+push eax","+mov ebx,m4[esp+None*1+0x68]","+push ebx","+push edi","+push address","+lea eax,m4[esp+None*1+0x10]","+push eax","+mov ecx,0x1eb","+lea edx,m4[esp+None*1+0x14]","+call external","+add esp,0x14","+mov ebx,address","+mov eax,esi","+call external","+jmp local:28"]},{"name":"save_mission_debrief_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426aac","earlier":"0x4357ac","same_instruction_shape":false,"reference_instructions":62,"earlier_instructions":62,"callers":[[4413356,"save_mission_data_",17]],"diff":["--- 0x4357ac","+++ 0x426aac","@@ -25,13 +25,13 @@"," mov edx,address"," mov eax,esi"," call external","-mov ebx,m4[None+None*1+address]","-push ebx","+mov ecx,m4[None+None*1+address]","+push ecx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ebx,address"," mov ecx,0x2ad","-mov ebx,address"," call external"," add esp,0xc"," mov edx,esp","@@ -42,13 +42,13 @@"," mov edx,address"," mov eax,esi"," call external","-mov ecx,m4[None+None*1+address]","-push ecx","+mov ebx,m4[None+None*1+address]","+push ebx"," push address"," lea edx,m4[esp+None*1+0x8]"," push edx","+mov ecx,0x2b2"," mov ebx,address","-mov ecx,0x2b2"," call external"," add esp,0xc"," mov edx,esp"]},{"name":"save_mission_destroy_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426b84","earlier":"0x435884","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":41,"callers":[[4413572,"save_mission_data_",19]],"diff":["--- 0x435884","+++ 0x426b84","@@ -10,28 +10,12 @@"," mov edx,address"," call external"," xor esi,esi","-lea ebx,m4[esp+None*1+0x64]","-lea edx,m4[esp+None*1+0x68]","+lea ebx,m4[esp+None*1+0x68]","+lea edx,m4[esp+None*1+0x64]"," mov eax,esi"," call external"," test eax,eax","-je local:34","-mov edx,m4[esp+None*1+0x64]","-push edx","-mov ebx,m4[esp+None*1+0x6c]","-push ebx","-push address","-lea eax,m4[esp+None*1+0xc]","-mov ecx,0x2ca","-push eax","-lea edx,m4[esp+None*1+0x10]","-mov ebx,address","-call external","-add esp,0x10","-mov eax,edi","-inc esi","-call external","-jmp local:12","+jne local:25"," add esp,0x6c"," pop edi"," pop esi","@@ -39,3 +23,19 @@"," pop ecx"," pop ebx"," ret ","+mov edx,m4[esp+None*1+0x68]","+push edx","+mov ecx,m4[esp+None*1+0x68]","+push ecx","+push address","+lea eax,m4[esp+None*1+0xc]","+mov ebx,address","+push eax","+lea edx,m4[esp+None*1+0x10]","+mov ecx,0x2ca","+call external","+add esp,0x10","+mov eax,edi","+inc esi","+call external","+jmp local:12"]},{"name":"save_mission_data_","source":"E:\\apache\\source\\menus\\missions\\misssave.c","reference":"0x426bf4","earlier":"0x4358f4","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"create_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4270f0","earlier":"0x435dd0","same_instruction_shape":false,"reference_instructions":73,"earlier_instructions":65,"callers":[[4414928,"test_waypoint_stuff_",21]],"diff":["--- 0x435dd0","+++ 0x4270f0","@@ -21,10 +21,8 @@"," mov m4[ecx+None*1+0x4],0x0"," mov m4[ecx+None*1+0x0],eax"," test eax,eax","-je local:26","+je local:60"," mov m4[eax+None*1+0x4],ecx","-jmp local:27","-mov m4[esi+None*1+0x20],ecx"," mov eax,m4[esi+None*1+0x14]"," mov m4[ecx+None*1+0x5c],eax"," lea ebx,m4[eax+None*1+0x1]","@@ -43,15 +41,25 @@"," mov ebp,m4[None+None*1+address]"," mov m4[ecx+None*1+0x48],edi"," test ebp,ebp","-jne local:48","+jne local:46"," cmp m4[None+None*1+address],0x0","-je local:54","+je local:62"," mov edx,m4[None+None*1+address]"," cmp edx,m4[esi+None*1+0x8]","-jne local:57","+jne local:52"," mov ebx,m4[None+None*1+address]"," cmp ebx,m4[ecx+None*1+0x5c]","-jne local:57","+je local:62","+mov eax,ecx","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov m4[esi+None*1+0x20],ecx","+jmp local:25"," lea eax,m4[ecx+None*1+0x8]"," call external"," mov m4[None+None*1+address],ecx"]},{"name":"setup_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4271ac","earlier":"0x435e84","same_instruction_shape":true,"reference_instructions":63,"earlier_instructions":63,"callers":[],"diff":[]},{"name":"set_drone_position_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427548","earlier":"0x43629c","same_instruction_shape":false,"reference_instructions":5,"earlier_instructions":4,"callers":[[4416156,"test_waypoint_stuff_",23]],"diff":["--- 0x43629c","+++ 0x427548","@@ -1,4 +1,5 @@","-mov m4[eax+None*1+0x60],edx"," mov m4[eax+None*1+0x64],ebx"," mov m4[eax+None*1+0x68],ecx","+mov eax,eax","+mov m4[eax+None*1+0x60],edx"," ret "]},{"name":"set_drone_attitude_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x42756c","earlier":"0x4362c4","same_instruction_shape":false,"reference_instructions":4,"earlier_instructions":4,"callers":[[4416196,"test_waypoint_stuff_",28]],"diff":["--- 0x4362c4","+++ 0x42756c","@@ -1,4 +1,4 @@","-mov m4[eax+None*1+0x90],edx"," mov m4[eax+None*1+0x94],ebx"," mov m4[eax+None*1+0x98],ecx","+mov m4[eax+None*1+0x90],edx"," ret "]},{"name":"set_drone_speed_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427590","earlier":"0x4362f0","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4416240,"test_waypoint_stuff_",32]],"diff":[]},{"name":"set_simple_drone_object_number_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427668","earlier":"0x4363c4","same_instruction_shape":true,"reference_instructions":32,"earlier_instructions":32,"callers":[],"diff":[]},{"name":"get_next_simple_drone_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4276d4","earlier":"0x436430","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4416560,"move_ground_simple_drones_",32]],"diff":[]},{"name":"get_drone_speed_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x4277d0","earlier":"0x436528","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[],"diff":[]},{"name":"initialise_drone_attention_level_","source":"E:\\apache\\source\\drone\\drone.c","reference":"0x427840","earlier":"0x436598","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":37,"callers":[[4416920,"setup_drone_",57]],"diff":["--- 0x436598","+++ 0x427840","@@ -1,37 +1,41 @@","-push ebx"," push ecx"," push edx","-mov ebx,eax","+mov ecx,eax"," mov eax,m4[eax+None*1+0x4c]"," mov eax,m4[eax+None*1+0x10]"," cmp eax,0x15","-ja local:17","+ja local:22"," jmp m4[None+eax*4+address]","-mov edx,0xce4000","-jmp local:22","+xor edx,edx","+mov eax,m4[ecx+None*1+0x4c]","+cmp m4[eax+None*1+0xc],0x2","+je local:28","+mov m4[ecx+None*1+0x17c],edx","+pop edx","+pop ecx","+ret "," mov edx,address","-jmp local:22","+jmp local:9"," mov edx,address","-jmp local:22","-xor edx,edx","-jmp local:22","+jmp local:9","+mov edx,address","+jmp local:9"," push 0x3e3"," push address"," push address"," call external"," add esp,0xc","-mov eax,m4[ebx+None*1+0x4c]","-cmp m4[eax+None*1+0xc],0x2","-jne local:32","+jmp local:9","+push ebx"," call external"," imul edx,eax","-mov ecx,0x64","+mov ebx,0x64"," mov eax,edx"," sar edx,0x1f","-idiv ecx","+idiv ebx"," mov edx,eax","-mov m4[ebx+None*1+0x17c],edx","+pop ebx","+mov m4[ecx+None*1+0x17c],edx"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"destroy_all_tasks_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427ca0","earlier":"0x4369d0","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[[4418000,"test_waypoint_stuff_",4]],"diff":[]},{"name":"create_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427cc0","earlier":"0x4369f0","same_instruction_shape":false,"reference_instructions":48,"earlier_instructions":45,"callers":[[4418032,"test_waypoint_stuff_",8]],"diff":["--- 0x4369f0","+++ 0x427cc0","@@ -1,12 +1,9 @@"," push ebx","+push ecx"," push edx"," push esi"," cmp m4[None+None*1+address],0x0","-je local:9","-mov eax,address","-xor ebx,ebx","-call external","-mov m4[None+None*1+address],ebx","+jne local:40"," mov ebx,0x51"," mov edx,address"," mov eax,0x24","@@ -14,20 +11,17 @@"," mov edx,eax"," mov eax,m4[None+None*1+address]"," test eax,eax","-je local:22","+je local:19"," cmp m4[eax+None*1+0x4],0x0","-je local:22","+je local:19"," mov eax,m4[eax+None*1+0x4]"," test eax,eax","-jne local:17","+jne local:14"," mov m4[edx+None*1+0x4],0x0"," mov m4[edx+None*1+0x0],eax"," test eax,eax","-je local:28","+je local:45"," mov m4[eax+None*1+0x4],edx","-jmp local:30","-mov m4[None+None*1+address],edx","-mov m4[None+None*1+address],edx"," mov m4[edx+None*1+0xc],0x0"," mov m4[edx+None*1+0x10],0x0"," mov m4[edx+None*1+0x1c],0x0","@@ -41,5 +35,14 @@"," mov eax,edx"," pop esi"," pop edx","+pop ecx"," pop ebx"," ret ","+mov eax,address","+xor ecx,ecx","+call external","+mov m4[None+None*1+address],ecx","+jmp local:6","+mov m4[None+None*1+address],edx","+mov m4[None+None*1+address],edx","+jmp local:24"]},{"name":"destroy_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427d74","earlier":"0x436a9c","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":53,"callers":[[4418204,"destroy_all_tasks_",3]],"diff":["--- 0x436a9c","+++ 0x427d74","@@ -6,37 +6,32 @@"," push ebp"," mov ecx,eax"," cmp eax,m4[None+None*1+address]","-jne local:11","+je local:15","+mov esi,m4[ecx+None*1+0x20]","+test esi,esi","+je local:18","+mov eax,esi","+call external","+jmp local:9"," xor ebx,ebx"," mov m4[None+None*1+address],ebx","-mov esi,m4[ecx+None*1+0x20]","-test esi,esi","-je local:17","-mov eax,esi","-call external","-jmp local:11","+jmp local:9"," mov edi,m4[None+None*1+address]"," cmp ecx,edi","-jne local:27","+jne local:25"," mov ebp,m4[edi+None*1+0x4]"," test ebp,ebp","-je local:25","+je local:48"," mov m4[None+None*1+address],ebp","-jmp local:27","-mov eax,m4[edi+None*1+0x0]","-mov m4[None+None*1+address],eax"," mov eax,m4[ecx+None*1+0x0]"," test eax,eax","-je local:34","+je local:51"," mov edx,eax"," mov eax,m4[ecx+None*1+0x4]"," mov m4[edx+None*1+0x4],eax","-jmp local:36","-mov eax,m4[ecx+None*1+0x4]","-mov m4[None+None*1+address],eax"," mov edx,m4[ecx+None*1+0x4]"," test edx,edx","-je local:41","+je local:36"," mov eax,m4[ecx+None*1+0x0]"," mov m4[edx+None*1+0x0],eax"," mov ebx,0xa1","@@ -51,3 +46,9 @@"," pop ecx"," pop ebx"," ret ","+mov eax,m4[edi+None*1+0x0]","+mov m4[None+None*1+address],eax","+jmp local:25","+mov eax,m4[ecx+None*1+0x4]","+mov m4[None+None*1+address],eax","+jmp local:31"]},{"name":"set_task_type_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e00","earlier":"0x436b28","same_instruction_shape":false,"reference_instructions":15,"earlier_instructions":14,"callers":[[4418344,"test_waypoint_stuff_",11]],"diff":["--- 0x436b28","+++ 0x427e00","@@ -3,7 +3,7 @@"," mov eax,m4[eax+None*1+0x20]"," mov edx,eax"," test eax,eax","-je local:13","+je local:14"," mov eax,edx"," call external"," mov eax,edx","@@ -11,4 +11,5 @@"," mov edx,eax"," test eax,eax"," jne local:6","+lea eax,m4[eax+None*1+0x0]"," ret "]},{"name":"set_task_side_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e2c","earlier":"0x436b50","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4418384,"test_waypoint_stuff_",15]],"diff":[]},{"name":"set_user_task_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427e30","earlier":"0x436b54","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4418388,"test_waypoint_stuff_",18]],"diff":[]},{"name":"update_all_tasks_","source":"E:\\apache\\source\\drone\\dtask.c","reference":"0x427eb4","earlier":"0x436bd0","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"initialise_drone_weapons_","source":"E:\\apache\\source\\drone\\dweapons.c","reference":"0x428fd4","earlier":"0x437e20","same_instruction_shape":false,"reference_instructions":55,"earlier_instructions":55,"callers":[[4423200,"setup_drone_",55]],"diff":["--- 0x437e20","+++ 0x428fd4","@@ -1,7 +1,7 @@","+push ecx","+mov ecx,eax","+push edx"," push ebx","-push ecx","-push edx","-mov ecx,eax"," add eax,0xe4"," mov m1[eax+None*1+0xfffffff8],0x0"," mov m1[eax+None*1+0xfffffff9],0x0","@@ -44,12 +44,12 @@"," mov m1[ecx+None*1+0x1c4],dl"," mov eax,ecx"," add ecx,0x28","+pop ebx","+pop edx"," add eax,0x8","+mov m4[eax+None*1+0x188],0x0"," mov m4[eax+None*1+0x184],0x0","-mov m4[eax+None*1+0x188],0x0"," cmp eax,ecx","-jne local:46","-pop edx","+jne local:48"," pop ecx","-pop ebx"," ret "]},{"name":"initialise_drone_specific_weapons_","source":"E:\\apache\\source\\drone\\dweapons.c","reference":"0x429104","earlier":"0x437f50","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":85,"callers":[[4423504,"set_simple_drone_object_number_",25]],"diff":["--- 0x437f50","+++ 0x429104","@@ -7,66 +7,42 @@"," sub esp,0xc"," mov m4[esp+None*1+0x8],eax"," mov edi,eax","-mov ecx,m4[eax+None*1+0x8]","+mov ebx,m4[eax+None*1+0x8]"," xor ebp,ebp","-xor ebx,ebx","-mov edx,ebx","-mov eax,ecx","+xor ecx,ecx","+mov edx,ecx","+mov eax,ebx"," call external"," mov esi,eax"," test eax,eax","-je local:25","-mov edx,ebx","-mov eax,ecx","-inc ebp","-call external","-mov m4[esp+None*1+0x0],esi","-mov m4[esp+None*1+0x4],ebx","-mov m4[edi+None*1+0x18c],eax","-inc ebx","+jne local:61","+inc ecx"," add edi,0x8","-cmp ebx,0x5","+cmp ecx,0x5"," jl local:12"," mov eax,m4[esp+None*1+0x8]"," mov eax,m4[eax+None*1+0x4c]"," cmp m4[eax+None*1+0x10],0x12","-jne local:39","+jne local:32"," mov eax,m4[esp+None*1+0x8]"," cmp m4[eax+None*1+0x194],0x0","-jne local:37","+jne local:30"," inc ebp"," mov eax,m4[esp+None*1+0x8]"," mov m4[eax+None*1+0x194],0xa"," test ebp,ebp","-jbe local:44","+jbe local:69"," cmp ebp,0x1","-je local:51","-jmp local:61","-mov eax,m4[esp+None*1+0x8]","-mov m4[eax+None*1+0x184],0x0","-mov dh,m1[eax+None*1+0x1c4]","-mov m1[eax+None*1+0x188],0xff","-and dh,0x3f","-mov m1[eax+None*1+0x1c4],dh","-jmp local:69","+jne local:76"," mov eax,m4[esp+None*1+0x8]"," mov dl,m1[eax+None*1+0x1c4]"," or dl,0xc0","-mov ebx,m4[esp+None*1+0x8]","+mov ecx,m4[esp+None*1+0x8]"," mov m1[eax+None*1+0x1c4],dl"," mov eax,m4[esp+None*1+0x0]","-mov m4[ebx+None*1+0x184],eax","+mov m4[ecx+None*1+0x184],eax"," mov al,m1[esp+None*1+0x4]","-mov m1[ebx+None*1+0x188],al","-jmp local:69","-mov eax,m4[esp+None*1+0x8]","-mov bl,m1[eax+None*1+0x1c4]","-or bl,0x40","-mov m1[eax+None*1+0x1c4],bl","-mov bh,bl","-mov m1[eax+None*1+0x188],0x0","-and bh,0x7f","-mov m1[eax+None*1+0x1c4],bh","+mov m1[ecx+None*1+0x188],al"," mov eax,m4[esp+None*1+0x8]"," call external"," mov eax,m4[esp+None*1+0x8]","@@ -83,3 +59,27 @@"," pop ecx"," pop ebx"," ret ","+mov edx,ecx","+mov eax,ebx","+call external","+mov m4[esp+None*1+0x0],esi","+mov m4[esp+None*1+0x4],ecx","+inc ebp","+mov m4[edi+None*1+0x18c],eax","+jmp local:18","+mov eax,m4[esp+None*1+0x8]","+mov m4[eax+None*1+0x184],0x0","+mov dh,m1[eax+None*1+0x1c4]","+mov m1[eax+None*1+0x188],0xff","+and dh,0x3f","+mov m1[eax+None*1+0x1c4],dh","+jmp local:45","+mov eax,m4[esp+None*1+0x8]","+mov bl,m1[eax+None*1+0x1c4]","+or bl,0x40","+mov m1[eax+None*1+0x1c4],bl","+mov bh,bl","+mov m1[eax+None*1+0x188],0x0","+and bh,0x7f","+mov m1[eax+None*1+0x1c4],bh","+jmp local:45"]},{"name":"get_drone_carrier_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b29c","earlier":"0x43b56c","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"get_drone_carrier_speed_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b2bc","earlier":"0x43b58c","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"get_drone_carrier_heading_","source":"E:\\apache\\source\\drone\\ship.c","reference":"0x42b2e0","earlier":"0x43b5b0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"move_ground_simple_drones_","source":"E:\\apache\\source\\drone\\movement.c","reference":"0x42c6b8","earlier":"0x43c97c","same_instruction_shape":true,"reference_instructions":41,"earlier_instructions":41,"callers":[],"diff":[]},{"name":"test_waypoint_stuff_","source":"E:\\apache\\source\\drone\\waydebug.c","reference":"0x42fc80","earlier":"0x43fcf0","same_instruction_shape":true,"reference_instructions":50,"earlier_instructions":50,"callers":[],"diff":[]},{"name":"append_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x43035c","earlier":"0x44039c","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":68,"callers":[[4457372,"test_waypoint_stuff_",36],[4457372,"test_waypoint_stuff_",42]],"diff":["--- 0x44039c","+++ 0x43035c","@@ -1,24 +1,22 @@","-push ebx"," push ecx"," push edx","-push esi","-push edi"," push ebp"," mov ebp,eax"," mov ecx,m4[eax+None*1+0xb4]"," xor eax,eax"," test ecx,ecx","-je local:17","+je local:14"," mov edx,m4[ecx+None*1+0x4]"," test edx,edx","-je local:17","+je local:14","+inc eax"," mov ecx,edx","-inc eax","-jmp local:11","+jmp local:8"," cmp eax,0x26","-jl local:21","-mov eax,ecx","-jmp local:61","+jge local:58","+push edi","+push esi","+push ebx"," call external"," mov ebx,0x30"," mov edi,eax","@@ -28,13 +26,9 @@"," mov m4[edi+None*1+0x4],0x0"," mov m4[edi+None*1+0x0],ecx"," test ecx,ecx","-je local:34","+je local:63"," mov m4[edi+None*1+0xc],0x2"," mov m4[ecx+None*1+0x4],edi","-jmp local:37","-mov m4[ebp+None*1+0xb4],edi","-mov m4[ebp+None*1+0xb8],edi","-mov m4[edi+None*1+0xc],0x1"," mov m4[esi+None*1+0x8],ebp"," inc m4[ebp+None*1+0xbc]"," mov m4[esi+None*1+0x10],0x0","@@ -42,27 +36,43 @@"," mov m4[esi+None*1+0x18],0x0"," mov m4[esi+None*1+0x1c],0xffffffff"," mov m4[esi+None*1+0x24],0xffffffff","-mov ecx,m4[esi+None*1+0x0]","+mov ebx,m4[esi+None*1+0x0]"," mov m4[esi+None*1+0x20],0x0","-test ecx,ecx","-je local:51","-mov eax,m4[ecx+None*1+0x28]","+test ebx,ebx","+je local:67","+mov eax,m4[ebx+None*1+0x28]"," mov m4[esi+None*1+0x28],eax","-jmp local:52","-mov m4[esi+None*1+0x28],ecx"," mov edi,m4[None+None*1+address]"," mov m1[esi+None*1+0x2c],0x0"," test edi,edi","-jne local:59","-mov m4[None+None*1+address],esi","-mov eax,m4[esi+None*1+0x8]","-call external","+jne local:69","+mov eax,esi"," call external"," mov eax,esi","+pop ebx","+pop esi","+pop edi"," pop ebp","-pop edi","-pop esi"," pop edx"," pop ecx","+ret ","+mov eax,ecx","+pop ebp","+pop edx","+pop ecx","+ret ","+mov m4[ebp+None*1+0xb8],edi","+mov m4[ebp+None*1+0xb4],edi","+mov m4[edi+None*1+0xc],0x1","+jmp local:31","+mov m4[esi+None*1+0x28],ebx","+jmp local:44","+call external","+mov eax,esi"," pop ebx","+pop esi","+pop edi","+pop ebp","+pop edx","+pop ecx"," ret "]},{"name":"insert_after_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x43043c","earlier":"0x440478","same_instruction_shape":true,"reference_instructions":42,"earlier_instructions":42,"callers":[],"diff":[]},{"name":"allocate_waypoint_","source":"E:\\apache\\source\\drone\\waypoint.c","reference":"0x4305c4","earlier":"0x440618","same_instruction_shape":false,"reference_instructions":30,"earlier_instructions":31,"callers":[[4458008,"insert_after_waypoint_",6]],"diff":["--- 0x440618","+++ 0x4305c4","@@ -1,25 +1,24 @@","-push ebx","+push ecx"," push edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]","+xor eax,eax"," xor edx,edx","-xor eax,eax","-test ebx,ebx","-jne local:15","+test ecx,ecx","+je local:13","+add eax,0x4","+inc edx","+cmp eax,0x3000","+jge local:21","+cmp m4[eax+None*1+address],0x0","+jne local:7"," mov m4[eax+None*1+address],0x1"," lea eax,m4[None+edx*4+0x0]"," sub eax,edx"," shl eax,0x4"," add eax,address"," pop edx","-pop ebx","+pop ecx"," ret ","-add eax,0x4","-inc edx","-cmp eax,0x3000","-jge local:22","-cmp m4[eax+None*1+address],0x0","-je local:7","-jmp local:15"," push 0x148"," push address"," push address","@@ -27,5 +26,5 @@"," add esp,0xc"," xor eax,eax"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"set_waypoint_position_","source":"E:\\apache\\source\\drone\\wayset.c","reference":"0x430660","earlier":"0x4406c0","same_instruction_shape":false,"reference_instructions":11,"earlier_instructions":12,"callers":[[4458176,"test_waypoint_stuff_",37],[4458176,"test_waypoint_stuff_",43]],"diff":["--- 0x4406c0","+++ 0x430660","@@ -1,12 +1,11 @@"," cmp edx,m4[eax+None*1+0x10]","-jne local:6","+jne local:7"," cmp ebx,m4[eax+None*1+0x14]","-jne local:6","+jne local:7"," cmp ecx,m4[eax+None*1+0x18]","-je external","+jne local:7","+ret "," mov m4[eax+None*1+0x10],edx"," mov m4[eax+None*1+0x14],ebx"," mov m4[eax+None*1+0x18],ecx","-jmp local:10","-mov m4[None+None*1+address],0x2","-ret ","+jmp external"]},{"name":"update_waypoints_","source":"E:\\apache\\source\\drone\\wayup.c","reference":"0x4306dc","earlier":"0x44073c","same_instruction_shape":false,"reference_instructions":75,"earlier_instructions":75,"callers":[[4458300,"insert_after_waypoint_",34]],"diff":["--- 0x44073c","+++ 0x4306dc","@@ -8,18 +8,18 @@"," call external"," mov m4[esp+None*1+0x0],eax"," test eax,eax","-je local:66","+je local:59"," mov eax,m4[esp+None*1+0x0]"," call external"," mov ebp,eax"," test eax,eax","-je local:61","+je local:54"," mov ecx,m4[ebp+None*1+0xb4]"," test ecx,ecx","-je local:58","+je local:51"," mov edx,m4[ecx+None*1+0x0]"," test edx,edx","-je local:52","+je local:71"," mov eax,edx"," mov edi,m4[edx+None*1+0x10]"," mov ebx,m4[ecx+None*1+0x10]","@@ -36,10 +36,7 @@"," mov ebx,m4[ecx+None*1+0x28]"," mov esi,eax"," test ebx,ebx","-jg local:42","-mov m4[ecx+None*1+0x24],0xffffffff","-mov m4[ecx+None*1+0x1c],0xffffffff","-jmp local:50","+jle local:68"," sar edx,0x1f"," idiv ebx"," imul eax,eax,0xc8","@@ -49,10 +46,6 @@"," add edx,eax"," mov m4[ecx+None*1+0x1c],edx"," mov m4[ecx+None*1+0x20],esi","-jmp local:55","-mov m4[ecx+None*1+0x20],edx","-mov m4[ecx+None*1+0x1c],edx","-mov m4[ecx+None*1+0x24],edx"," mov ecx,m4[ecx+None*1+0x4]"," test ecx,ecx"," jne local:19","@@ -73,3 +66,10 @@"," pop ecx"," pop ebx"," ret ","+mov m4[ecx+None*1+0x1c],0xffffffff","+mov m4[ecx+None*1+0x24],0xffffffff","+jmp local:47","+mov m4[ecx+None*1+0x1c],edx","+mov m4[ecx+None*1+0x24],edx","+mov m4[ecx+None*1+0x20],edx","+jmp local:48"]},{"name":"update_waypoint_letters_","source":"E:\\apache\\source\\drone\\wayup.c","reference":"0x430870","earlier":"0x4408dc","same_instruction_shape":false,"reference_instructions":43,"earlier_instructions":35,"callers":[[4458716,"test_waypoint_stuff_",44],[4458716,"insert_after_waypoint_",33]],"diff":["--- 0x4408dc","+++ 0x430870","@@ -1,35 +1,43 @@","-push ebx","+push ecx"," push edx"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:32","-mov ebx,m4[edx+None*1+0x8]","+jne local:8","+pop edx","+pop ecx","+ret ","+mov ecx,m4[edx+None*1+0x8]"," call external","-test ebx,ebx","-je local:32","+test ecx,ecx","+je local:5"," mov dh,0x41","-mov eax,m4[ebx+None*1+0xb4]","+mov eax,m4[ecx+None*1+0xb4]"," mov dl,0x58"," test eax,eax","-je local:32","-mov ebx,m4[eax+None*1+0xc]","-cmp ebx,0x8","-ja local:29","-jmp m4[None+ebx*4+address]","+je local:5","+mov ecx,m4[eax+None*1+0xc]","+cmp ecx,0x8","+ja local:26","+jmp m4[None+ecx*4+address]"," mov m1[eax+None*1+0x2c],dh"," inc dh"," cmp dh,0x54","-jne local:29","+jne local:26"," mov dh,0x61","-jmp local:29","+mov eax,m4[eax+None*1+0x4]","+test eax,eax","+jne local:17","+pop edx","+pop ecx","+ret "," mov m1[eax+None*1+0x2c],dl"," inc dl"," cmp dl,0x5b","-jne local:29","+jne local:26"," mov dl,0x78"," mov eax,m4[eax+None*1+0x4]"," test eax,eax","-jne local:14","+jne local:17"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"send_modem_prefs_","source":"E:\\apache\\source\\apnet\\apnet.c","reference":"0x433bc0","earlier":"0x44359c","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"store_round_data_for_two_player_","source":"E:\\apache\\source\\apnet\\apser.c","reference":"0x4353fc","earlier":"0x444cd4","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"initialise_kills_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436da0","earlier":"0x4465d0","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"initialise_mobile_kills_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436df8","earlier":"0x446628","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"initialise_ground_kills_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436e28","earlier":"0x446658","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"add_to_kills_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436e58","earlier":"0x446688","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"add_to_gobs_list_","source":"E:\\apache\\source\\apnet\\killpass.c","reference":"0x436ea0","earlier":"0x4466d0","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"position_apache_object_","source":"E:\\apache\\source\\models\\model.c","reference":"0x43b96c","earlier":"0x449a30","same_instruction_shape":false,"reference_instructions":120,"earlier_instructions":115,"callers":[[4495920,"move_apache_model_",33]],"diff":["--- 0x449a30","+++ 0x43b96c","@@ -1,17 +1,22 @@"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x14"," mov esi,eax"," mov eax,m4[None+None*1+address]"," test m1[eax+None*1+0x1c5],0x4","-jne local:14","+jne local:18"," mov eax,m4[None+None*1+address]"," mov ecx,ebx"," mov ebx,edx"," mov edx,esi","-jmp local:108","+call external","+add esp,0x14","+pop ebp","+pop esi","+pop ecx","+ret ","+push edi"," call external"," lea ebp,m4[eax+None*1+0x60]"," mov eax,m4[None+None*1+address]","@@ -19,7 +24,7 @@"," mov ecx,m4[ebp+None*1+0x18]"," mov eax,m4[eax+None*1+0xc]"," mov edx,m4[ebp+None*1+0xc]","-mov m4[esp+None*1+0xc],eax","+mov m4[esp+None*1+0x10],eax"," mov esi,m4[eax+None*1+0x8]"," mov ebx,m4[eax+None*1+0x4]"," mov eax,m4[eax+None*1+0x0]","@@ -37,19 +42,19 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov esi,m4[esp+None*1+0xc]","-mov ebx,m4[esp+None*1+0xc]","+mov esi,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0x10]"," mov eax,m4[ebp+None*1+0x0]"," mov edi,m4[ebp+None*1+0x28]"," add eax,edx"," mov esi,m4[esi+None*1+0x8]","-mov m4[esp+None*1+0x0],eax","+mov m4[esp+None*1+0x4],eax"," mov eax,m4[ebp+None*1+0x1c]"," mov ebx,m4[ebx+None*1+0x4]","-mov m4[esp+None*1+0x10],eax","-mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0x14],eax","+mov eax,m4[esp+None*1+0x10]"," mov edx,m4[ebp+None*1+0x10]","-mov ecx,m4[esp+None*1+0x10]","+mov ecx,m4[esp+None*1+0x14]"," mov eax,m4[eax+None*1+0x0]"," imul edx"," xchg ebx,eax","@@ -65,15 +70,15 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov esi,m4[esp+None*1+0xc]","-mov ebx,m4[esp+None*1+0xc]","+mov esi,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0x10]"," mov eax,m4[ebp+None*1+0x4]"," mov edi,m4[ebp+None*1+0x2c]"," mov ecx,m4[ebp+None*1+0x20]"," add eax,edx"," mov esi,m4[esi+None*1+0x8]","-mov m4[esp+None*1+0x4],eax","-mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0x8],eax","+mov eax,m4[esp+None*1+0x10]"," mov ebx,m4[ebx+None*1+0x4]"," mov edx,m4[ebp+None*1+0x14]"," mov eax,m4[eax+None*1+0x0]","@@ -93,23 +98,23 @@"," adc edx,0x0"," mov eax,m4[ebp+None*1+0x8]"," add eax,edx","-mov m4[esp+None*1+0x8],eax","+mov m4[esp+None*1+0xc],eax"," mov eax,m4[None+None*1+address]"," lea edx,m4[ebp+None*1+0xc]","-mov ecx,m4[esp+None*1+0x8]","+mov ecx,m4[esp+None*1+0xc]"," mov ebx,m4[eax+None*1+0x8]"," mov eax,m4[eax+None*1+0xc]"," add ebx,0xc"," add eax,0xc"," add ecx,0x900"," call external","-mov ebx,m4[esp+None*1+0x4]","-mov edx,m4[esp+None*1+0x0]","+mov ebx,m4[esp+None*1+0x8]","+mov edx,m4[esp+None*1+0x4]"," mov eax,m4[None+None*1+address]"," call external","+pop edi"," add esp,0x14"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret "]},{"name":"move_apache_model_","source":"E:\\apache\\source\\models\\model_a.c","reference":"0x43f918","earlier":"0x44d670","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"draw_radar_cross_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441810","earlier":"0x44f4b0","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_radar_square_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441848","earlier":"0x44f4e8","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"draw_radar_inverted_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x44189c","earlier":"0x44f53c","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_radar_plus_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x4418d8","earlier":"0x44f578","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_radar_diamond_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441910","earlier":"0x44f5b0","same_instruction_shape":true,"reference_instructions":39,"earlier_instructions":39,"callers":[],"diff":[]},{"name":"draw_radar_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441968","earlier":"0x44f608","same_instruction_shape":true,"reference_instructions":27,"earlier_instructions":27,"callers":[],"diff":[]},{"name":"draw_radar_rotated_cross_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x4419a4","earlier":"0x44f644","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_square_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441a70","earlier":"0x44f710","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"draw_radar_rotated_inverted_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441b58","earlier":"0x44f7f8","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_plus_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441c24","earlier":"0x44f8c4","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"draw_radar_rotated_diamond_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441cf0","earlier":"0x44f990","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"draw_radar_rotated_tee_","source":"E:\\apache\\source\\radar\\radardr.c","reference":"0x441dd8","earlier":"0x44fa78","same_instruction_shape":true,"reference_instructions":69,"earlier_instructions":69,"callers":[],"diff":[]},{"name":"initialise_gameplay_object_","source":"E:\\apache\\source\\gameplay\\gameplay.c","reference":"0x4437a4","earlier":"0x4514f0","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"wipe_gameplay_object_","source":"E:\\apache\\source\\gameplay\\gameplay.c","reference":"0x444224","earlier":"0x45220c","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"play_sound_effect_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x4458b0","earlier":"0x453730","same_instruction_shape":false,"reference_instructions":63,"earlier_instructions":52,"callers":[[4536112,"play_crash_sound_",7],[4536112,"play_damage_sound_",7],[4536112,"play_hit_metal_sound_",7],[4536112,"play_failure_sound_",7],[4536112,"start_gun_sound_",7],[4536112,"play_missile1_sound_",7],[4536112,"play_missile2_sound_",7],[4536112,"play_missile3_sound_",7],[4536112,"play_missile4_sound_",7],[4536112,"play_missile_warning_sound_",7],[4536112,"play_incoming_sound_",7],[4536112,"play_lockon_sound_",7],[4536112,"play_threat_sound_",7],[4536112,"play_radio1_sound_",7],[4536112,"play_radio2_sound_",7],[4536112,"play_radio3_sound_",7],[4536112,"play_radio4_sound_",7],[4536112,"start_rotor1_sound_",7],[4536112,"start_rotor2_sound_",7],[4536112,"start_rotor3_sound_",7],[4536112,"start_slap_sound_",7]],"diff":["--- 0x453730","+++ 0x4458b0","@@ -1,52 +1,63 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov edi,eax","-mov edx,ebx","-mov ebx,m4[None+None*1+address]","+mov m4[esp+None*1+0x0],ebx","+mov ebp,ecx","+mov ecx,m4[None+None*1+address]"," mov esi,0xffffffff","-test ebx,ebx","-je local:47","+test ecx,ecx","+je local:17"," cmp m4[None+None*1+address],0x0","-je local:47","+je local:17"," shl eax,0x2"," add eax,edi"," cmp m4[None+eax*8+address],0x0","-je local:47","-call external","-mov esi,eax","-cmp eax,0xffffffff","-je local:47","-cmp eax,m4[None+None*1+address]","-jne local:22","-mov m4[None+None*1+address],0xffffffff","-cmp esi,m4[None+None*1+address]","-jne local:25","-mov m4[None+None*1+address],0xffffffff","-lea eax,m4[None+edi*4+0x0]","-lea ebx,m4[edi+eax*1+0x0]","-shl ebx,0x3","-mov eax,m4[ebx+None*1+address]","-call external","-mov ebp,eax","-mov eax,m4[ebx+None*1+address]","-push eax","-push ecx","-imul edx,m4[None+None*1+address]","-mov ecx,0x3f","-mov eax,edx","-sar edx,0x1f","-idiv ecx","-push eax","-mov edx,esi","-mov eax,m4[ebx+None*1+address]","-mov ecx,m4[ebx+None*1+address]","-push eax","-mov ebx,ebp","-mov eax,edi","-call external","+jne local:23"," mov eax,esi","+add esp,0x4"," pop ebp"," pop edi"," pop esi"," ret ","+mov eax,edx","+call external","+mov esi,eax","+cmp eax,0xffffffff","+je local:17","+cmp eax,m4[None+None*1+address]","+je local:61","+cmp esi,m4[None+None*1+address]","+jne local:33","+mov m4[None+None*1+address],0xffffffff","+lea ecx,m4[None+edi*4+0x0]","+add ecx,edi","+shl ecx,0x3","+mov eax,m4[ecx+None*1+address]","+call external","+mov ebx,eax","+mov eax,m4[ecx+None*1+address]","+push eax","+mov edx,m4[None+None*1+address]","+push ebp","+imul edx,m4[esp+None*1+0x8]","+mov ebp,0x3f","+mov eax,edx","+sar edx,0x1f","+idiv ebp","+push eax","+mov eax,m4[ecx+None*1+address]","+mov edx,esi","+push eax","+mov ecx,m4[ecx+None*1+address]","+mov eax,edi","+call external","+mov eax,esi","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+ret ","+mov m4[None+None*1+address],0xffffffff","+jmp local:30"]},{"name":"play_crash_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a00","earlier":"0x453874","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_damage_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a20","earlier":"0x453894","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_hit_metal_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a40","earlier":"0x4538b4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_failure_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a60","earlier":"0x4538d4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_gun_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445a80","earlier":"0x4538f4","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445ad8","earlier":"0x453940","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445af8","earlier":"0x453960","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b18","earlier":"0x453980","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile4_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b38","earlier":"0x4539a0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_missile_warning_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445b58","earlier":"0x4539c0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_incoming_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bb8","earlier":"0x453a20","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_lockon_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bd8","earlier":"0x453a40","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_threat_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445bf8","earlier":"0x453a60","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c18","earlier":"0x453a80","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c38","earlier":"0x453aa0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c58","earlier":"0x453ac0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"play_radio4_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445c78","earlier":"0x453ae0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor1_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445e9c","earlier":"0x453ccc","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor2_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445ebc","earlier":"0x453cec","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_rotor3_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445edc","earlier":"0x453d0c","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"start_slap_sound_","source":"E:\\apache\\source\\sound\\sound.c","reference":"0x445f10","earlier":"0x453d40","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"create_creative_cannon_crater_","source":"E:\\apache\\source\\weapons\\ccc.c","reference":"0x448b48","earlier":"0x456abc","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"damage_mobile_object_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x449798","earlier":"0x457774","same_instruction_shape":false,"reference_instructions":175,"earlier_instructions":182,"callers":[[4552564,"damage_mobiles_in_range_exclusive_",17]],"diff":["--- 0x457774","+++ 0x449798","@@ -1,55 +1,41 @@"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x4"," mov esi,eax"," mov ecx,edx"," test m1[eax+None*1+0x40],0x1","-je local:11","+je local:14"," xor eax,eax","-jmp local:176","-mov edx,m4[esi+None*1+0x38]","-cmp edx,0x1","-je local:16","-xor eax,eax","-jmp local:17","-mov eax,edx","+add esp,0x4","+pop ebp","+pop esi","+pop ecx","+ret ","+mov eax,esi","+call external"," test eax,eax","-je local:176","-mov eax,m4[ecx+None*1+0x5c]","+je local:9","+mov eax,m4[edx+None*1+0x5c]"," call external"," mov edx,m4[esi+None*1+0x40]"," shl edx,0x1d"," shr edx,0x1e"," cmp eax,edx","-jne local:52","+jne local:37"," mov eax,m4[ecx+None*1+0x5c]"," cmp m4[eax+None*1+0x24],0x2","-jne local:45","+jne local:8"," mov eax,m4[eax+None*1+0x2c]","+call external"," test eax,eax","-je local:35","-mov ebp,m4[eax+None*1+0x38]","-cmp ebp,0x1"," je local:37","-xor eax,eax","-jmp local:38","-mov eax,ebp","-test eax,eax","-je local:52"," mov eax,m4[ecx+None*1+0x5c]"," mov eax,m4[eax+None*1+0x2c]"," mov eax,m4[eax+None*1+0x3c]"," cmp m4[eax+None*1+0x1c8],0xffffffff","-jne local:52","-xor eax,eax","-add esp,0x4","-pop ebp","-pop edi","-pop esi","-pop ecx","-ret ","+je local:8","+push edi"," mov edx,m4[esi+None*1+0x8]"," mov ebp,m4[ebx+None*1+0x8]"," mov eax,m4[edx+None*1+0x8]","@@ -57,12 +43,12 @@"," mov ebp,eax"," mov eax,m4[edx+None*1+0x4]"," sub eax,m4[ebx+None*1+0x4]","-mov m4[esp+None*1+0x0],eax","+mov m4[esp+None*1+0x4],eax"," mov eax,m4[edx+None*1+0x0]"," mov edx,m4[ebx+None*1+0x0]"," mov ebx,ebp"," sub eax,edx","-mov edx,m4[esp+None*1+0x0]","+mov edx,m4[esp+None*1+0x4]"," mov edi,m4[esi+None*1+0x3c]"," call external"," mov ebx,eax","@@ -74,15 +60,15 @@"," mov ebx,eax"," call external"," cmp eax,0x7","-je local:92","+je local:78"," cmp m4[esi+None*1+0x0],0x40","-jne local:92","+jne local:78"," cmp m4[edi+None*1+0x1c8],0xffffffff","-jne local:92","+jne local:78"," mov eax,m4[ecx+None*1+0x5c]"," call external"," cmp eax,0x2","-jne local:92","+jne local:78"," mov eax,ecx"," call external"," lea ebx,m4[eax+None*1+0x2]","@@ -92,8 +78,8 @@"," mov ebx,eax"," mov edx,m4[esi+None*1+0x0]"," shl edx,0x2","-mov m4[esp+None*1+0x0],edx","-mov ebp,m4[esp+None*1+0x0]","+mov m4[esp+None*1+0x4],edx","+mov ebp,m4[esp+None*1+0x4]"," mov edx,m4[None+None*1+address]"," xor eax,eax"," add edx,ebp","@@ -101,82 +87,89 @@"," mov edx,m4[edx+None*1+0x0]"," add eax,ebx"," cmp eax,m4[edx+None*1+0xa8]","-jl local:151","+jl local:144"," mov eax,m4[esi+None*1+0x0]"," call external"," mov edx,ecx"," lea eax,m4[edi+None*1+0x8]"," call external"," cmp edi,m4[None+None*1+address]","-jne local:175","-mov eax,m4[ecx+None*1+0x5c]","-mov edx,m4[eax+None*1+0x24]","-cmp edx,0x1","-jb local:139","-jbe local:135","-cmp edx,0x2","-jne local:139","-mov eax,m4[eax+None*1+0x2c]","-test eax,eax","-je local:124","-mov esi,m4[eax+None*1+0x38]","-cmp esi,0x1","-je local:126","-xor eax,eax","-jmp local:127","-mov eax,esi","-test eax,eax","-je local:175","-mov eax,m4[ecx+None*1+0x5c]","-mov eax,m4[eax+None*1+0x2c]","-mov edx,m4[ecx+None*1+0x0]","-mov eax,m4[eax+None*1+0x3c]","-call external","-jmp local:175","-mov edx,m4[ecx+None*1+0x0]","-mov eax,m4[eax+None*1+0x2c]","-call external","-jmp local:175","+jne local:106","+mov edx,m4[ecx+None*1+0x5c]","+mov eax,m4[edx+None*1+0x24]","+cmp eax,0x1","+jae local:113"," push 0x129"," push address"," push address"," call external"," add esp,0xc"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","+pop esi","+pop ecx","+ret ","+jbe local:132","+cmp eax,0x2","+jne local:101","+mov eax,m4[edx+None*1+0x2c]","+call external","+test eax,eax","+je local:106","+mov eax,m4[ecx+None*1+0x5c]","+mov eax,m4[eax+None*1+0x2c]","+mov edx,m4[ecx+None*1+0x0]","+mov eax,m4[eax+None*1+0x3c]","+call external","+mov eax,ebx"," pop edi","+add esp,0x4","+pop ebp","+pop esi","+pop ecx","+ret ","+mov eax,m4[ecx+None*1+0x0]","+mov ecx,m4[edx+None*1+0x2c]","+mov edx,eax","+mov eax,ecx","+call external","+mov eax,ebx","+pop edi","+add esp,0x4","+pop ebp"," pop esi"," pop ecx"," ret "," test eax,eax","-jge local:155","-xor eax,eax","-jmp local:158","+jl local:163"," cmp eax,0xff","-jle local:158","+jle local:149"," mov eax,0xff"," mov m1[edi+None*1+0xdc],al"," cmp edi,m4[None+None*1+address]","-jne local:175","+jne local:106"," call external"," cmp ebx,0xa","-jge local:172","+jge local:165"," call external"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret ","+xor eax,eax","+jmp local:149"," mov edx,0x8000"," mov eax,0x3f"," call external"," mov eax,ebx","+pop edi"," add esp,0x4"," pop ebp","-pop edi"," pop esi"," pop ecx"," ret "]},{"name":"damage_mobiles_in_range_exclusive_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x4499f0","earlier":"0x4579f0","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"get_passed_task_id_","source":"E:\\apache\\source\\weapons\\damage.c","reference":"0x449e40","earlier":"0x457efc","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"get_rounds_direction_change_to_target_","source":"E:\\apache\\source\\weapons\\rndmove.c","reference":"0x44cc2c","earlier":"0x45aa64","same_instruction_shape":true,"reference_instructions":36,"earlier_instructions":36,"callers":[],"diff":[]},{"name":"pitch_round_down_","source":"E:\\apache\\source\\weapons\\rndmove.c","reference":"0x44cc94","earlier":"0x45aacc","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"initialise_rounds_","source":"E:\\apache\\source\\weapons\\rounds.c","reference":"0x44cd90","earlier":"0x45abb0","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"release_target_sanely_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e6a0","earlier":"0x45c544","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":58,"callers":[[4572484,"wipe_gameplay_object_",9],[4572484,"wipe_gameplay_object_",12]],"diff":["--- 0x45c544","+++ 0x44e6a0","@@ -1,58 +1,33 @@","-push ebx","-push ecx"," push edx","-mov ecx,eax"," test eax,eax","-je local:54","+je local:17"," mov edx,m4[eax+None*1+0x24]"," cmp edx,0x2","-jne local:47","+jne local:30"," mov eax,m4[eax+None*1+0x2c]"," mov eax,m4[eax+None*1+0x38]"," cmp eax,0x1","-jb local:17","-jbe local:54","-cmp eax,edx","-je local:20","-jmp local:38","+jae local:19"," test eax,eax","-je local:29","-jmp local:38","-push 0x3f5","-push address","-push address","-call external","-add esp,0xc","-pop edx","-pop ecx","-pop ebx","-ret ","+jne local:26"," push 0x3f9"," push address"," push address"," call external"," add esp,0xc"," pop edx","-pop ecx","-pop ebx"," ret ","+jbe local:17","+cmp eax,edx","+jne local:26","+push 0x3f5","+push address","+push address","+jmp local:15"," push 0x3fd"," push address"," push address","+jmp local:15"," call external","-add esp,0xc"," pop edx","-pop ecx","-pop ebx"," ret ","-mov ebx,m4[None+None*1+address]","-dec ebx","-xor edx,edx","-mov m4[None+None*1+address],ebx","-mov ebx,0x30","-call external","-mov m4[ecx+None*1+0x24],0x0","-pop edx","-pop ecx","-pop ebx","-ret "]},{"name":"release_target_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e704","earlier":"0x45c5f0","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"initialise_targets_","source":"E:\\apache\\source\\weapons\\targets.c","reference":"0x44e730","earlier":"0x45c61c","same_instruction_shape":true,"reference_instructions":9,"earlier_instructions":9,"callers":[],"diff":[]},{"name":"initialise_comms_panel_","source":"E:\\apache\\source\\avionics\\commspan.c","reference":"0x4573b0","earlier":"0x465280","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"initialise_goggles_","source":"E:\\apache\\source\\avionics\\goggles.c","reference":"0x458020","earlier":"0x465f00","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"set_goggles_dvo_mode_","source":"E:\\apache\\source\\avionics\\goggles.c","reference":"0x458694","earlier":"0x46654c","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"set_ihadss_viewport_and_window_","source":"E:\\apache\\source\\avionics\\ihadss.c","reference":"0x458ea4","earlier":"0x466d04","same_instruction_shape":true,"reference_instructions":29,"earlier_instructions":29,"callers":[],"diff":[]},{"name":"draw_i_beam_","source":"E:\\apache\\source\\avionics\\ihadss.c","reference":"0x45b1ec","earlier":"0x468fec","same_instruction_shape":true,"reference_instructions":83,"earlier_instructions":83,"callers":[],"diff":[]},{"name":"initialise_tads_","source":"E:\\apache\\source\\avionics\\inittads.c","reference":"0x45c1a0","earlier":"0x469f70","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[],"diff":[]},{"name":"mfd_off_","source":"E:\\apache\\source\\avionics\\mfdfunc.c","reference":"0x45cec0","earlier":"0x46ac60","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"print_field_and_value_","source":"E:\\apache\\source\\avionics\\mfdfunc.c","reference":"0x460820","earlier":"0x46e5cc","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"set_primary_visual_viewport_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x4625ec","earlier":"0x470618","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"set_spectator_camera_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x4628b0","earlier":"0x4708ec","same_instruction_shape":true,"reference_instructions":29,"earlier_instructions":29,"callers":[],"diff":[]},{"name":"initialise_crash_camera_","source":"E:\\apache\\source\\avionics\\views.c","reference":"0x462d48","earlier":"0x470d6c","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_2d_window_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x4678f4","earlier":"0x4756a8","same_instruction_shape":true,"reference_instructions":61,"earlier_instructions":61,"callers":[],"diff":[]},{"name":"set_2d_viewport_and_window_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x4679bc","earlier":"0x475770","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":77,"callers":[[4675440,"set_ihadss_viewport_and_window_",21],[4675440,"mfd_off_",11]],"diff":["--- 0x475770","+++ 0x4679bc","@@ -22,31 +22,31 @@"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ebx,m4[esp+None*1+0x1c]","+mov ecx,m4[esp+None*1+0x1c]"," mov edx,m4[esp+None*1+0x14]","-add edx,ebx","+add edx,ecx"," mov m4[None+None*1+address],eax"," mov eax,edx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ecx","+sub eax,ebx"," mov ebp,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," sub eax,ebp"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],eax","-mov eax,ecx","-mov ebx,edi","+mov eax,ebx","+mov ecx,m4[None+None*1+address]"," sub eax,esi"," mov edx,m4[esp+None*1+0x14]"," mov m4[None+None*1+address],eax"," mov eax,ebp","-mov ecx,m4[None+None*1+address]","+mov ebx,edi"," sub eax,edx"," mov edx,m4[None+None*1+address]"," sub ebx,esi","@@ -57,20 +57,21 @@"," rcr eax,0x1"," idiv ebx"," mov ebx,m4[None+None*1+address]","+mov edx,m4[None+None*1+address]","+mov m4[None+None*1+address],eax","+mov eax,m4[None+None*1+address]"," mov esi,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-mov edi,m4[None+None*1+address]","-sub ebx,esi","-sub edx,edi","-mov m4[None+None*1+address],eax","+sub eax,ebx","+sub edx,esi","+mov ebx,eax"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-mov ebp,eax","+mov edi,eax"," mov m4[None+None*1+address],eax","-neg ebp","-mov m4[None+None*1+address],ebp","+neg edi","+mov m4[None+None*1+address],edi"," pop ebp"," pop edi"," pop esi"]},{"name":"set_2d_object_origin_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467ac4","earlier":"0x475878","same_instruction_shape":false,"reference_instructions":18,"earlier_instructions":18,"callers":[[4675704,"draw_radar_cross_",4],[4675704,"draw_radar_cross_",21],[4675704,"draw_radar_square_",4],[4675704,"draw_radar_square_",33],[4675704,"draw_radar_inverted_tee_",4],[4675704,"draw_radar_inverted_tee_",22],[4675704,"draw_radar_plus_",4],[4675704,"draw_radar_plus_",21],[4675704,"draw_radar_diamond_",4],[4675704,"draw_radar_diamond_",34],[4675704,"draw_radar_tee_",4],[4675704,"draw_radar_tee_",22],[4675704,"draw_radar_rotated_cross_",44],[4675704,"draw_radar_rotated_cross_",63],[4675704,"draw_radar_rotated_square_",45],[4675704,"draw_radar_rotated_square_",75],[4675704,"draw_radar_rotated_inverted_tee_",44],[4675704,"draw_radar_rotated_inverted_tee_",63],[4675704,"draw_radar_rotated_plus_",45],[4675704,"draw_radar_rotated_plus_",63],[4675704,"draw_radar_rotated_diamond_",45],[4675704,"draw_radar_rotated_diamond_",75],[4675704,"draw_radar_rotated_tee_",44],[4675704,"draw_radar_rotated_tee_",63],[4675704,"draw_i_beam_",6]],"diff":["--- 0x475878","+++ 0x467ac4","@@ -1,18 +1,18 @@","-push ebx","-mov ebx,m4[None+None*1+address]","+push ecx","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-sub eax,ebx","+sub eax,ecx"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],edx"," sub edx,eax"," mov m4[None+None*1+address],edx","-mov eax,ebx","+mov eax,ecx"," sub eax,m4[None+None*1+address]","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ebx","+sub eax,ecx"," mov m4[None+None*1+address],eax","-pop ebx","+pop ecx"," ret "]},{"name":"set_2d_rotation_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467b60","earlier":"0x4758ec","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"store_2d_visual_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467c5c","earlier":"0x4759ec","same_instruction_shape":true,"reference_instructions":45,"earlier_instructions":45,"callers":[[4676076,"do_reschedule_",17]],"diff":[]},{"name":"restore_2d_visual_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467d1c","earlier":"0x475aac","same_instruction_shape":true,"reference_instructions":54,"earlier_instructions":54,"callers":[[4676268,"do_reschedule_",48]],"diff":[]},{"name":"clear_2d_viewport_","source":"E:\\library\\2dvisual\\2dcore.c","reference":"0x467dfc","earlier":"0x475b8c","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":25,"callers":[[4676492,"mfd_off_",13]],"diff":["--- 0x475b8c","+++ 0x467dfc","@@ -6,15 +6,16 @@"," mov edx,eax"," mov eax,m4[None+None*1+address]"," sub eax,m4[None+None*1+address]","+lea ecx,m4[eax+None*1+0x1]","+mov ebx,m4[None+None*1+address]","+mov eax,m4[None+None*1+address]","+sub eax,ebx","+mov edi,m4[None+None*1+address]"," lea ebx,m4[eax+None*1+0x1]","-mov ecx,m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-sub eax,ecx","-mov edi,m4[None+None*1+address]","-lea ecx,m4[eax+None*1+0x1]"," mov esi,m4[None+None*1+address]"," mov eax,edx","-mov edx,ebx","+mov edx,ecx","+mov ecx,ebx"," mov ebx,edi"," call external"," pop edi"]},{"name":"draw_2d_line_","source":"E:\\library\\2dvisual\\2dline.c","reference":"0x467ed0","earlier":"0x476b60","same_instruction_shape":false,"reference_instructions":27,"earlier_instructions":25,"callers":[[4680544,"draw_radar_cross_",12],[4680544,"draw_radar_cross_",18],[4680544,"draw_radar_square_",12],[4680544,"draw_radar_square_",18],[4680544,"draw_radar_square_",24],[4680544,"draw_radar_square_",30],[4680544,"draw_radar_inverted_tee_",13],[4680544,"draw_radar_inverted_tee_",19],[4680544,"draw_radar_plus_",12],[4680544,"draw_radar_plus_",18],[4680544,"draw_radar_diamond_",13],[4680544,"draw_radar_diamond_",19],[4680544,"draw_radar_diamond_",25],[4680544,"draw_radar_diamond_",31],[4680544,"draw_radar_tee_",13],[4680544,"draw_radar_tee_",19],[4680544,"draw_radar_rotated_cross_",52],[4680544,"draw_radar_rotated_cross_",58],[4680544,"draw_radar_rotated_square_",52],[4680544,"draw_radar_rotated_square_",58],[4680544,"draw_radar_rotated_square_",64],[4680544,"draw_radar_rotated_square_",70],[4680544,"draw_radar_rotated_inverted_tee_",52],[4680544,"draw_radar_rotated_inverted_tee_",58],[4680544,"draw_radar_rotated_plus_",52],[4680544,"draw_radar_rotated_plus_",58],[4680544,"draw_radar_rotated_diamond_",52],[4680544,"draw_radar_rotated_diamond_",58],[4680544,"draw_radar_rotated_diamond_",64],[4680544,"draw_radar_rotated_diamond_",70],[4680544,"draw_radar_rotated_tee_",52],[4680544,"draw_radar_rotated_tee_",58],[4680544,"draw_i_beam_",14],[4680544,"draw_i_beam_",22],[4680544,"draw_i_beam_",30],[4680544,"draw_i_beam_",38],[4680544,"draw_i_beam_",46],[4680544,"draw_i_beam_",54],[4680544,"draw_i_beam_",67],[4680544,"draw_i_beam_",77]],"diff":["--- 0x476b60","+++ 0x467ed0","@@ -1,5 +1,3 @@","-push esi","-push edi"," sub esp,0x10"," mov m4[esp+None*1+0x0],eax"," mov m4[esp+None*1+0x4],edx","@@ -11,15 +9,19 @@"," mov eax,esp"," call external"," test eax,eax","-je local:21","-mov esi,m4[esp+None*1+0xc]","-mov edx,m4[esp+None*1+0x8]","-mov ebx,m4[esp+None*1+0x4]","+jne local:14","+add esp,0x10","+ret 0x4","+push edi","+push esi","+mov esi,m4[esp+None*1+0x14]","+mov edx,m4[esp+None*1+0x10]","+mov ebx,m4[esp+None*1+0xc]"," xor eax,eax","-mov ecx,m4[esp+None*1+0x0]","+mov ecx,m4[esp+None*1+0x8]"," mov al,m1[esp+None*1+0x1c]"," call external","+pop esi","+pop edi"," add esp,0x10","-pop edi","-pop esi"," ret 0x4"]},{"name":"set_2d_text_position_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468a90","earlier":"0x4785f8","same_instruction_shape":true,"reference_instructions":53,"earlier_instructions":53,"callers":[],"diff":[]},{"name":"draw_2d_circle_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468b38","earlier":"0x4786a0","same_instruction_shape":true,"reference_instructions":67,"earlier_instructions":67,"callers":[],"diff":[]},{"name":"draw_2d_sprite_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468f38","earlier":"0x478aa0","same_instruction_shape":true,"reference_instructions":58,"earlier_instructions":58,"callers":[],"diff":[]},{"name":"draw_2d_recoloured_sprite_","source":"E:\\library\\2dvisual\\2dwrap.c","reference":"0x468fe8","earlier":"0x478b50","same_instruction_shape":true,"reference_instructions":58,"earlier_instructions":58,"callers":[],"diff":[]},{"name":"FlipAnimScreens_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46bae8","earlier":"0x4793b8","same_instruction_shape":false,"reference_instructions":44,"earlier_instructions":40,"callers":[[4690872,"PlotWholeAnimScreen_",19]],"diff":["--- 0x4793b8","+++ 0x46bae8","@@ -1,5 +1,4 @@"," push ebx","-push ecx"," push edx"," push esi"," call external","@@ -14,19 +13,25 @@"," sub eax,edx"," mov m4[None+None*1+address],eax"," cmp eax,0x10","-jl local:10","+jl local:9","+mov eax,eax"," call external","-mov ecx,0x1","+mov ebx,0x1"," mov m4[None+None*1+address],eax"," call external"," call external"," mov ah,m1[None+None*1+address]","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," test ah,0x20","-je local:29","+je local:34"," mov eax,m4[None+None*1+address]"," call external","-jmp local:33","+xor esi,esi","+mov m4[None+None*1+address],esi","+pop esi","+pop edx","+pop ebx","+ret "," mov ebx,0x100"," mov eax,m4[None+None*1+address]"," xor edx,edx","@@ -35,6 +40,5 @@"," mov m4[None+None*1+address],esi"," pop esi"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"SetupAnimScreen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46bb80","earlier":"0x479444","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"PlotWholeAnimScreen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d1d0","earlier":"0x47a900","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"pixeliseAnim_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d210","earlier":"0x47a940","same_instruction_shape":false,"reference_instructions":38,"earlier_instructions":35,"callers":[[4696384,"SetupAnimScreen_",19]],"diff":["--- 0x47a940","+++ 0x46d210","@@ -2,12 +2,12 @@"," mov ecx,eax"," sub ebx,0x4"," test ebx,ebx","-jle local:33","+jle local:22"," inc edx"," mov al,m1[edx+None*1+0xffffffff]"," dec ebx"," cmp al,0x80","-jb local:21","+jb local:24"," dec al"," je local:18"," mov ah,m1[edx+None*1+0x0]","@@ -16,11 +16,14 @@"," inc ecx"," test al,al"," jne local:12","+dec ebx"," inc edx","-dec ebx","-jmp local:31","+test ebx,ebx","+jg local:5","+pop ecx","+ret "," inc al","-je local:31","+je local:20"," inc ecx"," mov ah,m1[edx+None*1+0x0]"," inc edx","@@ -28,7 +31,7 @@"," dec al"," dec ebx"," test al,al","-jne local:23","+jne local:26"," test ebx,ebx"," jg local:5"," pop ecx"]},{"name":"Clear_Visible_Anim_Screen_","source":"E:\\library\\animplay\\animsys.c","reference":"0x46d254","earlier":"0x47a980","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"install_lib32_","source":"E:\\library\\config\\config.c","reference":"0x46d3d8","earlier":"0x47ab08","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_preferences_filename_","source":"E:\\library\\config\\prefs.c","reference":"0x46d430","earlier":"0x47ab60","same_instruction_shape":false,"reference_instructions":236,"earlier_instructions":224,"callers":[[4696928,"install_lib32_",11]],"diff":["--- 0x47ab60","+++ 0x46d430","@@ -8,7 +8,7 @@"," mov m4[esp+None*1+0x4],eax"," mov ebp,m4[None+None*1+address]"," test ebp,ebp","-je local:29","+je local:30"," mov ecx,address"," mov edi,0x3e"," mov esi,ebp","@@ -27,14 +27,15 @@"," call external"," test ebp,ebp"," jne local:13","+nop "," xor edx,edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],edx","-test ebx,ebx","-je local:38","-mov edx,address","-mov eax,ebx","+test ecx,ecx","+je local:39"," mov ebx,0x47","+mov edx,address","+mov eax,ecx"," call external"," mov edi,m4[esp+None*1+0x4]"," mov ebx,0x4a","@@ -54,18 +55,28 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:63","+je local:64"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:53","+jne local:54"," pop edi"," mov eax,m4[None+None*1+address]"," call external"," test eax,eax","-je local:214","+jne local:79","+mov eax,address","+call external","+add esp,0x10","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x4f"," mov ecx,address"," mov ebx,0x1","@@ -76,7 +87,7 @@"," call external"," mov edi,eax"," test eax,eax","-je local:214","+je local:69"," mov ebx,0x55"," mov edx,address"," inc eax","@@ -96,54 +107,52 @@"," mov eax,m4[None+None*1+address]"," mov m1[edi+esi*1+0x0],0x0"," call external","-xor ecx,ecx","+xor ebx,ebx"," mov ah,m1[esi+None*1+0x0]","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," test ah,ah","-je local:210","+je local:219"," mov esi,ebp"," xor edi,edi"," mov dh,m1[ebp+None*1+0x0]"," mov m4[esp+None*1+0xc],edi"," test dh,dh","-je local:120","+je local:126"," mov bh,m1[ebp+None*1+0x0]"," lea eax,m4[ebp+None*1+0x1]"," cmp bh,0x3d","-jne local:116","+jne local:140"," mov m1[ebp+None*1+0x0],0x0"," mov ebp,eax","-jmp local:120","-mov bl,m1[eax+None*1+0x0]","-mov ebp,eax","-test bl,bl","-jne local:109"," mov cl,m1[ebp+None*1+0x0]"," test cl,cl","-je local:142","+je local:151"," mov m4[esp+None*1+0xc],ebp","-je local:142","+je local:151"," mov ah,m1[ebp+None*1+0x0]"," cmp ah,0xa","-je local:130","-cmp ah,0xd","-jne local:138","+jne local:145"," mov m1[ebp+None*1+0x0],0x0"," inc ebp"," mov dh,m1[ebp+None*1+0x0]"," cmp dh,0xa","-je local:131","-cmp dh,0xd","-jne local:142","-jmp local:131","+jne local:233","+jmp local:135","+mov bl,m1[eax+None*1+0x0]","+mov ebp,eax","+test bl,bl","+jne local:120","+jmp local:126","+cmp ah,0xd","+je local:134"," mov al,m1[ebp+None*1+0x1]"," inc ebp"," test al,al","-jne local:125","+jne local:131"," test esi,esi","-je local:208","+je local:217"," cmp m4[esp+None*1+0xc],0x0","-je local:208","+je local:217"," mov ebx,0x8a"," mov edx,address"," mov eax,0xc","@@ -172,13 +181,13 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:181","+je local:190"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:171","+jne local:180"," pop edi"," mov edi,m4[esp+None*1+0xc]"," mov edx,address","@@ -198,16 +207,16 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:207","+je local:216"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:197","+jne local:206"," pop edi"," cmp m1[ebp+None*1+0x0],0x0","-jne local:103","+jne local:114"," mov ebx,0x99"," mov edx,address"," mov eax,m4[esp+None*1+0x0]","@@ -222,3 +231,6 @@"," pop ecx"," pop ebx"," ret ","+cmp dh,0xd","+je local:135","+jmp local:151"]},{"name":"set_preferences_int_","source":"E:\\library\\config\\prefs.c","reference":"0x46d764","earlier":"0x47ae78","same_instruction_shape":false,"reference_instructions":15,"earlier_instructions":15,"callers":[[4697720,"save_quick_start_game_runs_",3]],"diff":["--- 0x47ae78","+++ 0x46d764","@@ -1,6 +1,6 @@","-push ebx","+push ecx"," sub esp,0x64","-mov ebx,eax","+mov ecx,eax"," push edx"," push address"," lea edx,m4[esp+None*1+0x8]","@@ -8,8 +8,8 @@"," call external"," add esp,0xc"," mov edx,esp","-mov eax,ebx","+mov eax,ecx"," call external"," add esp,0x64","-pop ebx","+pop ecx"," ret "]},{"name":"install_debug_log_","source":"E:\\library\\debug\\debuglog.c","reference":"0x46dc20","earlier":"0x47b3a0","same_instruction_shape":false,"reference_instructions":50,"earlier_instructions":44,"callers":[[4699040,"install_lib32_",2]],"diff":["--- 0x47b3a0","+++ 0x46dc20","@@ -1,4 +1,3 @@","-push ebx"," push ecx"," push edx"," push esi","@@ -10,35 +9,42 @@"," call m4[None+None*1+address]"," mov esi,m4[None+None*1+address]"," mov edi,address","-mov edx,0x1"," mov esi,m4[esi+None*1+0x0]"," mov m4[None+None*1+address],eax"," push edi"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:26","+je local:24"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:16","+jne local:14"," pop edi","+mov esi,address","+mov edx,0x1","+push edi","+mov al,m1[esi+None*1+0x0]","+mov m1[edi+None*1+0x0],al","+cmp al,0x0","+je local:38","+mov al,m1[esi+None*1+0x1]","+add esi,0x2","+mov m1[edi+None*1+0x1],al","+add edi,0x2","+cmp al,0x0","+jne local:28","+pop edi","+mov ecx,m4[None+None*1+address]"," mov eax,address","-mov edi,address","-mov esi,address","-mov ebx,m4[None+None*1+address]","+add ecx,edx"," mov m4[None+None*1+address],edx","-add ebx,edx","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]","-movsw m2[edi+None*1+0x0],m2[esi+None*1+0x0]","-mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ecx"," call external"," pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"debug_log_fatal_long_","source":"E:\\library\\debug\\debuglog.c","reference":"0x46dcac","earlier":"0x47b41c","same_instruction_shape":false,"reference_instructions":89,"earlier_instructions":76,"callers":[[4699164,"set_simple_drone_object_number_",12],[4699164,"add_to_kills_list_",20],[4699164,"add_to_gobs_list_",22]],"diff":["--- 0x47b41c","+++ 0x46dcac","@@ -7,7 +7,17 @@"," sub esp,0x68"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:56","+jne local:20","+cmp m4[None+None*1+address],0x0","+je local:71","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov edi,address"," lea ebx,m4[esp+None*1+0x64]"," xor ah,ah","@@ -25,26 +35,23 @@"," call external"," mov edx,m4[esp+None*1+0x8c]"," push edx","-mov ebx,m4[esp+None*1+0x8c]","-push ebx","+mov ecx,m4[esp+None*1+0x8c]","+push ecx"," xor eax,eax"," push address"," mov m4[esp+None*1+0x70],eax"," lea eax,m4[esp+None*1+0xc]"," push eax","-xor edx,edx"," call external"," add esp,0x10"," mov eax,esp","-xor ebx,ebx"," call external"," call external","-mov eax,edi"," call external","-mov ecx,m4[None+None*1+address]","-test ecx,ecx","-jne local:68","-push ecx","+mov ebx,m4[None+None*1+address]","+test ebx,ebx","+jne local:12","+push ebx"," push address"," push edi"," mov edi,m4[None+None*1+address]","@@ -53,16 +60,22 @@"," mov m4[None+None*1+address],esi"," call m4[None+None*1+address]"," mov eax,0xa","-jmp local:67","-cmp m4[None+None*1+address],0x0","-jne local:68","+call external","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push edx"," push address"," push address"," mov esi,m4[None+None*1+address]","-mov ecx,0x1","+mov ebx,0x1"," push esi","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," call m4[None+None*1+address]"," mov eax,0xff"," call external"]},{"name":"create_fader_","source":"E:\\library\\graphics\\palette.c","reference":"0x46f0f8","earlier":"0x47c75c","same_instruction_shape":false,"reference_instructions":69,"earlier_instructions":65,"callers":[[4704092,"initialise_crash_camera_",11]],"diff":["--- 0x47c75c","+++ 0x46f0f8","@@ -1,27 +1,58 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov esi,eax"," mov edi,edx","-mov ebp,ebx","-mov ebx,0x151","+mov m4[esp+None*1+0x0],ebx","+mov ebp,ecx","+mov ebx,0x1e6"," mov edx,address","-mov eax,0x28","+mov eax,0x2c"," call external","+mov edx,eax"," mov m4[eax+None*1+0x0],esi","-mov m4[eax+None*1+0x4],edi","-mov edx,eax","-mov m4[eax+None*1+0x8],ebp","+mov ecx,eax","+mov m4[eax+None*1+0x8],edi","+mov eax,m4[esp+None*1+0x0]","+mov m4[edx+None*1+0x10],ebp","+mov m4[edx+None*1+0xc],eax","+mov eax,m4[esp+None*1+0x14]","+mov m4[edx+None*1+0x18],eax","+test esi,esi","+je local:55","+xor eax,eax","+mov al,m1[esp+None*1+0x18]","+mov m4[edx+None*1+0x1c],eax","+xor eax,eax","+mov al,m1[esp+None*1+0x1c]","+mov m4[edx+None*1+0x20],eax","+xor eax,eax","+mov al,m1[esp+None*1+0x20]","+mov m4[edx+None*1+0x24],eax","+mov eax,m4[None+None*1+address]","+xor ebx,ebx","+test eax,eax","+je local:43","+mov esi,m4[eax+None*1+0x8]","+cmp esi,m4[ecx+None*1+0x8]","+jg local:43"," mov ebx,eax","-mov m4[eax+None*1+0xc],ecx","-mov eax,m4[esp+None*1+0x10]","-mov m4[edx+None*1+0x14],eax","-test esi,esi","-jne local:32","-xor eax,eax","-mov al,m1[esp+None*1+0x14]","-shl eax,0x10","-mov m4[edx+None*1+0x18],eax","+mov eax,m4[eax+None*1+0x28]","+test eax,eax","+jne local:36","+mov m4[ecx+None*1+0x28],eax","+test ebx,ebx","+je local:67","+mov m4[ebx+None*1+0x28],ecx","+mov m4[None+None*1+address],0x1","+call external","+mov eax,ecx","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+ret 0x10"," xor eax,eax"," mov al,m1[esp+None*1+0x18]"," shl eax,0x10","@@ -29,37 +60,10 @@"," xor eax,eax"," mov al,m1[esp+None*1+0x1c]"," shl eax,0x10","-jmp local:40","+mov m4[edx+None*1+0x20],eax"," xor eax,eax","-mov al,m1[esp+None*1+0x14]","-mov m4[edx+None*1+0x18],eax","-xor eax,eax","-mov al,m1[esp+None*1+0x18]","-mov m4[edx+None*1+0x1c],eax","-xor eax,eax","-mov al,m1[esp+None*1+0x1c]","-mov m4[edx+None*1+0x20],eax","-mov eax,m4[None+None*1+address]","-xor ecx,ecx","-test eax,eax","-je local:52","-mov edx,m4[ebx+None*1+0x4]","-cmp edx,m4[eax+None*1+0x4]","-jl local:52","-mov ecx,eax","-mov eax,m4[eax+None*1+0x24]","-test eax,eax","-jne local:45","-mov m4[ebx+None*1+0x24],eax","-test ecx,ecx","-je local:57","-mov m4[ecx+None*1+0x24],ebx","-jmp local:58","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],0x1","-call external","-mov eax,ebx","-pop ebp","-pop edi","-pop esi","-ret 0x10","+mov al,m1[esp+None*1+0x20]","+shl eax,0x10","+jmp local:31","+mov m4[None+None*1+address],ecx","+jmp local:47"]},{"name":"set_border_colour_","source":"E:\\library\\graphics\\palette.c","reference":"0x46f2dc","earlier":"0x47c924","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"assign_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f424","earlier":"0x47cbc4","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"set_active_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f4a4","earlier":"0x47cc28","same_instruction_shape":false,"reference_instructions":67,"earlier_instructions":66,"callers":[[4705320,"do_reschedule_",42]],"diff":["--- 0x47cc28","+++ 0x46f4a4","@@ -2,63 +2,64 @@"," push ecx"," push edx"," push esi","+push edi","+mov esi,m4[None+None*1+address]","+mov edi,m4[None+None*1+address]","+mov ecx,eax"," mov m4[None+None*1+address],eax"," test eax,eax","-je local:61","-mov edx,m4[eax+None*1+0x0]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x4]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x8]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0xc]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x10]","-mov ebx,m4[None+None*1+address]","-mov m4[None+None*1+address],edx","-mov edx,m4[eax+None*1+0x14]","-mov eax,m4[eax+None*1+0x18]","-dec ebx","+je local:59","+mov esi,m4[eax+None*1+0x4]","+mov edi,m4[eax+None*1+0x0]","+mov eax,m4[eax+None*1+0x8]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0xc]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x10]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x14]","+mov m4[None+None*1+address],eax","+mov eax,m4[ecx+None*1+0x18]"," shl eax,0x1e","-mov m4[None+None*1+address],edx"," shr eax,0x1f"," mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-mov eax,m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","-add eax,edx","-dec ecx","+lea eax,m4[edi+edx*1+0x0]"," mov m4[None+None*1+address],eax","-xor edx,edx","-xor eax,eax","-call external","-mov edx,m4[None+None*1+address]","-mov eax,edx","+lea edx,m4[esi+None*1+0xffffffff]","+lea eax,m4[edi+None*1+0xffffffff]","+mov m4[None+None*1+address],edx","+mov m4[None+None*1+address],eax","+mov edx,edi","+mov eax,edi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-mov eax,edx","+mov edx,esi","+mov eax,esi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-mov ecx,m4[None+None*1+address]","+xor ebx,ebx","+mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ebx"," mov ebx,m4[None+None*1+address]","-mov esi,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-add ecx,ebx"," mov m4[None+None*1+address],eax","-mov edx,m4[edx+None*1+0x14]","+mov edx,m4[ecx+None*1+0x14]"," test esi,esi","-jle local:61","-lea ebx,m4[None+esi*4+0x0]","+jle local:59","+lea ecx,m4[None+esi*4+0x0]"," xor eax,eax"," mov m4[eax+None*1+address],edx"," add eax,0x4","-add edx,ecx","-cmp eax,ebx","-jl local:56","+add edx,ebx","+cmp eax,ecx","+jl local:53","+lea eax,m4[eax+None*1+0x0]","+mov m4[None+None*1+address],edi","+mov m4[None+None*1+address],esi","+pop edi"," pop esi"," pop edx"," pop ecx"]},{"name":"get_active_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f580","earlier":"0x47cd0c","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4705548,"do_reschedule_",11]],"diff":[]},{"name":"set_screen_extent_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f5a4","earlier":"0x47cd30","same_instruction_shape":false,"reference_instructions":5,"earlier_instructions":5,"callers":[[4705584,"restore_2d_visual_",49]],"diff":["--- 0x47cd30","+++ 0x46f5a4","@@ -1,5 +1,5 @@","-mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],eax"," ret "]},{"name":"clear_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f5fc","earlier":"0x47cd88","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[[4705672,"Clear_Visible_Anim_Screen_",4]],"diff":[]},{"name":"allocate_screen_","source":"E:\\library\\graphics\\screen.c","reference":"0x46f66c","earlier":"0x47cdf8","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":31,"callers":[[4705784,"assign_screen_",2]],"diff":["--- 0x47cdf8","+++ 0x46f66c","@@ -1,31 +1,33 @@","-push ebx","+push ecx"," push edx","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]","+xor eax,eax"," xor edx,edx","-xor eax,eax","-test ebx,ebx","-jne local:15","-mov m4[eax+None*1+address],0x1","-lea eax,m4[None+edx*8+0x0]","-sub eax,edx","-shl eax,0x2","-add eax,address","-pop edx","-pop ebx","-ret ","+test ecx,ecx","+je local:13"," add eax,0x4"," inc edx"," cmp eax,0x190","-jge local:22","+jge local:24"," cmp m4[eax+None*1+address],0x0","-je local:7","-jmp local:15","-push 0x18d","+jne local:7","+push esi","+mov esi,0x1","+shl edx,0x2","+mov m4[eax+None*1+address],esi","+lea eax,m4[None+edx*8+0x0]","+sub eax,edx","+add eax,address","+pop esi","+pop edx","+pop ecx","+ret ","+push 0x1a7"," push address"," push address"," call external"," add esp,0xc"," xor eax,eax"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"set_text_font_","source":"E:\\library\\graphics\\text.c","reference":"0x4718f0","earlier":"0x47d6d0","same_instruction_shape":false,"reference_instructions":31,"earlier_instructions":31,"callers":[[4708048,"auto_size_menu_text_",3]],"diff":["--- 0x47d6d0","+++ 0x4718f0","@@ -11,20 +11,20 @@"," mov m1[None+None*1+address],bl"," mov m4[None+None*1+address],edx"," mov edx,m4[eax+None*1+0xc]","-mov ebx,m4[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," and edx,0x1","-or ebx,edx","-mov m4[None+None*1+address],ebx","+or ecx,edx","+mov m4[None+None*1+address],ecx"," mov bh,m1[None+None*1+address]"," and bh,0xfd"," mov edx,m4[eax+None*1+0xc]"," mov m1[None+None*1+address],bh"," and edx,0x2","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," mov eax,m4[eax+None*1+0x10]","-or ecx,edx","+or ebx,edx"," mov m4[None+None*1+address],eax","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ebx"," pop edx"," pop ecx"," pop ebx"]},{"name":"print_text_string_","source":"E:\\library\\graphics\\text.c","reference":"0x471a30","earlier":"0x47d7f0","same_instruction_shape":false,"reference_instructions":91,"earlier_instructions":84,"callers":[[4708336,"print_field_and_value_",9],[4708336,"print_field_and_value_",20]],"diff":["--- 0x47d7f0","+++ 0x471a30","@@ -7,12 +7,19 @@"," mov esi,eax"," mov ah,m1[None+None*1+address]"," test ah,0x1","-je local:46","+je local:53"," test ah,0x2","-je local:31","+je local:38"," mov ch,m1[esi+None*1+0x0]"," test ch,ch","-je external","+jne local:22","+mov m4[None+None*1+address],edi","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov ebx,m4[None+None*1+address]"," xor eax,eax"," mov edx,edi","@@ -31,7 +38,7 @@"," jmp local:12"," mov cl,m1[esi+None*1+0x0]"," test cl,cl","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," xor eax,eax"," mov edx,edi","@@ -43,11 +50,11 @@"," inc eax"," inc esi"," add edi,eax","-jmp local:31","+jmp local:38"," test ah,0x2","-je local:68","+je local:75"," cmp m1[esi+None*1+0x0],0x0","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," mov edx,edi"," xor ecx,ecx","@@ -65,9 +72,9 @@"," and eax,0xff"," inc eax"," add edi,eax","-jmp local:48","+jmp local:55"," cmp m1[esi+None*1+0x0],0x0","-je external","+je local:15"," mov ebx,m4[None+None*1+address]"," mov edx,edi"," xor ecx,ecx","@@ -81,4 +88,4 @@"," inc eax"," inc esi"," add edi,eax","-jmp local:68","+jmp local:75"]},{"name":"get_text_character_height_","source":"E:\\library\\graphics\\text.c","reference":"0x471b74","earlier":"0x47d92c","same_instruction_shape":true,"reference_instructions":3,"earlier_instructions":3,"callers":[[4708652,"auto_size_menu_text_",9]],"diff":[]},{"name":"get_text_string_width_","source":"E:\\library\\graphics\\text.c","reference":"0x471b7c","earlier":"0x47d934","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":34,"callers":[[4708660,"print_field_and_value_",14],[4708660,"auto_size_menu_text_",5]],"diff":["--- 0x47d934","+++ 0x471b7c","@@ -5,27 +5,28 @@"," mov bl,m1[None+None*1+address]"," xor edx,edx"," test bl,0x2","-je local:19","-cmp m1[eax+None*1+0x0],0x0","-je local:28","-xor ecx,ecx","-mov ebx,m4[None+None*1+address]","+je local:20"," mov cl,m1[eax+None*1+0x0]","+test cl,cl","+je local:29","+xor ebx,ebx","+mov bl,cl","+mov ecx,m4[None+None*1+address]"," inc eax","-mov bl,m1[ecx+ebx*1+0x0]","-and ebx,0xff","-inc ebx","-add edx,ebx","+mov cl,m1[ecx+ebx*1+0x0]","+and ecx,0xff","+inc ecx","+add edx,ecx"," jmp local:8"," mov esi,m4[None+None*1+address]"," inc esi","-mov ebx,eax","-mov cl,m1[ebx+None*1+0x0]","+mov ecx,eax","+mov bh,m1[ecx+None*1+0x0]"," inc eax","-test cl,cl","-je local:28","+test bh,bh","+je local:29"," add edx,esi","-jmp local:21","+jmp local:22"," mov eax,edx"," pop esi"," pop edx"]},{"name":"fill_translucent_masked_textured_polygon_","source":"E:\\library\\graphics\\polygon.c","reference":"0x471e58","earlier":"0x47ca68","same_instruction_shape":true,"reference_instructions":19,"earlier_instructions":19,"callers":[],"diff":[]},{"name":"set_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472d8c","earlier":"0x47e788","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"quick_set_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472e94","earlier":"0x47e88c","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"quick_set_windows_palette_registers_using_run_list_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x472f9c","earlier":"0x47e98c","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"get_windows_palette_registers_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x4730dc","earlier":"0x47eab4","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"draw_windows_xored_video_line_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x47317c","earlier":"0x47eb4c","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"draw_windows_textured_xored_video_line_","source":"E:\\library\\graphics\\ddraw.c","reference":"0x47321c","earlier":"0x47ebe0","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"initialise_maths_library_","source":"E:\\library\\maths\\initmath.c","reference":"0x473c50","earlier":"0x47f580","same_instruction_shape":false,"reference_instructions":64,"earlier_instructions":89,"callers":[[4715904,"install_lib32_",14]],"diff":["--- 0x47f580","+++ 0x473c50","@@ -1,89 +1,64 @@"," call external"," call external"," mov eax,eax","-push ebx","-sub esp,0x9c","-mov m4[esp+None*1+0x8c],0xf7060000","-mov ebx,0x4267ffff","-mov m4[esp+None*1+0x90],ebx","-mov eax,m4[esp+None*1+0x8c]","+push ecx","+push ebp","+mov ebp,esp","+sub esp,0xac","+and esp,0xfffffff8","+mov m4[esp+None*1+0x0],0xf7060000","+mov ecx,0x4267ffff","+mov m4[esp+None*1+0x4],ecx","+mov eax,m4[esp+None*1+0x0]"," mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x90]","+mov eax,m4[esp+None*1+0x4]"," mov m4[esp+None*1+0x98],eax"," fld1 "," fdiv m8[esp+None*1+0x94]"," fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x74]","-mov m4[esp+None*1+0x84],0xf7062000","-mov m4[esp+None*1+0x88],ebx","-mov eax,m4[esp+None*1+0x84]","-mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x88]","-mov m4[esp+None*1+0x98],eax","+fstp m8[esp+None*1+0x18]","+mov m4[esp+None*1+0x8],0xf7062000","+mov m4[esp+None*1+0xc],ecx","+mov eax,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x9c],eax","+mov eax,m4[esp+None*1+0xc]","+mov m4[esp+None*1+0xa0],eax"," fld1 ","-fdiv m8[esp+None*1+0x94]","-fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x6c]","-mov m4[esp+None*1+0x7c],0xf7064000","-mov m4[esp+None*1+0x80],ebx","-mov eax,m4[esp+None*1+0x7c]","-mov m4[esp+None*1+0x94],eax","-mov eax,m4[esp+None*1+0x80]","-mov m4[esp+None*1+0x98],eax","+fdiv m8[esp+None*1+0x9c]","+fmul m8[esp+None*1+0x9c]","+fstp m8[esp+None*1+0x20]","+mov m4[esp+None*1+0x10],0xf7064000","+mov m4[esp+None*1+0x14],ecx","+mov eax,m4[esp+None*1+0x10]","+mov m4[esp+None*1+0xa4],eax","+mov eax,m4[esp+None*1+0x14]","+mov m4[esp+None*1+0xa8],eax"," fld1 ","-fdiv m8[esp+None*1+0x94]","-fmul m8[esp+None*1+0x94]","-fstp m8[esp+None*1+0x64]","-fld m8[esp+None*1+0x74]","+fdiv m8[esp+None*1+0xa4]","+fmul m8[esp+None*1+0xa4]","+fstp m8[esp+None*1+0x28]","+fld m8[esp+None*1+0x18]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-ja local:57","-fld m8[esp+None*1+0x6c]","+ja external","+fld m8[esp+None*1+0x20]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-ja local:57","-fld m8[esp+None*1+0x64]","+ja external","+fld m8[esp+None*1+0x28]"," fadd m8[None+None*1+address]"," fabs "," fcomp m8[None+None*1+address]"," fnstsw ax"," sahf ","-jbe local:86","-fld m8[None+None*1+address]","-fld m8[esp+None*1+0x64]","-fadd st(1)","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x84]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x7c]","-fadd st(1)","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0x9c]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fadd m8[esp+None*1+0x94]","-fabs ","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-fld m8[esp+None*1+0xb4]","-sub esp,0x8","-fstp m8[esp+None*1+0x0]","-push address","-lea eax,m4[esp+None*1+0x34]","-push eax","-call external","-add esp,0x38","-add esp,0x9c","-pop ebx","+ja external","+mov esp,ebp","+pop ebp","+pop ecx"," ret "]},{"name":"mat_mul_scawen_","source":"E:\\library\\maths\\matrix.c","reference":"0x473fc0","earlier":"0x47f910","same_instruction_shape":true,"reference_instructions":86,"earlier_instructions":86,"callers":[],"diff":[]},{"name":"mat_mul_3x3_3x3_","source":"E:\\library\\maths\\matrix.c","reference":"0x474090","earlier":"0x47f9e0","same_instruction_shape":true,"reference_instructions":236,"earlier_instructions":236,"callers":[],"diff":[]},{"name":"get_transformation_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x4744ec","earlier":"0x47fe38","same_instruction_shape":false,"reference_instructions":162,"earlier_instructions":163,"callers":[[4718136,"create_creative_cannon_crater_",9],[4718136,"pitch_round_down_",40]],"diff":["--- 0x47fe38","+++ 0x4744ec","@@ -79,13 +79,11 @@"," mov ebx,m4[esp+None*1+0x18]"," mov m4[ebx+None*1+0x4],edx"," mov edx,m4[esp+None*1+0x10]","-mov ebx,edx","+mov ecx,edx"," mov m4[esp+None*1+0x0],edx","-neg ebx","+neg ecx"," mov edx,m4[esp+None*1+0xc]","-mov m4[esp+None*1+0x0],ebx","-mov eax,ebx","-mov ebx,m4[esp+None*1+0x18]","+mov eax,ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -93,6 +91,7 @@"," mov eax,m4[esp+None*1+0xc]"," mov m4[ebx+None*1+0x8],edx"," mov edx,ebp","+mov esi,ebp"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -100,7 +99,7 @@"," mov eax,m4[esp+None*1+0xc]"," mov m4[ebx+None*1+0xc],edx"," mov edx,edi","-mov esi,ebp","+mov m4[esp+None*1+0x0],ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2"]},{"name":"get_XZ_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x4747b4","earlier":"0x4800cc","same_instruction_shape":true,"reference_instructions":70,"earlier_instructions":70,"callers":[],"diff":[]},{"name":"get_ZX_matrix_","source":"E:\\library\\maths\\matrix.c","reference":"0x474874","earlier":"0x48018c","same_instruction_shape":true,"reference_instructions":72,"earlier_instructions":72,"callers":[],"diff":[]},{"name":"get_approx_2d_range_","source":"E:\\library\\maths\\range.c","reference":"0x474a20","earlier":"0x480330","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":21,"callers":[[4719408,"get_rounds_direction_change_to_target_",21]],"diff":["--- 0x480330","+++ 0x474a20","@@ -1,21 +1,25 @@"," push ebx"," push ecx","-mov ecx,edx","+mov ebx,edx"," cdq "," xor eax,edx"," sub eax,edx","-mov ebx,eax","-mov eax,ecx","+mov ecx,eax","+mov eax,ebx"," cdq "," xor eax,edx"," sub eax,edx","-cmp ebx,eax","-jl local:15","-shl ebx,0x2","-jmp local:16","-shl eax,0x2","-add eax,ebx","+cmp ecx,eax","+jl local:19","+shl ecx,0x2","+add eax,ecx"," sar eax,0x2"," pop ecx"," pop ebx"," ret ","+shl eax,0x2","+add eax,ecx","+sar eax,0x2","+pop ecx","+pop ebx","+ret "]},{"name":"get_approx_3d_range_","source":"E:\\library\\maths\\range.c","reference":"0x474a4c","earlier":"0x480358","same_instruction_shape":true,"reference_instructions":42,"earlier_instructions":42,"callers":[],"diff":[]},{"name":"iarctan360f_","source":"E:\\library\\maths\\trig.c","reference":"0x474d5c","earlier":"0x480658","same_instruction_shape":false,"reference_instructions":223,"earlier_instructions":223,"callers":[[4720216,"get_rounds_direction_change_to_target_",17],[4720216,"get_rounds_direction_change_to_target_",24],[4720216,"get_heading_pitch_roll_",25],[4720216,"get_heading_pitch_roll_",30]],"diff":["--- 0x480658","+++ 0x474d5c","@@ -23,7 +23,7 @@"," pop ecx"," pop ebx"," ret ","-jge local:220","+jge local:9"," mov eax,0xc0000000"," pop ecx"," pop ebx","@@ -33,11 +33,7 @@"," test edx,edx"," jle local:77"," cmp ecx,edx","-jne local:40","-mov eax,0x20000000","-pop ecx","-pop ebx","-ret ","+je local:54"," jge local:58"," mov ebx,edx"," mov edx,ecx","@@ -56,6 +52,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,0x20000000","+pop ecx","+pop ebx","+ret "," mov ebx,ecx"," xor eax,eax"," sar edx,0x1","@@ -77,11 +77,7 @@"," ret "," neg eax"," cmp ecx,eax","-jne local:84","-mov eax,0x60000000","-pop ecx","-pop ebx","-ret ","+je local:101"," jge local:105"," mov ebx,eax"," mov edx,ecx","@@ -100,6 +96,10 @@"," sub eax,edx"," sub ecx,eax"," mov eax,ecx","+pop ecx","+pop ebx","+ret ","+mov eax,0x60000000"," pop ecx"," pop ebx"," ret ","@@ -130,11 +130,7 @@"," jle local:176"," neg ecx"," cmp ecx,edx","-jne local:137","-mov eax,0xe0000000","-pop ecx","-pop ebx","-ret ","+je local:152"," jge local:156"," mov ebx,edx"," mov edx,ecx","@@ -154,34 +150,34 @@"," pop ecx"," pop ebx"," ret ","-mov ebx,ecx","-xor eax,eax","-sar edx,0x1","-rcr eax,0x1","-idiv ebx","-mov ecx,0x40000000","-cdq ","-xor eax,edx","-sub eax,edx","-shr eax,0x13","-adc eax,0x0","-mov eax,m4[None+eax*4+address]","-xor eax,edx","-sub eax,edx","-sub ecx,eax","-mov eax,ecx","-neg eax","-pop ecx","-pop ebx","-ret ","+mov eax,0xe0000000","+pop ecx","+pop ebx","+ret ","+mov ebx,ecx","+xor eax,eax","+sar edx,0x1","+rcr eax,0x1","+idiv ebx","+mov ecx,0x40000000","+cdq ","+xor eax,edx","+sub eax,edx","+shr eax,0x13","+adc eax,0x0","+mov eax,m4[None+eax*4+address]","+xor eax,edx","+sub eax,edx","+sub ecx,eax","+mov eax,ecx","+neg eax","+pop ecx","+pop ebx","+ret ","+neg eax"," neg ecx","-neg eax"," cmp ecx,eax","-jne local:184","-mov eax,0xa0000000","-pop ecx","-pop ebx","-ret ","+je local:199"," jge local:203"," mov ebx,eax"," mov edx,ecx","@@ -201,6 +197,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,0xa0000000","+pop ecx","+pop ebx","+ret "," mov ebx,ecx"," mov edx,eax"," xor eax,eax"]},{"name":"get_3d_normalised_unit_vector_","source":"E:\\library\\maths\\vector.c","reference":"0x474f50","earlier":"0x480850","same_instruction_shape":false,"reference_instructions":130,"earlier_instructions":117,"callers":[[4720720,"add_unit_vectors_",45]],"diff":["--- 0x480850","+++ 0x474f50","@@ -8,19 +8,7 @@"," xor eax,edx"," sub eax,edx"," cmp eax,0x3fffffff","-jg local:23","-mov eax,m4[ecx+None*1+0x4]","-cdq ","-xor eax,edx","-sub eax,edx","-cmp eax,0x3fffffff","-jg local:23","-mov eax,m4[ecx+None*1+0x8]","-cdq ","-xor eax,edx","-sub eax,edx","-cmp eax,0x3fffffff","-jle local:41","+jle local:42"," mov eax,m4[ecx+None*1+0x0]"," mov edx,eax"," sar edx,0x1f","@@ -45,61 +33,86 @@"," call external"," lea esi,m4[eax+None*1+0x1]"," test esi,esi","-je local:111","+jne local:55","+mov eax,esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,m4[ecx+None*1+0x4]","+cdq ","+xor eax,edx","+sub eax,edx","+cmp eax,0x3fffffff","+jg local:11","+mov eax,m4[ecx+None*1+0x8]","+cdq ","+xor eax,edx","+sub eax,edx","+cmp eax,0x3fffffff","+jg local:11","+jmp local:29"," mov eax,m4[ecx+None*1+0x0]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:61","+jge local:97"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x0]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:66","-cmp m4[ecx+None*1+0x0],0x0","-jle local:65","-mov eax,0x7fffffff","-jmp local:66","-mov eax,0x80000001"," mov m4[ecx+None*1+0x0],eax"," mov eax,m4[ecx+None*1+0x4]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:80","+jge local:103"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x4]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:85","-cmp m4[ecx+None*1+0x4],0x0","-jle local:84","-mov eax,0x7fffffff","-jmp local:85","-mov eax,0x80000001"," mov m4[ecx+None*1+0x4],eax"," mov eax,m4[ecx+None*1+0x8]"," cdq "," xor eax,edx"," sub eax,edx"," cmp eax,esi","-jge local:99","+jl local:109","+cmp m4[ecx+None*1+0x8],0x0","+jle local:122","+mov eax,0x7fffffff","+mov m4[ecx+None*1+0x8],eax","+mov eax,esi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+cmp m4[ecx+None*1+0x0],0x0","+jle local:101","+mov eax,0x7fffffff","+jmp local:67","+mov eax,0x80000001","+jmp local:67","+cmp m4[ecx+None*1+0x4],0x0","+jle local:107","+mov eax,0x7fffffff","+jmp local:80","+mov eax,0x80000001","+jmp local:80"," mov ebx,esi"," mov edx,m4[ecx+None*1+0x8]"," xor eax,eax"," sar edx,0x1"," rcr eax,0x1"," idiv ebx","-jmp local:110","-cmp m4[ecx+None*1+0x8],0x0","-jle local:109","-mov eax,0x7fffffff"," mov m4[ecx+None*1+0x8],eax"," mov eax,esi"," pop esi"]},{"name":"add_unit_vectors_","source":"E:\\library\\maths\\vector.c","reference":"0x475638","earlier":"0x480f30","same_instruction_shape":true,"reference_instructions":50,"earlier_instructions":50,"callers":[],"diff":[]},{"name":"ipx_destroy_events_","source":"E:\\library\\network\\ipx.c","reference":"0x4757b8","earlier":"0x4810a4","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4722852,"install_lib32_",16]],"diff":[]},{"name":"send_all_connections_","source":"E:\\library\\network\\net.c","reference":"0x476008","earlier":"0x481900","same_instruction_shape":false,"reference_instructions":36,"earlier_instructions":26,"callers":[[4724992,"send_modem_prefs_",19]],"diff":["--- 0x481900","+++ 0x476008","@@ -5,10 +5,20 @@"," push ebp"," mov edi,eax"," mov ebp,edx","+xor esi,esi"," xor ecx,ecx","-xor esi,esi"," cmp m4[esi+None*1+address],0x0","-je local:16","+jne local:21","+inc ecx","+add esi,0x20","+cmp ecx,0x10","+jl local:9","+pop ebp","+pop edi","+pop esi","+pop ecx","+pop ebx","+ret "," mov ebx,ebp"," mov edx,edi"," mov eax,ecx"]},{"name":"check_network_","source":"E:\\library\\network\\net.c","reference":"0x476054","earlier":"0x48193c","same_instruction_shape":false,"reference_instructions":11,"earlier_instructions":9,"callers":[[4725052,"send_modem_prefs_",20]],"diff":["--- 0x48193c","+++ 0x476054","@@ -1,9 +1,11 @@"," push edx"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:7","+je local:6"," cmp edx,0x1","-jne local:7","+je local:8","+pop edx","+ret "," call external"," pop edx"," ret "]},{"name":"set_network_channel_","source":"E:\\library\\network\\net.c","reference":"0x4769d0","earlier":"0x482288","same_instruction_shape":true,"reference_instructions":11,"earlier_instructions":11,"callers":[],"diff":[]},{"name":"open_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x476b80","earlier":"0x482420","same_instruction_shape":false,"reference_instructions":327,"earlier_instructions":357,"callers":[[4727840,"save_mission_data_",7]],"diff":["--- 0x482420","+++ 0x476b80","@@ -6,13 +6,13 @@"," mov m4[esp+None*1+0x6c],edx"," mov m4[esp+None*1+0x68],ebx"," mov m4[esp+None*1+0x64],ecx","-mov ebx,0x94","+mov ebx,0x97"," mov edx,address"," mov eax,0x18"," call external"," mov edi,ebp"," mov esi,ebp","-mov ebx,0x98","+mov ebx,0x9b"," mov m4[esp+None*1+0x74],eax"," mov m4[esp+None*1+0x70],eax"," sub ecx,ecx","@@ -40,16 +40,16 @@"," jne local:30"," pop edi"," mov dl,m1[ecx+None*1+0x14]","-mov ebx,m4[esp+None*1+0x68]","+mov eax,m4[esp+None*1+0x6c]"," and dl,0xf8","-mov eax,m4[esp+None*1+0x6c]","+mov m4[ecx+None*1+0x4],eax"," mov m1[ecx+None*1+0x14],dl"," xor edx,edx","-mov m4[ecx+None*1+0x4],eax","+mov ecx,m4[esp+None*1+0x68]"," mov m4[esp+None*1+0x78],edx","-cmp ebx,0x3","-ja local:318","-mov eax,ebx","+cmp ecx,0x3","+ja local:118","+mov eax,ecx"," jmp m4[None+eax*4+address]"," mov eax,ebp"," mov edx,address","@@ -59,18 +59,18 @@"," test eax,eax"," je local:61"," call external","-mov ecx,m4[esp+None*1+0x6c]","-cmp ecx,0x1","-jne local:119","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","+mov ebx,m4[esp+None*1+0x6c]","+cmp ebx,0x1","+jne local:155","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118"," mov edi,m4[None+None*1+address]"," test edi,edi","-je local:318","+je local:118"," push ebp"," push edi"," push address","@@ -83,9 +83,9 @@"," call external"," mov m4[esp+None*1+0x78],eax"," test eax,eax","-je local:318","+je local:118"," mov eax,m4[esp+None*1+0x70]","-mov ebx,0xbd","+mov ebx,0xc0"," mov edx,address"," mov edi,esp"," mov eax,m4[eax+None*1+0x0]","@@ -97,7 +97,7 @@"," repne scasb al,m1[edi+None*1+0x0]"," not ecx"," dec ecx","-mov ebx,0xbf","+mov ebx,0xc2"," lea eax,m4[ecx+None*1+0x1]"," mov edx,address"," mov ecx,m4[esp+None*1+0x70]","@@ -116,219 +116,19 @@"," cmp al,0x0"," jne local:107"," pop edi","-jmp local:318","-cmp ecx,0x2","-jne local:181","-mov edx,address","-jmp local:315","-mov edi,m4[esp+None*1+0x6c]","-cmp edi,0x1","-jne local:180","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov edx,m4[None+None*1+address]","-test edx,edx","-je local:318","-push ebp","-push edx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov ebx,0xdb","-mov edx,address","-mov edi,esp","-mov eax,m4[ecx+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0xdd","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x74]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:178","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:168","-pop edi","-jmp local:318","-cmp edi,0x2","-mov edx,address","-jmp local:315","-mov edx,m4[esp+None*1+0x6c]","-cmp edx,0x1","-jne local:241","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov ecx,m4[None+None*1+address]","-test ecx,ecx","-je local:318","-push ebp","+cmp m4[esp+None*1+0x78],0x0","+jne local:136","+mov ecx,m4[esp+None*1+0x8c]"," push ecx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov eax,m4[esp+None*1+0x74]","-mov ebx,0xf8","-mov edx,address","-mov edi,esp","-mov eax,m4[eax+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0xfa","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x74]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:239","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:229","-pop edi","-jmp local:318","-cmp edx,0x2","-mov edx,address","-jmp local:315","-mov eax,ebp","-mov edx,address","-call external","-mov eax,ebp","-call external","-test eax,eax","-je local:252","-call external","-mov ecx,m4[esp+None*1+0x6c]","-cmp ecx,0x1","-jne local:310","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-jne local:318","-mov edi,m4[None+None*1+address]","-test edi,edi","-je local:318","-push ebp","-push edi","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov edx,address","-mov eax,esp","-call external","-mov m4[esp+None*1+0x78],eax","-test eax,eax","-je local:318","-mov eax,m4[esp+None*1+0x70]","-mov ebx,0x11c","-mov edx,address","-mov edi,esp","-mov eax,m4[eax+None*1+0x0]","-mov esi,esp","-call external","-sub ecx,ecx","-dec ecx","-xor eax,eax","-repne scasb al,m1[edi+None*1+0x0]","-not ecx","-dec ecx","-mov ebx,0x11e","-lea eax,m4[ecx+None*1+0x1]","-mov edx,address","-mov ecx,m4[esp+None*1+0x70]","-call external","-mov edi,eax","-mov m4[ecx+None*1+0x0],eax","-push edi","-mov al,m1[esi+None*1+0x0]","-mov m1[edi+None*1+0x0],al","-cmp al,0x0","-je local:308","-mov al,m1[esi+None*1+0x1]","-add esi,0x2","-mov m1[edi+None*1+0x1],al","-add edi,0x2","-cmp al,0x0","-jne local:298","-pop edi","-jmp local:318","-cmp ecx,0x2","-jne local:314","-mov edx,address","-jmp local:315","-mov edx,address","-mov eax,ebp","-call external","-mov m4[esp+None*1+0x78],eax","-cmp m4[esp+None*1+0x78],0x0","-jne local:336","-mov ebx,m4[esp+None*1+0x8c]","+mov ebx,m4[esp+None*1+0x68]"," push ebx","-mov ecx,m4[esp+None*1+0x68]","-push ecx"," push ebp"," push address"," lea eax,m4[esp+None*1+0x10]"," push eax"," call external"," add esp,0x14","-push 0x134","+push 0x137"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax","@@ -339,10 +139,8 @@"," mov esi,m4[esp+None*1+0x68]"," mov m4[ecx+None*1+0xc],eax"," cmp esi,0x1","-jne local:344","+jne local:325"," mov ebx,0x2","-jmp local:345","-xor ebx,ebx"," xor edx,edx"," call external"," mov eax,m4[esp+None*1+0x78]","@@ -355,3 +153,175 @@"," pop edi"," pop esi"," ret 0x4","+cmp ebx,0x2","+jne local:162","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edi,m4[esp+None*1+0x6c]","+cmp edi,0x1","+je local:176","+cmp edi,0x2","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov edx,m4[None+None*1+address]","+test edx,edx","+je local:118","+push ebp","+push edx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x74]","+mov ebx,0xde","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0xe0","+lea eax,m4[ecx+None*1+0x1]","+mov edx,address","+mov ecx,m4[esp+None*1+0x74]","+jmp local:103","+mov edx,m4[esp+None*1+0x6c]","+cmp edx,0x1","+je local:225","+cmp edx,0x2","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov ebx,m4[None+None*1+address]","+test ebx,ebx","+je local:118","+push ebp","+push ebx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x74]","+mov ebx,0xfb","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0xfd","+lea eax,m4[ecx+None*1+0x1]","+mov edx,address","+mov ecx,m4[esp+None*1+0x74]","+jmp local:103","+mov eax,ebp","+mov edx,address","+call external","+mov eax,ebp","+call external","+test eax,eax","+je local:273","+call external","+mov ebx,m4[esp+None*1+0x6c]","+cmp ebx,0x1","+je local:283","+cmp ebx,0x2","+jne local:320","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+jne local:118","+mov edi,m4[None+None*1+address]","+test edi,edi","+je local:118","+push ebp","+push edi","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov edx,address","+mov eax,esp","+call external","+mov m4[esp+None*1+0x78],eax","+test eax,eax","+je local:118","+mov eax,m4[esp+None*1+0x70]","+mov ebx,0x11f","+mov edx,address","+mov edi,esp","+mov eax,m4[eax+None*1+0x0]","+mov esi,esp","+call external","+sub ecx,ecx","+dec ecx","+xor eax,eax","+repne scasb al,m1[edi+None*1+0x0]","+not ecx","+dec ecx","+mov ebx,0x121","+jmp local:100","+mov edx,address","+mov eax,ebp","+call external","+mov m4[esp+None*1+0x78],eax","+jmp local:118","+xor ebx,ebx","+jmp local:143"]},{"name":"close_file_","source":"E:\\library\\os\\file.c","reference":"0x476fd4","earlier":"0x4828a8","same_instruction_shape":false,"reference_instructions":24,"earlier_instructions":23,"callers":[[4729000,"save_mission_data_",21]],"diff":["--- 0x4828a8","+++ 0x476fd4","@@ -6,14 +6,12 @@"," shl eax,0x1e"," sar eax,0x1f"," test eax,eax","-jne local:11","-mov eax,m4[ecx+None*1+0xc]","-call external","-mov ebx,0x160","+je local:21","+mov ebx,0x163"," mov edx,address"," mov eax,m4[ecx+None*1+0x0]"," call external","-mov ebx,0x161","+mov ebx,0x164"," mov edx,address"," mov eax,ecx"," call external","@@ -21,3 +19,6 @@"," pop ecx"," pop ebx"," ret ","+mov eax,m4[ecx+None*1+0xc]","+call external","+jmp local:9"]},{"name":"write_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x477018","earlier":"0x4828e8","same_instruction_shape":false,"reference_instructions":105,"earlier_instructions":93,"callers":[[4729064,"write_string_file_verbose_",19]],"diff":["--- 0x4828e8","+++ 0x477018","@@ -11,21 +11,12 @@"," sar eax,0x1f"," xor ecx,ecx"," test eax,eax","-je local:23","-mov edx,address","-mov eax,m4[esi+None*1+0x0]","-call external","-mov m4[esi+None*1+0xc],eax","-xor ebx,ebx","-mov edx,m4[esi+None*1+0x10]","-mov eax,m4[esi+None*1+0xc]","-mov m4[esi+None*1+0x8],ecx","-call external","+jne local:47"," mov edx,m4[esi+None*1+0x4]"," cmp edx,0x2","-jne local:63","+jne local:79"," cmp edx,m4[esi+None*1+0x8]","-je local:36","+je local:27"," mov edx,m4[esi+None*1+0x10]"," mov eax,m4[esi+None*1+0xc]"," xor ebx,ebx","@@ -41,14 +32,34 @@"," call external"," mov ecx,eax"," cmp eax,edi","-jne local:46","+jne local:57"," add m4[esi+None*1+0x10],edi","-jmp local:79","+mov eax,m4[esi+None*1+0x14]","+shl eax,0x1e","+sar eax,0x1f","+test eax,eax","+jne local:96","+mov eax,ecx","+add esp,0x68","+pop ebp","+pop edi","+pop esi","+ret 0x4","+mov edx,address","+mov eax,m4[esi+None*1+0x0]","+call external","+mov m4[esi+None*1+0xc],eax","+xor ebx,ebx","+mov edx,m4[esi+None*1+0x10]","+mov eax,m4[esi+None*1+0xc]","+mov m4[esi+None*1+0x8],ecx","+call external","+jmp local:14"," mov eax,m4[esi+None*1+0x14]"," shl eax,0x1d"," sar eax,0x1f"," test eax,eax","-je local:79","+je local:36"," mov edx,m4[esp+None*1+0x78]"," push edx"," push ebp","@@ -59,8 +70,13 @@"," push eax"," call external"," add esp,0x14","-push 0x199","-jmp local:74","+push 0x19c","+push address","+lea eax,m4[esp+None*1+0x8]","+push eax","+call external","+add esp,0xc","+jmp local:36"," mov ebx,m4[esp+None*1+0x78]"," push ebx"," push ebp","@@ -71,17 +87,13 @@"," push eax"," call external"," add esp,0x14","-push 0x1a0","+push 0x1a3"," push address"," lea eax,m4[esp+None*1+0x8]"," push eax"," call external"," add esp,0xc","-mov eax,m4[esi+None*1+0x14]","-shl eax,0x1e","-sar eax,0x1f","-test eax,eax","-je local:87","+jmp local:36"," mov eax,m4[esi+None*1+0xc]"," call external"," mov m4[esi+None*1+0xc],0x0"]},{"name":"write_string_file_verbose_","source":"E:\\library\\os\\file.c","reference":"0x477690","earlier":"0x482ef4","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"get_file_spec_","source":"E:\\library\\os\\file.c","reference":"0x477a28","earlier":"0x483250","same_instruction_shape":true,"reference_instructions":43,"earlier_instructions":43,"callers":[],"diff":[]},{"name":"find_read_only_path_","source":"E:\\library\\os\\file.c","reference":"0x47807c","earlier":"0x483870","same_instruction_shape":false,"reference_instructions":98,"earlier_instructions":90,"callers":[[4733040,"install_lib32_",5]],"diff":["--- 0x483870","+++ 0x47807c","@@ -6,23 +6,56 @@"," sub esp,0x3e8"," mov ebx,eax"," test eax,eax","-je local:82","+je local:36"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:49","+jne local:45","+mov edx,0x43","+push ebx","+push edx","+push address","+lea eax,m4[esp+None*1+0xc]","+push eax","+call external","+add esp,0x10","+mov eax,esp","+call external","+test eax,eax","+jne local:83","+inc edx","+cmp edx,0x5a","+jle local:13","+mov ecx,m4[None+None*1+address]","+test ecx,ecx","+je local:36","+mov ebx,0x670","+mov edx,address","+mov eax,ecx","+call external","+xor ebx,ebx","+mov m4[None+None*1+address],ebx","+xor esi,esi","+mov m4[None+None*1+address],esi","+add esp,0x3e8","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov edi,esp"," mov esi,edx"," push edi"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:25","+je local:58"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:15","+jne local:48"," pop edi"," mov edi,esp"," mov esi,ebx","@@ -35,30 +68,19 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:44","+je local:77"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:34","+jne local:67"," pop edi"," mov eax,esp"," call external"," test eax,eax","-jne local:83","-mov edx,0x43","-push ebx","-push edx","-push address","-lea eax,m4[esp+None*1+0xc]","-push eax","-call external","-add esp,0x10","-mov eax,esp","-call external","-test eax,eax","-je local:70","+jne local:38","+jmp local:12"," push edx"," push address"," lea eax,m4[esp+None*1+0x8]","@@ -67,20 +89,6 @@"," add esp,0xc"," mov eax,esp"," call external","-jmp local:83","-inc edx","-cmp edx,0x5a","-jle local:50","-mov ebx,m4[None+None*1+address]","-test ebx,ebx","-je local:82","-mov edx,address","-mov eax,ebx","-mov ebx,0x667","-xor ecx,ecx","-call external","-mov m4[None+None*1+address],ecx","-call external"," add esp,0x3e8"," pop edi"," pop esi"]},{"name":"create_sound_buffer_","source":"E:\\library\\sound\\dsound.c","reference":"0x478ecc","earlier":"0x484664","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"duplicate_sound_buffer_","source":"E:\\library\\sound\\dsound.c","reference":"0x479028","earlier":"0x4847b4","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"install_16bit_segments_","source":"E:\\library\\system\\16bit.c","reference":"0x4790c0","earlier":"0x484840","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[],"diff":[]},{"name":"get_event_","source":"E:\\library\\system\\event.c","reference":"0x479254","earlier":"0x4849d4","same_instruction_shape":false,"reference_instructions":109,"earlier_instructions":113,"callers":[[4737492,"process_events_",2]],"diff":["--- 0x4849d4","+++ 0x479254","@@ -1,91 +1,90 @@","-push ebx","-push ecx"," push edx","-push edi"," mov edx,eax"," cli "," mov al,m1[None+None*1+address]"," cmp al,m1[None+None*1+address]","-je local:105","-xor ebx,ebx","-mov bl,al","-lea eax,m4[None+ebx*4+0x0]","-add eax,ebx","+je local:104","+push edi","+push ecx","+push ebx","+xor ecx,ecx","+mov cl,al","+lea eax,m4[None+ecx*4+0x0]","+add eax,ecx"," shl eax,0x2"," add eax,address","-mov ebx,m4[eax+None*1+0x0]","-mov m4[edx+None*1+0x0],ebx","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+mov ecx,m4[eax+None*1+0x0]","+mov m4[edx+None*1+0x0],ecx","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax","-dec m4[None+None*1+address]"," mov bl,m1[None+None*1+address]","+mov ecx,m4[None+None*1+address]"," inc bl","-mov ecx,m4[edx+None*1+0x0]","+dec ecx"," mov m1[None+None*1+address],bl","-cmp ecx,0x1","-jne local:35","-mov eax,m4[edx+None*1+0x4]","-call external","-mov m4[edx+None*1+0x8],eax","+mov ebx,m4[edx+None*1+0x0]","+mov m4[None+None*1+address],ecx","+cmp ebx,0x1","+je local:57"," cmp m4[edx+None*1+0x0],0x2","-jne local:71","-mov al,m1[None+None*1+address]","-cmp al,m1[None+None*1+address]","-je local:71","+jne local:70","+mov bh,m1[None+None*1+address]","+cmp bh,m1[None+None*1+address]","+je local:70"," xor eax,eax"," mov al,m1[None+None*1+address]"," imul eax,eax,0x14"," add eax,address"," mov edi,m4[eax+None*1+0x0]"," cmp edi,0x2","-jne local:62","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+jne local:61","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax","-mov ebx,m4[None+None*1+address]","-mov ch,m1[None+None*1+address]","-dec ebx","-inc ch","-mov m4[None+None*1+address],ebx","-mov m1[None+None*1+address],ch","-jmp local:37","+dec m4[None+None*1+address]","+inc m1[None+None*1+address]","+jmp local:36","+mov eax,m4[edx+None*1+0x4]","+call external","+mov m4[edx+None*1+0x8],eax","+jmp local:34"," cmp edi,0x5","-jne local:71","+jne local:70","+mov cl,m1[None+None*1+address]"," mov eax,m4[None+None*1+address]","-mov cl,m1[None+None*1+address]","+inc cl"," dec eax","-inc cl","+mov m1[None+None*1+address],cl"," mov m4[None+None*1+address],eax","-mov m1[None+None*1+address],cl","-jmp local:37","+jmp local:36"," cmp m4[edx+None*1+0x0],0x5","-jne local:97","+jne local:96"," mov al,m1[None+None*1+address]"," cmp al,m1[None+None*1+address]","-je local:97","+je local:96"," xor eax,eax"," mov al,m1[None+None*1+address]"," imul eax,eax,0x14"," add eax,address"," cmp m4[eax+None*1+0x0],0x5","-jne local:97","-mov ebx,m4[eax+None*1+0x4]","-mov m4[edx+None*1+0x4],ebx","-mov ebx,m4[eax+None*1+0x8]","-mov m4[edx+None*1+0x8],ebx","-mov ebx,m4[eax+None*1+0xc]","-mov m4[edx+None*1+0xc],ebx","+jne local:96","+mov ecx,m4[eax+None*1+0x4]","+mov m4[edx+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x8]","+mov m4[edx+None*1+0x8],ecx","+mov ecx,m4[eax+None*1+0xc]","+mov m4[edx+None*1+0xc],ecx"," mov eax,m4[eax+None*1+0x10]"," mov m4[edx+None*1+0x10],eax"," mov edi,m4[None+None*1+address]","@@ -94,20 +93,17 @@"," inc bl"," mov m4[None+None*1+address],edi"," mov m1[None+None*1+address],bl","-jmp local:73","+jmp local:72"," sti "," cld "," mov eax,0x1","+pop ebx","+pop ecx"," pop edi"," pop edx","-pop ecx","-pop ebx"," ret "," sti "," cld "," xor eax,eax","-pop edi"," pop edx","-pop ecx","-pop ebx"," ret "]},{"name":"register_exit_","source":"E:\\library\\system\\exit.c","reference":"0x479440","earlier":"0x484bc0","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":24,"callers":[[4737984,"install_lib32_",9],[4737984,"install_object_manager_",33]],"diff":["--- 0x484bc0","+++ 0x479440","@@ -3,13 +3,7 @@"," push edx"," mov ecx,eax"," cmp m4[None+None*1+address],0x0","-je local:12","-mov eax,address","-call external","-xor ebx,ebx","-mov eax,address","-mov m4[None+None*1+address],ebx","-call local:0","+jne local:18"," mov ebx,0x40"," mov edx,address"," mov eax,0x8","@@ -22,3 +16,10 @@"," pop ecx"," pop ebx"," ret ","+mov eax,address","+call external","+xor ebx,ebx","+mov eax,address","+mov m4[None+None*1+address],ebx","+call local:0","+jmp local:6"]},{"name":"install_joystick_","source":"E:\\library\\system\\joystick.c","reference":"0x4795a0","earlier":"0x484d30","same_instruction_shape":false,"reference_instructions":117,"earlier_instructions":117,"callers":[[4738352,"install_lib32_",12]],"diff":["--- 0x484d30","+++ 0x4795a0","@@ -1,16 +1,17 @@"," push ebx","-push ecx"," push edx","+push esi"," call external","+mov edx,0x1"," mov eax,address","-mov edx,0x1"," mov ebx,0x3","+xor esi,esi","+mov m4[None+None*1+address],edx"," call external","-xor ecx,ecx"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],esi"," call external"," mov eax,0x5"," call external","@@ -110,8 +111,7 @@"," mov edx,0x3"," mov eax,address"," call external","+pop esi"," pop edx","-pop ecx"," pop ebx","-mov eax,eax"," ret "]},{"name":"register_key_","source":"E:\\library\\system\\key.c","reference":"0x47a560","earlier":"0x485c3c","same_instruction_shape":false,"reference_instructions":25,"earlier_instructions":24,"callers":[[4742204,"test_waypoint_stuff_",7],[4742204,"push_keyboard_",3],[4742204,"install_object_manager_",9]],"diff":["--- 0x485c3c","+++ 0x47a560","@@ -4,12 +4,8 @@"," mov esi,eax"," mov ecx,edx"," cmp m4[None+None*1+address],0x0","-je local:11","-mov eax,address","-xor ebx,ebx","-call external","-mov m4[None+None*1+address],ebx","-mov ebx,0x3e","+jne local:20","+mov ebx,0x3f"," mov edx,address"," mov eax,0xc"," call external","@@ -22,3 +18,8 @@"," pop ecx"," pop ebx"," ret ","+mov eax,address","+xor ebx,ebx","+call external","+mov m4[None+None*1+address],ebx","+jmp local:7"]},{"name":"push_keyboard_","source":"E:\\library\\system\\key.c","reference":"0x47a600","earlier":"0x485cdc","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"dispatch_down_keys_","source":"E:\\library\\system\\key.c","reference":"0x47a700","earlier":"0x485dd4","same_instruction_shape":false,"reference_instructions":72,"earlier_instructions":61,"callers":[[4742612,"process_events_",10]],"diff":["--- 0x485dd4","+++ 0x47a700","@@ -1,60 +1,71 @@"," push ebx"," push ecx"," push edx","+mov ebx,eax"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:57","-mov ebx,m4[edx+None*1+0x0]","-cmp ebx,0xffffffff","-je local:57","+je local:15","+mov ecx,m4[edx+None*1+0x0]","+cmp ecx,0xffffffff","+je local:15"," test m1[edx+None*1+0x2],0x2","-je local:54","-mov eax,ebx","+jne local:19","+mov edx,m4[edx+None*1+0x8]","+test edx,edx","+jne local:7","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,ecx"," and eax,0x7f"," call external"," test eax,eax","-je local:54","+je local:12"," mov eax,m4[edx+None*1+0x0]"," and eax,0x7f"," call external","-mov cl,m1[edx+None*1+0x1]","-mov ebx,0x1","-test cl,0x40","-je local:32","-mov eax,0x2a","-call external","-test eax,eax","-je local:31","-mov eax,0x36","-call external","-test eax,eax","-jne local:32","-xor ebx,ebx","+mov al,m1[edx+None*1+0x1]","+mov ecx,0x1","+test al,0x40","+jne local:50"," test m1[edx+None*1+0x1],0x20","-je local:39","+je local:38"," mov eax,0x1d"," call external"," test eax,eax","-jne local:39","-xor ebx,ebx","+jne local:38","+xor ecx,ecx"," test m1[edx+None*1+0x1],0x10","-je local:46","-mov eax,0x38","-call external","-test eax,eax","-jne local:46","-xor ebx,ebx","+jne local:61","+test ecx,ecx","+je local:12"," test ebx,ebx","-je local:54","+jne local:15"," mov eax,m4[edx+None*1+0x0]"," call m4[edx+None*1+0x4]"," pop edx"," pop ecx"," pop ebx"," ret ","+mov eax,0x2a","+call external","+test eax,eax","+jne local:56","+xor ecx,ecx","+jmp local:31","+mov eax,0x36","+call external","+test eax,eax","+je local:54","+jmp local:31","+mov eax,0x38","+call external","+test eax,eax","+jne local:40"," mov edx,m4[edx+None*1+0x8]"," test edx,edx","-jne local:6","+jne local:7"," pop edx"," pop ecx"," pop ebx"]},{"name":"do_key_event_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a7c0","earlier":"0x485e90","same_instruction_shape":false,"reference_instructions":70,"earlier_instructions":68,"callers":[[4742800,"process_events_",8]],"diff":["--- 0x485e90","+++ 0x47a7c0","@@ -1,68 +1,70 @@"," push edx","-mov eax,m4[eax+None*1+0x4]","-mov edx,eax","-and edx,0x7f","-cmp edx,0x38","-jb local:16","-jbe local:59","-cmp edx,0x58","-jb local:13","-jbe local:46","-cmp edx,0xfa","-je local:59","-jmp local:60","-cmp edx,0x57","-je local:33","-jmp local:60","-cmp edx,0x2a","-jb local:26","-jbe local:59","-cmp edx,0x36","-je local:59","-test eax,eax","-je local:65","+mov edx,m4[eax+None*1+0x4]","+mov eax,edx","+and eax,0x7f","+cmp eax,0x38","+jae local:13","+cmp eax,0x2a","+jae local:45","+cmp eax,0x1d","+jne local:22","+mov eax,0x1","+pop edx","+ret ","+jbe local:10","+cmp eax,0x58","+jae local:28","+cmp eax,0x57","+jne local:22","+cmp edx,0x2057","+je local:49","+cmp edx,0x3057","+je local:56","+test edx,edx","+je local:10","+mov eax,edx"," call external"," pop edx"," ret ","-cmp edx,0x1d","-je local:59","-test eax,eax","-je local:65","+ja local:40","+cmp edx,0x2058","+je local:63","+cmp edx,0x3058","+jne local:22","+xor eax,eax"," call external","+mov eax,0x14","+call external","+mov eax,0x1"," pop edx"," ret ","-cmp eax,0x2057","-jne local:40","+cmp eax,0xfa","+jne local:22","+mov eax,0x1","+pop edx","+ret ","+jbe local:10","+cmp eax,0x36","+je local:10","+jmp local:22"," xor eax,eax"," call external"," mov eax,0xffffffff"," call external","-xor eax,eax","-cmp eax,0x3057","-jne local:60","+mov eax,0x1","+pop edx","+ret "," xor eax,eax"," call external"," mov eax,0xffffffec","-jmp local:58","-cmp eax,0x2058","-jne local:53","+call external","+mov eax,0x1","+pop edx","+ret "," xor eax,eax"," call external"," mov eax,0x1"," call external","-xor eax,eax","-cmp eax,0x3058","-jne local:60","-xor eax,eax","-call external","-mov eax,0x14","-call external","-xor eax,eax","-test eax,eax","-je local:65","-call external","-pop edx","-ret "," mov eax,0x1"," pop edx"," ret "]},{"name":"check_key_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a91c","earlier":"0x485ff0","same_instruction_shape":true,"reference_instructions":4,"earlier_instructions":4,"callers":[[4743152,"check_for_user_abort_",1],[4743152,"check_for_user_abort_",5],[4743152,"check_for_user_abort_",9],[4743152,"check_for_user_abort_",13],[4743152,"check_for_user_abort_",17],[4743152,"check_for_user_abort_",21]],"diff":[]},{"name":"clear_key_count_","source":"E:\\library\\system\\keyboard.c","reference":"0x47a938","earlier":"0x48600c","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[[4743180,"push_keyboard_",7]],"diff":[]},{"name":"mem_free_","source":"E:\\library\\system\\memory.c","reference":"0x47b170","earlier":"0x486784","same_instruction_shape":false,"reference_instructions":11,"earlier_instructions":9,"callers":[[4745092,"clear_debrief_record_",11]],"diff":["--- 0x486784","+++ 0x47b170","@@ -2,7 +2,9 @@"," mov ecx,eax"," call external"," test eax,eax","-jne local:7","+je local:7","+pop ecx","+ret "," mov eax,ecx"," call external"," pop ecx"]},{"name":"register_garbage_collect_","source":"E:\\library\\system\\memory.c","reference":"0x47b1f8","earlier":"0x486804","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"lock_virtual_memory_","source":"E:\\library\\system\\memory.c","reference":"0x47b294","earlier":"0x4868d8","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4745432,"install_16bit_segments_",3]],"diff":[]},{"name":"install_mouse_","source":"E:\\library\\system\\mouse.c","reference":"0x47b864","earlier":"0x486e64","same_instruction_shape":false,"reference_instructions":239,"earlier_instructions":265,"callers":[[4746852,"install_lib32_",7]],"diff":["--- 0x486e64","+++ 0x47b864","@@ -4,7 +4,7 @@"," push esi"," push edi"," push ebp","-sub esp,0x310","+sub esp,0x300"," mov edx,0x1"," mov ebx,address"," mov eax,address","@@ -84,135 +84,37 @@"," mov m4[None+None*1+address],eax"," mov eax,0x12"," call external","-mov ecx,0xf","-mov m4[None+None*1+address],eax","-mov eax,m4[None+None*1+address]","-mov edx,0x20","-call external","-mov ebx,ecx","-mov eax,edx","-call external","-mov m4[None+None*1+address],eax","-call external","-mov eax,m4[None+None*1+address]","-mov m4[eax+None*1+0x10],address","-mov eax,address","+mov m4[None+None*1+address],eax","+mov ecx,0xf","+mov eax,m4[None+None*1+address]","+mov edx,0x20","+call external","+mov ebx,ecx","+mov eax,edx","+call external","+mov m4[None+None*1+address],eax","+call external","+mov eax,address","+mov edx,0x20","+call external","+mov ecx,m4[None+None*1+address]","+xor ebx,ebx","+mov eax,edx","+mov ecx,m4[ecx+None*1+0x14]","+call external","+mov edx,address","+mov m4[None+None*1+address],eax","+xor ecx,ecx","+xor ebx,ebx","+mov eax,address","+call external","+mov eax,address","+call external"," test eax,eax","-je local:107","-cmp m4[None+None*1+address],0x0","-jne local:107","+jne local:149"," mov ecx,0x1","-mov ebx,0x2","-mov edx,0xfd","-call external","-mov edx,0x20","-mov ecx,m4[None+None*1+address]","-xor ebx,ebx","-mov eax,edx","-mov ecx,m4[ecx+None*1+0x14]","-call external","-mov edx,address","-mov m4[None+None*1+address],eax","-xor ecx,ecx","-xor ebx,ebx","-mov eax,address","-call external","-mov eax,address","-call external","-test eax,eax","-je local:212","-mov ebx,0x158","-mov edx,address","-mov eax,0x4b000","-call external","-mov esi,eax","-mov eax,esp","-push eax","-mov ecx,0x1e0","-mov ebx,0x280","-push 0x0","-mov edx,esi","-mov eax,address","-call external","-mov eax,esp","-push eax","-mov edx,esi","-xor ecx,ecx","-push 0x280","-xor ebx,ebx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x20","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x40","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x60","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x80","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xa0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xc0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0xe0","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov eax,esp","-push eax","-mov ebx,0x100","-mov edx,esi","-push 0x280","-xor ecx,ecx","-mov eax,m4[None+None*1+address]","-call external","-mov ebx,0x168","-mov edx,address","-mov eax,esi","-call external","-mov ecx,0x1","-mov eax,m4[None+None*1+address]","-mov edi,0x64","+mov eax,m4[None+None*1+address]","+mov esi,0x64"," call external"," mov ebx,m4[None+None*1+address]"," mov edx,m4[None+None*1+address]","@@ -220,31 +122,13 @@"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],ecx"," mov ecx,m4[None+None*1+address]","-mov ebp,0x3","-call external","+mov edi,0x3","+call external","+mov edx,0x78"," mov eax,0xa0","-mov edx,0x78","-mov ebx,m4[None+None*1+address]","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],ebp","-mov m4[esp+None*1+0x300],eax","-mov m4[esp+None*1+0x304],edx","-test ebx,ebx","-je local:240","-mov esi,m4[None+None*1+address]","-mov edi,m4[None+None*1+address]","-sub esi,eax","-sub edi,edx"," mov m4[None+None*1+address],esi"," mov m4[None+None*1+address],edi","-jmp local:247","-lea eax,m4[esp+None*1+0x300]","-push eax","-push ebp","-push 0x400","-mov ecx,m4[None+None*1+address]","-push ecx","-call m4[None+None*1+address]","+call external"," mov eax,address"," xor ebp,ebp"," call external","@@ -255,7 +139,7 @@"," push eax"," mov m4[None+None*1+address],ebp"," call m4[None+None*1+address]","-add esp,0x310","+add esp,0x300"," pop ebp"," pop edi"," pop esi","@@ -263,3 +147,93 @@"," pop ecx"," pop ebx"," ret ","+mov ebx,0x164","+mov edx,address","+mov eax,0x4b000","+call external","+mov esi,eax","+mov eax,esp","+push eax","+mov ecx,0x1e0","+mov ebx,0x280","+push 0x0","+mov edx,esi","+mov eax,address","+call external","+mov eax,esp","+push eax","+mov edx,esi","+xor ecx,ecx","+push 0x280","+xor ebx,ebx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x20","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x40","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x60","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x80","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xa0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xc0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0xe0","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov eax,esp","+push eax","+mov ebx,0x100","+mov edx,esi","+push 0x280","+xor ecx,ecx","+mov eax,m4[None+None*1+address]","+call external","+mov ebx,0x174","+mov edx,address","+mov eax,esi","+call external","+jmp local:114"]},{"name":"put_serial_char_","source":"E:\\library\\system\\sercomms.c","reference":"0x47c530","earlier":"0x487adc","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"put_serial_string_","source":"E:\\library\\system\\sercomms.c","reference":"0x47c55c","earlier":"0x487b08","same_instruction_shape":false,"reference_instructions":16,"earlier_instructions":27,"callers":[[4750088,"transmit_message_",19]],"diff":["--- 0x487b08","+++ 0x47c55c","@@ -1,27 +1,16 @@"," push ebx","-push ecx"," push edx","-sub esp,0x8","-mov ebx,eax","+mov edx,eax"," cmp m1[eax+None*1+0x0],0x0","-je local:22","-mov al,m1[ebx+None*1+0x0]","-push 0x0","-mov m1[esp+None*1+0x8],al","-lea eax,m4[esp+None*1+0x4]","-push eax","-push 0x1","-lea eax,m4[esp+None*1+0x10]","-push eax","-mov edx,m4[None+None*1+address]","-push edx","-call m4[None+None*1+address]","-mov dl,m1[ebx+None*1+0x1]","-inc ebx","-test dl,dl","-jne local:7","-add esp,0x8","+je local:13","+xor eax,eax","+mov al,m1[edx+None*1+0x0]","+call external","+mov bl,m1[edx+None*1+0x1]","+inc edx","+test bl,bl","+jne local:5","+mov eax,eax"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"install_system_","source":"E:\\library\\system\\system.c","reference":"0x47da40","earlier":"0x489120","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4755744,"install_lib32_",13]],"diff":[]},{"name":"beep_","source":"E:\\library\\system\\system.c","reference":"0x47da64","earlier":"0x489144","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"click_","source":"E:\\library\\system\\system.c","reference":"0x47dae8","earlier":"0x4891c8","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"create_system_thread_","source":"E:\\library\\system\\thread.c","reference":"0x47dcc4","earlier":"0x4893b4","same_instruction_shape":false,"reference_instructions":97,"earlier_instructions":99,"callers":[[4756404,"install_lib32_",6]],"diff":["--- 0x4893b4","+++ 0x47dcc4","@@ -1,8 +1,6 @@","-push ebx"," push ecx"," push edx"," push esi","-push edi"," sub esp,0x4"," call m4[None+None*1+address]"," push eax","@@ -20,6 +18,8 @@"," mov m4[None+None*1+address],eax"," test edx,edx"," jne local:87","+push edi","+push ebx"," call m4[None+None*1+address]"," push 0x2"," push 0x0","@@ -34,21 +34,21 @@"," push eax"," call m4[None+None*1+address]"," push eax","-mov ebx,0x64","+mov ebx,0x10"," xor edi,edi"," call m4[None+None*1+address]","+mov ecx,0x64"," mov eax,address"," mov edx,address","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi"," mov m4[None+None*1+address],edi","+mov m4[None+None*1+address],ecx"," add eax,0x58","-mov ebx,0x10","+mov m4[None+None*1+address],ecx"," call external"," mov eax,address"," mov m4[None+None*1+address],edi","@@ -64,10 +64,10 @@"," push edi"," mov m1[None+None*1+address],ah"," call m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],edi","-test ecx,ecx","+test ebx,ebx"," jg local:72"," mov m4[None+None*1+address],0x1"," push esi","@@ -78,12 +78,12 @@"," xor ecx,ecx"," call external"," call external","+pop ebx","+pop edi"," add esp,0x4","-pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "," push 0x14d"," push address","@@ -91,9 +91,7 @@"," call external"," add esp,0xc"," add esp,0x4","-pop edi"," pop esi"," pop edx"," pop ecx","-pop ebx"," ret "]},{"name":"create_thread_","source":"E:\\library\\system\\thread.c","reference":"0x47de90","earlier":"0x4895a8","same_instruction_shape":false,"reference_instructions":95,"earlier_instructions":95,"callers":[[4756904,"do_takeoff_",7],[4756904,"install_object_manager_",16],[4756904,"install_object_manager_",21],[4756904,"install_object_manager_",26],[4756904,"install_object_manager_",31]],"diff":["--- 0x4895a8","+++ 0x47de90","@@ -20,7 +20,22 @@"," mov edx,m4[esi+None*1+address]"," lea ebp,m4[edi+None*1+0x1]"," test edx,edx","-jne local:80","+je local:38","+add esi,0xd0","+mov edi,ebp","+cmp esi,0x1380","+jl local:19","+push 0x1c4","+push address","+push address","+call external","+add esp,0xc","+xor eax,eax","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret "," mov m4[esi+None*1+address],edx"," mov m4[esi+None*1+address],edx"," mov m4[esi+None*1+address],edx","@@ -37,16 +52,16 @@"," mov m4[esi+None*1+address],edx"," mov eax,m4[esp+None*1+0x0]"," mov m4[esi+None*1+address],edx","-mov ebx,0x64","+mov ecx,0x64"," mov m4[esi+None*1+address],eax","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," mov edx,address","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," mov eax,m4[esp+None*1+0x8]"," add edx,esi"," mov m4[esi+None*1+address],eax"," lea eax,m4[edx+None*1+0x58]","-mov m4[esi+None*1+address],ebx","+mov m4[esi+None*1+address],ecx"," call external"," lea eax,m4[edx+None*1+0xbc]"," mov ebx,0x10","@@ -62,7 +77,7 @@"," call m4[None+None*1+address]"," mov m4[esi+None*1+address],eax"," cmp edi,m4[None+None*1+address]","-jl local:66","+jl local:81"," mov m4[None+None*1+address],ebp"," mov ebp,m4[esp+None*1+0x8]"," push ebp","@@ -78,18 +93,3 @@"," pop edi"," pop esi"," ret ","-add esi,0xd0","-mov edi,ebp","-cmp esi,0x1380","-jl local:19","-push 0x1c4","-push address","-push address","-call external","-add esp,0xc","-xor eax,eax","-add esp,0xc","-pop ebp","-pop edi","-pop esi","-ret "]},{"name":"yield_","source":"E:\\library\\system\\thread.c","reference":"0x47dffc","earlier":"0x48971c","same_instruction_shape":false,"reference_instructions":28,"earlier_instructions":25,"callers":[[4757276,"click_",13],[4757276,"click_",18],[4757276,"sleep_on_idle_",15],[4757276,"notify_close_box_menu_",13],[4757276,"notify_push_button_menu_",15],[4757276,"notify_push_button_menu_",39],[4757276,"notify_radio_button_menu_",11]],"diff":["--- 0x48971c","+++ 0x47dffc","@@ -1,25 +1,28 @@","+push ebp"," cmp m4[None+None*1+address],0x0","-jne local:24","-mov ebx,0x1","+jne local:26"," mov eax,m4[None+None*1+address]","-mov m4[None+None*1+address],ebx"," lea ebx,m4[None+eax*4+0x0]"," sub ebx,eax"," shl ebx,0x2","+mov ecx,0x1"," add ebx,eax","+mov m4[None+None*1+address],ecx"," shl ebx,0x4"," xor esi,esi"," push esi"," push 0x1","-mov ecx,m4[ebx+None*1+address]","-push ecx","+mov edi,m4[ebx+None*1+address]","+push edi"," call m4[None+None*1+address]"," push esi"," call m4[None+None*1+address]"," push 0xffffffff","-mov edi,m4[ebx+None*1+address]","-push edi","+mov ebp,m4[ebx+None*1+address]","+push ebp"," call m4[None+None*1+address]"," cmp esi,m4[None+None*1+address]","-jne local:11","+jne local:12","+mov eax,eax","+pop ebp"," ret "]},{"name":"set_low_priority_","source":"E:\\library\\system\\thread.c","reference":"0x47e280","earlier":"0x489994","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"set_normal_priority_","source":"E:\\library\\system\\thread.c","reference":"0x47e2a8","earlier":"0x4899bc","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"sleep_on_idle_","source":"E:\\library\\system\\thread.c","reference":"0x47e5c8","earlier":"0x489cd0","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"my_install_timer_","source":"E:\\library\\system\\timer.c","reference":"0x47e6b0","earlier":"0x489dc0","same_instruction_shape":true,"reference_instructions":1,"earlier_instructions":1,"callers":[[4758976,"install_lib32_",3]],"diff":[]},{"name":"fast_clock_","source":"E:\\library\\system\\timer.c","reference":"0x47e6bc","earlier":"0x489dcc","same_instruction_shape":false,"reference_instructions":28,"earlier_instructions":28,"callers":[[4758988,"reschedule_",11]],"diff":["--- 0x489dcc","+++ 0x47e6bc","@@ -3,25 +3,25 @@"," push edx"," mov al,0xc2"," mov edx,0x43","-mov ecx,m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]"," out dx,al"," mov edx,0x40"," sub eax,eax"," in al,dx","-add ecx,ecx","-mov ebx,eax","+add ebx,ebx","+mov ecx,eax"," sub eax,eax"," in al,dx"," sub eax,eax"," in al,dx","-test bl,0x80","+test cl,0x80"," je local:23","-mov eax,ecx","+mov eax,ebx"," pop edx"," pop ecx"," pop ebx"," ret ","-lea eax,m4[ecx+None*1+0x1]","+lea eax,m4[ebx+None*1+0x1]"," pop edx"," pop ecx"," pop ebx"]},{"name":"clock_","source":"E:\\library\\system\\timer.c","reference":"0x47e6f4","earlier":"0x489e04","same_instruction_shape":true,"reference_instructions":3,"earlier_instructions":3,"callers":[[4759044,"create_menu_",54],[4759044,"place_menu_at_",20]],"diff":[]},{"name":"wait_","source":"E:\\library\\system\\timer.c","reference":"0x47e760","earlier":"0x489e64","same_instruction_shape":false,"reference_instructions":12,"earlier_instructions":12,"callers":[[4759140,"beep_",15]],"diff":["--- 0x489e64","+++ 0x47e760","@@ -1,12 +1,12 @@","-push ebx","+push ecx"," push edx"," mov edx,eax"," call external","-mov ebx,eax","+mov ecx,eax"," call external","-sub eax,ebx","+sub eax,ecx"," cmp eax,edx"," jle local:5"," pop edx","-pop ebx","+pop ecx"," ret "]},{"name":"draw_clipped_box_","source":"E:\\library\\ui\\clip.c","reference":"0x47ed24","earlier":"0x48a254","same_instruction_shape":true,"reference_instructions":32,"earlier_instructions":32,"callers":[],"diff":[]},{"name":"draw_clipped_surround_","source":"E:\\library\\ui\\clip.c","reference":"0x47ed7c","earlier":"0x48a2ac","same_instruction_shape":false,"reference_instructions":48,"earlier_instructions":90,"callers":[[4760236,"draw_ui_menu_",16]],"diff":["--- 0x48a2ac","+++ 0x47ed7c","@@ -25,64 +25,22 @@"," mov edx,edi"," mov eax,ebp"," call external","-mov edx,m4[None+None*1+address]","-mov eax,0xfb","-cmp esi,edx","-jg local:41","-cmp esi,m4[None+None*1+address]","-jl local:41","-cmp edi,m4[None+None*1+address]","-jg local:41","-cmp edi,m4[None+None*1+address]","-jl local:41","-mov ebx,edi","-mov ecx,esi","-mov edx,m4[None+ebx*4+address]","-mov m1[edx+ecx*1+0x0],al","-mov ebx,m4[None+None*1+address]","-mov eax,0xf8","-cmp esi,ebx","-jg local:56","-cmp esi,m4[None+None*1+address]","-jl local:56","+mov ebx,0xfb","+mov edx,edi","+mov eax,esi","+call external","+mov ebx,0xf8"," mov edx,m4[esp+None*1+0x0]","-cmp edx,m4[None+None*1+address]","-jg local:56","-cmp edx,m4[None+None*1+address]","-jl local:56","-mov ebx,edx","-mov ecx,esi","-mov edx,m4[None+ebx*4+address]","-mov m1[edx+ecx*1+0x0],al","-mov esi,m4[None+None*1+address]","-mov eax,0xf8","-cmp ebp,esi","-jg local:70","-cmp ebp,m4[None+None*1+address]","-jl local:70","-cmp edi,m4[None+None*1+address]","-jg local:70","-cmp edi,m4[None+None*1+address]","-jl local:70","-mov ebx,edi","-mov ecx,ebp","-mov edx,m4[None+ebx*4+address]","-mov m1[edx+ecx*1+0x0],al","-mov esi,m4[None+None*1+address]","-mov eax,0xf6","-cmp ebp,esi","-jg local:85","-cmp ebp,m4[None+None*1+address]","-jl local:85","+mov eax,esi","+call external","+mov ebx,0xf8","+mov edx,edi","+mov eax,ebp","+call external","+mov ebx,0xf6"," mov edx,m4[esp+None*1+0x0]","-cmp edx,m4[None+None*1+address]","-jg local:85","-cmp edx,m4[None+None*1+address]","-jl local:85","-mov ebx,edx","-mov ecx,ebp","-mov edx,m4[None+ebx*4+address]","-mov m1[edx+ecx*1+0x0],al","+mov eax,ebp","+call external"," add esp,0x4"," pop ebp"," pop edi"]},{"name":"fill_clipped_block_","source":"E:\\library\\ui\\clip.c","reference":"0x47eea4","earlier":"0x48a514","same_instruction_shape":false,"reference_instructions":43,"earlier_instructions":42,"callers":[[4760852,"draw_ui_menu_",11]],"diff":["--- 0x48a514","+++ 0x47eea4","@@ -5,14 +5,14 @@"," mov esi,edx"," mov eax,m4[esp+None*1+0x10]"," cmp edi,m4[None+None*1+address]","-jg local:38","+jg local:39"," cmp esi,m4[None+None*1+address]","-jg local:38","+jg local:39"," mov edx,m4[None+None*1+address]"," cmp ebx,edx","-jl local:38","+jl local:39"," cmp ecx,m4[None+None*1+address]","-jl local:38","+jl local:39"," cmp edi,edx"," jge local:18"," mov edi,edx","@@ -29,11 +29,12 @@"," jle local:30"," mov ecx,ebp"," mov edx,ecx","-sub ebx,edi"," sub edx,esi","-lea ecx,m4[ebx+None*1+0x1]","+mov ecx,ebx"," inc edx","+sub ecx,edi"," mov ebx,esi","+inc ecx"," mov esi,edi"," call external"," pop ebp"]},{"name":"draw_clipped_hline_","source":"E:\\library\\ui\\clip.c","reference":"0x47f200","earlier":"0x48a7f8","same_instruction_shape":true,"reference_instructions":26,"earlier_instructions":26,"callers":[],"diff":[]},{"name":"draw_clipped_vline_","source":"E:\\library\\ui\\clip.c","reference":"0x47f248","earlier":"0x48a840","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"create_object_","source":"E:\\library\\ui\\object.c","reference":"0x47fa78","earlier":"0x48b108","same_instruction_shape":false,"reference_instructions":108,"earlier_instructions":84,"callers":[[4763912,"create_text_",18],[4763912,"add_close_box_to_",16],[4763912,"add_menu_line_to_",14],[4763912,"add_menu_text_to_",17],[4763912,"create_menu_",32]],"diff":["--- 0x48b108","+++ 0x47fa78","@@ -3,10 +3,11 @@"," push edx"," push esi"," push edi","+push ebp"," sub esp,0x4","-mov edi,m4[esp+None*1+0x20]","+mov edi,m4[esp+None*1+0x24]"," call external","-mov ebx,0xd4","+mov ebx,0xd8"," mov esi,eax"," xor edx,edx"," mov ecx,eax","@@ -15,21 +16,31 @@"," mov m4[esi+None*1+0xc],0x0"," mov m4[esi+None*1+0x8],edi"," test edi,edi","-je local:22","-mov eax,m4[edi+None*1+0xc]","-mov m4[esi+None*1+0x14],eax","-mov m4[edi+None*1+0xc],esi","-jmp local:24","+jne local:89"," mov m4[None+None*1+address],esi"," mov m4[esi+None*1+0x14],edi"," mov ebx,0x1f","-mov edx,m4[esp+None*1+0x24]","+mov edx,m4[esp+None*1+0x28]"," lea eax,m4[ecx+None*1+0x40]"," call external"," mov m4[ecx+None*1+0x60],0x0"," mov m4[ecx+None*1+0x38],0xffffffff","+mov edx,m4[ecx+None*1+0x6c]"," mov m4[ecx+None*1+0x3c],0x0","+and edx,0xfffb7786","+mov m4[ecx+None*1+0x6c],edx","+mov ebx,m4[ecx+None*1+0x6c]"," mov m4[ecx+None*1+0x68],0x1","+or ebx,0x48049","+mov m4[ecx+None*1+0x6c],ebx","+test edi,edi","+je local:93","+mov dl,m1[ecx+None*1+0x6e]","+and dl,0x7f","+mov eax,m4[edi+None*1+0x6c]","+mov m1[ecx+None*1+0x6e],dl","+and eax,address","+or m4[ecx+None*1+0x6c],eax"," mov m4[ecx+None*1+0x18],0xffffffff"," mov m4[ecx+None*1+0x1c],0xffffffff"," mov m4[ecx+None*1+0x20],0xffffffff","@@ -37,48 +48,61 @@"," mov m4[ecx+None*1+0x74],0x0"," mov m4[ecx+None*1+0x78],0xf9f9f9f9"," mov m4[ecx+None*1+0x84],0x0","+mov eax,m4[esp+None*1+0x20]","+mov dh,m1[ecx+None*1+0x6c]"," mov m4[ecx+None*1+0x88],0x0","-mov edx,m4[ecx+None*1+0x6c]","+and dh,0x7f","+mov m4[ecx+None*1+0x4],eax","+mov m1[ecx+None*1+0x6c],dh","+lea edx,m4[eax+None*1+0xfffffffd]"," mov m4[ecx+None*1+0x80],0x0","-or edx,0x48049","-mov m4[ecx+None*1+0x6c],edx","-mov eax,m4[esp+None*1+0x1c]","-mov dx,m2[ecx+None*1+0x6c]","-mov m4[ecx+None*1+0x4],eax","-and edx,0xfffff74f","-sub eax,0x3","-mov m2[ecx+None*1+0x6c],dx","-cmp eax,0x9","-ja local:57","-jmp m4[None+eax*4+address]","+cmp edx,0x9","+ja local:63","+jmp m4[None+edx*4+address]","+mov m4[ecx+None*1+0xa4],0x0"," mov m4[ecx+None*1+0xa0],0xfbfbfbfb","-jmp local:57","-mov eax,ecx","-call external","-lea eax,m4[esp+None*1+0x28]","+lea eax,m4[esp+None*1+0x2c]"," mov edx,esp","-mov esi,0x1","+mov ebp,0x1"," mov m4[esp+None*1+0x0],eax"," mov eax,ecx","-xor ebx,ebx","+xor edi,edi"," call external","-mov m4[esp+None*1+0x0],ebx","+mov m4[esp+None*1+0x0],edi"," mov eax,ecx","-mov m4[None+None*1+address],esi","+mov m4[None+None*1+address],ebp"," call external"," xor edx,edx"," mov eax,ecx"," call external","-mov edi,m4[None+None*1+address]","-test edi,edi","-je local:76","-mov eax,edi","-call external","+mov eax,m4[None+None*1+address]","+test eax,eax","+jne local:98"," mov eax,ecx"," add esp,0x4","+pop ebp"," pop edi"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+mov eax,m4[edi+None*1+0xc]","+mov m4[esi+None*1+0x14],eax","+mov m4[edi+None*1+0xc],esi","+jmp local:21","+and m1[ecx+None*1+0x6e],0x7f","+jmp local:43","+mov eax,ecx","+call external","+jmp local:63","+call external","+mov eax,ecx","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"destroy_object_soon_","source":"E:\\library\\ui\\object.c","reference":"0x47fc10","earlier":"0x48b258","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[],"diff":[]},{"name":"install_object_manager_","source":"E:\\library\\ui\\object.c","reference":"0x47fe24","earlier":"0x48b440","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"notify_","source":"E:\\library\\ui\\object.c","reference":"0x48002c","earlier":"0x48b64c","same_instruction_shape":false,"reference_instructions":77,"earlier_instructions":67,"callers":[[4765260,"create_menu_",57],[4765260,"place_menu_at_",24],[4765260,"notify_push_button_menu_",38],[4765260,"notify_radio_button_menu_",28]],"diff":["--- 0x48b64c","+++ 0x48002c","@@ -11,43 +11,40 @@"," mov esi,address"," rep movsd m4[edi+None*1+0x0],m4[esi+None*1+0x0]"," test eax,eax","-je local:60","+je local:55"," cmp m4[edx+None*1+0x0],0x3","-jne local:25","+jne local:62"," cmp m4[ebp+None*1+0x4],0x1","-jne local:25","+jne local:62","+mov eax,m4[eax+None*1+0x8]","+cmp m4[eax+None*1+0x7c],0x1869f","+je local:23","+mov eax,ebx"," call external","-mov edi,m4[ebx+None*1+0x64]","-test edi,edi","-je local:30","-mov eax,edi","-call external","-jmp local:30","-mov esi,m4[ebx+None*1+0x64]","-test esi,esi","-je local:30","-mov eax,esi","+mov eax,m4[ebx+None*1+0x64]","+test eax,eax","+je local:27"," call external"," mov eax,m4[ebx+None*1+0x6c]"," shl eax,0x19"," sar eax,0x1f"," test eax,eax","-je local:39","+je local:36"," mov ecx,m4[ebx+None*1+0x4]"," mov edx,ebp"," mov eax,ebx"," call m4[None+ecx*4+address]"," cmp m4[ebx+None*1+0x3c],0x0","-je local:53","+je local:50"," mov eax,m4[ebx+None*1+0x6c]"," shl eax,0xa"," sar eax,0x1f"," test eax,eax","-jne local:53","+jne local:50"," mov eax,m4[ebp+None*1+0x0]","-mov edx,m4[ebx+None*1+0x38]","-test m4[esp+eax*4+0x0],edx","-je local:53","+mov ecx,m4[ebx+None*1+0x38]","+test m4[esp+eax*4+0x0],ecx","+je local:50"," mov edx,ebp"," mov eax,ebx"," call m4[ebx+None*1+0x3c]","@@ -55,7 +52,20 @@"," shl eax,0xa"," sar eax,0x1f"," test eax,eax","-je local:60","+jne local:68","+add esp,0x80","+pop ebp","+pop edi","+pop esi","+pop ecx","+pop ebx","+ret ","+mov esi,m4[ebx+None*1+0x64]","+test esi,esi","+je local:27","+mov eax,esi","+call external","+jmp local:27"," mov eax,ebx"," call external"," add esp,0x80"]},{"name":"move_object_","source":"E:\\library\\ui\\object.c","reference":"0x480378","earlier":"0x48b998","same_instruction_shape":false,"reference_instructions":78,"earlier_instructions":118,"callers":[[4766104,"set_object_position_",6]],"diff":["--- 0x48b998","+++ 0x480378","@@ -5,103 +5,52 @@"," sub esp,0x14"," mov esi,eax"," cmp m4[eax+None*1+0x8],0x0","-je local:17","-sub edx,m4[eax+None*1+0x18]","-mov eax,m4[esi+None*1+0x8]","-mov edi,m4[eax+None*1+0x18]","-add edi,edx","-mov edx,m4[esi+None*1+0x1c]","-mov ebp,m4[eax+None*1+0x1c]","-sub ebx,edx","-add ebp,ebx","-jmp local:23","-mov edi,m4[eax+None*1+0x18]","-mov ebp,m4[eax+None*1+0x1c]","-sub edx,edi","-sub ebx,ebp","-mov edi,edx","-mov ebp,ebx","+je local:67","+mov ecx,m4[eax+None*1+0x18]","+mov edi,m4[esi+None*1+0x1c]","+mov eax,m4[eax+None*1+0x8]","+sub ebx,edi","+sub edx,ecx","+mov ebp,m4[eax+None*1+0x18]","+mov edi,m4[eax+None*1+0x1c]","+add ebp,edx","+add edi,ebx","+test ebp,ebp","+jne local:21"," test edi,edi","-jne local:27","-test ebp,ebp","-je local:112","-xor ebx,ebx","-mov ecx,m4[None+None*1+address]","-mov m4[None+None*1+address],ebx","-test ecx,ecx","-je local:41","-mov eax,m4[None+None*1+address]","-mov edx,m4[None+None*1+address]","-push eax","-mov ecx,m4[None+None*1+address]","-mov ebx,m4[None+None*1+address]","-push edx","-mov eax,m4[None+None*1+address]","-mov edx,0x1","+je local:61"," call external","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:45","-mov m4[None+None*1+address],eax"," push 0x1","-mov ebx,m4[esi+None*1+0x30]","-mov edx,m4[esi+None*1+0x2c]","-xor ecx,ecx","-mov eax,m4[esi+None*1+0x28]","-mov m4[None+None*1+address],ecx","-mov ecx,m4[esi+None*1+0x34]","-inc m4[None+None*1+address]","-call external","-mov ebx,ebp","-mov edx,edi","-mov eax,esi","-call external","-mov edi,0x1","-mov eax,m4[None+None*1+address]","-xor ebp,ebp","-mov m4[None+None*1+address],edi","-mov m4[None+None*1+address],ebp","-test eax,eax","-je local:73","-mov edx,m4[None+None*1+address]","-push edx","-mov ebx,m4[None+None*1+address]","-mov ecx,m4[None+None*1+address]","-push ebx","-mov edx,edi","-mov ebx,m4[None+None*1+address]","-call external","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:77","-mov m4[None+None*1+address],eax","-push 0x1","-mov ebp,m4[None+None*1+address]"," mov ecx,m4[esi+None*1+0x34]"," mov ebx,m4[esi+None*1+0x30]"," mov edx,m4[esi+None*1+0x2c]"," mov eax,m4[esi+None*1+0x28]","-xor edi,edi","-inc ebp","-mov m4[None+None*1+address],edi","+call external","+mov ebx,edi","+mov edx,ebp","+mov eax,esi","+mov ebp,0x1","+call external"," mov m4[None+None*1+address],ebp","+call external","+push ebp","+mov ecx,m4[esi+None*1+0x34]","+mov ebx,m4[esi+None*1+0x30]","+mov edx,m4[esi+None*1+0x2c]","+mov eax,m4[esi+None*1+0x28]"," call external"," mov m4[esp+None*1+0x0],0x10"," mov edx,m4[esi+None*1+0x8]"," test edx,edx","-je local:101","+je local:74"," mov eax,m4[esi+None*1+0x18]","-mov ebx,m4[edx+None*1+0x18]","-sub eax,ebx","+mov ecx,m4[edx+None*1+0x18]","+sub eax,ecx"," mov m4[esp+None*1+0x8],eax"," mov edx,m4[esi+None*1+0x8]"," mov eax,m4[esi+None*1+0x1c]","-mov ecx,m4[edx+None*1+0x1c]","-sub eax,ecx","-jmp local:104","-mov eax,m4[esi+None*1+0x18]","-mov m4[esp+None*1+0x8],eax","-mov eax,m4[esi+None*1+0x1c]","+mov ebx,m4[edx+None*1+0x1c]","+sub eax,ebx"," mov m4[esp+None*1+0xc],eax"," xor edi,edi"," mov edx,esp","@@ -116,3 +65,14 @@"," pop esi"," pop ecx"," ret ","+mov ebp,edx","+mov edi,m4[eax+None*1+0x18]","+mov eax,m4[eax+None*1+0x1c]","+sub ebp,edi","+mov edi,ebx","+sub edi,eax","+jmp local:17","+mov eax,m4[esi+None*1+0x18]","+mov m4[esp+None*1+0x8],eax","+mov eax,m4[esi+None*1+0x1c]","+jmp local:53"]},{"name":"resize_object_","source":"E:\\library\\ui\\object.c","reference":"0x4804d0","earlier":"0x48bb90","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":83,"callers":[[4766608,"set_object_position_",12]],"diff":["--- 0x48bb90","+++ 0x4804d0","@@ -6,20 +6,22 @@"," mov esi,eax"," mov edi,edx"," mov ebp,ebx","+mov edx,m4[esi+None*1+0x18]"," mov eax,m4[eax+None*1+0x20]","-sub eax,m4[esi+None*1+0x18]","+sub eax,edx"," cmp eax,edi","-jne local:16","+jne local:18","+mov ecx,m4[esi+None*1+0x1c]"," mov eax,m4[esi+None*1+0x24]","-sub eax,m4[esi+None*1+0x1c]","-cmp eax,ebp","-je local:77","+sub eax,ecx","+cmp eax,ebx","+je local:79"," mov ah,m1[esi+None*1+0x6d]"," or ah,0x1","-mov ecx,m4[esi+None*1+0x68]","+mov ebx,m4[esi+None*1+0x68]"," mov m1[esi+None*1+0x6d],ah","-test ecx,ecx","-je local:36","+test ebx,ebx","+je local:38"," push 0x1"," mov ecx,m4[esi+None*1+0x24]"," mov ebx,m4[esi+None*1+0x20]","@@ -42,9 +44,9 @@"," mov ecx,m4[esi+None*1+0xc]"," mov m4[esi+None*1+0x24],eax"," test ecx,ecx","-je local:59","+je local:61"," cmp m4[ecx+None*1+0x4],0xb","-jne local:56","+jne local:58"," mov eax,m4[esi+None*1+0x24]"," sub eax,m4[esi+None*1+0x1c]"," lea ebx,m4[eax+None*1+0xfffffff1]","@@ -56,20 +58,20 @@"," call external"," mov ecx,m4[ecx+None*1+0x14]"," test ecx,ecx","-jne local:45","+jne local:47"," mov m4[esp+None*1+0x0],0x11"," mov eax,m4[esi+None*1+0x20]"," mov edx,m4[esi+None*1+0x18]"," mov edi,0x1"," sub eax,edx","-xor ecx,ecx","+xor ebx,ebx"," mov m4[esp+None*1+0x8],eax"," mov m4[None+None*1+address],edi"," mov eax,m4[esi+None*1+0x24]","-mov ebx,m4[esi+None*1+0x1c]","+mov ecx,m4[esi+None*1+0x1c]"," mov edx,esp","-sub eax,ebx","-mov m4[esp+None*1+0x4],ecx","+sub eax,ecx","+mov m4[esp+None*1+0x4],ebx"," mov m4[esp+None*1+0xc],eax"," call external"," mov m4[esp+None*1+0x10],eax"]},{"name":"set_cursor_","source":"E:\\library\\ui\\object.c","reference":"0x4807e4","earlier":"0x48bea4","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"object_top_","source":"E:\\library\\ui\\otop.c","reference":"0x480910","earlier":"0x48c050","same_instruction_shape":false,"reference_instructions":139,"earlier_instructions":138,"callers":[[4767824,"notify_modem_type_",8],[4767824,"notify_waypoint_tool_info_",6]],"diff":["--- 0x48c050","+++ 0x480910","@@ -4,131 +4,15 @@"," push esi"," push edi"," push ebp","-mov ebx,eax","+sub esp,0x4","+mov ecx,eax","+xor edx,edx"," mov esi,m4[eax+None*1+0x8]","-xor edi,edi","+mov m4[esp+None*1+0x0],edx"," test esi,esi","-jne local:13","+jne local:22"," mov m4[None+None*1+address],0x1","-jmp local:131","-mov eax,esi","-call local:0","-mov edx,m4[esi+None*1+0xc]","-mov ecx,m4[edx+None*1+0x14]","-test ecx,ecx","-je local:131","-mov eax,edx","-cmp edx,ebx","-jne local:26","-mov m4[esi+None*1+0xc],ecx","-xor ebp,ebp","-mov m4[edx+None*1+0x14],edi","-jmp local:38","-test eax,eax","-je local:38","-mov edx,m4[eax+None*1+0x14]","-cmp ebx,edx","-jne local:36","-mov edx,m4[edx+None*1+0x14]","-mov m4[eax+None*1+0x14],edx","-mov ebp,eax","-mov m4[ebx+None*1+0x14],0x0","-jmp local:38","-mov eax,edx","-jmp local:26","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x13","-sar eax,0x1f","-test eax,eax","-jne local:112","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x14","-sar eax,0x1f","-test eax,eax","-je local:82","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:71","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x14","-sar edx,0x1f","-test edx,edx","-je local:67","-test ecx,ecx","-je local:62","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:65","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:71","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:52","-test edi,edi","-jne local:115","-test ecx,ecx","-je local:78","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:105","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x13","-sar edx,0x1f","-test edx,edx","-jne local:101","-test ecx,ecx","-je local:96","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:99","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:105","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:86","-test edi,edi","-jne local:115","-test ecx,ecx","-je local:112","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-test ebp,ebp","-je local:124","-cmp ebx,m4[ebp+None*1+0x14]","-je local:131","-mov ebp,0x1","-mov eax,ebx","-xor edx,edx","-mov m4[None+None*1+address],ebp","-jmp local:130","-cmp ebx,m4[esi+None*1+0xc]","-je local:131","-mov esi,0x1","-mov eax,ebx","-xor edx,edx","-mov m4[None+None*1+address],esi","-call external","+add esp,0x4"," pop ebp"," pop edi"," pop esi","@@ -136,3 +20,120 @@"," pop ecx"," pop ebx"," ret ","+mov eax,esi","+call local:0","+mov edx,m4[esi+None*1+0xc]","+mov ebx,m4[edx+None*1+0x14]","+test ebx,ebx","+je local:14","+mov eax,edx","+cmp edx,ecx","+je local:38","+test eax,eax","+je local:41","+mov ebp,m4[eax+None*1+0x14]","+cmp ecx,ebp","+je local:66","+mov eax,ebp","+jmp local:31","+xor edi,edi","+mov m4[esi+None*1+0xc],ebx","+mov m4[edx+None*1+0x14],edi","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x13","+sar eax,0x1f","+test eax,eax","+je local:71","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+test edi,edi","+je local:124","+cmp ecx,m4[edi+None*1+0x14]","+je local:14","+mov esi,0x1","+mov eax,ecx","+xor edx,edx","+mov m4[None+None*1+address],esi","+call external","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov edx,m4[ebp+None*1+0x14]","+mov m4[eax+None*1+0x14],edx","+mov edi,eax","+mov m4[ebp+None*1+0x14],0x0","+jmp local:41","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x14","+sar eax,0x1f","+test eax,eax","+je local:101","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:94","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x14","+sar edx,0x1f","+test edx,edx","+je local:90","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:80","+cmp m4[esp+None*1+0x0],0x0","+jne local:49","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:114","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x13","+sar edx,0x1f","+test edx,edx","+je local:119","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:105","+cmp m4[esp+None*1+0x0],0x0","+jne local:49","+test ebx,ebx","+jne local:121","+jmp local:46","+test ebx,ebx","+je local:46","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+jmp local:49","+cmp ecx,m4[esi+None*1+0xc]","+je local:14","+mov edx,0x1","+mov eax,ecx","+mov m4[None+None*1+address],edx","+xor edx,edx","+call external","+add esp,0x4","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"object_back_","source":"E:\\library\\ui\\otop.c","reference":"0x480a78","earlier":"0x48c1c0","same_instruction_shape":false,"reference_instructions":155,"earlier_instructions":144,"callers":[[4768192,"add_menu_line_to_",16],[4768192,"add_menu_text_to_",19]],"diff":["--- 0x48c1c0","+++ 0x480a78","@@ -4,135 +4,62 @@"," push esi"," push edi"," push ebp","-mov ebx,eax","+mov ecx,eax"," mov esi,m4[eax+None*1+0x8]"," xor edi,edi"," test esi,esi","-jne local:13","+jne local:19"," mov m4[None+None*1+address],0x1","-jmp local:137","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov eax,esi"," call external"," mov edx,m4[esi+None*1+0xc]","-mov ecx,m4[edx+None*1+0x14]","-test ecx,ecx","-je local:137","+mov ebx,m4[edx+None*1+0x14]","+test ebx,ebx","+je local:12"," mov eax,edx","-cmp edx,ebx","-jne local:25","-mov m4[esi+None*1+0xc],ecx","+cmp edx,ecx","+je local:35","+test eax,eax","+je local:37","+mov ebp,m4[eax+None*1+0x14]","+cmp ecx,ebp","+je local:71","+mov eax,ebp","+jmp local:28","+mov m4[esi+None*1+0xc],ebx"," mov m4[edx+None*1+0x14],edi","-jmp local:36","-test eax,eax","-je local:36","-mov ebp,m4[eax+None*1+0x14]","-cmp ebx,ebp","-jne local:34","-mov edx,m4[ebp+None*1+0x14]","-mov m4[eax+None*1+0x14],edx","-mov m4[ebp+None*1+0x14],0x0","-jmp local:36","-mov eax,ebp","-jmp local:25","-mov eax,m4[ebx+None*1+0x6c]","+mov eax,m4[ecx+None*1+0x6c]"," shl eax,0x13"," sar eax,0x1f"," test eax,eax","-je local:71","+je local:81"," mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","+xor ebx,ebx"," test eax,eax","-je local:64","+je local:55"," mov edx,m4[eax+None*1+0x6c]"," shl edx,0x13"," sar edx,0x1f"," test edx,edx","-jne local:60","-test ecx,ecx","-je local:55","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:58","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:64","-mov ecx,eax","+je local:75","+mov ebx,eax"," mov eax,m4[eax+None*1+0x14]"," test eax,eax","-jne local:45","+jne local:46"," test edi,edi","-jne local:132","-test ecx,ecx","-je local:89","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[ebx+None*1+0x6c]","-shl eax,0x14","-sar eax,0x1f","-test eax,eax","-je local:93","-mov eax,m4[esi+None*1+0xc]","-xor edx,edx","-test eax,eax","-je local:84","-mov edx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:80","-test edx,edx","-je local:89","-mov m4[edx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-xor ecx,ecx","-test eax,eax","-je local:121","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x13","-sar edx,0x1f","-test edx,edx","-jne local:117","-mov edx,m4[eax+None*1+0x6c]","-shl edx,0x14","-sar edx,0x1f","-test edx,edx","-je local:117","-test ecx,ecx","-je local:112","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:115","-mov edx,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],edx","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-jmp local:121","-mov ecx,eax","-mov eax,m4[eax+None*1+0x14]","-test eax,eax","-jne local:97","-test edi,edi","-jne local:132","-test ecx,ecx","-je local:128","-mov m4[ecx+None*1+0x14],ebx","-mov m4[ebx+None*1+0x14],eax","-jmp local:131","-mov eax,m4[esi+None*1+0xc]","-mov m4[ebx+None*1+0x14],eax","-mov m4[esi+None*1+0xc],ebx","-mov edi,0x1","-test edi,edi","-je local:137","-mov eax,ebx","+jne local:147","+test ebx,ebx","+je local:77","+mov m4[ebx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+mov eax,ecx"," xor edx,edx"," call external"," pop ebp","@@ -142,3 +69,87 @@"," pop ecx"," pop ebx"," ret ","+mov edx,m4[ebp+None*1+0x14]","+mov m4[eax+None*1+0x14],edx","+mov m4[ebp+None*1+0x14],0x0","+jmp local:37","+test ebx,ebx","+jne local:59","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+jmp local:61","+mov eax,m4[ecx+None*1+0x6c]","+shl eax,0x14","+sar eax,0x1f","+test eax,eax","+je local:109","+mov eax,m4[esi+None*1+0xc]","+xor edx,edx","+test eax,eax","+je local:95","+mov edx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:90","+lea eax,m4[eax+None*1+0x0]","+test edx,edx","+je local:77","+mov m4[edx+None*1+0x14],ecx","+mov m4[ecx+None*1+0x14],eax","+mov eax,ecx","+xor edx,edx","+call external","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+mov eax,m4[esi+None*1+0xc]","+xor ebx,ebx","+test eax,eax","+je local:122","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x13","+sar edx,0x1f","+test edx,edx","+je local:127","+mov ebx,eax","+mov eax,m4[eax+None*1+0x14]","+test eax,eax","+jne local:113","+test edi,edi","+jne local:147","+test ebx,ebx","+je local:134","+jmp local:59","+mov edx,m4[eax+None*1+0x6c]","+shl edx,0x14","+sar edx,0x1f","+test edx,edx","+je local:118","+test ebx,ebx","+jne local:59","+mov eax,m4[esi+None*1+0xc]","+mov m4[ecx+None*1+0x14],eax","+mov m4[esi+None*1+0xc],ecx","+mov eax,ecx","+xor edx,edx","+call external","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret ","+jne local:61","+pop ebp","+pop edi","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "]},{"name":"repaint_object_","source":"E:\\library\\ui\\repaint.c","reference":"0x480be0","earlier":"0x48c340","same_instruction_shape":false,"reference_instructions":31,"earlier_instructions":27,"callers":[[4768576,"set_object_text_justify_",12]],"diff":["--- 0x48c340","+++ 0x480be0","@@ -1,25 +1,29 @@"," push ebx"," push ecx"," push esi","-mov ebx,eax","+mov ecx,eax"," cmp m4[None+None*1+address],0x0","-jne local:23","+jne local:14"," mov esi,m4[None+None*1+address]","-mov ecx,m4[eax+None*1+0x68]","+mov ebx,m4[eax+None*1+0x68]"," test esi,esi","-je local:11","+jne local:18","+cmp m4[ecx+None*1+0x68],0x0","+jne local:20","+test ebx,ebx","+jne local:20","+pop esi","+pop ecx","+pop ebx","+ret "," call external","-cmp m4[ebx+None*1+0x68],0x0","-jne local:15","-test ecx,ecx","-je local:23","+jmp local:10"," push edx","-mov ecx,m4[ebx+None*1+0x34]","-mov eax,m4[ebx+None*1+0x30]","-mov esi,m4[ebx+None*1+0x28]","-mov edx,m4[ebx+None*1+0x2c]","-mov ebx,eax","-mov eax,esi","+mov esi,m4[ecx+None*1+0x34]","+mov ebx,m4[ecx+None*1+0x30]","+mov eax,m4[ecx+None*1+0x28]","+mov edx,m4[ecx+None*1+0x2c]","+mov ecx,esi"," call external"," pop esi"," pop ecx"]},{"name":"repaint_area_","source":"E:\\library\\ui\\repaint.c","reference":"0x480c98","earlier":"0x48c3f0","same_instruction_shape":false,"reference_instructions":162,"earlier_instructions":155,"callers":[[4768752,"set_cursor_",14],[4768752,"set_display_screen_active_",10]],"diff":["--- 0x48c3f0","+++ 0x480c98","@@ -7,39 +7,38 @@"," mov m4[esp+None*1+0x8],ebx"," mov m4[esp+None*1+0xc],ecx"," cmp m4[None+None*1+address],0x0","-jne local:150","+jne local:80"," cmp eax,m4[None+None*1+address]","-jg local:150","-mov eax,m4[esp+None*1+0x8]","-mov ecx,m4[None+None*1+address]","-cmp eax,ecx","-jl local:150","+jg local:80","+mov eax,ebx","+mov ebx,m4[None+None*1+address]","+cmp eax,ebx","+jl local:80"," mov eax,m4[esp+None*1+0x4]"," cmp eax,m4[None+None*1+address]","-jg local:150","+jg local:80"," mov eax,m4[esp+None*1+0xc]"," cmp eax,m4[None+None*1+address]","-jl local:150","-cmp ecx,m4[esp+None*1+0x0]","-jle local:25","-mov m4[esp+None*1+0x0],ecx","+jl local:80","+cmp ebx,m4[esp+None*1+0x0]","+jg local:57"," mov eax,m4[esp+None*1+0x8]"," mov edx,m4[None+None*1+address]"," cmp eax,edx","-jle local:30","+jle local:29"," mov m4[esp+None*1+0x8],edx"," mov eax,m4[esp+None*1+0x4]","+mov ecx,m4[None+None*1+address]","+cmp eax,ecx","+jge local:34","+mov m4[esp+None*1+0x4],ecx","+mov eax,m4[esp+None*1+0xc]"," mov ebx,m4[None+None*1+address]"," cmp eax,ebx","-jge local:35","-mov m4[esp+None*1+0x4],ebx","-mov eax,m4[esp+None*1+0xc]","-mov ecx,m4[None+None*1+address]","-cmp eax,ecx","-jle local:40","-mov m4[esp+None*1+0xc],ecx","+jle local:39","+mov m4[esp+None*1+0xc],ebx"," cmp m4[None+None*1+address],0x40","-jle local:47","+jle local:46"," lea ecx,m4[esp+None*1+0xc]"," lea ebx,m4[esp+None*1+0x8]"," lea edx,m4[esp+None*1+0x4]","@@ -47,37 +46,45 @@"," call external"," mov edx,m4[None+None*1+address]"," test edx,edx","-je local:131","+je local:138"," test edx,edx","-je local:78","+je local:85"," mov eax,m4[esp+None*1+0x0]"," mov esi,m4[edx+None*1+0x8]"," cmp eax,esi","-jl local:76","+jge local:59","+mov edx,m4[edx+None*1+0x0]","+jmp local:49","+mov m4[esp+None*1+0x0],ebx","+jmp local:24"," mov edi,m4[edx+None*1+0x10]"," cmp eax,edi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0x8]"," cmp eax,esi","-jl local:76","+jl local:55"," cmp eax,edi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0x4]","-mov ecx,m4[edx+None*1+0xc]","-cmp eax,ecx","-jl local:76","+mov ebx,m4[edx+None*1+0xc]","+cmp eax,ebx","+jl local:55"," mov esi,m4[edx+None*1+0x14]"," cmp eax,esi","-jg local:76","+jg local:55"," mov eax,m4[esp+None*1+0xc]","-cmp eax,ecx","-jl local:76","+cmp eax,ebx","+jl local:55"," cmp eax,esi","-jle local:150","-mov edx,m4[edx+None*1+0x0]","-jmp local:50","+jg local:55","+nop ","+add esp,0x10","+pop ebp","+pop edi","+pop esi","+ret 0x4"," cmp m4[esp+None*1+0x20],0x0","-je local:121","+je local:128"," mov esi,m4[None+None*1+address]"," call external"," mov edx,eax","@@ -98,12 +105,12 @@"," sub eax,eax"," mov m4[None+None*1+address],edx"," mov m4[None+None*1+address],eax","-lea ecx,m4[edx+None*1+0x1]","-lea ebx,m4[eax+None*1+0x1]","+lea ebx,m4[edx+None*1+0x1]","+lea ecx,m4[eax+None*1+0x1]","+mov m4[None+None*1+address],ebx"," mov m4[None+None*1+address],ecx","-mov m4[None+None*1+address],ebx"," test esi,esi","-je local:150","+je local:80"," mov ecx,m4[esi+None*1+0x14]"," mov ebx,m4[esi+None*1+0x10]"," mov edx,m4[esi+None*1+0xc]","@@ -113,7 +120,7 @@"," mov esi,m4[esi+None*1+0x0]"," call external"," test esi,esi","-jne local:106","+jne local:113"," add esp,0x10"," pop ebp"," pop edi"]},{"name":"set_display_screen_active_","source":"E:\\library\\ui\\repaint.c","reference":"0x481790","earlier":"0x48ce6c","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"display_rubber_line_","source":"E:\\library\\ui\\repaint.c","reference":"0x48219c","earlier":"0x48d7e0","same_instruction_shape":false,"reference_instructions":55,"earlier_instructions":49,"callers":[[4773856,"display_rubber_waypoint_line_",96]],"diff":["--- 0x48d7e0","+++ 0x48219c","@@ -21,9 +21,9 @@"," test edx,edx"," je local:26"," mov eax,0x1","-xor ebx,ebx","+xor ecx,ecx"," call external","-mov m4[None+None*1+address],ebx","+mov m4[None+None*1+address],ecx"," sti "," cld "," mov ecx,m4[None+esi*4+address]","@@ -34,16 +34,22 @@"," cli "," mov m4[None+None*1+address],edi"," test edi,edi","-jle local:43","-mov eax,0x1","-call external","-mov eax,0x1","-mov ecx,0x1","-call external","-mov m4[None+None*1+address],ecx","+jg local:43"," sti "," cld "," pop ebp"," pop edi"," pop esi"," ret 0x4","+mov eax,0x1","+call external","+mov eax,0x1","+mov ebx,0x1","+call external","+mov m4[None+None*1+address],ebx","+sti ","+cld ","+pop ebp","+pop edi","+pop esi","+ret 0x4"]},{"name":"set_attr_","source":"E:\\library\\ui\\setattr.c","reference":"0x482690","earlier":"0x48dd00","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"set_attr_pargs_","source":"E:\\library\\ui\\setattr.c","reference":"0x4827bc","earlier":"0x48de24","same_instruction_shape":false,"reference_instructions":468,"earlier_instructions":473,"callers":[[4775460,"set_attr_",6],[4775460,"create_menu_",40]],"diff":["--- 0x48de24","+++ 0x4827bc","@@ -11,463 +11,458 @@"," mov m4[esi+None*1+0x0],edx"," mov eax,edx"," mov edx,m4[edx+None*1+0xfffffffc]","-cmp edx,0x40","-ja local:461","+cmp edx,0x42","+ja local:462"," jmp m4[None+edx*4+address]","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov ecx,ebx","-mov m4[esi+None*1+0x0],ebx","-add ecx,ebp","-mov ebx,m4[ebx+None*1+0xfffffffc]","-mov eax,ecx","-mov m4[esi+None*1+0x0],ecx","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov eax,m4[eax+None*1+0xfffffffc]","-push eax","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-lea eax,m4[ecx+ebp*1+0x0]","-mov edx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-lea ecx,m4[eax+ebp*1+0x0]","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ecx","-mov eax,m4[esi+None*1+0x0]","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov eax,m4[eax+None*1+0xfffffffc]","-push eax","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,m4[esi+None*1+0x0]","-add eax,ebp","-mov ecx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-mov edx,eax","-sar edx,0x1f","-sub eax,edx","-sar eax,0x1","-sub ebx,eax","-mov eax,edi","-call external","-mov edx,eax","-sar edx,0x1f","-sub eax,edx","-sar eax,0x1","-mov edx,ecx","-sub edx,eax","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-lea eax,m4[ecx+ebp*1+0x0]","-mov edx,m4[ecx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov ebx,edx","-mov m4[esi+None*1+0x0],edx","-add ebx,ebp","-mov edx,m4[edx+None*1+0xfffffffc]","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov ebx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,m4[edi+None*1+0x4]","-mov edx,edi","-cmp eax,0xc","-jb local:8","-jbe local:167","-cmp eax,0x10","-je local:171","-jmp local:8","-mov eax,edi","-mov edx,ebx","-call external","-jmp local:8","-mov edx,ebx","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov edx,eax","-add edx,ebp","-mov m4[esi+None*1+0x0],edx","-mov eax,edi","-mov edx,m4[edx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov ebx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-mov ecx,eax","-add ecx,ebp","-mov m4[esi+None*1+0x0],ecx","-mov eax,edi","-mov edx,m4[ecx+None*1+0xfffffffc]","-call external","-jmp local:8","-mov ebx,eax","-add ebx,ebp","-mov m4[esi+None*1+0x0],ebx","-mov eax,edi","-mov edx,m4[ebx+None*1+0xfffffffc]","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-or m1[edi+None*1+0x6e],0x40","-jmp local:8","-add eax,ebp","-mov m4[esi+None*1+0x0],eax","-mov edx,m4[eax+None*1+0xfffffffc]","-mov eax,edi","-call external","-jmp local:8","-push 0x237","-push address","-push address","-call external","-add esp,0xc","-jmp local:8"," pop ebp"," pop edi"," pop esi"," pop ecx"," pop ebx"," ret ","+mov edx,eax","+add edx,ebp","+mov ecx,edx","+mov m4[esi+None*1+0x0],edx","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+lea eax,m4[ecx+ebp*1+0x0]","+mov ebx,m4[ecx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ecx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov eax,m4[eax+None*1+0xfffffffc]","+push eax","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov edx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+lea ecx,m4[eax+ebp*1+0x0]","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,ecx","+mov m4[esi+None*1+0x0],ecx","+add eax,ebp","+mov ecx,m4[ecx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov eax,m4[eax+None*1+0xfffffffc]","+push eax","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov ecx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+mov edx,eax","+sar edx,0x1f","+sub eax,edx","+sar eax,0x1","+sub ebx,eax","+mov eax,edi","+call external","+mov edx,eax","+sar edx,0x1f","+sub eax,edx","+sar eax,0x1","+mov edx,ecx","+sub edx,eax","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+lea eax,m4[ebx+ebp*1+0x0]","+mov edx,m4[ebx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov ecx,m4[esi+None*1+0x0]","+add ecx,ebp","+mov edx,m4[edx+None*1+0xfffffffc]","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov ebx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov edx,eax","+add edx,ebp","+mov m4[esi+None*1+0x0],edx","+mov eax,edi","+mov edx,m4[edx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov ebx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+mov ebx,eax","+add ebx,ebp","+mov m4[esi+None*1+0x0],ebx","+mov eax,edi","+mov edx,m4[ebx+None*1+0xfffffffc]","+call external","+jmp local:8","+mov ecx,eax","+add ecx,ebp","+mov m4[esi+None*1+0x0],ecx","+mov eax,edi","+mov edx,m4[ecx+None*1+0xfffffffc]","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+or m1[edi+None*1+0x6e],0x40","+jmp local:8","+add eax,ebp","+mov m4[esi+None*1+0x0],eax","+mov edx,m4[eax+None*1+0xfffffffc]","+mov eax,edi","+call external","+jmp local:8","+or m1[edi+None*1+0x6e],0x80","+jmp local:8","+push 0x244","+push address","+push address","+call external","+add esp,0xc","+jmp local:8"]},{"name":"add_close_box_to_","source":"E:\\library\\ui\\setattr.c","reference":"0x482d44","earlier":"0x48e3b8","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"draw_ui_block_","source":"E:\\library\\ui\\ublock.c","reference":"0x482e94","earlier":"0x48e504","same_instruction_shape":true,"reference_instructions":36,"earlier_instructions":36,"callers":[],"diff":[]},{"name":"install_close_box_sprites_","source":"E:\\library\\ui\\uclose.c","reference":"0x4836dc","earlier":"0x48eccc","same_instruction_shape":false,"reference_instructions":90,"earlier_instructions":84,"callers":[[4779212,"install_object_manager_",3]],"diff":["--- 0x48eccc","+++ 0x4836dc","@@ -29,7 +29,7 @@"," mov eax,address"," call external"," test eax,eax","-je local:47","+je local:48"," push 0x4e"," mov ecx,address"," mov ebx,0x100","@@ -45,6 +45,7 @@"," mov m1[eax+None*1+0xffffffff],bl"," cmp edx,0x100"," jl local:40","+mov eax,eax"," mov eax,m4[None+None*1+address]"," mov m4[eax+None*1+0x0],0x10"," mov m4[eax+None*1+0x4],0x10","@@ -61,7 +62,12 @@"," mov eax,address"," call external"," test eax,eax","-je local:79","+jne local:70","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x69"," mov ecx,address"," mov ebx,0x100","@@ -76,7 +82,7 @@"," inc edx"," mov m1[eax+None*1+0xffffffff],bh"," cmp edx,0x100","-jl local:72","+jl local:78"," pop esi"," pop edx"," pop ecx"]},{"name":"notify_close_box_menu_","source":"E:\\library\\ui\\uclose.c","reference":"0x48390c","earlier":"0x48eef8","same_instruction_shape":true,"reference_instructions":34,"earlier_instructions":34,"callers":[],"diff":[]},{"name":"install_menu_font_","source":"E:\\library\\ui\\umenu.c","reference":"0x483a30","earlier":"0x48efb0","same_instruction_shape":true,"reference_instructions":2,"earlier_instructions":2,"callers":[[4779952,"install_object_manager_",5]],"diff":[]},{"name":"draw_ui_menu_","source":"E:\\library\\ui\\umenu.c","reference":"0x483b34","earlier":"0x48f0a4","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"add_menu_line_to_","source":"E:\\library\\ui\\umenu.c","reference":"0x483b74","earlier":"0x48f0e4","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"add_menu_text_to_","source":"E:\\library\\ui\\umenu.c","reference":"0x483bb0","earlier":"0x48f120","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"auto_size_menu_text_","source":"E:\\library\\ui\\umenu.c","reference":"0x483c80","earlier":"0x48f1ec","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"create_menu_","source":"E:\\library\\ui\\umenu.c","reference":"0x483cb4","earlier":"0x48f220","same_instruction_shape":true,"reference_instructions":68,"earlier_instructions":68,"callers":[],"diff":[]},{"name":"place_menu_at_","source":"E:\\library\\ui\\umenu.c","reference":"0x483d68","earlier":"0x48f2d4","same_instruction_shape":true,"reference_instructions":30,"earlier_instructions":30,"callers":[],"diff":[]},{"name":"draw_ui_menu_line_","source":"E:\\library\\ui\\umline.c","reference":"0x483dc4","earlier":"0x48f334","same_instruction_shape":true,"reference_instructions":22,"earlier_instructions":22,"callers":[],"diff":[]},{"name":"set_object_position_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484850","earlier":"0x48fd58","same_instruction_shape":true,"reference_instructions":17,"earlier_instructions":17,"callers":[],"diff":[]},{"name":"set_object_on_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484ab0","earlier":"0x48ffb8","same_instruction_shape":false,"reference_instructions":35,"earlier_instructions":31,"callers":[[4784056,"notify_modem_type_",11],[4784056,"set_map_tool_none_",6],[4784056,"set_map_tool_none_",9],[4784056,"set_map_tool_none_",12],[4784056,"set_map_tool_none_",15]],"diff":["--- 0x48ffb8","+++ 0x484ab0","@@ -1,31 +1,35 @@"," push ebx"," push ecx","+sub esp,0x14","+mov ecx,eax","+mov ebx,edx","+mov eax,m4[eax+None*1+0x74]","+mov m4[ecx+None*1+0x74],edx","+cmp eax,edx","+jne local:13","+add esp,0x14","+pop ecx","+pop ebx","+ret ","+push edi"," push esi","-push edi","-sub esp,0x14","-mov ebx,eax","-mov ecx,edx","-mov eax,m4[eax+None*1+0x74]","-mov m4[ebx+None*1+0x74],edx","-cmp eax,edx","-je local:25","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov esi,0x12"," call external"," xor edi,edi","-mov edx,esp","-mov m4[esp+None*1+0x0],esi","-mov m4[esp+None*1+0x8],edi","-mov m4[esp+None*1+0xc],edi","-mov m4[esp+None*1+0x4],ecx","+lea edx,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x8],esi","+mov m4[esp+None*1+0x10],edi","+mov m4[esp+None*1+0x14],edi","+mov m4[esp+None*1+0xc],ebx"," call external","-mov m4[esp+None*1+0x10],eax","-mov eax,ebx","+mov m4[esp+None*1+0x18],eax","+mov eax,ecx"," call external","+pop esi","+pop edi"," add esp,0x14","-pop edi","-pop esi"," pop ecx"," pop ebx"," ret "]},{"name":"set_object_displayable_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484c20","earlier":"0x490114","same_instruction_shape":false,"reference_instructions":56,"earlier_instructions":50,"callers":[[4784404,"notify_modem_type_",6],[4784404,"notify_modem_type_",14],[4784404,"set_map_tool_none_",3],[4784404,"notify_waypoint_tool_info_",4],[4784404,"notify_waypoint_tool_info_",10]],"diff":["--- 0x490114","+++ 0x484c20","@@ -1,49 +1,55 @@"," push ebx"," push ecx"," push esi","-push edi"," push ebp"," sub esp,0x14","-mov ebx,eax","-mov ecx,edx","+mov ecx,eax","+mov ebx,edx"," mov eax,m4[eax+None*1+0x6c]","-and m1[ebx+None*1+0x6c],0xfe","+and m1[ecx+None*1+0x6c],0xfe"," and edx,0x1","-mov esi,m4[ebx+None*1+0x6c]","+mov esi,m4[ecx+None*1+0x6c]"," or esi,edx"," mov edx,esi"," shl eax,0x1f"," shl edx,0x1f"," sar eax,0x1f"," sar edx,0x1f","-mov m4[ebx+None*1+0x6c],esi","+mov m4[ecx+None*1+0x6c],esi"," cmp edx,eax","-je local:43","+jne local:26","+add esp,0x14","+pop ebp","+pop esi","+pop ecx","+pop ebx","+ret ","+push edi"," mov edi,0x1","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov ebp,0x13"," call external","-mov eax,ebx","+mov eax,ecx"," xor edx,edx"," mov m4[None+None*1+address],edi"," call external","-mov edx,esp","-mov m4[esp+None*1+0x0],ebp","+lea edx,m4[esp+None*1+0x4]","+mov m4[esp+None*1+0x4],ebp"," xor eax,eax","-mov m4[esp+None*1+0x4],ecx","-mov m4[esp+None*1+0x8],eax","+mov m4[esp+None*1+0x8],ebx"," mov m4[esp+None*1+0xc],eax","+mov m4[esp+None*1+0x10],eax"," call external","-mov m4[esp+None*1+0x10],eax","-mov eax,ebx","+mov m4[esp+None*1+0x14],eax","+mov eax,ecx"," call external"," mov edx,m4[None+None*1+address]"," mov eax,m4[None+None*1+address]"," call external","+pop edi"," add esp,0x14"," pop ebp","-pop edi"," pop esi"," pop ecx"," pop ebx"]},{"name":"set_object_text_justify_","source":"E:\\library\\ui\\uoaccess.c","reference":"0x484e64","earlier":"0x490350","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"notify_push_button_menu_","source":"E:\\library\\ui\\upbutton.c","reference":"0x485364","earlier":"0x490810","same_instruction_shape":true,"reference_instructions":47,"earlier_instructions":47,"callers":[],"diff":[]},{"name":"notify_radio_button_menu_","source":"E:\\library\\ui\\urbutton.c","reference":"0x486228","earlier":"0x491600","same_instruction_shape":true,"reference_instructions":36,"earlier_instructions":36,"callers":[],"diff":[]},{"name":"do_radio_button_push_","source":"E:\\library\\ui\\urbutton.c","reference":"0x4864d0","earlier":"0x49184c","same_instruction_shape":false,"reference_instructions":28,"earlier_instructions":28,"callers":[[4790348,"notify_radio_button_menu_",10]],"diff":["--- 0x49184c","+++ 0x4864d0","@@ -1,19 +1,14 @@","-push ebx","+push ecx"," push edx","-mov ebx,eax","+mov ecx,eax"," mov edx,m4[eax+None*1+0x8]"," mov edx,m4[edx+None*1+0xc]"," test edx,edx","-je local:25","-cmp edx,ebx","-jne local:14","-push 0x0","-push 0x1","-push 0xd","-push ebx","-jmp local:20","+je local:20","+cmp edx,ecx","+je local:23"," cmp m4[edx+None*1+0x4],0xa","-jne local:22","+jne local:17"," push 0x0"," push 0x0"," push 0xd","@@ -24,5 +19,10 @@"," test edx,edx"," jne local:7"," pop edx","-pop ebx","+pop ecx"," ret ","+push 0x0","+push 0x1","+push 0xd","+push ecx","+jmp local:15"]},{"name":"install_resize_box_sprites_","source":"E:\\library\\ui\\uresize.c","reference":"0x48658c","earlier":"0x49190c","same_instruction_shape":false,"reference_instructions":90,"earlier_instructions":84,"callers":[[4790540,"install_object_manager_",4]],"diff":["--- 0x49190c","+++ 0x48658c","@@ -29,7 +29,7 @@"," mov eax,address"," call external"," test eax,eax","-je local:47","+je local:48"," push 0x56"," mov ecx,address"," mov ebx,0x100","@@ -45,6 +45,7 @@"," mov m1[eax+None*1+0xffffffff],bl"," cmp edx,0x100"," jl local:40","+mov eax,eax"," mov eax,m4[None+None*1+address]"," mov m4[eax+None*1+0x0],0x10"," mov m4[eax+None*1+0x4],0x10","@@ -61,7 +62,12 @@"," mov eax,address"," call external"," test eax,eax","-je local:79","+jne local:70","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," push 0x71"," mov ecx,address"," mov ebx,0x100","@@ -76,7 +82,7 @@"," inc edx"," mov m1[eax+None*1+0xffffffff],bh"," cmp edx,0x100","-jl local:72","+jl local:78"," pop esi"," pop edx"," pop ecx"]},{"name":"set_object_text_","source":"E:\\library\\ui\\utext.c","reference":"0x4879fc","earlier":"0x492b68","same_instruction_shape":false,"reference_instructions":75,"earlier_instructions":75,"callers":[[4795240,"set_waypoint_button_letter_",6]],"diff":["--- 0x492b68","+++ 0x4879fc","@@ -6,7 +6,27 @@"," mov ebp,eax"," mov esi,edx"," test edx,edx","-je local:18","+jne local:29","+mov ecx,m4[ebp+None*1+0x84]","+test ecx,ecx","+je local:16","+mov ebx,0x161","+mov edx,address","+mov eax,ecx","+call external","+mov m4[ebp+None*1+0x84],0x0","+mov ah,m1[ebp+None*1+0x6e]","+and ah,0xf7","+xor edx,edx","+mov m1[ebp+None*1+0x6e],ah","+mov eax,ebp","+call external","+pop ebp","+pop edi","+pop esi","+pop ecx","+pop ebx","+ret "," mov edi,edx"," sub ecx,ecx"," dec ecx","@@ -15,28 +35,19 @@"," not ecx"," dec ecx"," test ecx,ecx","-jne local:27","-mov ebx,m4[ebp+None*1+0x84]","-test ebx,ebx","-je local:25","-mov edx,address","-mov eax,ebx","-mov ebx,0x131","-call external","-mov m4[ebp+None*1+0x84],0x0","-jmp local:63","+je local:9"," mov edx,m4[ebp+None*1+0x84]"," test edx,edx","-je local:38","+je local:49"," mov eax,esi"," call external"," test eax,eax","-je local:69","-mov ebx,0x13f","+je local:23","+mov ebx,0x16f"," mov edx,address"," mov eax,m4[ebp+None*1+0x84]"," call external","-mov ebx,0x142","+mov ebx,0x172"," mov edi,esi"," mov edx,address"," sub ecx,ecx","@@ -53,23 +64,12 @@"," mov al,m1[esi+None*1+0x0]"," mov m1[edi+None*1+0x0],al"," cmp al,0x0","-je local:62","+je local:73"," mov al,m1[esi+None*1+0x1]"," add esi,0x2"," mov m1[edi+None*1+0x1],al"," add edi,0x2"," cmp al,0x0","-jne local:52","+jne local:63"," pop edi","-mov ah,m1[ebp+None*1+0x6e]","-and ah,0xf7","-xor edx,edx","-mov m1[ebp+None*1+0x6e],ah","-mov eax,ebp","-call external","-pop ebp","-pop edi","-pop esi","-pop ecx","-pop ebx","-ret ","+jmp local:17"]},{"name":"construct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4881a0","earlier":"0x4932c0","same_instruction_shape":true,"reference_instructions":7,"earlier_instructions":7,"callers":[[4797120,"setup_drone_",17],[4797120,"set_simple_drone_object_number_",23]],"diff":[]},{"name":"recurse_construct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4881b8","earlier":"0x4932d8","same_instruction_shape":false,"reference_instructions":146,"earlier_instructions":147,"callers":[[4797144,"construct_3d_object_",4]],"diff":["--- 0x4932d8","+++ 0x4881b8","@@ -5,111 +5,88 @@"," mov m4[esp+None*1+0x0],eax"," mov edi,edx"," mov m4[esp+None*1+0x4],ebx","-mov m4[esp+None*1+0x14],ecx","+mov m4[esp+None*1+0x10],ecx"," mov ecx,m4[esp+None*1+0x28]"," mov edx,m4[None+None*1+address]"," mov ebp,m4[edx+eax*4+0x0]"," mov ebp,m4[ebp+None*1+0x2c]"," test ebp,ebp","-je local:17","+je local:122"," mov esi,m4[ebp+None*1+0x0]"," add ebp,0x4","-jmp local:18","-xor esi,esi"," xor eax,eax"," test edi,edi","-jne local:22","+jne local:20"," mov eax,0x44"," cmp m4[esp+None*1+0x4],0x0","-jne local:25","+jne local:23"," add eax,0x30"," test ecx,ecx","-jne local:28","+jne local:26"," add eax,0x30"," lea edx,m4[None+esi*4+0x0]"," add eax,edx"," test eax,eax","-jle local:36","+jle local:124"," mov ebx,0x96"," mov edx,address"," call external","-jmp local:37","-xor eax,eax"," test edi,edi","-jne local:43","+jne local:126"," mov m4[esp+None*1+0xc],eax"," mov m4[eax+None*1+0x34],eax"," add eax,0x44","-jmp local:45","-mov m4[esp+None*1+0xc],edi","-mov m4[edi+None*1+0x34],eax"," mov ebx,m4[esp+None*1+0x4]"," test ebx,ebx","-jne local:52","+jne local:129"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x8],eax"," add eax,0x30","-jmp local:54","-mov edi,m4[esp+None*1+0xc]","-mov m4[edi+None*1+0x8],ebx"," test ecx,ecx","-jne local:60","+jne local:132"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0xc],eax"," add eax,0x30","-jmp local:62","-mov edx,m4[esp+None*1+0xc]","-mov m4[edx+None*1+0xc],0x0"," test esi,esi","-jle local:67","+jle local:135"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x1c],eax","-jmp local:69","-mov eax,m4[esp+None*1+0xc]","-mov m4[eax+None*1+0x1c],0x0"," mov edx,m4[esp+None*1+0xc]"," mov m4[edx+None*1+0x4],0x0"," mov m4[edx+None*1+0x24],0x0"," mov m4[edx+None*1+0x28],0x0"," mov m4[edx+None*1+0x2c],0x0","+mov m4[edx+None*1+0x30],0x0"," mov eax,m4[esp+None*1+0x0]","-mov m4[edx+None*1+0x30],0x0","+mov m4[edx+None*1+0x20],esi"," mov m4[edx+None*1+0x0],eax","-mov m4[edx+None*1+0x20],esi"," test ecx,ecx","-jne local:81","+jne local:65"," mov m4[edx+None*1+0x38],ecx"," mov eax,m4[esp+None*1+0xc]"," and m1[eax+None*1+0x40],0xef"," test esi,esi","-jle local:141","-jle local:141","-xor eax,eax","+jle local:116","+jle local:116"," shl esi,0x2","-mov m4[esp+None*1+0x10],eax","+xor ecx,ecx"," mov m4[esp+None*1+0x8],esi","+mov m4[esp+None*1+0x14],ecx"," mov esi,m4[ebp+None*1+0x0]"," add ebp,0x4"," test esi,esi","-jne local:108","-mov eax,m4[esp+None*1+0x14]","-mov edx,m4[eax+None*1+0x0]","-test edx,edx","-je local:103","-mov esi,edx","-add edx,0x4","+jne local:85","+mov eax,m4[esp+None*1+0x10]","+mov ebx,m4[eax+None*1+0x0]","+test ebx,ebx","+je local:138","+lea edx,m4[ebx+None*1+0x4]"," mov m4[eax+None*1+0x0],edx","-mov esi,m4[esi+None*1+0x0]","-jmp local:108","-push 0x110","-push address","-push address","-call external","-add esp,0xc","+mov esi,m4[ebx+None*1+0x0]"," test esi,esi","-je local:129","+je local:144"," push 0x0","-mov ecx,m4[esp+None*1+0x18]","+mov ecx,m4[esp+None*1+0x14]"," mov eax,esi"," xor ebx,ebx"," xor edx,edx","@@ -126,22 +103,44 @@"," and cl,0x3"," repne movsb m1[edi+None*1+0x0],m1[esi+None*1+0x0]"," pop edi","-jmp local:130","-xor edx,edx"," mov eax,m4[esp+None*1+0xc]","-mov ecx,m4[esp+None*1+0x10]","+mov esi,m4[esp+None*1+0x14]"," mov eax,m4[eax+None*1+0x1c]","-mov edi,m4[esp+None*1+0x8]","-add eax,ecx","+add eax,esi"," add ebp,0x30","-lea esi,m4[ecx+None*1+0x4]","+lea edi,m4[esi+None*1+0x4]"," mov m4[eax+None*1+0x0],edx","-mov m4[esp+None*1+0x10],esi","-cmp esi,edi","-jl local:90","+mov edx,m4[esp+None*1+0x8]","+mov m4[esp+None*1+0x14],edi","+cmp edi,edx","+jl local:74"," mov eax,m4[esp+None*1+0xc]"," add esp,0x18"," pop ebp"," pop edi"," pop esi"," ret 0x4","+xor esi,esi","+jmp local:16","+xor eax,eax","+jmp local:33","+mov m4[esp+None*1+0xc],edi","+mov m4[edi+None*1+0x34],eax","+jmp local:38","+mov edi,m4[esp+None*1+0xc]","+mov m4[edi+None*1+0x8],ebx","+jmp local:44","+mov edx,m4[esp+None*1+0xc]","+mov m4[edx+None*1+0xc],0x0","+jmp local:49","+mov eax,m4[esp+None*1+0xc]","+mov m4[eax+None*1+0x1c],0x0","+jmp local:53","+push 0x110","+push address","+push address","+call external","+add esp,0xc","+jmp local:85","+xor edx,edx","+jmp local:105"]},{"name":"destruct_3d_object_","source":"E:\\library\\3dvisual\\3dbuild.c","reference":"0x4883b4","earlier":"0x4934a0","same_instruction_shape":false,"reference_instructions":36,"earlier_instructions":30,"callers":[[4797600,"set_simple_drone_object_number_",16]],"diff":["--- 0x4934a0","+++ 0x4883b4","@@ -3,22 +3,28 @@"," push edx"," push esi"," mov ecx,eax","+mov edx,m4[eax+None*1+0x1c]"," mov ebx,m4[eax+None*1+0x20]","-mov edx,m4[eax+None*1+0x1c]"," dec ebx"," cmp ebx,0xffffffff","-je local:18","+je local:19"," mov esi,m4[edx+None*1+0x0]"," test esi,esi","-je local:16","+jne local:15","+add edx,0x4","+jmp local:7"," mov eax,esi"," call local:0"," mov m4[edx+None*1+0x0],0x0","-add edx,0x4","-jmp local:7","+jmp local:13"," mov edx,m4[ecx+None*1+0x34]"," test edx,edx","-je local:25","+jne local:27","+pop esi","+pop edx","+pop ecx","+pop ebx","+ret "," mov ebx,0x160"," mov eax,edx"," mov edx,address"]},{"name":"initialise_3d_core_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x488780","earlier":"0x4937f0","same_instruction_shape":true,"reference_instructions":8,"earlier_instructions":8,"callers":[],"diff":[]},{"name":"set_3d_viewport_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x4887a0","earlier":"0x493810","same_instruction_shape":false,"reference_instructions":63,"earlier_instructions":57,"callers":[[4798480,"set_primary_visual_viewport_",17]],"diff":["--- 0x493810","+++ 0x4887a0","@@ -1,57 +1,63 @@"," push esi"," push edi","-sub esp,0x18","-mov edi,eax","-mov esi,edx","-mov m4[esp+None*1+0x14],ebx","-mov m4[esp+None*1+0x10],ecx","-mov m4[None+None*1+address],ebx","+push ebp","+mov ebp,esp","+sub esp,0x1c","+and esp,0xfffffff8","+mov m4[esp+None*1+0x14],eax","+mov m4[esp+None*1+0x10],edx","+mov edi,ebx","+mov esi,ecx"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],eax","-add ebx,eax","+lea ecx,m4[eax+ebx*1+0xffffffff]"," mov m4[None+None*1+address],edx","-dec ebx","-mov eax,m4[esp+None*1+0x14]","-mov m4[None+None*1+address],ebx","-lea ebx,m4[ecx+edx*1+0x0]","-mov edx,eax","+mov m4[None+None*1+address],ecx","+lea ecx,m4[edx+esi*1+0x0]","+mov edx,ebx","+mov eax,ebx"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1"," mov m4[None+None*1+address],eax","-mov edx,ecx","-mov eax,ecx","+mov edx,esi","+mov eax,esi"," sar edx,0x1f"," sub eax,edx"," sar eax,0x1","-dec ebx"," mov m4[None+None*1+address],ebx","-mov ecx,ebx","+mov m4[esp+None*1+0x18],edi","+dec ecx"," mov ebx,m4[None+None*1+address]","+mov edx,m4[esp+None*1+0x10]"," mov m4[None+None*1+address],eax","-mov edx,esi","-mov eax,edi","+mov eax,m4[esp+None*1+0x14]","+mov m4[None+None*1+address],ecx"," call external","-fild m4[esp+None*1+0x14]","+fild m4[esp+None*1+0x18]"," fld st(0)"," fld m8[None+None*1+address]"," fxch st(0),st(1)"," fmul st(1)","-fild m4[esp+None*1+0x10]","+mov m4[esp+None*1+0x18],esi","+fild m4[esp+None*1+0x18]"," fld st(0)"," fld m8[None+None*1+address]"," fxch st(0),st(1)"," fmul st(1)"," fdivp st(3)","+fxch st(0),st(1)","+fmulp st(3)","+fmulp st(3)"," fxch st(0),st(2)","+fdivp st(1)","+fxch st(0),st(1)"," call external"," fistp m4[None+None*1+address]","-fmulp st(2)","-fmulp st(2)","-fdivrp st(1)"," call external"," fistp m4[None+None*1+address]","-add esp,0x18","+mov esp,ebp","+pop ebp"," pop edi"," pop esi"," ret "]},{"name":"get_heading_pitch_roll_","source":"E:\\library\\3dvisual\\3dcore.c","reference":"0x4894dc","earlier":"0x4944c8","same_instruction_shape":true,"reference_instructions":35,"earlier_instructions":35,"callers":[],"diff":[]},{"name":"create_small_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48dfd0","earlier":"0x4a0ec0","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_heave_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e060","earlier":"0x4a0f50","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_splash_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e090","earlier":"0x4a0f80","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"create_cannon_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e0c0","earlier":"0x4a0fb0","same_instruction_shape":false,"reference_instructions":19,"earlier_instructions":19,"callers":[[4853680,"create_creative_cannon_crater_",12]],"diff":["--- 0x4a0fb0","+++ 0x48e0c0","@@ -4,11 +4,11 @@"," sub esp,0xc"," mov esi,eax"," mov eax,edx","-mov ecx,esp","+lea ecx,m4[esp+None*1+0x8]"," lea ebx,m4[esp+None*1+0x4]","-lea edx,m4[esp+None*1+0x8]","+mov edx,esp"," call external","-mov ebx,m4[esp+None*1+0x8]","+mov ebx,m4[esp+None*1+0x0]"," mov edx,0x3e"," mov eax,esi"," call external"]},{"name":"create_short_life_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e0f0","earlier":"0x4a0fe0","same_instruction_shape":false,"reference_instructions":41,"earlier_instructions":37,"callers":[[4853728,"create_splash_",11]],"diff":["--- 0x4a0fe0","+++ 0x48e0f0","@@ -4,14 +4,18 @@"," mov ecx,edx"," mov edx,m4[eax+None*1+0x0]"," test edx,edx","-jl local:33","+jl local:14"," cmp edx,0xfffffff","-jg local:33","+jg local:14"," mov edi,m4[eax+None*1+0x4]"," test edi,edi","-jl local:33","+jl local:14"," cmp edi,0xfffffff","-jg local:33","+jle local:18","+pop edi","+pop esi","+pop ecx","+ret "," mov edx,m4[None+None*1+address]"," mov esi,m4[eax+None*1+0x0]"," mov m4[edx+None*1+0x0],esi","@@ -22,14 +26,14 @@"," call external"," mov edx,eax"," mov eax,m4[None+None*1+address]","-add eax,0x18","-mov m4[eax+None*1+0xfffffffc],0x0","-mov m4[eax+None*1+0xfffffff0],edx","-mov m4[eax+None*1+0xfffffff4],ecx","-mov m4[eax+None*1+0xfffffff8],ebx","+add eax,0x24","+mov m4[eax+None*1+0xfffffff0],0x0","+mov m4[eax+None*1+0xffffffe4],edx","+mov m4[eax+None*1+0xffffffe8],ecx","+mov m4[eax+None*1+0xffffffec],ebx"," mov m4[None+None*1+address],eax"," cmp eax,address","-jne local:33","+jne local:14"," mov m4[None+None*1+address],address"," pop edi"," pop esi"]},{"name":"create_long_life_crater_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e164","earlier":"0x4a1050","same_instruction_shape":false,"reference_instructions":40,"earlier_instructions":36,"callers":[[4853840,"create_small_crater_",11],[4853840,"create_heave_crater_",11]],"diff":["--- 0x4a1050","+++ 0x48e164","@@ -4,14 +4,18 @@"," mov ecx,edx"," mov edx,m4[eax+None*1+0x0]"," test edx,edx","-jl local:32","+jl local:14"," cmp edx,0xfffffff","-jg local:32","+jg local:14"," mov edi,m4[eax+None*1+0x4]"," test edi,edi","-jl local:32","+jl local:14"," cmp edi,0xfffffff","-jg local:32","+jle local:18","+pop edi","+pop esi","+pop ecx","+ret "," mov edx,m4[None+None*1+address]"," mov esi,m4[eax+None*1+0x0]"," mov m4[edx+None*1+0x0],esi","@@ -22,13 +26,13 @@"," call external"," mov edx,eax"," mov eax,m4[None+None*1+address]","-add eax,0x18","-mov m4[eax+None*1+0xfffffff0],edx","-mov m4[eax+None*1+0xfffffff4],ecx","-mov m4[eax+None*1+0xfffffff8],ebx","+add eax,0x24","+mov m4[eax+None*1+0xffffffe4],edx","+mov m4[eax+None*1+0xffffffe8],ecx","+mov m4[eax+None*1+0xffffffec],ebx"," mov m4[None+None*1+address],eax"," cmp eax,address","-jne local:32","+jne local:14"," mov m4[None+None*1+address],address"," pop edi"," pop esi"]},{"name":"update_craters_","source":"E:\\library\\3dvisual\\craters.c","reference":"0x48e1d0","earlier":"0x4a10b8","same_instruction_shape":false,"reference_instructions":26,"earlier_instructions":19,"callers":[[4853944,"update_3d_visual_",9]],"diff":["--- 0x4a10b8","+++ 0x48e1d0","@@ -1,19 +1,26 @@","-push ecx","+push ebx"," push edx"," mov eax,address"," xor edx,edx"," cmp m4[eax+None*1+0xc],0x180","-jne local:12","-mov ecx,m4[eax+None*1+0x14]","-inc ecx","-mov m4[eax+None*1+0x14],ecx","-cmp ecx,0x5","-jne local:12","-mov m4[eax+None*1+0xc],0xffffffff","+je local:13"," inc edx","-add eax,0x18","+add eax,0x24"," cmp edx,0x80"," jl local:4"," pop edx","-pop ecx","+pop ebx"," ret ","+mov ebx,m4[eax+None*1+0x14]","+inc ebx","+mov m4[eax+None*1+0x14],ebx","+cmp ebx,0x5","+jne local:6","+mov m4[eax+None*1+0xc],0xffffffff","+inc edx","+add eax,0x24","+cmp edx,0x80","+jl local:4","+pop edx","+pop ebx","+ret "]},{"name":"set_map_configuration_","source":"E:\\library\\3dvisual\\drawmap.c","reference":"0x48e740","earlier":"0x4a15c0","same_instruction_shape":true,"reference_instructions":18,"earlier_instructions":18,"callers":[],"diff":[]},{"name":"initialise_map_grids_","source":"E:\\library\\3dvisual\\drawmap.c","reference":"0x48eb38","earlier":"0x4a1964","same_instruction_shape":true,"reference_instructions":61,"earlier_instructions":61,"callers":[],"diff":[]},{"name":"update_fragments_","source":"E:\\library\\3dvisual\\fragment.c","reference":"0x48fd1c","earlier":"0x4a5b20","same_instruction_shape":false,"reference_instructions":145,"earlier_instructions":144,"callers":[[4872992,"update_3d_visual_",12]],"diff":["--- 0x4a5b20","+++ 0x48fd1c","@@ -10,16 +10,16 @@"," mov m4[esp+None*1+0x54],eax"," lea eax,m4[ebp+None*1+0x78]"," xor edx,edx","-mov m4[esp+None*1+0x50],eax","+mov m4[esp+None*1+0x4c],eax"," lea eax,m4[ebp+None*1+0x48]","-mov m4[esp+None*1+0x4c],edx","+mov m4[esp+None*1+0x50],edx"," mov m4[esp+None*1+0x48],eax"," mov eax,m4[ebp+None*1+0x0]"," test eax,eax","-jbe local:121","+jbe local:111"," cmp eax,0x1","-jne local:116","-mov ebx,esp","+jne local:139","+lea ebx,m4[esp+None*1+0x24]"," mov edx,m4[None+None*1+address]"," mov eax,m4[ebp+None*1+0x84]"," mov ecx,0x24","@@ -27,12 +27,12 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov eax,m4[esp+None*1+0x50]","-lea esi,m4[esp+None*1+0x24]","+mov eax,m4[esp+None*1+0x4c]","+mov esi,esp"," call external","-lea ebx,m4[esp+None*1+0x24]","+mov ebx,esp"," mov edx,m4[esp+None*1+0x54]","-mov eax,esp","+lea eax,m4[esp+None*1+0x24]"," mov edi,m4[esp+None*1+0x54]"," call external"," push edi","@@ -49,20 +49,20 @@"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov ebx,m4[ebp+None*1+0x90]","+mov ecx,m4[ebp+None*1+0x90]"," mov eax,m4[ebp+None*1+0x88]","-sub ebx,edx","+sub ecx,edx"," mov edx,m4[None+None*1+address]","-mov m4[ebp+None*1+0x90],ebx","+mov m4[ebp+None*1+0x90],ecx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2"," adc edx,0x0","-mov ecx,m4[ebp+None*1+0x48]","+mov ebx,m4[ebp+None*1+0x48]"," mov eax,m4[ebp+None*1+0x8c]","-add ecx,edx","+add ebx,edx"," mov edx,m4[None+None*1+address]","-mov m4[ebp+None*1+0x48],ecx","+mov m4[ebp+None*1+0x48],ebx"," imul edx"," shld edx,eax,0x1"," shl eax,0x2","@@ -83,56 +83,46 @@"," mov m4[ebp+None*1+0x50],edi"," call external"," cmp eax,m4[ebp+None*1+0x50]","-jl local:121","+jl local:111"," mov m4[ebp+None*1+0x84],0x0"," mov m4[ebp+None*1+0x88],0x0"," mov m4[ebp+None*1+0x8c],0x0"," mov m4[ebp+None*1+0x90],0x0"," mov m4[ebp+None*1+0x50],eax"," test eax,eax","-jne local:121","+jne local:111"," mov edx,m4[ebp+None*1+0x4c]"," mov eax,m4[ebp+None*1+0x48]"," call external"," cmp eax,0x1","-je local:102","-cmp eax,0x2","-je local:102","-cmp eax,0x3","-jne local:121","-mov ebx,m4[ebp+None*1+0x48]","+jne local:134","+mov ecx,m4[ebp+None*1+0x48]"," mov m4[ebp+None*1+0x0],0x0","-test ebx,ebx","-jl local:121","-cmp ebx,0xfffffff","-jg local:121","+test ecx,ecx","+jl local:111","+cmp ecx,0xfffffff","+jg local:111"," mov esi,m4[ebp+None*1+0x4c]"," test esi,esi","-jl local:121","+jl local:111"," cmp esi,0xfffffff","-jg local:121","+jg local:111"," mov eax,m4[esp+None*1+0x48]"," call external","-jmp local:121","-push 0x16c","-push address","-push address","-call external","-add esp,0xc","+mov edx,m4[esp+None*1+0x4c]","+mov ecx,m4[esp+None*1+0x48]","+mov ebx,m4[esp+None*1+0x50]"," mov eax,m4[esp+None*1+0x54]","-mov edx,m4[esp+None*1+0x50]","-mov ebx,m4[esp+None*1+0x48]","-mov ecx,m4[esp+None*1+0x4c]"," add ebp,0x94","+add edx,0x94","+add ecx,0x94","+inc ebx"," add eax,0x94","-add edx,0x94","-add ebx,0x94","-inc ecx","+mov m4[esp+None*1+0x4c],edx","+mov m4[esp+None*1+0x48],ecx","+mov m4[esp+None*1+0x50],ebx"," mov m4[esp+None*1+0x54],eax","-mov m4[esp+None*1+0x50],edx","-mov m4[esp+None*1+0x48],ebx","-mov m4[esp+None*1+0x4c],ecx","-cmp ecx,0x40","+cmp ebx,0x40"," jl local:16"," add esp,0x58"," pop ebp","@@ -142,3 +132,14 @@"," pop ecx"," pop ebx"," ret ","+cmp eax,0x2","+je local:98","+cmp eax,0x3","+je local:98","+jmp local:111","+push 0x16c","+push address","+push address","+call external","+add esp,0xc","+jmp local:111"]},{"name":"move_mobile_object_","source":"E:\\library\\3dvisual\\mobobjs.c","reference":"0x4932b0","earlier":"0x4a8e50","same_instruction_shape":false,"reference_instructions":54,"earlier_instructions":46,"callers":[[4886096,"move_ground_simple_drones_",30]],"diff":["--- 0x4a8e50","+++ 0x4932b0","@@ -3,44 +3,52 @@"," push ebp"," sub esp,0xc"," mov esi,eax","+mov edi,ecx"," mov eax,m4[eax+None*1+0x8]","-add edx,m4[eax+None*1+0x0]","-add ebx,m4[eax+None*1+0x4]","-add ecx,m4[eax+None*1+0x8]","-mov ebp,edx","-mov edi,m4[eax+None*1+0x0]","+mov ecx,m4[eax+None*1+0x4]","+sar ecx,0x16","+mov m4[esp+None*1+0x4],ecx","+mov ecx,m4[eax+None*1+0x0]","+add ecx,edx","+mov edx,m4[eax+None*1+0x4]","+add edx,ebx","+mov ebx,m4[eax+None*1+0x8]","+add ebx,edi","+mov edi,ecx","+sar edi,0x16","+mov m4[esp+None*1+0x0],edi","+mov edi,edx","+mov ebp,m4[eax+None*1+0x0]","+sar edi,0x16"," sar ebp,0x16","-sar edi,0x16","-mov m4[esp+None*1+0x0],ebp","-mov ebp,ebx","-mov m4[esp+None*1+0x4],edi","-sar ebp,0x16","-mov edi,m4[eax+None*1+0x4]","-mov m4[esp+None*1+0x8],ebp","-mov ebp,m4[esp+None*1+0x0]","-sar edi,0x16","-cmp ebp,m4[esp+None*1+0x4]","-jne local:25","-cmp edi,m4[esp+None*1+0x8]","-je local:36","-mov eax,esi","-call external","+mov m4[esp+None*1+0x8],edi","+cmp ebp,m4[esp+None*1+0x0]","+jne local:39","+mov edi,m4[esp+None*1+0x8]","+cmp edi,m4[esp+None*1+0x4]","+jne local:39","+mov m4[eax+None*1+0x0],ecx"," mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x0],edx","+mov m4[eax+None*1+0x4],edx"," mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x4],ebx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x8],ecx","-mov eax,esi","-call external","-jmp local:41","-mov m4[eax+None*1+0x0],edx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x4],ebx","-mov eax,m4[esi+None*1+0x8]","-mov m4[eax+None*1+0x8],ecx","+mov m4[eax+None*1+0x8],ebx"," add esp,0xc"," pop ebp"," pop edi"," pop esi"," ret ","+mov eax,esi","+call external","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x0],ecx","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x4],edx","+mov eax,m4[esi+None*1+0x8]","+mov m4[eax+None*1+0x8],ebx","+mov eax,esi","+call external","+add esp,0xc","+pop ebp","+pop edi","+pop esi","+ret "]},{"name":"get_mobile_object_in_range_","source":"E:\\library\\3dvisual\\mobobjs.c","reference":"0x493c40","earlier":"0x4a96fc","same_instruction_shape":false,"reference_instructions":148,"earlier_instructions":141,"callers":[[4888316,"damage_mobiles_in_range_exclusive_",8],[4888316,"damage_mobiles_in_range_exclusive_",21]],"diff":["--- 0x4a96fc","+++ 0x493c40","@@ -4,77 +4,82 @@"," push ebp"," mov ecx,eax"," test ebx,ebx","-je local:14","+je local:29"," cmp m4[None+None*1+address],0x0","-jne local:122","-push 0x435","+je local:24","+mov eax,m4[None+None*1+address]","+mov eax,m4[eax+None*1+0x18]","+mov m4[None+None*1+address],eax","+mov edx,m4[None+None*1+address]","+test edx,edx","+jne local:119","+inc m4[None+None*1+address]","+mov ebx,m4[None+None*1+address]","+mov eax,m4[None+None*1+address]","+cmp eax,ebx","+jg local:138","+mov edx,m4[None+None*1+address]","+shl edx,0x8","+mov eax,m4[edx+eax*4+address]","+jmp local:11","+push 0x437"," push address"," push address"," call external"," add esp,0xc"," mov esi,m4[ecx+None*1+0x0]"," test esi,esi","-jl local:24","+jl local:103"," cmp esi,0xfffffff","-jg local:24","+jg local:103"," mov ebp,m4[ecx+None*1+0x4]"," test ebp,ebp","-jl local:24","+jl local:103"," cmp ebp,0xfffffff","-jle local:30","-xor eax,eax","-pop ebp","-pop edi","-pop esi","-pop ecx","-ret ","+jg local:103"," mov m4[None+None*1+address],ecx"," mov m4[None+None*1+address],edx","+mov eax,m4[ecx+None*1+0x8]","+mov ecx,ebp"," mov m4[None+None*1+address],esi","-mov ebx,ebp","+sar ecx,0x16"," mov m4[None+None*1+address],ebp","-sar ebx,0x16","-mov eax,m4[ecx+None*1+0x8]","-mov m4[None+None*1+address],ebx","-mov m4[None+None*1+address],ebx","-mov ebx,esi","+mov m4[None+None*1+address],ecx","+mov m4[None+None*1+address],ecx","+mov ecx,esi"," mov m4[None+None*1+address],eax","-sub ebx,edx","+sub ecx,edx"," mov eax,esi","-mov edx,ebx","+mov edx,ecx"," sar eax,0x16"," sar edx,0x16"," mov m4[None+None*1+address],eax"," cmp eax,edx","-jl local:50","-mov eax,edx","+jge local:109"," test eax,eax","-jg local:53","-xor eax,eax","+jle local:111"," mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]"," add eax,edx","+mov ecx,m4[None+None*1+address]","+sar eax,0x16","+cmp eax,ecx","+jge local:69","+mov eax,ecx","+cmp eax,0x3f","+jge local:113"," mov ebx,m4[None+None*1+address]","-sar eax,0x16","-cmp eax,ebx","-jge local:62","-mov eax,ebx","-cmp eax,0x3f","-jl local:65","-mov eax,0x3f","-mov ecx,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","-sub eax,ecx","+sub eax,ebx"," mov esi,m4[None+None*1+address]"," sar eax,0x16"," cmp eax,esi","-jle local:74","+jle local:80"," mov eax,esi"," test eax,eax","-jg local:77","-xor eax,eax","+jle local:115"," mov edi,m4[None+None*1+address]"," mov m4[None+None*1+address],eax"," mov eax,m4[None+None*1+address]","@@ -82,55 +87,57 @@"," mov ebp,m4[None+None*1+address]"," sar eax,0x16"," cmp eax,ebp","-jge local:86","+jge local:91"," mov eax,ebp"," cmp eax,0x3f","-jl local:89","-mov eax,0x3f","+jge local:117"," mov m4[None+None*1+address],eax"," mov m4[None+None*1+address],0x1"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-jmp local:130","+mov edi,m4[None+None*1+address]","+cmp edi,m4[None+None*1+address]","+jl local:140"," mov eax,m4[None+None*1+address]"," mov m4[None+None*1+address],eax","-jmp local:126","-mov edx,m4[None+None*1+address]","-shl edx,0x8","-mov eax,m4[edx+eax*4+address]","-mov m4[None+None*1+address],eax","-mov edx,m4[None+None*1+address]","-test edx,edx","-je local:125","+jmp local:16","+xor eax,eax","+pop ebp","+pop edi","+pop esi","+pop ecx","+ret ","+mov eax,edx","+jmp local:58","+xor eax,eax","+jmp local:60","+mov eax,0x3f","+jmp local:71","+xor eax,eax","+jmp local:82","+mov eax,0x3f","+jmp local:93"," mov ecx,m4[edx+None*1+0x8]"," mov edx,m4[None+None*1+address]"," mov eax,m4[ecx+None*1+0x0]"," mov ebx,m4[None+None*1+address]"," sub eax,edx"," mov edx,m4[ecx+None*1+0x4]","+mov edi,m4[None+None*1+address]"," sub edx,ebx"," mov ebx,m4[ecx+None*1+0x8]","-sub ebx,m4[None+None*1+address]","+sub ebx,edi"," call external"," cmp eax,m4[None+None*1+address]","-jge local:122","+jge local:9"," mov eax,m4[None+None*1+address]"," pop ebp"," pop edi"," pop esi"," pop ecx"," ret ","-mov eax,m4[None+None*1+address]","-mov eax,m4[eax+None*1+0x18]","-jmp local:100"," inc m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:97","-inc m4[None+None*1+address]","-mov eax,m4[None+None*1+address]","-cmp eax,m4[None+None*1+address]","-jle local:94","+jmp local:97"," xor ebp,ebp"," xor eax,eax"," mov m4[None+None*1+address],ebp"]},{"name":"update_3d_visual_","source":"E:\\library\\3dvisual\\3dmain.c","reference":"0x49bf30","earlier":"0x496268","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"deinitialise_explosions_","source":"E:\\library\\3dvisual\\explode.c","reference":"0x4a6668","earlier":"0x4a1bb8","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"update_explosions_","source":"E:\\library\\3dvisual\\explode.c","reference":"0x4a67c0","earlier":"0x4a1cf4","same_instruction_shape":false,"reference_instructions":82,"earlier_instructions":85,"callers":[[4857076,"update_3d_visual_",10]],"diff":["--- 0x4a1cf4","+++ 0x4a67c0","@@ -4,77 +4,17 @@"," push esi"," push edi"," push ebp","-mov ebx,address","-xor ecx,ecx","+mov ecx,address","+xor ebx,ebx"," xor esi,esi","-mov edx,m4[ebx+None*1+0x0]","+mov edx,m4[ecx+None*1+0x0]"," cmp edx,0x1","-jb local:16","-jbe local:19","-cmp edx,0x2","-je local:26","-jmp local:69","+jae local:25"," test edx,edx","-je local:74","-jmp local:69","-mov ebp,m4[ebx+None*1+0x20]","-inc ebp","-mov m4[ebx+None*1+0x20],ebp","-cmp ebp,0x21","-jne local:74","-mov m4[ebx+None*1+0x0],esi","-jmp local:74","-mov edx,m4[ebx+None*1+0x20]","-inc edx","-mov m4[ebx+None*1+0x20],edx","-cmp edx,0xf","-jne local:33","-mov m4[ebx+None*1+0x0],esi","-jmp local:74","-cmp esi,edx","-jge local:58","-mov edx,m4[None+None*1+address]","-mov eax,m4[ebx+None*1+0x10]","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-add m4[ebx+None*1+0x4],edx","-mov edx,m4[None+None*1+address]","-mov eax,m4[ebx+None*1+0x14]","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-mov edi,m4[ebx+None*1+0x8]","-mov eax,m4[ebx+None*1+0x18]","-add edi,edx","-mov edx,m4[None+None*1+address]","-mov m4[ebx+None*1+0x8],edi","-imul edx","-shld edx,eax,0x1","-shl eax,0x2","-adc edx,0x0","-add m4[ebx+None*1+0xc],edx","-mov edx,m4[ebx+None*1+0x8]","-mov eax,m4[ebx+None*1+0x4]","-call external","-mov edx,m4[ebx+None*1+0x1c]","-mov edi,m4[ebx+None*1+0xc]","-add eax,edx","-cmp eax,edi","-jge local:67","-mov eax,edi","-mov m4[ebx+None*1+0xc],eax","-jmp local:74","-push 0x224","-push address","-push address","-call external","-add esp,0xc","-inc ecx","-add ebx,0x24","-cmp ecx,0x80","+jne local:76","+inc ebx","+add ecx,0x24","+cmp ebx,0x80"," jl local:9"," pop ebp"," pop edi","@@ -83,3 +23,60 @@"," pop ecx"," pop ebx"," ret ","+ja local:33","+mov ebp,m4[ecx+None*1+0x20]","+inc ebp","+mov m4[ecx+None*1+0x20],ebp","+cmp ebp,0x21","+jne local:14","+mov m4[ecx+None*1+0x0],esi","+jmp local:14","+cmp edx,0x2","+jne local:76","+mov edx,m4[ecx+None*1+0x20]","+inc edx","+mov m4[ecx+None*1+0x20],edx","+cmp edx,0xf","+je local:31","+cmp esi,edx","+jge local:65","+mov edx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x10]","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+add m4[ecx+None*1+0x4],edx","+mov edx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x14]","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+mov edi,m4[ecx+None*1+0x8]","+mov eax,m4[ecx+None*1+0x18]","+add edi,edx","+mov edx,m4[None+None*1+address]","+mov m4[ecx+None*1+0x8],edi","+imul edx","+shld edx,eax,0x1","+shl eax,0x2","+adc edx,0x0","+add m4[ecx+None*1+0xc],edx","+mov edx,m4[ecx+None*1+0x8]","+mov eax,m4[ecx+None*1+0x4]","+call external","+mov edx,m4[ecx+None*1+0x1c]","+mov edi,m4[ecx+None*1+0xc]","+add eax,edx","+cmp eax,edi","+jge local:74","+mov eax,edi","+mov m4[ecx+None*1+0xc],eax","+jmp local:14","+push 0x226","+push address","+push address","+call external","+add esp,0xc","+jmp local:14"]},{"name":"deinitialise_smoke_","source":"E:\\library\\3dvisual\\smoke.c","reference":"0x4a9bc4","earlier":"0x4ad108","same_instruction_shape":true,"reference_instructions":10,"earlier_instructions":10,"callers":[],"diff":[]},{"name":"update_smoke_","source":"E:\\library\\3dvisual\\smoke.c","reference":"0x4a9d6c","earlier":"0x4ad29c","same_instruction_shape":false,"reference_instructions":34,"earlier_instructions":34,"callers":[[4903580,"update_3d_visual_",11]],"diff":["--- 0x4ad29c","+++ 0x4a9d6c","@@ -3,32 +3,32 @@"," push edx"," push esi"," mov edx,address","-xor ebx,ebx","+xor ecx,ecx"," mov eax,m4[edx+None*1+0x0]"," test eax,eax","-jbe local:25","+jbe local:19"," cmp eax,0x1","-jne local:20","+jne local:28"," mov eax,m4[None+None*1+address]","-mov ecx,m4[edx+None*1+0x18]","-add ecx,eax","+mov ebx,m4[edx+None*1+0x18]","+add ebx,eax"," mov esi,m4[edx+None*1+0x14]","-mov m4[edx+None*1+0x18],ecx","-cmp ecx,esi","-jl local:25","+mov m4[edx+None*1+0x18],ebx","+cmp ebx,esi","+jl local:19"," mov m4[edx+None*1+0x0],0x0","-jmp local:25","-push 0x154","-push address","-push address","-call external","-add esp,0xc","-inc ebx","+inc ecx"," add edx,0x20","-cmp ebx,0x800","+cmp ecx,0x800"," jl local:6"," pop esi"," pop edx"," pop ecx"," pop ebx"," ret ","+push 0x154","+push address","+push address","+call external","+add esp,0xc","+jmp local:19"]},{"name":"reschedule_","source":"\\library\\system\\thread.asm","reference":"0x4b92b0","earlier":"0x4ba6a8","same_instruction_shape":true,"reference_instructions":121,"earlier_instructions":121,"callers":[],"diff":[]},{"name":"do_reschedule_","source":"\\library\\system\\thread.asm","reference":"0x4b9410","earlier":"0x4ba808","same_instruction_shape":true,"reference_instructions":64,"earlier_instructions":64,"callers":[],"diff":[]},{"name":"do_yield_","source":"\\library\\system\\thread.asm","reference":"0x4b9500","earlier":"0x4ba8f8","same_instruction_shape":true,"reference_instructions":28,"earlier_instructions":28,"callers":[],"diff":[]},{"name":"sprintf_","source":"sprintf","reference":"0x4baf99","earlier":"0x4bc3c1","same_instruction_shape":false,"reference_instructions":13,"earlier_instructions":18,"callers":[[4965313,"set_network_channel_",7]],"diff":["--- 0x4bc3c1","+++ 0x4baf99","@@ -1,18 +1,13 @@"," push ebx","-push ecx"," push edx"," sub esp,0x4","-lea eax,m4[esp+None*1+0x1c]","-mov ecx,address","+lea eax,m4[esp+None*1+0x18]"," mov ebx,esp","-mov edx,m4[esp+None*1+0x18]","+mov edx,m4[esp+None*1+0x14]"," mov m4[esp+None*1+0x0],eax","-mov eax,m4[esp+None*1+0x14]","+mov eax,m4[esp+None*1+0x10]"," call external","-mov edx,m4[esp+None*1+0x14]","-mov m1[edx+eax*1+0x0],0x0"," add esp,0x4"," pop edx","-pop ecx"," pop ebx"," ret "]},{"name":"initrandnext_","source":"rand","reference":"0x4bb00e","earlier":"0x4bc44f","same_instruction_shape":true,"reference_instructions":3,"earlier_instructions":3,"callers":[[4965455,"rand_",1]],"diff":[]},{"name":"rand_","source":"rand","reference":"0x4bb018","earlier":"0x4bc459","same_instruction_shape":true,"reference_instructions":12,"earlier_instructions":12,"callers":[],"diff":[]},{"name":"memset_","source":"memset","reference":"0x4bb069","earlier":"0x4bc490","same_instruction_shape":false,"reference_instructions":12,"earlier_instructions":12,"callers":[[4965520,"setup_drone_",13],[4965520,"set_simple_drone_object_number_",19],[4965520,"insert_after_waypoint_",11],[4965520,"initialise_kills_list_",7],[4965520,"initialise_kills_list_",11],[4965520,"initialise_kills_list_",15],[4965520,"initialise_kills_list_",19],[4965520,"initialise_mobile_kills_list_",6],[4965520,"initialise_mobile_kills_list_",10],[4965520,"initialise_ground_kills_list_",6],[4965520,"initialise_ground_kills_list_",10],[4965520,"initialise_rounds_",5],[4965520,"release_target_",9],[4965520,"initialise_targets_",5],[4965520,"makelist_",8]],"diff":["--- 0x4bc490","+++ 0x4bb069","@@ -1,12 +1,12 @@","+push ecx","+mov ecx,ebx"," push eax","-push ecx"," mov dh,dl"," shl edx,0x8"," mov dl,dh"," shl edx,0x8"," mov dl,dh","-mov ecx,ebx"," call external","+pop eax"," pop ecx","-pop eax"," ret "]},{"name":"strcmp_","source":"_strcmp","reference":"0x4bb170","earlier":"0x4bc4d0","same_instruction_shape":true,"reference_instructions":67,"earlier_instructions":67,"callers":[],"diff":[]},{"name":"cget_string_","source":"sscanf","reference":"0x4bb282","earlier":"0x4bc69e","same_instruction_shape":true,"reference_instructions":21,"earlier_instructions":21,"callers":[],"diff":[]},{"name":"vsscanf_","source":"sscanf","reference":"0x4bb2af","earlier":"0x4bc6cb","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"time_","source":"time","reference":"0x4bb2f7","earlier":"0x4bc713","same_instruction_shape":true,"reference_instructions":20,"earlier_instructions":20,"callers":[],"diff":[]},{"name":"memmove_","source":"memmove","reference":"0x4bb372","earlier":"0x4bc7d0","same_instruction_shape":true,"reference_instructions":47,"earlier_instructions":47,"callers":[],"diff":[]},{"name":"printf_","source":"printf","reference":"0x4bb3bf","earlier":"0x4bc81d","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[],"diff":[]},{"name":"strncmp_","source":"strncmp","reference":"0x4bb64d","earlier":"0x4bca50","same_instruction_shape":true,"reference_instructions":24,"earlier_instructions":24,"callers":[],"diff":[]},{"name":"close_file_","source":"fopen","reference":"0x4bb8c5","earlier":"0x4bcc51","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"fclose_","source":"fclose","reference":"0x4bbcbb","earlier":"0x4bcd33","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"strdup_","source":"strdup","reference":"0x4bc4cf","earlier":"0x4bd718","same_instruction_shape":true,"reference_instructions":41,"earlier_instructions":41,"callers":[],"diff":[]},{"name":"malloc_","source":"nmalloc","reference":"0x4bc63f","earlier":"0x4bd8c7","same_instruction_shape":false,"reference_instructions":85,"earlier_instructions":86,"callers":[[4970695,"register_garbage_collect_",3],[4970695,"strdup_",18],[4970695,"realloc_",10],[4970695,"realloc_",25]],"diff":["--- 0x4bd8c7","+++ 0x4bc63f","@@ -8,67 +8,66 @@"," push gs"," push ebp"," sub esp,0x4","-mov esi,eax","+mov edi,eax"," test eax,eax"," je local:15"," cmp eax,0xffffffd4"," jbe local:17"," xor eax,eax","-jmp local:75","-mov ebp,address","-lea edi,m4[esi+None*1+0x3]","+jmp local:74","+lea ebp,m4[eax+None*1+0xb]","+and ebp,0xfffffff8","+cmp ebp,0x10","+jae local:22","+mov ebp,0x10","+call m4[None+None*1+address]"," xor ah,ah"," xor edx,edx"," mov m1[esp+None*1+0x0],ah","-and di,0xfffc","-call m4[None+None*1+address]","-mov eax,edi","-cmp edi,0xc","-jae local:28","-mov eax,0xc","-cmp eax,m4[None+None*1+address]","-jbe local:36","+cmp ebp,m4[None+None*1+address]","+jbe local:32"," mov ecx,m4[None+None*1+address]"," test ecx,ecx","-jne local:54","+jne local:35","+jmp local:33","+xor ecx,ecx"," mov m4[None+None*1+address],ecx"," mov ecx,m4[None+None*1+address]","-jmp local:54","-xor ecx,ecx","-jmp local:33","+test ecx,ecx","+je local:55","+mov esi,m4[ecx+None*1+0x14]","+mov m4[None+None*1+address],ecx","+cmp esi,edi","+jb local:50","+mov eax,address"," mov edx,ds","-mov eax,ebp","-mov m4[None+None*1+address],ecx"," and edx,0xffff"," mov ebx,ecx","-mov eax,esi","+mov eax,edi"," call external"," mov edx,eax"," test eax,eax","-jne local:71","-mov ebx,m4[None+None*1+address]","-mov eax,m4[ecx+None*1+0x14]","-cmp eax,ebx","+jne local:70","+cmp esi,m4[None+None*1+address]"," jbe local:53","-mov m4[None+None*1+address],eax","+mov m4[None+None*1+address],esi"," mov ecx,m4[ecx+None*1+0x8]","-test ecx,ecx","-jne local:38","+jmp local:35"," cmp m1[esp+None*1+0x0],0x0","-jne local:62","-mov eax,esi","+jne local:61","+mov eax,edi"," call external"," test eax,eax","-jne local:69","-mov eax,esi","+jne local:68","+mov eax,edi"," call external"," test eax,eax","-je local:71","+je local:70"," xor cl,cl"," mov m1[esp+None*1+0x0],cl","-jmp local:24","+jmp local:26"," mov m1[esp+None*1+0x0],0x1","-jmp local:24","+jmp local:26"," xor ch,ch"," mov m1[None+None*1+address],ch"," call m4[None+None*1+address]"]},{"name":"free_","source":"nfree","reference":"0x4bc72c","earlier":"0x4bd9b6","same_instruction_shape":false,"reference_instructions":99,"earlier_instructions":50,"callers":[[4970934,"realloc_",14],[4970934,"realloc_",45]],"diff":["--- 0x4bd9b6","+++ 0x4bc72c","@@ -2,47 +2,96 @@"," push ecx"," push edx"," push esi","-push ebp"," mov esi,eax"," test eax,eax","-je local:44","+je local:94"," call m4[None+None*1+address]"," mov ecx,m4[None+None*1+address]"," test ecx,ecx","-je local:16","+je local:36"," cmp ecx,esi","-ja local:16","-cmp esi,m4[ecx+None*1+0x8]","-jb local:26","+ja local:17","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov eax,ecx","+mov ecx,m4[ecx+None*1+0x4]","+test ecx,ecx","+je local:27","+cmp ecx,esi","+ja local:27","+mov edx,m4[ecx+None*1+0x0]","+add edx,ecx","+cmp edx,esi","+ja local:76","+mov ecx,m4[eax+None*1+0x8]","+test ecx,ecx","+je local:36","+cmp ecx,esi","+ja local:36","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76"," mov ecx,m4[None+None*1+address]","-jmp local:23","+test ecx,ecx","+je local:64"," cmp ecx,esi","-ja local:22","-cmp esi,ebx","-jb local:26","+ja local:45","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov eax,ecx","+mov ecx,m4[ecx+None*1+0x4]","+test ecx,ecx","+je local:55","+cmp ecx,esi","+ja local:55","+mov edx,m4[ecx+None*1+0x0]","+add edx,ecx","+cmp edx,esi","+ja local:76","+mov ecx,m4[eax+None*1+0x8]","+test ecx,ecx","+je local:64","+cmp ecx,esi","+ja local:64","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76","+mov ecx,m4[None+None*1+address]","+jmp local:73","+cmp ecx,esi","+ja local:72","+mov eax,m4[ecx+None*1+0x0]","+add eax,ecx","+cmp eax,esi","+ja local:76"," mov ecx,m4[ecx+None*1+0x8]","-mov ebx,m4[ecx+None*1+0x8]","-test ebx,ebx","-jne local:18","+test ecx,ecx","+jne local:66","+jmp local:93"," mov eax,address"," mov edx,ds"," and edx,0xffff"," mov ebx,ecx"," mov eax,esi"," call external","-mov ebp,m4[None+None*1+address]","+mov edx,m4[None+None*1+address]"," mov m4[None+None*1+address],ecx","-cmp ecx,ebp","-jae local:41","-mov eax,m4[None+None*1+address]","-mov edx,m4[ecx+None*1+0x14]","-cmp edx,eax","-jbe local:41","-mov m4[None+None*1+address],edx","+cmp ecx,edx","+jae local:91","+mov ebx,m4[None+None*1+address]","+mov eax,m4[ecx+None*1+0x14]","+cmp eax,ebx","+jbe local:91","+mov m4[None+None*1+address],eax"," xor ah,ah"," mov m1[None+None*1+address],ah"," call m4[None+None*1+address]","-pop ebp"," pop esi"," pop edx"," pop ecx"]},{"name":"far_strlen_","source":"prtf","reference":"0x4bd41e","earlier":"0x4be1a4","same_instruction_shape":true,"reference_instructions":23,"earlier_instructions":23,"callers":[],"diff":[]},{"name":"fmt4hex_","source":"prtf","reference":"0x4bd4ab","earlier":"0x4be1eb","same_instruction_shape":true,"reference_instructions":48,"earlier_instructions":48,"callers":[],"diff":[]},{"name":"cget_","source":"scnf","reference":"0x4bdc3a","earlier":"0x4bea98","same_instruction_shape":true,"reference_instructions":5,"earlier_instructions":5,"callers":[[4975256,"cgetw_",9]],"diff":[]},{"name":"report_scan_","source":"scnf","reference":"0x4be220","earlier":"0x4befda","same_instruction_shape":true,"reference_instructions":46,"earlier_instructions":46,"callers":[],"diff":[]},{"name":"makelist_","source":"scnf","reference":"0x4be27e","earlier":"0x4bf038","same_instruction_shape":true,"reference_instructions":31,"earlier_instructions":31,"callers":[],"diff":[]},{"name":"radix_value_","source":"scnf","reference":"0x4bea92","earlier":"0x4bf67c","same_instruction_shape":true,"reference_instructions":15,"earlier_instructions":15,"callers":[],"diff":[]},{"name":"cgetw_","source":"scnf","reference":"0x4beab9","earlier":"0x4bf6a3","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"mktime_","source":"mktime","reference":"0x4beb46","earlier":"0x4bf72e","same_instruction_shape":false,"reference_instructions":143,"earlier_instructions":124,"callers":[[4978478,"time_",10],[4978478,"calc_yday_",35]],"diff":["--- 0x4bf72e","+++ 0x4beb46","@@ -4,24 +4,24 @@"," push esi"," push edi"," push ebp","+sub esp,0x4"," mov ebp,eax","-mov esi,0xc","+mov ebx,0xc"," mov edx,m4[ebp+None*1+0x10]"," mov eax,m4[eax+None*1+0x10]"," sar edx,0x1f","-idiv esi","-mov ebx,address","+idiv ebx","+mov ecx,address"," mov esi,m4[ebp+None*1+0x14]"," mov edi,edx"," cmp esi,0xf4fb7ea1","-jge local:19","+jge local:20"," mov eax,0xffffffff","-jmp local:117","+jmp local:135"," mov eax,m4[ebp+None*1+0x10]"," mov edx,eax","-mov ecx,0xc"," sar edx,0x1f","-idiv ecx","+idiv ebx"," add esi,eax"," test edi,edi"," jge local:30","@@ -29,13 +29,19 @@"," add edi,0xc"," jmp local:25"," test esi,esi","-jl local:17","+jl local:18"," lea eax,m4[esi+None*1+0x76c]"," call external"," test eax,eax"," je local:37","-mov ebx,address","-lea ecx,m4[esi+None*1+0x3]","+mov ecx,address","+lea edx,m4[esi+None*1+0x3]","+mov eax,edx","+sar edx,0x1f","+shl edx,0x2","+sbb eax,edx","+sar eax,0x2","+mov ebx,eax"," mov eax,esi"," shl eax,0x3"," add eax,esi","@@ -43,17 +49,29 @@"," add eax,esi"," mov edx,eax"," shl eax,0x2","-sar ecx,0x2"," add eax,edx","-lea edx,m4[eax+ecx*1+0x0]","-movsx eax,m2[ebx+edi*2+0x0]","-mov edi,m4[ebp+None*1+0xc]","+lea edx,m4[esi+None*1+0x63]","+add eax,ebx","+mov ebx,0x64","+mov m4[esp+None*1+0x0],eax","+mov eax,edx","+sar edx,0x1f","+idiv ebx","+mov edx,m4[esp+None*1+0x0]","+sub edx,eax","+mov m4[esp+None*1+0x0],edx","+lea edx,m4[esi+None*1+0x12b]","+mov ebx,0x190","+mov eax,edx","+sar edx,0x1f","+idiv ebx","+mov edx,m4[esp+None*1+0x0]","+add edx,eax","+mov eax,edi","+movsx eax,m2[ecx+eax*2+0x0]"," add eax,edx","-add edi,eax","-dec edi","-test esi,esi","-je local:56","-dec edi","+add eax,m4[ebp+None*1+0xc]","+lea edi,m4[eax+None*1+0xffffffff]"," mov edx,m4[ebp+None*1+0x8]"," mov eax,edx"," shl eax,0x4","@@ -68,41 +86,41 @@"," shl eax,0x2"," add esi,eax"," test esi,esi","-jge local:74","+jge local:92"," dec edi"," add esi,0x15180","-jmp local:69","+jmp local:87"," mov ecx,ebp"," mov edx,esi"," mov eax,edi"," xor ebx,ebx"," call external"," call external","-mov edx,m4[None+None*1+address]","-mov ebx,m4[ebp+None*1+0x20]","-add esi,edx","-test ebx,ebx","-jge local:87","+mov ebx,m4[None+None*1+address]","+mov ecx,m4[ebp+None*1+0x20]","+add esi,ebx","+test ecx,ecx","+jge local:105"," mov eax,ebp"," call external"," cmp m4[ebp+None*1+0x20],0x0","-jle local:90","+jle local:108"," sub esi,m4[None+None*1+address]"," test esi,esi","-jge local:95","+jge local:113"," dec edi"," add esi,0x15180","-jmp local:90","+jmp local:108"," cmp edi,0x63de","-jl local:17","-jne local:105","-mov eax,m4[None+None*1+address]","+jl local:18","+jne local:123","+mov ebx,m4[None+None*1+address]"," sub esi,0x15180","-test eax,eax","-jle local:17","+test ebx,ebx","+jle local:18"," test esi,esi","-jge local:116","-jmp local:17","+jge local:134","+jmp local:18"," lea eax,m4[edi+None*1+0xffff9c21]"," mov edi,eax"," shl edi,0x3","@@ -115,6 +133,7 @@"," sub edi,eax"," add esi,edi"," mov eax,esi","+add esp,0x4"," pop ebp"," pop edi"," pop esi"]},{"name":"docloseall_","source":"ioexit","reference":"0x4bedaf","earlier":"0x4c29e8","same_instruction_shape":true,"reference_instructions":38,"earlier_instructions":38,"callers":[],"diff":[]},{"name":"tolower_","source":"tolower","reference":"0x4bfd9d","earlier":"0x4bfed6","same_instruction_shape":true,"reference_instructions":6,"earlier_instructions":6,"callers":[[4980438,"radix_value_",6]],"diff":[]},{"name":"open_","source":"openwnt","reference":"0x4bfdab","earlier":"0x4bfee4","same_instruction_shape":true,"reference_instructions":16,"earlier_instructions":16,"callers":[],"diff":[]},{"name":"sopen_","source":"openwnt","reference":"0x4bfdcf","earlier":"0x4bff08","same_instruction_shape":false,"reference_instructions":16,"earlier_instructions":146,"callers":[[4980488,"open_",11]],"diff":["--- 0x4bff08","+++ 0x4bfdcf","@@ -1,145 +1,15 @@"," push ebx"," push ecx"," push edx","-push esi","-push edi","-push ebp","-sub esp,0xc","-mov ebp,m4[esp+None*1+0x28]","+sub esp,0x4","+lea eax,m4[esp+None*1+0x20]","+mov ecx,esp","+mov ebx,m4[esp+None*1+0x1c]","+mov edx,m4[esp+None*1+0x18]","+mov m4[esp+None*1+0x0],eax","+mov eax,m4[esp+None*1+0x14]"," call external","-test eax,eax","-je local:15","-mov eax,0xb","-call external","-mov eax,0xffffffff","-jmp local:138","-mov esi,m4[esp+None*1+0x2c]","-lea ebx,m4[esp+None*1+0x8]","-and esi,0x7","-lea edx,m4[esp+None*1+0x4]","-mov eax,esi","-call external","-mov edx,esp","-mov eax,m4[esp+None*1+0x30]","-call external","-mov edx,m4[None+None*1+address]","-mov ebx,0x80","-test edx,edx","-je local:43","-mov edx,address","-mov eax,ebp","-call external","-test eax,eax","-jne local:43","-call external","-call m4[None+None*1+address]","-push 0xffffffff","-push eax","-push 0x0","-mov edx,0x2000","-mov ebx,eax","-call m4[None+None*1+address]","-add esp,0xc","-jmp local:110","-mov ah,m1[esp+None*1+0x2c]","-test ah,0x20","-je local:72","-lea eax,m4[esp+None*1+0x34]","-add eax,0x4","-mov eax,m4[eax+None*1+0xfffffffc]","-mov m4[esp+None*1+0x8],eax","-mov eax,m4[None+None*1+address]","-mov ecx,m4[esp+None*1+0x8]","-not eax","-and ecx,eax","-mov m4[esp+None*1+0x8],ecx","-test m1[esp+None*1+0x9],0x1","-je local:60","-test m1[esp+None*1+0x8],0x80","-jne local:60","-mov ebx,0x1","-test m1[esp+None*1+0x2d],0x4","-je local:65","-mov edi,0x1","-mov eax,edi","-jmp local:75","-test m1[esp+None*1+0x2c],0x40","-je local:70","-mov edi,0x2","-mov eax,0x5","-jmp local:75","-mov edi,0x4","-jmp local:74","-test ah,0x40","-jne local:68","-mov eax,0x3","-push 0x0","-push ebx","-push eax","-push 0x0","-mov eax,m4[esp+None*1+0x10]","-push eax","-mov edx,m4[esp+None*1+0x18]","-push edx","-push ebp","-call external","-cmp eax,0xffffffff","-jne local:103","-test m1[esp+None*1+0x2c],0x20","-je local:99","-push 0x0","-push ebx","-push edi","-push 0x0","-mov ebx,m4[esp+None*1+0x10]","-push ebx","-mov ecx,m4[esp+None*1+0x18]","-push ecx","-push ebp","-call external","-cmp eax,0xffffffff","-jne local:103","-call external","-jmp local:138","-call m4[None+None*1+address]","-mov ebx,eax","-call external","-xor edx,edx","-test eax,eax","-je local:110","-mov edx,0x2000","-cmp esi,0x2","-jne local:114","-or dl,0x3","-jmp local:121","-test esi,esi","-jne local:118","-or dl,0x1","-jmp local:121","-cmp esi,0x1","-jne local:121","-or dl,0x2","-test m1[esp+None*1+0x2c],0x10","-je local:124","-or dl,0x80","-mov eax,edx","-mov ch,m1[esp+None*1+0x2d]","-or al,0x40","-test ch,0x3","-je local:132","-test ch,0x2","-je local:135","-jmp local:134","-cmp m4[None+None*1+address],0x200","-jne local:135","-mov edx,eax","-mov eax,ebx","-call external","-mov eax,ebx","-add esp,0xc","-pop ebp","-pop edi","-pop esi","+add esp,0x4"," pop edx"," pop ecx"," pop ebx"]},{"name":"sqrt_","source":"sqrt387","reference":"0x4c0562","earlier":"0x4c03d4","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"utoa_","source":"itoa","reference":"0x4c1d18","earlier":"0x4c0c67","same_instruction_shape":true,"reference_instructions":35,"earlier_instructions":35,"callers":[[4983911,"itoa_",9]],"diff":[]},{"name":"itoa_","source":"itoa","reference":"0x4c1d61","earlier":"0x4c0cb1","same_instruction_shape":true,"reference_instructions":13,"earlier_instructions":13,"callers":[[4983985,"fmt4hex_",9]],"diff":[]},{"name":"calc_yday_","source":"timeutil","reference":"0x4c2011","earlier":"0x4c1cf5","same_instruction_shape":true,"reference_instructions":81,"earlier_instructions":81,"callers":[],"diff":[]},{"name":"time_less_","source":"timeutil","reference":"0x4c23e7","earlier":"0x4c20d1","same_instruction_shape":true,"reference_instructions":25,"earlier_instructions":25,"callers":[],"diff":[]},{"name":"getche_","source":"gtchewnt","reference":"0x4c303d","earlier":"0x4c34d2","same_instruction_shape":true,"reference_instructions":14,"earlier_instructions":14,"callers":[],"diff":[]},{"name":"realloc_","source":"nrealloc","reference":"0x4c3417","earlier":"0x4c3b4b","same_instruction_shape":true,"reference_instructions":57,"earlier_instructions":57,"callers":[],"diff":[]},{"name":"getch_","source":"getchwnt","reference":"0x4c4ce0","earlier":"0x4c3edd","same_instruction_shape":false,"reference_instructions":43,"earlier_instructions":43,"callers":[[4996829,"getche_",3]],"diff":["--- 0x4c3edd","+++ 0x4c4ce0","@@ -21,17 +21,17 @@"," mov eax,esp"," push eax"," push ebx","-call external","+call m4[None+None*1+address]"," push 0x0"," push ebx","-call external","+call m4[None+None*1+address]"," mov eax,ebx"," call external"," mov ecx,m4[esp+None*1+0x0]"," push ecx"," push ebx"," mov esi,eax","-call external","+call m4[None+None*1+address]"," xor eax,eax"," call m4[None+None*1+address]"," mov eax,esi"]},{"name":"putch_","source":"putchwnt","reference":"0x4c4d5c","earlier":"0x4c3f53","same_instruction_shape":false,"reference_instructions":33,"earlier_instructions":33,"callers":[[4996947,"getche_",9]],"diff":["--- 0x4c3f53","+++ 0x4c4d5c","@@ -22,7 +22,7 @@"," lea edx,m4[esp+None*1+0x10]"," push edx"," push eax","-call external","+call m4[None+None*1+address]"," mov eax,0x1"," call m4[None+None*1+address]"," mov eax,ebx"]}]}]}
