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

Disassembly:
push 0x368
mov eax, 0x440ad2
call fcn.00430573
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.00423fa9
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 [0x44a5c0]
test eax, eax
je 0x41d379
cmp eax, 0x104
je 0x41d379
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x41d14c
cmp dword [ebp - 0x268], 8
mov eax, dword [ebp - 0x27c]
jae 0x41cefa
lea eax, [ebp - 0x27c]
push eax
mov ecx, edi
call fcn.00424103
test al, al
jne 0x41d14c
xor eax, eax
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x288], esi
mov word [ebp - 0x298], ax
push 0x405ef0
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.0040da9d
cmp dword [ebp - 0x24c], 8
mov eax, dword [ebp - 0x260]
mov byte [ebp - 4], 4
jae 0x41cf5f
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x338]
push eax
mov ecx, edi
call fcn.00423602
push eax
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 5
call fcn.0040d92b
push esi
push 1
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 4
call fcn.0040dd4b
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x244]
call fcn.0041c5fe
push 0x405f34
lea ecx, [ebp - 0x244]
call fcn.0041c749
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x244]
call fcn.0041c5fe
mov edi, 0x44a350
push 0x405f38
mov ecx, edi
call fcn.00427776
cmp dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x244]
jae 0x41cff0
lea eax, [ebp - 0x244]
lea ecx, [ebp - 0x318]
push 3
mov dword [ebp - 0x31c], ecx
push eax
lea ecx, [ebp - 0x31c]
call fcn.0040dd94
push dword [ebp - 0x31c]
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00427776
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 4
cmp dword [ebp - 0x31c], eax
je 0x41d039
push dword [ebp - 0x31c]
call fcn.0043028c
pop ecx
push 0x401288
mov ecx, edi
call fcn.00427776
push 0x401284
mov ecx, edi
call fcn.00427776
cmp dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x244]
jae 0x41d066
lea eax, [ebp - 0x244]
push esi
push 0x8000080
push 3
push esi
push 1
push SysReAllocString
push eax
call dword [0x44a5bc]
mov ebx, eax
mov dword [ebp - 0x344], ebx
cmp ebx, 0xffffffff
jne 0x41d0b5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec48
mov eax, dword [eax]
mov dword [ebp - 0x35c], eax
push 0x442bd0
lea eax, [ebp - 0x35c]
push eax
call fcn.00430488
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.0040dd4b
push esi
push 1
lea ecx, [ebp - 0x298]
call fcn.0040dd4b
push 0x405fb0
mov ecx, edi
mov dword [ebp - 4], 1
call fcn.00427776
push 0x401284
mov ecx, edi
call fcn.00427776
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.0040dd4b
push esi
push 1
lea ecx, [ebp - 0x244]
call fcn.0040dd4b
call fcn.004305cc
ret 0x14
mov edi, 0x44a350
push 0x405f38
mov ecx, edi
call fcn.00427776
lea eax, [ebp - 0x318]
mov dword [ebp - 0x31c], eax
push 3
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x31c]
call fcn.0040dd94
push dword [ebp - 0x31c]
mov ecx, edi
mov byte [ebp - 4], bl
call fcn.00427776
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x31c], eax
je 0x41d1ab
push dword [ebp - 0x31c]
call fcn.0043028c
pop ecx
push 0x401288
mov ecx, edi
call fcn.00427776
push 0x401284
mov ecx, edi
call fcn.00427776
push esi
push 0x8000080
push 3
push esi
push 1
push SysReAllocString
lea eax, [ebp - 0x21c]
push eax
call dword [0x44a5bc]
mov ebx, eax
mov dword [ebp - 0x344], ebx
cmp ebx, 0xffffffff
jne 0x41d217
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec48
mov eax, dword [eax]
mov dword [ebp - 0x364], eax
push 0x442bd0
lea eax, [ebp - 0x364]
jmp 0x41d0af
push esi
push esi
push 0x38
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41d251
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec48
mov eax, dword [eax]
mov dword [ebp - 0x36c], eax
push 0x442bd0
lea eax, [ebp - 0x36c]
jmp 0x41d0af
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 0x41d34f
cmp dword [ebp - 0x348], 4
jb 0x41d34f
push esi
push esi
push dword [ebp - 0x350]
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41d2bc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec48
mov eax, dword [eax]
mov dword [ebp - 0x374], eax
push 0x442bd0
lea eax, [ebp - 0x374]
jmp 0x41d0af
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 0x41d325
cmp dword [ebp - 0x348], 0xc
jb 0x41d325
cmp dword [ebp - 0x228], 0xfafbfcfd
je 0x41d0e5
push 0x405f68
mov ecx, edi
call fcn.00427776
push 0x401284
mov ecx, edi
call fcn.00427776
mov al, byte [ebp - 0x349]
mov byte [ebp - 0x33d], al
push 0x444834
lea eax, [ebp - 0x33d]
jmp 0x41d0af
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec48
mov eax, dword [eax]
mov dword [ebp - 0x354], eax
push 0x442bd0
lea eax, [ebp - 0x354]
jmp 0x41d0af
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec48
mov eax, dword [eax]
mov dword [ebp - 0x370], eax
push 0x442bd0
lea eax, [ebp - 0x370]
jmp 0x41d0af
mov edi, 0x44a350
push 0x405eb8
mov ecx, edi
call fcn.00427776
push 0x401284
mov ecx, edi
call fcn.00427776
push 0x7b
lea ecx, [ebp - 0x33c]
call fcn.0040ec48
mov eax, dword [eax]
mov dword [ebp - 0x358], eax
push 0x442bd0
lea eax, [ebp - 0x358]
jmp 0x41d0af