Function at 0x423610
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x200
mov ecx, dword [0x44ccf4]
lea eax, [esp]
push ebx
push ebp
push esi
push edi
push 0
push 0x43a268
push 0x200
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edx, dword [0x44ccf4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x43a23c
push 0x43a228
push 0x43a250
push 0x43a204
push 0x42e350
push 0x43a270
push 0x43a21c
lea eax, [esp + 0x2c]
push str._d_n_d_n_s_n_lX_n_lX_n_lX_n_X_n
push eax
mov dword [0x42e554], 0x87ff
call fcn.00424697
add esp, 0x24
test eax, eax
je 0x423b90
mov eax, dword [0x43a21c]
test eax, eax
jl 0x423b76
cmp eax, dword [0x42e7f0]
jge 0x423b76
mov ecx, dword [0x43a270]
test ecx, ecx
jl 0x423b4f
cmp ecx, dword [eax*4 + 0x42e7f4]
jge 0x423b4f
mov edx, dword [0x44d52c]
mov esi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov dword [eax*4 + 0x439fcc], ecx
mov ecx, dword [eax*4 + 0x42e7f8]
push ecx
push 0x428
push edx
mov dword [0x439fc8], eax
call esi
mov eax, dword [0x439fc8]
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
mov eax, dword [ecx + edx]
mov ecx, dword [0x44d52c]
push eax
push 0x429
push ecx
call esi
mov eax, dword [0x439fc8]
mov edx, dword [eax*4 + 0x439fcc]
mov eax, dword [eax*4 + 0x431580]
shl edx, 7
mov ecx, dword [edx + eax + 0x50]
mov edx, dword [0x44d52c]
push ecx
push 0x42a
push edx
call esi
mov eax, dword [0x439fc8]
mov ecx, dword [eax*4 + 0x439fcc]
mov edx, dword [eax*4 + 0x431580]
shl ecx, 7
mov eax, dword [ecx + edx + 0x40]
mov ecx, dword [0x44d52c]
push eax
push 0x42b
push ecx
call esi
push 0x44d4f0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [0x439fc8]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [eax*4 + 0x439fcc]
mov ecx, dword [eax*4 + 0x431580]
mov eax, dword [eax*4 + 0x42e7f8]
shl edx, 7
mov edx, dword [edx + ecx]
mov ecx, dword [0x44d4fc]
push edx
push eax
mov eax, dword [0x44d4f8]
xor edx, edx
mov dx, word [0x44d4fa]
and ecx, 0xffff
push ecx
and eax, 0xffff
push edx
push eax
push str.__02d:_02d:_02d__tSelect_Mfr.___s_t_Type___s_t__r_n
push 0x44d540
call edi
add esp, 0x1c
call fcn.0040ac50
mov ebx, dword [esp + 0x218]
test ebx, ebx
jne 0x42382a
push 1
call fcn.00424180
add esp, 4
test eax, eax
jne 0x423810
call fcn.00424330
mov ecx, dword [esp + 0x214]
push 0x30
push 0x432594
push str.Error_Identification_on_hardware__
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x200
ret
mov ebp, dword [esp + 0x214]
push 1
push ebp
call fcn.004093b0
push ebp
call fcn.00408c00
add esp, 0xc
jmp 0x423831
mov ebp, dword [esp + 0x214]
push ebp
call fcn.00407d50
push 0x42e350
call fcn.00421a60
add esp, 8
push 0
push 0x80
push 3
push 0
push 0
push MenuHelp
push 0x42e350
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x44ccf4], eax
jne 0x423894
test ebx, ebx
jne 0x423874
call fcn.00424330
push 0x10
push str.LOAD_FILE
push str.Load_File_Error__
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x200
ret
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x43a23c]
mov eax, dword [0x42e59c]
and edx, 0xffff
mov dword [0x42e554], edx
mov edx, dword [0x43a250]
cmp edx, eax
jbe 0x4238e5
test ebx, ebx
jne 0x4238c5
call fcn.00424330
push 0x20
push str.TARGET_ZONE
push str.Device_end_out_of_range
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x200
ret
cmp dword [0x43a204], edx
jbe 0x423916
test ebx, ebx
jne 0x4238f6
call fcn.00424330
push 0x20
push str.TARGET_ZONE
push str.Device_start_out_of_range
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x200
ret
mov eax, dword [0x43a228]
mov ebp, dword [0x44d49c]
cmp eax, ebp
ja 0x423b1f
mov ebx, dword [0x43a204]
mov ecx, edx
sub ecx, ebx
sub ebp, eax
lea ebx, [ecx + 1]
cmp ebp, ebx
jb 0x423b18
mov ebx, dword [0x44d49c]
add ecx, eax
cmp ecx, ebx
mov dword [0x43a1d0], ecx
jbe 0x423973
mov eax, dword [esp + 0x218]
test eax, eax
jne 0x423962
call fcn.00424330
push 0x20
push str.TARGET_ZONE
push str.Buffer_end_out_of_range
jmp 0x423b82
mov ebx, dword [0x43a204]
push eax
push 0x432804
push 0x44d540
mov dword [0x439eb4], ebx
mov dword [0x42e59c], edx
mov dword [0x439eb0], eax
mov dword [0x42e598], ecx
call edi
mov ecx, dword [0x44d52c]
add esp, 0xc
push 0x44d540
push 0x434
push ecx
call esi
mov edx, dword [0x439eb4]
push edx
push 0x432804
push 0x44d540
call edi
mov eax, dword [0x44d52c]
add esp, 0xc
push 0x44d540
push 0x432
push eax
call esi
mov ecx, dword [0x42e59c]
push ecx
push 0x432804
push 0x44d540
call edi
mov edx, dword [0x44d52c]
add esp, 0xc
push 0x44d540
push 0x433
push edx
call esi
mov eax, dword [0x42e598]
push eax
push 0x432804
push 0x44d540
call edi
mov ecx, dword [0x44d52c]
add esp, 0xc
push 0x44d540
push 0x435
push ecx
call esi
call fcn.00408ba0
call fcn.004240a0
push 0x44d4f0
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov edx, dword [0x42e59c]
mov eax, dword [0x439eb4]
mov ecx, dword [0x439eb0]
push edx
mov edx, dword [0x44d4fc]
push eax
push ecx
mov ecx, dword [0x44d4f8]
xor eax, eax
and edx, 0xffff
mov ax, word [0x44d4fa]
push edx
and ecx, 0xffff
push eax
push ecx
push str.__02d:_02d:_02d__tSet_Programmer_Buffer_Start___08X__tDevice_Start___08X__tDevice_End___08X_r_n
push 0x44d540
call edi
call fcn.0040ac50
mov edx, dword [0x43a22c]
mov eax, dword [0x44d894]
mov ecx, dword [0x44c26c]
push 1
push edx
mov edx, dword [0x44d87c]
push eax
mov eax, dword [0x439b98]
push ecx
push edx
mov esi, dword [esp + 0x248]
push eax
push 0x42e350
push esi
call fcn.00419f40
add esp, 0x40
test eax, eax
mov eax, dword [esp + 0x218]
jne 0x423af5
test eax, eax
jne 0x423ad5
call fcn.00424330
push 0x10
push str.LOAD_FILE
push str.Load_File_Error__
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x200
ret
test eax, eax
jne 0x423afe
call fcn.00424330
pop edi
pop esi
pop ebp
mov dword [0x42e034], 0
mov eax, 1
pop ebx
add esp, 0x200
ret
mov ebx, dword [esp + 0x218]
test ebx, ebx
jne 0x423b28
call fcn.00424330
mov ecx, dword [esp + 0x214]
push 0x20
push str.TARGET_ZONE
push str.Buffer_start_out_of_range
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x200
ret
mov edx, dword [esp + 0x214]
push 0x10
push str.Warnning
push str.Type_Number_Error__
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x200
ret
push 0x10
push str.Warnning
push str.Mfr_Number_Error__
mov eax, dword [esp + 0x220]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x200
ret