Function at 0x401e31
Capabilities:
Extract resource via kernel32 functions
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x407076
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x460
mov dword [ebp - 0x324], ecx
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 4], 0
push 0x1c
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x1dc], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0x1dc], 0
je 0x401e94
mov ecx, dword [ebp - 0x1dc]
call fcn.004066f0
mov dword [ebp - 0x328], eax
jmp 0x401e9e
mov dword [ebp - 0x328], 0
mov eax, dword [ebp - 0x328]
mov dword [ebp - 0x1d8], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x1d8]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xa4], 0
cmp dword [ebp - 0x90], 0
jne 0x401ef5
push 0x10
push 0
push str.Internal_error
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
lea edx, [ebp - 0x70]
push edx
push 0x50
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push str._lumagen_update.log
lea eax, [ebp - 0x70]
push eax
call sub.MSVCRT.dll_strcat
add esp, 8
push 0x4e8950
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVCRT.dll_fopen]
add esp, 8
mov edx, dword [ebp - 0x324]
mov dword [edx + 0x1ec], eax
push 0
push 0x2580
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x90]
call fcn.00406778
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.0040117c
mov edx, dword [ebp - 0x90]
push edx
push str.M0931
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1e0], esp
push str.Status:_Connect_to_Lumagen_Video_Processor..._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.0040117c
push 0x65
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
push 0x14
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
push 0x4e898c
lea eax, [ebp - 0x134]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x40201d
push 0x10
push 0
push str.Failed_to_connect_to_Lumagen_Video_Processor._Please_check_all_settings_and_make_sure_the_unit_is_on__then_try_again._If_you_repeatedly_get_this_message__try_UNPLUG_the_POWER_ADAPTER_to_the_unit_and_then_PLUG_the_POWER_ADAPTER_back_to_the_unit__and_immediately_run_this_program_and_click_on_the_Start_button_within_10_SECONDS__while_the_unit_is_still_in__booting__mode._If_it_still_fails__please_contact_Lumagen_for_repair_and_or_services.
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
mov ecx, dword [ebp + 0xc]
push ecx
push str.B_06d
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1e4], esp
push str.Status:_Set_communication_speed..._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
call fcn.004011c6
push 0xc8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
push 0
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x90]
call fcn.00406778
mov dword [ebp - 0xdc], 0
jmp 0x4020c3
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 0x14
jae 0x4020db
push 0x65
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
jmp 0x4020b4
mov dword [ebp - 0xdc], 0
push 2
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
cmp dword [ebp - 0xdc], 0x14
jae 0x40214d
push 0x4e8b74
lea ecx, [ebp - 0x134]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x40214d
push 2
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
jmp 0x402100
mov edx, dword [ebp - 0x90]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.0040117c
push 0x65
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
push 0x14
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
push 0x4e8b78
lea edx, [ebp - 0x134]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x4021df
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 0x10
push 0
push str.Cannot_connect_to_Lumagen_Video_Processor_at_current_baud_rate._Please_lower_the_connection_speed_and_try_again.
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1e8], esp
push str.Status:_Connected_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1ec], esp
push str.Status:_Checking_firmware_version..._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x90]
push eax
push 0x4e8c2c
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0xe
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x8c]
push ecx
lea edx, [ebp - 0xc4]
push edx
push str._6x._2x._4x
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0x14
cmp dword [ebp - 0x8c], 0x16
jne 0x4028a3
push str.RadiancePro
lea ecx, [ebp - 0x134]
push ecx
call sub.MSVCRT.dll_strcpy
add esp, 8
mov edx, dword [ebp - 0x324]
mov dword [edx + 0x210], 0x40a020
mov dword [ebp - 0x158], 0x886e2
push 0xa
push 0x83
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x1bc]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x1c8], eax
mov edx, dword [ebp - 0x1c8]
push edx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ecx, dword [ebp - 0x324]
mov dword [ecx + 0x200], eax
push 0xa
push 0x84
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x1d0], eax
mov edx, dword [ebp - 0x1d0]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x1d0]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
push ecx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edx, dword [ebp - 0x324]
mov dword [edx + 0x204], eax
push 0xa
push 0x85
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x1c0]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0x1c0]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x1cc], eax
mov edx, dword [ebp - 0x1cc]
push edx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ecx, dword [ebp - 0x324]
mov dword [ecx + 0x208], eax
push 0xa
push 0x86
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov dword [ebp - 0x1b8], eax
mov edx, dword [ebp - 0x1b8]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0x1b8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x1c4], eax
mov ecx, dword [ebp - 0x1c4]
push ecx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edx, dword [ebp - 0x324]
mov dword [edx + 0x20c], eax
push 0x7cde16
push 0x4e8c48
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 8
push 0x4e8c50
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x52
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
push 8
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x9c], 0
jmp 0x4024dc
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 7
jge 0x40251d
mov eax, dword [ebp - 0x9c]
movsx ecx, byte [ebp + eax - 0x134]
mov edx, dword [ebp - 0x1b0]
lea eax, [edx + ecx - 0x30]
mov dword [ebp - 0x1b0], eax
cmp dword [ebp - 0x9c], 7
je 0x40251b
mov ecx, dword [ebp - 0x1b0]
imul ecx, ecx, 0xa
mov dword [ebp - 0x1b0], ecx
jmp 0x4024cd
cmp dword [ebp - 0x1b0], 0xf4b3c
jne 0x402535
cmp dword [ebp - 0x1b0], 0x232aaf80
jbe 0x402541
mov dword [ebp - 0xa8], 0
jmp 0x40254b
mov dword [ebp - 0xa8], 0x46000
lea edx, [ebp - 0x134]
push edx
mov eax, dword [ebp - 0x1b0]
push eax
push str.Status:_RX_fw_ver___d__rd:_s_n
lea ecx, [ebp - 0x1a0]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1f0], esp
lea edx, [ebp - 0x1a0]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x33c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.0040117c
push 0x82de16
push 0x4e8c78
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 8
push 0x4e8c80
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x52
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
push 8
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x9c], 0
jmp 0x402662
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 7
jge 0x4026a3
mov ecx, dword [ebp - 0x9c]
movsx edx, byte [ebp + ecx - 0x134]
mov eax, dword [ebp - 0x1ac]
lea ecx, [eax + edx - 0x30]
mov dword [ebp - 0x1ac], ecx
cmp dword [ebp - 0x9c], 7
je 0x4026a1
mov edx, dword [ebp - 0x1ac]
imul edx, edx, 0xa
mov dword [ebp - 0x1ac], edx
jmp 0x402653
cmp dword [ebp - 0x1ac], 0xf45c4
je 0x4026bb
mov dword [ebp - 0xac], 0
jmp 0x4026c5
mov dword [ebp - 0xac], 0x46000
mov eax, dword [ebp - 0xac]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x1ac]
push edx
push str.Status:_TX_fw_ver___d__rd:_s_txlen_d_n
lea eax, [ebp - 0x1a0]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1f4], esp
lea edx, [ebp - 0x1a0]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.0040117c
push 0x88de16
push 0x4e8cb0
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 8
push 0x4e8cb8
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x52
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
push 8
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x9c], 0
jmp 0x4027e0
mov eax, dword [ebp - 0x9c]
add eax, 1
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 7
jge 0x402821
mov ecx, dword [ebp - 0x9c]
movsx edx, byte [ebp + ecx - 0x134]
mov eax, dword [ebp - 0x1ac]
lea ecx, [eax + edx - 0x30]
mov dword [ebp - 0x1ac], ecx
cmp dword [ebp - 0x9c], 7
je 0x40281f
mov edx, dword [ebp - 0x1ac]
imul edx, edx, 0xa
mov dword [ebp - 0x1ac], edx
jmp 0x4027d1
cmp dword [ebp - 0x1ac], 0xf4754
je 0x402836
mov dword [ebp - 0x74], 0
jmp 0x40283d
mov dword [ebp - 0x74], 0x46000
mov eax, dword [ebp - 0x74]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov edx, dword [ebp - 0x1ac]
push edx
push str.Status:_NTX_fw_ver___d__rd:_s_txlen_d_n
lea eax, [ebp - 0x1a0]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1f8], esp
lea edx, [ebp - 0x1a0]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x324]
mov cl, byte [eax + 0x1e4]
mov byte [ebp - 0x160], cl
jmp 0x402b5c
cmp dword [ebp - 0x8c], 0x10
jb 0x402a39
cmp dword [ebp - 0x8c], 0x15
jne 0x4028e4
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0x8c]
push ecx
push str.Error:_Need_Radiance21XX_update_sw._This_update_is_for_the_RadiancePro___id__x_._SW_Rev:_06x_Serial:__d_n
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
jmp 0x4029d4
cmp dword [ebp - 0x8c], 0x14
jne 0x402918
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
push str.Error:_Need_Radiance20XX_update_sw._This_update_is_for_the_RadiancePro___id__x_._SW_Rev:_06x_Serial:__d_n
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x14
jmp 0x4029d4
cmp dword [ebp - 0x8c], 0x13
jne 0x40294c
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0x8c]
push eax
push str.Error:_Need_RadianceMini_update_sw._This_update_is_for_the_RadiancePro___id__x_._SW_Rev:_06x_Serial:__d_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
jmp 0x4029d4
cmp dword [ebp - 0x8c], 0x12
jne 0x40297d
mov edx, dword [ebp - 0xc0]
push edx
mov eax, dword [ebp - 0xc4]
push eax
mov ecx, dword [ebp - 0x8c]
push ecx
push str.Error:_Need_RadianceXS_update_sw._This_update_is_for_the_RadiancePro___id__x_._SW_Rev:_06x_Serial:__d_n
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
jmp 0x4029d4
cmp dword [ebp - 0x8c], 0x11
jne 0x4029ae
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
push str.Error:_Need_RadianceXE_update_sw._This_update_is_for_the_RadiancePro___id__x_._SW_Rev:_06x_Serial:__d_n
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x14
jmp 0x4029d4
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
mov eax, dword [ebp - 0x8c]
push eax
push str.Error:_Need_RadianceXD_update_sw._This_update_is_for_the_RadiancePro___id__x_._SW_Rev:_06x_Serial:__d_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x1fc], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x348], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 0x10
push 0
push 0x4e8f68
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
cmp dword [ebp - 0x8c], 0x10
jae 0x402ad1
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
push str.Error:_Need_Vision_update_sw._This_update_is_for_the_Radiance___id__x_._SW_Rev:_06x_Serial:__d_n
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x14
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x200], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 0x10
push 0
push str.Update_cannot_be_made.
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov edx, dword [ebp - 0x8c]
push edx
push str.Status:_Unknown_device_id__x_._SW_Rev:_06x_Serial:__d_n
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x14
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x204], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x350], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 0x10
push 0
push str.Unknown_device._Update_cannot_be_made.
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
mov edx, dword [ebp - 0xc4]
push edx
lea eax, [ebp - 0x134]
push eax
push str.Status:__s_SW_Rev:_06x_Serial:_d__baud_rate:_d_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x18
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x208], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [0x4e85e8]
push eax
push str.This_updater_is_Rev:_06x_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x20c], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x210], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov ecx, dword [ebp - 0x324]
mov dword [ecx + 0x214], 1
mov edx, dword [ebp - 0x90]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.0040117c
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x214], esp
push str.Status:_Checking_the_mode_of_communication..._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x360], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x90]
push eax
push 0x4e90d4
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0xa
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
push 0x4e90d8
lea eax, [ebp - 0x134]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x402cf8
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x218], esp
push str.Status:_We_are_in_normal_operation_mode_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0x1a8], 1
push 0x42307
mov ecx, dword [ebp - 0xc4]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004010e0
test eax, eax
jge 0x402cf3
mov dword [ebp - 0x1a8], 0
jmp 0x402dbd
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x21c], esp
push str.Status:_We_are_in_boot_loader_mode_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0x1a8], 0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x220], esp
push str.Status:_Checking_boot_loader_version..._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov edx, dword [ebp - 0x90]
push edx
push 0x4e9158
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0xa
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
lea edx, [ebp - 0x134]
push edx
push str.Status:_Boot_loader_version_is__s_n
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x224], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x370], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0xcc], 0
xor eax, eax
test eax, eax
je 0x402e1f
mov dword [ebp - 0xdc], 0
jmp 0x402de8
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0x158]
jae 0x402e1d
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 0x210]
mov edx, dword [ebp - 0xdc]
xor eax, eax
mov al, byte [ecx + edx]
mov ecx, dword [ebp - 0xcc]
add ecx, eax
mov dword [ebp - 0xcc], ecx
jmp 0x402dd9
jmp 0x402e6f
mov dword [ebp - 0xdc], 0x20000
jmp 0x402e3a
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0x158]
jae 0x402e6f
mov ecx, dword [ebp - 0x324]
mov edx, dword [ecx + 0x210]
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov cl, byte [edx + eax]
mov edx, dword [ebp - 0xcc]
add edx, ecx
mov dword [ebp - 0xcc], edx
jmp 0x402e2b
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xdc], 0
jmp 0x402eb9
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0x164]
jae 0x402ee8
mov edx, dword [ebp - 0x324]
mov eax, dword [edx + 0x200]
mov ecx, dword [ebp - 0xdc]
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [ebp - 0x7c]
add eax, edx
mov dword [ebp - 0x7c], eax
jmp 0x402eaa
mov dword [ebp - 0xdc], 0
jmp 0x402f03
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0xe4]
jae 0x402f38
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 0x204]
mov edx, dword [ebp - 0xdc]
xor eax, eax
mov al, byte [ecx + edx]
mov ecx, dword [ebp - 0xc8]
add ecx, eax
mov dword [ebp - 0xc8], ecx
jmp 0x402ef4
mov dword [ebp - 0xdc], 0
jmp 0x402f53
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0xb0]
jae 0x402f88
mov ecx, dword [ebp - 0x324]
mov edx, dword [ecx + 0x208]
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov cl, byte [edx + eax]
mov edx, dword [ebp - 0xd8]
add edx, ecx
mov dword [ebp - 0xd8], edx
jmp 0x402f44
mov dword [ebp - 0xdc], 0
jmp 0x402fa3
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0xb0]
jae 0x402fd8
mov edx, dword [ebp - 0x324]
mov eax, dword [edx + 0x20c]
mov ecx, dword [ebp - 0xdc]
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [ebp - 0x98]
add eax, edx
mov dword [ebp - 0x98], eax
jmp 0x402f94
push 0x4e9180
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 8
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 2
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
push 0x4e9184
lea eax, [ebp - 0x134]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x403040
mov byte [ebp - 0x160], 1
mov ecx, dword [ebp - 0x90]
push ecx
push 0x4e9188
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0x168], 0
push 0x112820
mov edx, dword [ebp - 0xc4]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004010e0
test eax, eax
jl 0x4030ad
mov eax, dword [0x4e85e8]
push eax
mov ecx, dword [ebp - 0xc4]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004010e0
test eax, eax
jg 0x4030ad
mov edx, dword [ebp - 0x160]
and edx, 0xff
cmp edx, 1
jne 0x403676
mov dword [ebp - 0xa4], 1
mov eax, dword [ebp - 0x164]
shr eax, 0x11
add eax, 1
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x90]
push ecx
push 0x4e918c
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 2
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
push 0x4e9190
lea ecx, [ebp - 0x134]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x40312c
mov dword [ebp - 0x150], 8
mov dword [ebp - 0x140], 0x100000
jmp 0x4031c0
push 0x4e9194
lea edx, [ebp - 0x134]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x40315a
mov dword [ebp - 0x150], 0x60
mov dword [ebp - 0x140], 0xc00000
jmp 0x4031c0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x228], esp
push str.Status:_FPGA_location_chk_failed._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0
push 0
push str.FPGA_location_chk_failed
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
lea eax, [ebp - 0x134]
push eax
push str.Using_FPGA_loc:_s_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x22c], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x16c]
push eax
push 0x4e91ec
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov ecx, dword [ebp - 0x150]
xor ecx, 0xff
push ecx
mov edx, dword [ebp - 0x150]
push edx
push 0x4e91f4
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xa0], 0
jmp 0x403299
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x23
jae 0x403350
push 1
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x403340
push 0x4e9200
lea eax, [ebp - 0x134]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4032ea
jmp 0x403350
mov ecx, dword [ebp - 0xdc]
push ecx
push 0x4e9204
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x230], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x37c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0xa0], 0
push 0x28
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x40328a
cmp dword [ebp - 0xa0], 0x23
jne 0x4033bf
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x234], esp
push 0x4e9218
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x380], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0
push 0
push 0x4e9230
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
mov dword [ebp - 0xdc], 0
jmp 0x4033da
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 5
jae 0x4033f3
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x4033cb
mov byte [ebp - 0x94], 0
mov dword [ebp - 0x138], 0
cmp dword [ebp - 0x1a8], 0
jne 0x403458
mov ecx, dword [ebp - 0x164]
push ecx
push 0
push 1
mov edx, dword [ebp - 0x324]
mov eax, dword [edx + 0x200]
push eax
push 0x800
mov ecx, dword [ebp - 0x164]
add ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.0040137c
mov dword [ebp - 0x168], eax
jmp 0x4034a1
mov ecx, dword [ebp - 0x164]
push ecx
push 0
push 1
mov edx, dword [ebp - 0x324]
mov eax, dword [edx + 0x200]
push eax
push 0x1000
mov ecx, dword [ebp - 0x164]
add ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.0040137c
mov dword [ebp - 0x168], eax
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x238], esp
push str.Status:_Verifying_section_1_firmware_checksum_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov ecx, dword [ebp - 0x16c]
push ecx
push str.num_sect_d_n
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x23c], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov ecx, dword [ebp - 0x164]
push ecx
push 0x4e9284
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov edx, dword [ebp - 0x140]
push edx
push 0x4e928c
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x43
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
push 0xb
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
lea edx, [ebp - 0xb4]
push edx
push 0x4e9294
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0x7c]
je 0x403650
mov edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0xb4]
push eax
push 0x4e929c
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x240], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x38c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e92f0
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x244], esp
push str.Status:_Section_1_data_OK_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x390], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push str.Section_1_Download_Progress___100_
push 0x3fa
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
push 0x64
mov ecx, dword [ebp - 0x324]
add ecx, 0xe0
call fcn.00405770
mov dword [ebp - 0x1a4], 0x20000
mov eax, dword [ebp - 0x158]
shr eax, 0x11
add eax, 1
mov dword [ebp - 0x16c], eax
mov ecx, dword [ebp - 0x324]
cmp dword [ecx + 0x214], 1
jne 0x4036d8
mov edx, dword [ebp - 0x16c]
sub edx, 1
mov dword [ebp - 0x16c], edx
cmp dword [ebp - 0x1a8], 0
jne 0x40371d
mov dword [ebp - 0x150], 1
mov dword [ebp - 0x140], 0x20000
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x248], esp
push str.Status:_Downloading_section_0_data_direct_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x394], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
jmp 0x403757
mov dword [ebp - 0x150], 0x58
mov dword [ebp - 0x140], 0xb00000
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x24c], esp
push str.Status:_Downloading_section_0_to_scratch_area_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
xor eax, eax
test eax, eax
je 0x4037fb
mov dword [ebp - 0x1a8], 1
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x250], esp
push 0x4e93d0
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov ecx, dword [ebp - 0x158]
push ecx
push 0x4e93f4
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x254], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x3a0], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x16c]
add ecx, 1
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x150], 0x58
mov dword [ebp - 0x140], 0xb00000
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x150]
lea ecx, [eax + edx - 1]
push ecx
mov edx, dword [ebp - 0x150]
push edx
push 0x4e9410
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x258], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x3a4], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x16c]
push eax
push 0x4e9434
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov ecx, dword [ebp - 0x150]
xor ecx, 0xff
push ecx
mov edx, dword [ebp - 0x150]
push edx
push 0x4e943c
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xa0], 0
jmp 0x4038e5
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x23
jae 0x40399c
push 1
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x40398c
push 0x4e9448
lea eax, [ebp - 0x134]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x403936
jmp 0x40399c
mov ecx, dword [ebp - 0xdc]
push ecx
push 0x4e944c
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x25c], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x3a8], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0xa0], 0
push 0x28
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x4038d6
cmp dword [ebp - 0xa0], 0x23
jne 0x403a0b
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x260], esp
push str.Status:_erase_failed._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0
push 0
push str.Erase_check_failed
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
mov dword [ebp - 0xdc], 0
jmp 0x403a26
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 5
jae 0x403a3f
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x403a17
mov dword [ebp - 0xd4], 0
cmp dword [ebp - 0xa8], 0x46000
jne 0x403a6a
mov ecx, dword [ebp - 0x160]
and ecx, 0xff
cmp ecx, 1
jne 0x403cc7
mov edx, dword [ebp - 0xa8]
push edx
push str.Status:_rxlen__x_n
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x264], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x268], esp
push str.Status:_Erasing_for_rx9777_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 3
push 0x4e94bc
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0x150], 0x3e
mov eax, dword [ebp - 0x150]
xor eax, 0xff
push eax
mov ecx, dword [ebp - 0x150]
push ecx
push 0x4e94c4
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xa0], 0
jmp 0x403b6d
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], 0x23
jae 0x403c24
push 1
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x403c14
push 0x4e94d0
lea edx, [ebp - 0x134]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x403bbe
jmp 0x403c24
mov eax, dword [ebp - 0xdc]
push eax
push 0x4e94d4
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x26c], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0xa0], 0
push 0x28
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x403b5e
cmp dword [ebp - 0xa0], 0x23
jne 0x403c93
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x270], esp
push str.Status:_Rx_erase_failed._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3bc], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0
push 0
push str.Erase_Rx_check_failed
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
mov dword [ebp - 0xdc], 0
jmp 0x403cae
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 5
jae 0x403cc7
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x403c9f
cmp dword [ebp - 0xac], 0x46000
jne 0x403ce8
mov edx, dword [ebp - 0x160]
and edx, 0xff
cmp edx, 1
jne 0x403f45
mov eax, dword [ebp - 0xac]
push eax
push str.Status:_txlen__x_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x274], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x278], esp
push str.Status:_Erasing_for_tx9777_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 3
push 0x4e954c
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0x150], 0x41
mov eax, dword [ebp - 0x150]
xor eax, 0xff
push eax
mov ecx, dword [ebp - 0x150]
push ecx
push 0x4e9554
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xa0], 0
jmp 0x403deb
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], 0x23
jae 0x403ea2
push 1
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x403e92
push 0x4e9560
lea edx, [ebp - 0x134]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x403e3c
jmp 0x403ea2
mov eax, dword [ebp - 0xdc]
push eax
push 0x4e9564
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x27c], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0xa0], 0
push 0x28
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x403ddc
cmp dword [ebp - 0xa0], 0x23
jne 0x403f11
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x280], esp
push str.Status:_Tx_erase_failed._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0
push 0
push str.Erase_Tx_check_failed
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
mov dword [ebp - 0xdc], 0
jmp 0x403f2c
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 5
jae 0x403f45
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x403f1d
cmp dword [ebp - 0x74], 0x46000
jne 0x403f63
mov edx, dword [ebp - 0x160]
and edx, 0xff
cmp edx, 1
jne 0x4041bd
mov eax, dword [ebp - 0x74]
push eax
push str.Status:_ntxlen__x_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x284], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x3d0], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x288], esp
push str.Status:_Erasing_for_ntx9777_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3d4], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 3
push 0x4e95e0
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0x150], 0x44
mov eax, dword [ebp - 0x150]
xor eax, 0xff
push eax
mov ecx, dword [ebp - 0x150]
push ecx
push str.S79_02X_02x
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xa0], 0
jmp 0x404063
mov edx, dword [ebp - 0xa0]
add edx, 1
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0xa0], 0x23
jae 0x40411a
push 1
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x40410a
push 0x4e95f4
lea edx, [ebp - 0x134]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x4040b4
jmp 0x40411a
mov eax, dword [ebp - 0xdc]
push eax
push str.Status:_Erasing__d_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
mov edx, dword [ebp - 0xdc]
add edx, 1
mov dword [ebp - 0xdc], edx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x28c], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x3d8], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0xa0], 0
push 0x28
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x404054
cmp dword [ebp - 0xa0], 0x23
jne 0x404189
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x290], esp
push str.Status:_nTx_erase_failed._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3dc], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0
push 0
push str.Erase_nTx_check_failed
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
mov dword [ebp - 0xdc], 0
jmp 0x4041a4
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 5
jae 0x4041bd
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x404195
mov dword [ebp - 0x168], 1
cmp dword [ebp - 0xa8], 0x46000
je 0x4041f9
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x294], esp
push str.Status:_Start_downloading_Rx_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
cmp dword [ebp - 0xa8], 0x46000
jne 0x40421f
mov edx, dword [ebp - 0x160]
and edx, 0xff
cmp edx, 1
jne 0x40428e
cmp dword [ebp - 0x1a8], 0
je 0x40428e
mov eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x1a4]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x324]
mov edx, dword [ecx + 0x204]
push edx
mov eax, dword [ebp - 0x1a8]
neg eax
sbb eax, eax
and eax, 0x800
add eax, 0x800
push eax
mov ecx, dword [ebp - 0xe4]
add ecx, 0x7c0000
push ecx
push 0x7c0000
mov edx, dword [ebp - 0x90]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.0040137c
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0x168], 0
jne 0x4042fd
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x298], esp
push str.Status:_Download_failed_at_rx._Please_retry_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e9690
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
cmp dword [ebp - 0xa8], 0x46000
je 0x4044c0
mov ecx, dword [ebp - 0xe4]
push ecx
push 0x4e96d8
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x7c0000
push 0x4e96e0
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x43
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov edx, dword [ebp - 0xd4]
push edx
push 0x4e96e8
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x29c], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x3e8], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
push 0xb
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
lea edx, [ebp - 0xb4]
push edx
push 0x4e9700
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xc8]
je 0x40449a
mov edx, dword [ebp - 0xc8]
push edx
mov eax, dword [ebp - 0xb4]
push eax
push str.Status:_Error_on_rx_checksum._Remote_checksum_is_0x_x_Actual_checksum_is_0x_x_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2a0], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x3ec], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e9758
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2a4], esp
push str.Status:_Section_rx_data_OK_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3f0], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
cmp dword [ebp - 0xac], 0x46000
je 0x4044f2
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push str.Status:_Start_downloading_Tx_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3f4], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
cmp dword [ebp - 0xac], 0x46000
jne 0x404517
mov eax, dword [ebp - 0x160]
and eax, 0xff
cmp eax, 1
jne 0x40458d
cmp dword [ebp - 0x1a8], 0
je 0x40458d
mov ecx, dword [ebp - 0xd4]
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
add edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x1a4]
push edx
push 0
push 0
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 0x208]
push ecx
mov edx, dword [ebp - 0x1a8]
neg edx
sbb edx, edx
and edx, 0x800
add edx, 0x800
push edx
mov eax, dword [ebp - 0xb0]
add eax, 0x820000
push eax
push 0x820000
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.0040137c
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
jne 0x4045fc
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push 0x4e97d8
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e9808
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
cmp dword [ebp - 0xac], 0x46000
je 0x4047bf
mov edx, dword [ebp - 0xb0]
push edx
push 0x4e9850
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x820000
push 0x4e9858
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x43
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov eax, dword [ebp - 0xd4]
push eax
push 0x4e9860
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2b0], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
push 0xb
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
lea edx, [ebp - 0xb4]
push edx
push 0x4e9878
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xd8]
je 0x404799
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xb4]
push eax
push 0x4e9880
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2b4], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e98d0
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2b8], esp
push str.Status:_Section_tx_data_OK_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
cmp dword [ebp - 0x74], 0x46000
je 0x4047ee
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2bc], esp
push str.Status:_Start_downloading_nTx_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
cmp dword [ebp - 0x74], 0x46000
jne 0x404810
mov eax, dword [ebp - 0x160]
and eax, 0xff
cmp eax, 1
jne 0x404886
cmp dword [ebp - 0x1a8], 0
je 0x404886
mov ecx, dword [ebp - 0xd4]
add ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
add edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x1a4]
push edx
push 0
push 0
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 0x20c]
push ecx
mov edx, dword [ebp - 0x1a8]
neg edx
sbb edx, edx
and edx, 0x800
add edx, 0x800
push edx
mov eax, dword [ebp - 0xb0]
add eax, 0x880000
push eax
push 0x880000
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.0040137c
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
jne 0x4048f5
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2c0], esp
push str.Status:_Download_failed_at_tx._Please_retry_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x40c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e9980
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
cmp dword [ebp - 0x74], 0x46000
je 0x404ab5
mov edx, dword [ebp - 0xb0]
push edx
push 0x4e99c8
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x880000
push 0x4e99d0
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x43
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov eax, dword [ebp - 0xd4]
push eax
push str.Status:_extra_len__d_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2c4], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x410], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
push 0xb
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
lea edx, [ebp - 0xb4]
push edx
push 0x4e99f0
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0x98]
je 0x404a8f
mov edx, dword [ebp - 0x98]
push edx
mov eax, dword [ebp - 0xb4]
push eax
push str.Status:_Error_on_tx_checksum._Remote_checksum_is_0x_x_Actual_checksum_is_0x_x_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2c8], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e9a48
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2cc], esp
push str.Status:_Section_ntx_data_OK_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x140]
push eax
push 0x4e9aac
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2d0], esp
lea edx, [ebp - 0x134]
push edx
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x41c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
cmp dword [ebp - 0x1a8], 0
jne 0x404b6a
mov eax, dword [ebp - 0xd4]
add eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x1a4]
push eax
mov ecx, dword [ebp - 0xd4]
push ecx
push 0
mov edx, dword [ebp - 0x324]
mov eax, dword [edx + 0x210]
add eax, dword [ebp - 0x1a4]
push eax
push 0x800
mov ecx, dword [ebp - 0x158]
add ecx, dword [ebp - 0x140]
sub ecx, dword [ebp - 0x1a4]
push ecx
mov edx, dword [ebp - 0x140]
push edx
mov eax, dword [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.0040137c
mov dword [ebp - 0x168], eax
jmp 0x404bd0
mov ecx, dword [ebp - 0xd4]
add ecx, dword [ebp - 0x158]
sub ecx, dword [ebp - 0x1a4]
push ecx
mov edx, dword [ebp - 0xd4]
push edx
push 0
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 0x210]
add ecx, dword [ebp - 0x1a4]
push ecx
push 0x1000
mov edx, dword [ebp - 0x158]
add edx, dword [ebp - 0x140]
sub edx, dword [ebp - 0x1a4]
push edx
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.0040137c
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
jne 0x404c3f
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2d4], esp
push 0x4e9ad0
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x420], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e9af8
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2d8], esp
push 0x4e9b40
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x424], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x1a4]
push edx
push 0x4e9b70
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov eax, dword [ebp - 0x140]
push eax
push 0x4e9b78
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x43
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
push 0xb
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
lea eax, [ebp - 0xb4]
push eax
push 0x4e9b80
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0xcc]
je 0x404da1
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
push 0x4e9b88
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2dc], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push 0x4e9bdc
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2e0], esp
push 0x4e9c20
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
cmp dword [ebp - 0x1a8], 0
je 0x404f05
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2e4], esp
push 0x4e9c3c
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
xor ecx, ecx
test ecx, ecx
je 0x404e19
push 0
push 0x4e9c54
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
jmp 0x404e33
push 0x20000
push 0x4e9c5c
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0xb00000
push 0x4e9c64
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x1a4]
push eax
push 0x4e9c6c
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
xor ecx, ecx
test ecx, ecx
je 0x404ed7
push 0x4e9c74
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 8
jmp 0x404eec
push 0x4e9c78
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 8
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
xor eax, eax
test eax, eax
je 0x405678
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
mov dword [ebp - 0xa0], 0
jmp 0x404f38
mov ecx, dword [ebp - 0xa0]
add ecx, 1
mov dword [ebp - 0xa0], ecx
cmp dword [ebp - 0xa0], 0x28
jae 0x405058
push 0x3c
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x405045
push 0x4e9c7c
lea ecx, [ebp - 0x134]
push ecx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
je 0x404fa3
push 0x4e9c80
lea edx, [ebp - 0x134]
push edx
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x404fe9
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0xa0]
push ecx
push str.Status:_Fin_Er_Copy_at__d_ts___s_n
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x2e8], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
jmp 0x405058
lea ecx, [ebp - 0x134]
push ecx
push str.Status:_Er_Copy_ts___s_n
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x2ec], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x3c
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
test eax, eax
jne 0x404fe9
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x404f29
mov dword [ebp - 0x1a8], 1
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2f0], esp
push str.Status:_Will_update_boot_sector_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x43c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x158]
push eax
push str.Status:_size_of_swdata_x_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2f4], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x16c], 1
mov dword [ebp - 0x150], 0x58
mov dword [ebp - 0x140], 0xb00000
mov dword [ebp - 0x158], 0x20000
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x150]
lea edx, [ecx + eax - 1]
push edx
mov eax, dword [ebp - 0x150]
push eax
push str.Status:_Erasing_sector__d_to__d_n
lea ecx, [ebp - 0x80]
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2f8], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0xdc], eax
jmp 0x405162
mov ecx, dword [ebp - 0xdc]
add ecx, 1
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x150]
add edx, dword [ebp - 0x16c]
cmp dword [ebp - 0xdc], edx
jae 0x405280
mov eax, dword [ebp - 0xdc]
xor eax, 0xff
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
push str.S37_02X_02x
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov edx, dword [ebp - 0xdc]
push edx
push str.Status:_Erasing_sector__d_n
lea eax, [ebp - 0x80]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x2fc], esp
lea edx, [ebp - 0x80]
push edx
call fcn.00406ae2
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
mov dword [ebp - 0xa0], 0
jmp 0x405221
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0xa
jae 0x40527b
push 2
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
je 0x40526e
push 0x4e9d50
lea eax, [ebp - 0x134]
push eax
call sub.MSVCRT.dll_strcmp
add esp, 8
test eax, eax
jne 0x40526e
jmp 0x40527b
push 0x28
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
jmp 0x405212
jmp 0x405153
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x300], esp
push str.Status:_Start_downloading_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov ecx, dword [ebp - 0x140]
push ecx
push str.___Start_downloading_at_addr:0x_x_n
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x304], esp
lea eax, [ebp - 0x134]
push eax
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov ecx, dword [ebp - 0x1a4]
sub ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x158]
sub edx, ecx
push edx
push 0
push 0
mov eax, dword [ebp - 0x324]
mov ecx, dword [eax + 0x210]
add ecx, dword [ebp - 0x1a4]
push ecx
push 0x400
mov edx, dword [ebp - 0x158]
add edx, dword [ebp - 0x140]
sub edx, dword [ebp - 0x1a4]
push edx
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.0040137c
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
jne 0x4053bc
push 0x58
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x308], esp
push str.Status:_Download_failed._Please_retry_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push str.Download_failed._Please_lower_the_communication_speed_and_try_again.
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x30c], esp
push str.Status:_Verifying_section_0_firmware_checksum_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x1a4]
push edx
push 0x4e9e34
lea eax, [ebp - 0x134]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov eax, dword [ebp - 0x140]
push eax
push 0x4e9e3c
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x43
mov ecx, dword [ebp - 0x90]
call fcn.0040699a
push 0x3e8
call dword [sym.imp.MSVCRT.dll__sleep]
add esp, 4
push 0xb
mov ecx, dword [ebp - 0x90]
push ecx
lea edx, [ebp - 0x134]
push edx
mov ecx, dword [ebp - 0x324]
call fcn.004012aa
lea eax, [ebp - 0xb4]
push eax
push str.CS_8x
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0xcc]
je 0x405550
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
push str.Status:_Error_verifying_checksum._Remote_checksum_is_0x_x_Actual_checksum_is_0x_x_n
lea edx, [ebp - 0x80]
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x310], esp
lea eax, [ebp - 0x80]
push eax
call fcn.00406ae2
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x10
push 0
push str.Checksum_error__Please_lower_the_communication_speed_and_try_again.
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
push 0x4e9ee4
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 8
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
jmp 0x405748
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x314], esp
push str.Status:_Section_0_data_OK_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
cmp dword [ebp - 0x1a8], 0
je 0x405678
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x318], esp
push str.Status:_Perform_copy_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0x20000
push str.A_06X
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0xb00000
push str.a_06X
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x324]
call fcn.00401220
mov ecx, dword [ebp - 0x158]
sub ecx, dword [ebp - 0x1a4]
push ecx
push str.L_06X
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x4e9f34
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 8
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push 0x4e9f38
lea edx, [ebp - 0x134]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 8
mov eax, dword [ebp - 0x90]
push eax
lea ecx, [ebp - 0x134]
push ecx
mov ecx, dword [ebp - 0x324]
call fcn.00401220
push str.Section_0_Download_Progress___100_
push 0x3fb
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::SetDlgItemTextA
push 0x64
mov ecx, dword [ebp - 0x324]
add ecx, 0x120
call fcn.00405770
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x31c], esp
push str.Status:_Update_to_section_0_is_complete_n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x468], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
mov ecx, dword [ebp - 0x90]
call fcn.0040674d
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x320], esp
push str.Status:_Total_update_complete._n
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x46c], eax
mov ecx, dword [ebp - 0x324]
call fcn.004060ee
push 0
push 0
push str.Update_successfully_complete_
mov ecx, dword [ebp - 0x324]
call sub.MFC42.DLL_CWnd::MessageBoxA
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8