Function at 0x431ad0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4ac
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x104
push 0x487680
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str..scr
push 0x487680
call fcn.004379bc
add esp, 8
test eax, eax
jne 0x431b21
push str..SCR
push 0x487680
call fcn.004379bc
add esp, 8
test eax, eax
je 0x431b2b
mov dword [0x486804], 1
push ebx
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x487680
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x431b61
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00436f02
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [ebp - 0x48c]
push edi
push 2
push eax
push 0
xorps xmm0, xmm0
push ebx
movlpd qword [ebp - 0x490], xmm0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x490], eax
cmp eax, 0xffffffff
jne 0x431b95
call edi
push 0x40
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.00437570
add esp, 0xc
mov dword [ebp - 0x490], 0xfffffffd
lea eax, [ebp - 0x48c]
mov dword [ebp - 0x48c], 0xffffffff
push 1
push eax
push 0xfffffffffffffffd
push ebx
call esi
mov dword [ebp - 0x490], eax
cmp eax, 0xffffffff
jne 0x431bd4
call edi
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [ebp - 0x488]
push 0
push eax
push 3
lea eax, [ebp - 0x44]
push eax
push ebx
call esi
push 0x40
lea eax, [ebp - 0x84]
push 0
push eax
call fcn.00437570
add esp, 0xc
mov dword [ebp - 0x490], 0xfffffffa
lea eax, [ebp - 0x48c]
mov dword [ebp - 0x48c], 0xffffffff
push 1
push eax
push 0xfffffffffffffffa
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x490], eax
cmp eax, 0xffffffff
jne 0x431c32
call edi
push 0
lea eax, [ebp - 0x488]
push eax
push 3
lea eax, [ebp - 0x84]
push eax
push ebx
call esi
push 1
lea eax, [ebp - 0x48c]
mov dword [ebp - 0x490], 0xfffffff9
push eax
push 0xfffffffffffffff9
push ebx
mov dword [ebp - 0x48c], 0xffffffff
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x490], eax
cmp eax, 0xffffffff
jne 0x431c7a
call edi
push 0
lea eax, [ebp - 0x488]
push eax
push 4
lea eax, [ebp - 0x49c]
push eax
push ebx
call esi
push 1
lea eax, [ebp - 0x48c]
mov dword [ebp - 0x490], 0xfffffff4
push eax
push 0xfffffffffffffff4
push ebx
mov dword [ebp - 0x48c], 0xffffffff
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x490], eax
cmp eax, 0xffffffff
jne 0x431cc2
call edi
push 0
lea eax, [ebp - 0x488]
push eax
push 8
lea eax, [ebp - 0x4ac]
push eax
push ebx
call esi
push 1
lea eax, [ebp - 0x48c]
mov dword [ebp - 0x490], 0xfffffff0
push eax
push 0xfffffffffffffff0
push ebx
mov dword [ebp - 0x48c], 0xffffffff
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x490], eax
cmp eax, 0xffffffff
jne 0x431d0a
call edi
push 0
lea eax, [ebp - 0x488]
push eax
push 8
lea eax, [ebp - 0x4a4]
push eax
push ebx
call esi
mov ecx, dword [ebp - 0x49c]
test ecx, ecx
je 0x432165
lea edx, [ebp - 0x44]
cmp word [edx], 0x2e32
jne 0x432133
cmp byte [edx + 2], 0x30
jne 0x432133
imul eax, ecx, 0x2238
push eax
call fcn.00436e70
add esp, 4
mov dword [0x486824], eax
test eax, eax
jne 0x431d71
push 0x2030
push 0x4878a0
push str.Cant_allocate_memory_
jmp 0x43215d
push 0
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
push ebx
call fcn.00434600
add esp, 0x10
lea eax, [ebp - 0x488]
push 0
push eax
push 0x1dc
push 0x486840
push ebx
call esi
cmp dword [0x486844], 0
mov dword [0x486884], 1
je 0x431e25
cmp dword [0x486858], 0
mov eax, dword [0x486850]
mov dword [0x486818], eax
mov eax, dword [0x486854]
mov dword [0x486814], eax
je 0x431e0c
push dword [0x486968]
call fcn.00430ef0
sub eax, dword [0x486818]
push dword [0x486968]
cdq
sub eax, edx
sar eax, 1
mov dword [0x486820], eax
call fcn.00430e90
sub eax, dword [0x486814]
add esp, 8
cdq
sub eax, edx
sar eax, 1
mov dword [0x48681c], eax
jmp 0x431eda
mov eax, dword [0x486848]
mov dword [0x486820], eax
mov eax, dword [0x48684c]
mov dword [0x48681c], eax
jmp 0x431eda
cmp dword [0x486968], 0
je 0x431ea7
push 0x4c
call fcn.00434e20
mov dword [0x486820], eax
call fcn.00431010
test eax, eax
je 0x431e4d
push 0x4d
call dword [0x4853dc]
jmp 0x431e4f
xor eax, eax
push 1
mov dword [0x48681c], eax
call fcn.00430ef0
mov ecx, eax
mov eax, dword [0x486820]
cdq
xor eax, edx
sub eax, edx
sub ecx, eax
push 1
mov dword [0x486818], ecx
call fcn.00430e90
mov ecx, dword [0x486820]
mov edi, eax
mov eax, dword [0x48681c]
add esp, 8
sub dword [0x486818], ecx
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
cdq
xor eax, edx
sub eax, edx
sub edi, eax
sub edi, dword [0x48681c]
mov dword [0x486814], edi
jmp 0x431eda
push 0
mov dword [0x486820], 0
mov dword [0x48681c], 0
call fcn.00430ef0
push dword [0x486968]
mov dword [0x486818], eax
call fcn.00430e90
add esp, 8
mov dword [0x486814], eax
mov eax, dword [ebp + 8]
test eax, eax
jle 0x431f70
lea ecx, [ebp - 0x498]
push ecx
push eax
call fcn.00430db0
mov eax, dword [ebp - 0x490]
add esp, 8
cmp dword [0x486844], 0
je 0x431f44
sub eax, dword [0x486818]
sub eax, dword [ebp - 0x498]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x498]
mov dword [0x486820], eax
mov eax, dword [ebp - 0x48c]
sub eax, dword [0x486814]
sub eax, dword [ebp - 0x494]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x494]
mov dword [0x48681c], eax
jmp 0x431f70
mov ecx, dword [ebp - 0x498]
sub eax, ecx
mov edx, dword [ebp - 0x494]
mov dword [0x486818], eax
mov eax, dword [ebp - 0x48c]
sub eax, edx
mov dword [0x486820], ecx
mov dword [0x48681c], edx
mov dword [0x486814], eax
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jle 0x431fe9
mov edx, dword [ebp + 0x18]
test edx, edx
jle 0x431fe9
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [0x486844], 1
mov dword [0x486820], eax
mov dword [0x48681c], edi
mov dword [0x486818], ecx
mov dword [0x486814], edx
cmp eax, 0x270f
jne 0x431fe9
cmp edi, eax
jne 0x431fe9
push dword [0x486968]
call fcn.00430ef0
sub eax, dword [0x486818]
push dword [0x486968]
cdq
sub eax, edx
sar eax, 1
mov dword [0x486820], eax
call fcn.00430e90
sub eax, dword [0x486814]
add esp, 8
cdq
sub eax, edx
sar eax, 1
mov dword [0x48681c], eax
push 0
push dword [ebp - 0x4a8]
push dword [ebp - 0x4ac]
push ebx
call fcn.00434600
add esp, 0x10
mov dword [ebp - 0x48c], 0
cmp dword [ebp - 0x49c], 0
jle 0x432116
xor edi, edi
lea esp, [esp]
mov eax, dword [0x486824]
push 0x2238
add eax, edi
push 0
push eax
call fcn.00437570
add esp, 0xc
lea eax, [ebp - 0x488]
push 0
push eax
mov eax, dword [0x486824]
push 4
add eax, edi
push eax
push ebx
call esi
push 0
lea eax, [ebp - 0x488]
push eax
mov eax, dword [0x486824]
add eax, 8
push 8
add eax, edi
push eax
push ebx
call esi
push 0
lea eax, [ebp - 0x488]
push eax
mov eax, dword [0x486824]
add eax, 0x10
push 8
add eax, edi
push eax
push ebx
call esi
push 0
lea eax, [ebp - 0x488]
push eax
mov eax, dword [0x486824]
add eax, 0x18
push 4
add eax, edi
push eax
push ebx
call esi
mov ecx, dword [0x486824]
lea eax, [ebp - 0x488]
push 0
push eax
mov eax, dword [ecx + edi + 0x18]
add eax, eax
push eax
lea eax, [ecx + 0x1c]
add eax, edi
push eax
push ebx
call esi
push 0
lea eax, [ebp - 0x488]
push eax
mov eax, dword [0x486824]
add eax, 0x224
push 4
add eax, edi
push eax
push ebx
call esi
mov ecx, dword [0x486824]
lea eax, [ebp - 0x488]
push 0
push eax
mov eax, dword [ecx + edi + 0x224]
add eax, eax
push eax
lea eax, [ecx + 0x228]
add eax, edi
push eax
push ebx
call esi
mov eax, dword [ebp - 0x48c]
inc eax
add edi, 0x2238
mov dword [ebp - 0x48c], eax
cmp eax, dword [ebp - 0x49c]
jl 0x432020
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00436f02
mov esp, ebp
pop ebp
ret
xor ecx, ecx
movzx eax, word [ecx + str.Wrong_EXE_version_or_Damaged_EXE_file__n_nThis_EXE_is_either_damaged_incomplete_OR_created_with_a_non_compatible_IrfanView_PlugIn_version._nPlease_re_create_this_EXE_using_latest_IrfanView_PlugIns.]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x486], ax
test ax, ax
jne 0x432135
push 0x2030
push 0x4878a0
lea eax, [ebp - 0x484]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00436f02
mov esp, ebp
pop ebp
ret