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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x456668
push 0x44bffc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
push 0x104
call fcn.0044c0d4
add esp, 4
mov ebx, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x4c], 0xffffffff
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0xc]
cmp eax, 5
je 0x40b783
cmp eax, 7
jne 0x40b7c7
push 0
push 0
push 0x2aff
mov eax, dword [0x4773dc]
push eax
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
call esi
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [0x4773dc]
push edx
call fcn.004087a0
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x48], ecx
push 0
push ecx
push 0x2afe
mov eax, dword [0x4773dc]
push eax
call esi
jmp 0x40b7cd
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push ebx
mov ecx, dword [ebp + 8]
push ecx
push 0x189
mov edx, dword [0x4773dc]
push edx
call esi
push 1
push 1
push 3
push 1
push 0x80000000
push ebx
call fcn.0044a650
mov edi, eax
mov dword [ebp - 0x4c], edi
cmp edi, 0xffffffff
je 0x40b896
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov dword [ebp - 0x3c], ebx
push ebx
call fcn.0044c0d4
add esp, 4
mov dword [ebp - 0x30], eax
push 0
lea ecx, [ebp - 0x48]
push ecx
push ebx
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or edi, 0xffffffff
mov dword [ebp - 0x4c], edi
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x1c], ebx
add ebx, 0x155
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x50], 0
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x1c]
cmp edx, dword [eax + 4]
jge 0x40b881
push 3
mov cl, byte [ebx + 0x24]
push ecx
mov edx, dword [ebx + 0x20]
push edx
call fcn.00432f00
mov dword [ebp - 0x34], eax
test eax, eax
je 0x40b876
push 1
push eax
call fcn.00438440
add ebx, 0x25
mov dword [ebp - 0x38], ebx
inc dword [ebp - 0x50]
jmp 0x40b84d
push 0
push 0
mov eax, dword [ebp - 0x40]
push eax
push 0xfa2
call fcn.00440b60
mov ebx, dword [ebp - 0x40]
push 0
mov ecx, dword [ebp + 8]
push ecx
push 0x182
mov edx, dword [0x4773dc]
push edx
call esi
push 0
push 0
push 0x2aff
mov eax, dword [0x4773dc]
push eax
call esi
mov dword [ebp - 0x48], eax
dec eax
mov dword [ebp - 0x48], eax
push 0
push eax
push 0x2afe
mov ecx, dword [0x4773dc]
push ecx
call esi
push ebx
push 0xffffffffffffffff
push 0x1a2
mov edx, dword [0x4773cc]
push edx
call esi
mov dword [ebp - 0x48], eax
cmp eax, 0xffffffff
je 0x40b943
push 0
push eax
push 0x199
mov eax, dword [0x4773cc]
push eax
call esi
mov dword [ebp - 0x44], eax
and eax, 0xffffff
mov dword [ebp - 0x44], eax
push eax
mov ecx, dword [ebp - 0x48]
push ecx
push 0x19a
mov edx, dword [0x4773cc]
push edx
call esi
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
push 0x198
mov edx, dword [0x4773cc]
push edx
call esi
push 1
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [0x4773cc]
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov dword [ebp - 4], 0xffffffff
jmp 0x40b974
cmp edi, 0xffffffff
je 0x40b980
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x40b98d
push ebx
call fcn.0044c186
add esp, 4
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40b99d
push eax
call fcn.0044c186
add esp, 4
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8