Function at 0x40323a
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
mov eax, dword [0x453008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0
push 0x80
push 3
push 0
push 1
push 0xc0000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x20c], eax
cmp dword [ebp - 0x20c], 0xffffffff
je 0x4036d7
and dword [ebp - 0x50], 0
xor eax, eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x20c]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov eax, dword [ebp - 0x50]
sub eax, 0x6c
mov ecx, dword [ebp - 0x4c]
sbb ecx, 0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
push 2
push 0
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x20c]
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
push 0x6c
push 0
lea eax, [ebp - 0x1e8]
push eax
call fcn.00421900
add esp, 0xc
push 0
lea eax, [ebp - 0x5c]
push eax
push 0x6c
lea eax, [ebp - 0x1e8]
push eax
push dword [ebp - 0x20c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x1e8], 0x1020102
je 0x403376
cmp dword [0x455770], 0
je 0x403365
push dword [ebp + 8]
lea ecx, [ebp - 0x104]
call fcn.0040510d
lea eax, [ebp - 0x104]
push eax
push 0x44df5c
lea eax, [ebp - 0x74]
push eax
call fcn.00406b12
add esp, 0xc
lea ecx, [ebp - 0x74]
call fcn.004050e3
push eax
push 0
push 0x180
push 0x3e9
push dword [0x4559ac]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea eax, [ebp - 0x74]
push eax
call fcn.00402fea
pop ecx
lea ecx, [ebp - 0x74]
call fcn.004050f4
lea ecx, [ebp - 0x104]
call fcn.004050f4
push dword [ebp - 0x20c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x403750
cmp dword [ebp - 0x180], 0x3040304
je 0x403410
cmp dword [0x455770], 0
je 0x4033ff
push dword [ebp + 8]
lea ecx, [ebp - 0x11c]
call fcn.0040510d
lea eax, [ebp - 0x11c]
push eax
push str.____corrupted:_no_end_sign__
lea eax, [ebp - 0x8c]
push eax
call fcn.00406b12
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.004050e3
push eax
push 0
push 0x180
push 0x3e9
push dword [0x4559ac]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea eax, [ebp - 0x8c]
push eax
call fcn.00402fea
pop ecx
lea ecx, [ebp - 0x8c]
call fcn.004050f4
lea ecx, [ebp - 0x11c]
call fcn.004050f4
push dword [ebp - 0x20c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x403750
and dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0x4559b8
mov ecx, dword [ebp - 0x214]
call fcn.00401485
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x214]
call fcn.00401493
mov dword [ebp - 0x21c], eax
jmp 0x403454
mov eax, dword [ebp - 0x210]
add eax, 0x20
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x210]
cmp eax, dword [ebp - 0x21c]
je 0x4034a0
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x220], eax
push 0x20
lea eax, [ebp - 0x1a0]
push eax
push dword [ebp - 0x220]
call fcn.0042249d
add esp, 0xc
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0
jne 0x40349e
mov dword [ebp - 0x218], 1
jmp 0x403445
cmp dword [ebp - 0x218], 0
jne 0x40350c
push 0x41
push 0
lea eax, [ebp - 0x48]
push eax
call fcn.00421900
add esp, 0xc
lea eax, [ebp - 0x48]
push eax
push 0x20
lea eax, [ebp - 0x1a0]
push eax
call fcn.00402ea6
add esp, 0xc
lea eax, [ebp - 0x48]
push eax
push 0
push 0x180
push 0x3ed
push dword [0x4559ac]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 8
pop ecx
lea esi, [ebp - 0x1a0]
lea edi, [ebp - 0x208]
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x208]
push eax
mov ecx, 0x4559b8
call fcn.004040e9
mov eax, dword [ebp - 0x58]
sub eax, 0x6c
mov ecx, dword [ebp - 0x54]
sbb ecx, 0
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], ecx
mov eax, dword [ebp - 0x22c]
cmp eax, dword [ebp - 0x1e0]
jne 0x403544
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x1dc]
je 0x4035ce
cmp dword [0x455778], 0
je 0x4035bd
push dword [ebp + 8]
lea ecx, [ebp - 0x134]
call fcn.0040510d
lea eax, [ebp - 0x134]
push eax
push str.____corrupted:_wrong_size__
lea eax, [ebp - 0xa4]
push eax
call fcn.00406b12
add esp, 0xc
lea ecx, [ebp - 0xa4]
call fcn.004050e3
push eax
push 0
push 0x180
push 0x3e9
push dword [0x4559ac]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea eax, [ebp - 0xa4]
push eax
call fcn.00402fea
pop ecx
lea ecx, [ebp - 0xa4]
call fcn.004050f4
lea ecx, [ebp - 0x134]
call fcn.004050f4
push dword [ebp - 0x20c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x403750
cmp dword [ebp - 0x1e4], 0
jne 0x403650
cmp dword [0x455778], 0
je 0x403650
push dword [ebp + 8]
lea ecx, [ebp - 0x14c]
call fcn.0040510d
lea eax, [ebp - 0x14c]
push eax
push str.____empty_iter__
lea eax, [ebp - 0xbc]
push eax
call fcn.00406b12
add esp, 0xc
lea ecx, [ebp - 0xbc]
call fcn.004050e3
push eax
push 0
push 0x180
push 0x3e9
push dword [0x4559ac]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea eax, [ebp - 0xbc]
push eax
call fcn.00402fea
pop ecx
lea ecx, [ebp - 0xbc]
call fcn.004050f4
lea ecx, [ebp - 0x14c]
call fcn.004050f4
cmp dword [0x455774], 0
je 0x4036c9
push dword [ebp + 8]
lea ecx, [ebp - 0x164]
call fcn.0040510d
lea eax, [ebp - 0x164]
push eax
push str.___file_ok__
lea eax, [ebp - 0xd4]
push eax
call fcn.00406b12
add esp, 0xc
lea ecx, [ebp - 0xd4]
call fcn.004050e3
push eax
push 0
push 0x180
push 0x3e9
push dword [0x4559ac]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea eax, [ebp - 0xd4]
push eax
call fcn.00402fea
pop ecx
lea ecx, [ebp - 0xd4]
call fcn.004050f4
lea ecx, [ebp - 0x164]
call fcn.004050f4
push dword [ebp - 0x20c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x403750
cmp dword [0x4559b0], 0
je 0x403750
push dword [ebp + 8]
lea ecx, [ebp - 0x17c]
call fcn.0040510d
lea eax, [ebp - 0x17c]
push eax
push str.____cant_open__
lea eax, [ebp - 0xec]
push eax
call fcn.00406b12
add esp, 0xc
lea ecx, [ebp - 0xec]
call fcn.004050e3
push eax
push 0
push 0x180
push 0x3e9
push dword [0x4559ac]
call dword [sym.imp.USER32.dll_SendDlgItemMessageW]
lea eax, [ebp - 0xec]
push eax
call fcn.00402fea
pop ecx
lea ecx, [ebp - 0xec]
call fcn.004050f4
lea ecx, [ebp - 0x17c]
call fcn.004050f4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040850d
leave
ret