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

Disassembly:
push 0x368
mov eax, 0x440c56
call fcn.004306f3
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.004241e8
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 [0x44a580]
test eax, eax
je 0x41d5bf
cmp eax, 0x104
je 0x41d5bf
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x41d392
cmp dword [ebp - 0x268], 8
mov eax, dword [ebp - 0x27c]
jae 0x41d140
lea eax, [ebp - 0x27c]
push eax
mov ecx, edi
call fcn.00424342
test al, al
jne 0x41d392
xor eax, eax
mov dword [ebp - 0x284], ebx
mov dword [ebp - 0x288], esi
mov word [ebp - 0x298], ax
push 0x405f88
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.0040dbce
cmp dword [ebp - 0x24c], 8
mov eax, dword [ebp - 0x260]
mov byte [ebp - 4], 4
jae 0x41d1a5
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x338]
push eax
mov ecx, edi
call fcn.00423841
push eax
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 5
call fcn.0040da5c
push esi
push 1
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 4
call fcn.0040de7c
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x244]
call fcn.0041c8e3
push 0x405fcc
lea ecx, [ebp - 0x244]
call fcn.0041ca2e
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x244]
call fcn.0041c8e3
mov edi, 0x44a310
push 0x405fd0
mov ecx, edi
call fcn.00427a0a
cmp dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x244]
jae 0x41d236
lea eax, [ebp - 0x244]
lea ecx, [ebp - 0x318]
push 3
mov dword [ebp - 0x31c], ecx
push eax
lea ecx, [ebp - 0x31c]
call fcn.0040dec5
push dword [ebp - 0x31c]
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00427a0a
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 4
cmp dword [ebp - 0x31c], eax
je 0x41d27f
push dword [ebp - 0x31c]
call fcn.0043040c
pop ecx
push 0x4012d4
mov ecx, edi
call fcn.00427a0a
push 0x4012d0
mov ecx, edi
call fcn.00427a0a
cmp dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x244]
jae 0x41d2ac
lea eax, [ebp - 0x244]
push esi
push 0x8000080
push 3
push esi
push 1
push SysReAllocString
push eax
call dword [0x44a57c]
mov ebx, eax
mov dword [ebp - 0x344], ebx
cmp ebx, 0xffffffff
jne 0x41d2fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec8b
mov eax, dword [eax]
mov dword [ebp - 0x35c], eax
push 0x442d98
lea eax, [ebp - 0x35c]
push eax
call fcn.00430608
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.0040de7c
push esi
push 1
lea ecx, [ebp - 0x298]
call fcn.0040de7c
push 0x406048
mov ecx, edi
mov dword [ebp - 4], 1
call fcn.00427a0a
push 0x4012d0
mov ecx, edi
call fcn.00427a0a
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.0040de7c
push esi
push 1
lea ecx, [ebp - 0x244]
call fcn.0040de7c
call fcn.0043074c
ret 0x14
mov edi, 0x44a310
push 0x405fd0
mov ecx, edi
call fcn.00427a0a
lea eax, [ebp - 0x318]
mov dword [ebp - 0x31c], eax
push 3
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x31c]
call fcn.0040dec5
push dword [ebp - 0x31c]
mov ecx, edi
mov byte [ebp - 4], bl
call fcn.00427a0a
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 2
cmp dword [ebp - 0x31c], eax
je 0x41d3f1
push dword [ebp - 0x31c]
call fcn.0043040c
pop ecx
push 0x4012d4
mov ecx, edi
call fcn.00427a0a
push 0x4012d0
mov ecx, edi
call fcn.00427a0a
push esi
push 0x8000080
push 3
push esi
push 1
push SysReAllocString
lea eax, [ebp - 0x21c]
push eax
call dword [0x44a57c]
mov ebx, eax
mov dword [ebp - 0x344], ebx
cmp ebx, 0xffffffff
jne 0x41d45d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec8b
mov eax, dword [eax]
mov dword [ebp - 0x364], eax
push 0x442d98
lea eax, [ebp - 0x364]
jmp 0x41d2f5
push esi
push esi
push 0x38
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41d497
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec8b
mov eax, dword [eax]
mov dword [ebp - 0x36c], eax
push 0x442d98
lea eax, [ebp - 0x36c]
jmp 0x41d2f5
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 0x41d595
cmp dword [ebp - 0x348], 4
jb 0x41d595
push esi
push esi
push dword [ebp - 0x350]
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x41d502
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec8b
mov eax, dword [eax]
mov dword [ebp - 0x374], eax
push 0x442d98
lea eax, [ebp - 0x374]
jmp 0x41d2f5
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 0x41d56b
cmp dword [ebp - 0x348], 0xc
jb 0x41d56b
cmp dword [ebp - 0x228], 0xfafbfcfd
je 0x41d32b
push 0x406000
mov ecx, edi
call fcn.00427a0a
push 0x4012d0
mov ecx, edi
call fcn.00427a0a
mov al, byte [ebp - 0x349]
mov byte [ebp - 0x33d], al
push 0x4449a0
lea eax, [ebp - 0x33d]
jmp 0x41d2f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec8b
mov eax, dword [eax]
mov dword [ebp - 0x354], eax
push 0x442d98
lea eax, [ebp - 0x354]
jmp 0x41d2f5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x33c]
call fcn.0040ec8b
mov eax, dword [eax]
mov dword [ebp - 0x370], eax
push 0x442d98
lea eax, [ebp - 0x370]
jmp 0x41d2f5
mov edi, 0x44a310
push 0x405f50
mov ecx, edi
call fcn.00427a0a
push 0x4012d0
mov ecx, edi
call fcn.00427a0a
push 0x7b
lea ecx, [ebp - 0x33c]
call fcn.0040ec8b
mov eax, dword [eax]
mov dword [ebp - 0x358], eax
push 0x442d98
lea eax, [ebp - 0x358]
jmp 0x41d2f5