Function at 0x109f02a
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0x111127c]
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 [0x111124c]
mov edi, 0x111124c
cmp eax, edi
je 0x109f0d2
test byte [eax + 0x1c], 4
je 0x109f0d2
cmp byte [eax + 0x19], 4
jb 0x109f0d2
push 0x100ab40
push 0x180
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010189d0
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.010b3ae9
mov dword [ebp - 0x134], eax
cmp eax, ebx
je 0x109f29c
mov eax, dword [0x111124c]
cmp eax, edi
je 0x109f15c
test byte [eax + 0x1c], 4
je 0x109f15c
cmp byte [eax + 0x19], 4
jb 0x109f15c
push dword [esi]
push dword [ebp - 0x134]
push dword [ebp - 0x124]
push 0x100ab40
push 0x181
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0109b90b
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 0x109f1d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x11c]
mov dword [esi], eax
call fcn.010aa918
mov eax, dword [0x111124c]
cmp eax, edi
je 0x109f1c8
test byte [eax + 0x1c], 4
je 0x109f1c8
cmp byte [eax + 0x19], 2
jb 0x109f1c8
push dword [esi]
push dword [ebp - 0x124]
push 0x100ab40
push 0x182
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010196ed
push 8
pop eax
jmp 0x109f36c
lea ecx, [ebp - 0x13c]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x109f22a
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.010aa918
mov eax, dword [0x111124c]
cmp eax, edi
je 0x109f1c8
test byte [eax + 0x1c], 4
je 0x109f1c8
cmp byte [eax + 0x19], 2
jb 0x109f1c8
push dword [esi]
push dword [ebp - 0x124]
push 0x100ab40
push 0x183
jmp 0x109f1bd
mov eax, dword [ebp - 0x13c]
mov ebx, dword [ebp - 0x138]
mov esi, eax
or eax, ebx
jne 0x109f28e
mov eax, dword [0x111124c]
cmp eax, edi
je 0x109f26c
test byte [eax + 0x1c], 4
je 0x109f26c
cmp byte [eax + 0x19], 2
jb 0x109f26c
push dword [ebp - 0x124]
push 0x100ab40
push 0x184
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019680
push dword [ebp - 0x128]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x11c]
call fcn.010aa918
mov eax, dword [ebp - 0x134]
jmp 0x109f36c
push dword [ebp - 0x128]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x109f2f2
mov eax, dword [0x111124c]
cmp eax, edi
je 0x109f2cc
test byte [eax + 0x1c], 4
je 0x109f2cc
cmp byte [eax + 0x19], 4
jb 0x109f2cc
push dword [ebp - 0x12c]
push 0x100ab40
push 0x185
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010189f6
cmp byte [ebp - 0x11d], bl
je 0x109f2e1
lea ecx, [ebp - 0x11c]
call fcn.010ab3f5
jmp 0x109f2ee
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 [0x111124c]
cmp eax, edi
je 0x109f329
test byte [eax + 0x1c], 4
je 0x109f329
cmp byte [eax + 0x19], 4
jb 0x109f329
push ebx
push esi
push 0x100ab40
push 0x186
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019531
lea ecx, [ebp - 0x11c]
call fcn.010aa918
push dword [ebp - 0x130]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [0x111124c]
cmp eax, edi
je 0x109f36a
test byte [eax + 0x1c], 4
je 0x109f36a
cmp byte [eax + 0x19], 4
jb 0x109f36a
push 0x100ab40
push 0x187
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010189d0
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0106f5f8
leave
ret 0xc