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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
xor eax, eax
push esi
xor esi, esi
push edi
push 0x100000
mov dword [ebp - 8], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
call fcn.1002e03d
mov edi, eax
add esp, 4
mov dword [ebp - 4], edi
cmp edi, esi
jne 0x1001dfa4
pop edi
mov eax, 0x8007000e
pop esi
mov esp, ebp
pop ebp
ret
push ebx
push 0x100000
push esi
push edi
call fcn.1002e520
mov eax, dword [ebp + 8]
add esp, 0xc
push esi
push pe_nt_image_headers32
push 3
push esi
push 1
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0xc], ebx
cmp ebx, 0xffffffff
jne 0x1001e029
call dword [0x100a8200]
test eax, 0x20000000
je 0x1001e007
cmp eax, esi
jle 0x1001dff3
and eax, 0xffff
or eax, 0xa0070000
push edi
mov esi, eax
call fcn.1002e59a
add esp, 4
pop ebx
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, esi
jle 0x1001dff3
and eax, 0xffff
or eax, 0x80070000
push edi
mov esi, eax
call fcn.1002e59a
add esp, 4
pop ebx
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x18]
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x1001e065
call dword [0x100a8200]
test eax, 0x20000000
je 0x1001e04c
cmp eax, esi
jmp 0x1001e124
cmp eax, esi
jle 0x1001e126
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
jmp 0x1001e17b
cmp dword [ebp - 0x14], esi
jne 0x1001e1be
mov eax, dword [ebp + 0xc]
cmp eax, esi
jbe 0x1001e07e
cmp dword [ebp - 0x18], eax
ja 0x1001e1be
push esi
lea edx, [ebp - 8]
push edx
push 0x1000
push edi
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
adc byte [ebx - 1], dl
xlatb
test eax, eax
je 0x1001e115
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x3c]
push ecx
push edx
push eax
call fcn.10016070
mov esi, eax
add esp, 0x10
test esi, esi
jl 0x1001e17b
mov esi, dword [ebp - 0x10]
push 0
push 0
push esi
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_SetFilePointer]
call ebx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0xc]
push 0
lea ecx, [ebp - 8]
push ecx
push 0xc
push edx
push eax
call edi
test eax, eax
je 0x1001e115
mov ecx, dword [ebp - 4]
cmp word [ecx + 6], 2
je 0x1001e0f3
mov esi, 0x8007000d
jmp 0x1001e17b
push 0
push 0
push esi
mov esi, dword [ebp - 0xc]
push esi
call ebx
mov ebx, dword [ebp - 4]
mov eax, dword [ebx]
push 0
lea edx, [ebp - 8]
push edx
add eax, 0xc
push eax
push ebx
push esi
call edi
test eax, eax
jne 0x1001e144
call dword [0x100a8200]
test eax, 0x20000000
je 0x1001e138
test eax, eax
jg 0x1001e12a
mov esi, eax
jmp 0x1001e17b
and eax, 0xffff
or eax, 0xa0070000
mov esi, eax
jmp 0x1001e17b
test eax, eax
jg 0x1001e054
mov esi, eax
jmp 0x1001e17b
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 6
mov edx, dword [ebx]
push edx
add ebx, 8
push ebx
call fcn.10018850
mov edi, eax
add esp, 8
test edi, edi
jne 0x1001e19e
mov esi, 0x8007000d
test edi, edi
je 0x1001e17b
push edi
call fcn.10018980
add esp, 4
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x1001e189
push eax
call dword [0x100a81c8]
mov edi, dword [ebp - 4]
push edi
call fcn.1002e59a
add esp, 4
pop ebx
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x24]
push ecx
push 0x1001ce50
push edi
call fcn.1001db10
mov esi, eax
add esp, 0x10
test esi, esi
jl 0x1001e16e
xor esi, esi
jmp 0x1001e16e
mov esi, 0x800700df
jmp 0x1001e17b