Function at 0x434880
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4ac
mov eax, dword [0x487010]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x104
push 0x48b700
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str..scr
push 0x48b700
call fcn.00439d6e
add esp, 8
test eax, eax
jne 0x4348d1
push str..SCR
push 0x48b700
call fcn.00439d6e
add esp, 8
test eax, eax
je 0x4348db
mov dword [0x48a884], 1
push ebx
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
push 0x48b700
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x434911
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439bd8
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 0x434945
call edi
push 0x40
lea eax, [ebp - 0x44]
push 0
push eax
call fcn.00439bf0
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 0x434984
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.00439bf0
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 0x4349e2
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 0x434a2a
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 0x434a72
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 0x434aba
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 0x434f15
lea edx, [ebp - 0x44]
cmp word [edx], 0x2e32
jne 0x434ee3
cmp byte [edx + 2], 0x30
jne 0x434ee3
imul eax, ecx, 0x2238
push eax
call fcn.0043a2a6
add esp, 4
mov dword [0x48a8a4], eax
test eax, eax
jne 0x434b21
push 0x2030
push 0x48b920
push str.Cant_allocate_memory_
jmp 0x434f0d
push 0
push dword [ebp - 0x4a0]
push dword [ebp - 0x4a4]
push ebx
call fcn.004373a0
add esp, 0x10
lea eax, [ebp - 0x488]
push 0
push eax
push 0x1dc
push 0x48a8c0
push ebx
call esi
cmp dword [0x48a8c4], 0
mov dword [0x48a904], 1
je 0x434bd5
cmp dword [0x48a8d8], 0
mov eax, dword [0x48a8d0]
mov dword [0x48a898], eax
mov eax, dword [0x48a8d4]
mov dword [0x48a894], eax
je 0x434bbc
push dword [0x48a9e8]
call fcn.00433ca0
sub eax, dword [0x48a898]
push dword [0x48a9e8]
cdq
sub eax, edx
sar eax, 1
mov dword [0x48a8a0], eax
call fcn.00433c40
sub eax, dword [0x48a894]
add esp, 8
cdq
sub eax, edx
sar eax, 1
mov dword [0x48a89c], eax
jmp 0x434c8a
mov eax, dword [0x48a8c8]
mov dword [0x48a8a0], eax
mov eax, dword [0x48a8cc]
mov dword [0x48a89c], eax
jmp 0x434c8a
cmp dword [0x48a9e8], 0
je 0x434c57
push 0x4c
call fcn.00437bc0
mov dword [0x48a8a0], eax
call fcn.00433dc0
test eax, eax
je 0x434bfd
push 0x4d
call dword [0x48945c]
jmp 0x434bff
xor eax, eax
push 1
mov dword [0x48a89c], eax
call fcn.00433ca0
mov ecx, eax
mov eax, dword [0x48a8a0]
cdq
xor eax, edx
sub eax, edx
sub ecx, eax
push 1
mov dword [0x48a898], ecx
call fcn.00433c40
mov ecx, dword [0x48a8a0]
mov edi, eax
mov eax, dword [0x48a89c]
add esp, 8
sub dword [0x48a898], ecx
mov esi, dword [sym.imp.KERNEL32.dll_ReadFile]
cdq
xor eax, edx
sub eax, edx
sub edi, eax
sub edi, dword [0x48a89c]
mov dword [0x48a894], edi
jmp 0x434c8a
push 0
mov dword [0x48a8a0], 0
mov dword [0x48a89c], 0
call fcn.00433ca0
push dword [0x48a9e8]
mov dword [0x48a898], eax
call fcn.00433c40
add esp, 8
mov dword [0x48a894], eax
mov eax, dword [ebp + 8]
test eax, eax
jle 0x434d20
lea ecx, [ebp - 0x498]
push ecx
push eax
call fcn.00433b60
mov eax, dword [ebp - 0x490]
add esp, 8
cmp dword [0x48a8c4], 0
je 0x434cf4
sub eax, dword [0x48a898]
sub eax, dword [ebp - 0x498]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x498]
mov dword [0x48a8a0], eax
mov eax, dword [ebp - 0x48c]
sub eax, dword [0x48a894]
sub eax, dword [ebp - 0x494]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x494]
mov dword [0x48a89c], eax
jmp 0x434d20
mov ecx, dword [ebp - 0x498]
sub eax, ecx
mov edx, dword [ebp - 0x494]
mov dword [0x48a898], eax
mov eax, dword [ebp - 0x48c]
sub eax, edx
mov dword [0x48a8a0], ecx
mov dword [0x48a89c], edx
mov dword [0x48a894], eax
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jle 0x434d99
mov edx, dword [ebp + 0x18]
test edx, edx
jle 0x434d99
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov dword [0x48a8c4], 1
mov dword [0x48a8a0], eax
mov dword [0x48a89c], edi
mov dword [0x48a898], ecx
mov dword [0x48a894], edx
cmp eax, 0x270f
jne 0x434d99
cmp edi, eax
jne 0x434d99
push dword [0x48a9e8]
call fcn.00433ca0
sub eax, dword [0x48a898]
push dword [0x48a9e8]
cdq
sub eax, edx
sar eax, 1
mov dword [0x48a8a0], eax
call fcn.00433c40
sub eax, dword [0x48a894]
add esp, 8
cdq
sub eax, edx
sar eax, 1
mov dword [0x48a89c], eax
push 0
push dword [ebp - 0x4a8]
push dword [ebp - 0x4ac]
push ebx
call fcn.004373a0
add esp, 0x10
mov dword [ebp - 0x48c], 0
cmp dword [ebp - 0x49c], 0
jle 0x434ec6
xor edi, edi
lea esp, [esp]
mov eax, dword [0x48a8a4]
push 0x2238
add eax, edi
push 0
push eax
call fcn.00439bf0
add esp, 0xc
lea eax, [ebp - 0x488]
push 0
push eax
mov eax, dword [0x48a8a4]
push 4
add eax, edi
push eax
push ebx
call esi
push 0
lea eax, [ebp - 0x488]
push eax
mov eax, dword [0x48a8a4]
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 [0x48a8a4]
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 [0x48a8a4]
add eax, 0x18
push 4
add eax, edi
push eax
push ebx
call esi
mov ecx, dword [0x48a8a4]
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 [0x48a8a4]
add eax, 0x224
push 4
add eax, edi
push eax
push ebx
call esi
mov ecx, dword [0x48a8a4]
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 0x434dd0
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.00439bd8
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 0x434ee5
push 0x2030
push 0x48b920
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.00439bd8
mov esp, ebp
pop ebp
ret