Function at 0x109ef18
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0x111027c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x10]
xor ebx, ebx
push edi
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0xc]
push 0x118
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x11c]
push ebx
push eax
mov byte [ebp - 0x11d], 1
mov dword [ebp - 0x130], ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
mov dword [esi], ebx
call sub.msvcrt.dll_memset
xor eax, eax
lea edi, [ebp - 0x13c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
xor eax, eax
lea edi, [ebp - 0x150]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [0x111024c]
mov edi, 0x111024c
cmp eax, edi
je 0x109efc0
test byte [eax + 0x1c], 4
je 0x109efc0
cmp byte [eax + 0x19], 4
jb 0x109efc0
push 0x100ab50
push 0x180
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101894a
or dword [ebp - 0x128], 0xffffffff
push esi
push ebx
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x130]
push eax
lea eax, [ebp - 0x150]
push eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x11d]
push eax
lea eax, [ebp - 0x128]
push eax
push dword [ebp - 0x124]
lea ecx, [ebp - 0x11c]
call fcn.010b39a8
mov dword [ebp - 0x134], eax
cmp eax, ebx
je 0x109f18a
mov eax, dword [0x111024c]
cmp eax, edi
je 0x109f04a
test byte [eax + 0x1c], 4
je 0x109f04a
cmp byte [eax + 0x19], 4
jb 0x109f04a
push dword [esi]
push dword [ebp - 0x134]
push dword [ebp - 0x124]
push 0x100ab50
push 0x181
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019c0f
push ebx
push 0x60000080
push 3
push ebx
push 1
push 0x80000000
push dword [ebp - 0x124]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x128], eax
cmp eax, 0xffffffff
jne 0x109f0be
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x11c]
mov dword [esi], eax
call fcn.010aa7d9
mov eax, dword [0x111024c]
cmp eax, edi
je 0x109f0b6
test byte [eax + 0x1c], 4
je 0x109f0b6
cmp byte [eax + 0x19], 2
jb 0x109f0b6
push dword [esi]
push dword [ebp - 0x124]
push 0x100ab50
push 0x182
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01048c37
push 8
pop eax
jmp 0x109f25a
lea ecx, [ebp - 0x13c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x109f118
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [ebp - 0x128]
mov dword [esi], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x11c]
call fcn.010aa7d9
mov eax, dword [0x111024c]
cmp eax, edi
je 0x109f0b6
test byte [eax + 0x1c], 4
je 0x109f0b6
cmp byte [eax + 0x19], 2
jb 0x109f0b6
push dword [esi]
push dword [ebp - 0x124]
push 0x100ab50
push 0x183
jmp 0x109f0ab
mov eax, dword [ebp - 0x13c]
mov ebx, dword [ebp - 0x138]
mov esi, eax
or eax, ebx
jne 0x109f17c
mov eax, dword [0x111024c]
cmp eax, edi
je 0x109f15a
test byte [eax + 0x1c], 4
je 0x109f15a
cmp byte [eax + 0x19], 2
jb 0x109f15a
push dword [ebp - 0x124]
push 0x100ab50
push 0x184
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019633
push dword [ebp - 0x128]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x11c]
call fcn.010aa7d9
mov eax, dword [ebp - 0x134]
jmp 0x109f25a
push dword [ebp - 0x128]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x109f1e0
mov eax, dword [0x111024c]
cmp eax, edi
je 0x109f1ba
test byte [eax + 0x1c], 4
je 0x109f1ba
cmp byte [eax + 0x19], 4
jb 0x109f1ba
push dword [ebp - 0x12c]
push 0x100ab50
push 0x185
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019fa8
cmp byte [ebp - 0x11d], bl
je 0x109f1cf
lea ecx, [ebp - 0x11c]
call fcn.010ab2b6
jmp 0x109f1dc
mov eax, dword [ebp - 0x12c]
mov ecx, 0x200000
mul ecx
mov ebx, edx
mov esi, eax
mov eax, dword [ebp - 0x140]
mov dword [eax], esi
mov dword [eax + 4], ebx
mov eax, dword [0x111024c]
cmp eax, edi
je 0x109f217
test byte [eax + 0x1c], 4
je 0x109f217
cmp byte [eax + 0x19], 4
jb 0x109f217
push ebx
push esi
push 0x100ab50
push 0x186
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010194e4
lea ecx, [ebp - 0x11c]
call fcn.010aa7d9
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x111024c]
cmp eax, edi
je 0x109f258
test byte [eax + 0x1c], 4
je 0x109f258
cmp byte [eax + 0x19], 4
jb 0x109f258
push 0x100ab50
push 0x187
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0101894a
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0106f798
leave
ret 0xc