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

Disassembly:
push 0x368
mov eax, 0x440abf
call fcn.00430563
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.00423fcb
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 0x41d39c
cmp eax, 0x104
je 0x41d39c
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x41d16f
cmp dword [ebp - 0x268], 8
mov eax, dword [ebp - 0x27c]
jae 0x41cf1d
lea eax, [ebp - 0x27c]
push eax
mov ecx, edi
call fcn.00424125
test al, al
jne 0x41d16f
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 0x41cf82
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x338]
push eax
mov ecx, edi
call fcn.00423624
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.0041c621
push 0x405f34
lea ecx, [ebp - 0x244]
call fcn.0041c76c
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x244]
call fcn.0041c621
mov edi, 0x44a350
push 0x405f38
mov ecx, edi
call fcn.00427798
cmp dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x244]
jae 0x41d013
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.00427798
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 4
cmp dword [ebp - 0x31c], eax
je 0x41d05c
push dword [ebp - 0x31c]
call fcn.0043027c
pop ecx
push 0x401288
mov ecx, edi
call fcn.00427798
push 0x401284
mov ecx, edi
call fcn.00427798
cmp dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x244]
jae 0x41d089
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 0x41d0d8
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 0x442bbc
lea eax, [ebp - 0x35c]
push eax
call fcn.00430478
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.00427798
push 0x401284
mov ecx, edi
call fcn.00427798
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.004305bc
ret 0x14
mov edi, 0x44a350
push 0x405f38
mov ecx, edi
call fcn.00427798
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.00427798
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x31c], eax
je 0x41d1ce
push dword [ebp - 0x31c]
call fcn.0043027c
pop ecx
push 0x401288
mov ecx, edi
call fcn.00427798
push 0x401284
mov ecx, edi
call fcn.00427798
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 0x41d23a
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 0x442bbc
lea eax, [ebp - 0x364]
jmp 0x41d0d2
push esi
push esi
push 0x38
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41d274
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 0x442bbc
lea eax, [ebp - 0x36c]
jmp 0x41d0d2
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 0x41d372
cmp dword [ebp - 0x348], 4
jb 0x41d372
push esi
push esi
push dword [ebp - 0x350]
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41d2df
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 0x442bbc
lea eax, [ebp - 0x374]
jmp 0x41d0d2
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 0x41d348
cmp dword [ebp - 0x348], 0xc
jb 0x41d348
cmp dword [ebp - 0x228], 0xfafbfcfd
je 0x41d108
push 0x405f68
mov ecx, edi
call fcn.00427798
push 0x401284
mov ecx, edi
call fcn.00427798
mov al, byte [ebp - 0x349]
mov byte [ebp - 0x33d], al
push 0x444820
lea eax, [ebp - 0x33d]
jmp 0x41d0d2
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 0x442bbc
lea eax, [ebp - 0x354]
jmp 0x41d0d2
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 0x442bbc
lea eax, [ebp - 0x370]
jmp 0x41d0d2
mov edi, 0x44a350
push 0x405eb8
mov ecx, edi
call fcn.00427798
push 0x401284
mov ecx, edi
call fcn.00427798
push 0x7b
lea ecx, [ebp - 0x33c]
call fcn.0040ec48
mov eax, dword [eax]
mov dword [ebp - 0x358], eax
push 0x442bbc
lea eax, [ebp - 0x358]
jmp 0x41d0d2