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

Disassembly:
push 0x368
mov eax, 0x44018e
call fcn.0042fc83
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x368], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x360], eax
mov eax, dword [ebp + 0x10]
push 7
pop ebx
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x234], esi
mov word [ebp - 0x244], cx
push eax
lea eax, [ebp - 0x27c]
push eax
mov ecx, edi
mov dword [ebp - 4], esi
call fcn.004235a0
or dword [ebp - 0x344], 0xffffffff
push 0x104
lea eax, [ebp - 0x21c]
push eax
push esi
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x348], esi
mov byte [ebp - 4], 2
call dword [0x449588]
test eax, eax
je 0x41c99c
cmp eax, 0x104
je 0x41c99c
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x41c76f
cmp dword [ebp - 0x268], 8
mov eax, dword [ebp - 0x27c]
jae 0x41c51d
lea eax, [ebp - 0x27c]
push eax
mov ecx, edi
call fcn.004236fa
test al, al
jne 0x41c76f
xor eax, eax
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x288], esi
mov word [ebp - 0x298], ax
push 0x405d58
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 3
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x250], esi
mov word [ebp - 0x260], ax
call fcn.0040d819
cmp dword [ebp - 0x24c], 8
mov eax, dword [ebp - 0x260]
mov byte [ebp - 4], 4
jae 0x41c582
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x338]
push eax
mov ecx, edi
call fcn.00422c94
push eax
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 5
call fcn.0040d6a7
push esi
push 1
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 4
call fcn.0040dac7
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x244]
call fcn.0041bd01
push 0x405d9c
lea ecx, [ebp - 0x244]
call fcn.0041be4c
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x244]
call fcn.0041bd01
mov edi, 0x449318
push 0x405da0
mov ecx, edi
call fcn.00426d1d
cmp dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x244]
jae 0x41c613
lea eax, [ebp - 0x244]
lea ecx, [ebp - 0x318]
push 3
mov dword [ebp - 0x31c], ecx
push eax
lea ecx, [ebp - 0x31c]
call fcn.0040db10
push dword [ebp - 0x31c]
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00426d1d
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 4
cmp dword [ebp - 0x31c], eax
je 0x41c65c
push dword [ebp - 0x31c]
call fcn.0042f99c
pop ecx
push 0x401284
mov ecx, edi
call fcn.00426d1d
push 0x401280
mov ecx, edi
call fcn.00426d1d
cmp dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x244]
jae 0x41c689
lea eax, [ebp - 0x244]
push esi
push 0x8000080
push 3
push esi
push 1
push SysReAllocString
push eax
call dword [0x449584]
mov ebx, eax
mov dword [ebp - 0x344], ebx
cmp ebx, 0xffffffff
jne 0x41c6d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040e7a2
mov eax, dword [eax]
mov dword [ebp - 0x35c], eax
push 0x4421bc
lea eax, [ebp - 0x35c]
push eax
call fcn.0042fb98
push esi
push ebx
mov dword [ebp - 0x220], esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push esi
push 1
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x224], eax
call fcn.0040dac7
push esi
push 1
lea ecx, [ebp - 0x298]
call fcn.0040dac7
push 0x405e18
mov ecx, edi
mov dword [ebp - 4], 1
call fcn.00426d1d
push 0x401280
mov ecx, edi
call fcn.00426d1d
mov eax, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x360]
mov dword [eax], ebx
mov eax, dword [ebp - 0x220]
mov dword [ecx], eax
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x33c]
push esi
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x27c]
call fcn.0040dac7
push esi
push 1
lea ecx, [ebp - 0x244]
call fcn.0040dac7
call fcn.0042fcdc
ret 0x14
mov edi, 0x449318
push 0x405da0
mov ecx, edi
call fcn.00426d1d
lea eax, [ebp - 0x318]
mov dword [ebp - 0x31c], eax
push 3
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x31c]
call fcn.0040db10
push dword [ebp - 0x31c]
mov ecx, edi
mov byte [ebp - 4], bl
call fcn.00426d1d
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x31c], eax
je 0x41c7ce
push dword [ebp - 0x31c]
call fcn.0042f99c
pop ecx
push 0x401284
mov ecx, edi
call fcn.00426d1d
push 0x401280
mov ecx, edi
call fcn.00426d1d
push esi
push 0x8000080
push 3
push esi
push 1
push SysReAllocString
lea eax, [ebp - 0x21c]
push eax
call dword [0x449584]
mov ebx, eax
mov dword [ebp - 0x344], ebx
cmp ebx, 0xffffffff
jne 0x41c83a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040e7a2
mov eax, dword [eax]
mov dword [ebp - 0x364], eax
push 0x4421bc
lea eax, [ebp - 0x364]
jmp 0x41c6d2
push esi
push esi
push 0x38
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41c874
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040e7a2
mov eax, dword [eax]
mov dword [ebp - 0x36c], eax
push 0x4421bc
lea eax, [ebp - 0x36c]
jmp 0x41c6d2
push esi
lea eax, [ebp - 0x348]
push eax
push 4
lea eax, [ebp - 0x350]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41c972
cmp dword [ebp - 0x348], 4
jb 0x41c972
push esi
push esi
push dword [ebp - 0x350]
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41c8df
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040e7a2
mov eax, dword [eax]
mov dword [ebp - 0x374], eax
push 0x4421bc
lea eax, [ebp - 0x374]
jmp 0x41c6d2
push esi
lea eax, [ebp - 0x348]
push eax
push 0xc
lea eax, [ebp - 0x228]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41c948
cmp dword [ebp - 0x348], 0xc
jb 0x41c948
cmp dword [ebp - 0x228], 0xfafbfcfd
je 0x41c708
push 0x405dd0
mov ecx, edi
call fcn.00426d1d
push 0x401280
mov ecx, edi
call fcn.00426d1d
mov al, byte [ebp - 0x349]
mov byte [ebp - 0x33d], al
push 0x443e28
lea eax, [ebp - 0x33d]
jmp 0x41c6d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040e7a2
mov eax, dword [eax]
mov dword [ebp - 0x354], eax
push 0x4421bc
lea eax, [ebp - 0x354]
jmp 0x41c6d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040e7a2
mov eax, dword [eax]
mov dword [ebp - 0x370], eax
push 0x4421bc
lea eax, [ebp - 0x370]
jmp 0x41c6d2
mov edi, 0x449318
push 0x405d20
mov ecx, edi
call fcn.00426d1d
push 0x401280
mov ecx, edi
call fcn.00426d1d
push 0x7b
lea ecx, [ebp - 0x33c]
call fcn.0040e7a2
mov eax, dword [eax]
mov dword [ebp - 0x358], eax
push 0x4421bc
lea eax, [ebp - 0x358]
jmp 0x41c6d2