Function at 0x10f1e3e
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x1427994]
push ebx
push esi
xor esi, esi
mov dword [ebp - 0x20], eax
mov eax, dword [0x1427998]
push edi
or edi, 0xffffffff
cmp dword [ebp + 8], esi
mov dword [ebp - 0xc], edi
mov dword [ebp - 4], esi
mov dword [ebp - 8], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0x1445ff0
je 0x10f1fdb
cmp dword [ebp + 0x1c], esi
je 0x10f1fdb
cmp dword [0x1446288], 1
je 0x10f1e99
mov edi, 0x8000ffff
jmp 0x10f1fe4
cmp dword [ebp + 0xc], esi
je 0x10f1ea3
cmp dword [ebp + 0xc], edi
jne 0x10f1eaa
mov dword [ebp + 0xc], 0xa00000
push esi
push esi
push 3
push esi
push 1
push dword [ebp + 0x10]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
push eax
lea ecx, [ebp - 0xc]
call fcn.01081f68
mov ebx, dword [ebp - 0xc]
push ebx
call fcn.01081f1c
test al, al
jne 0x10f1ed7
cmp ebx, esi
jne 0x10f1eea
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0104499a
mov edi, eax
jmp 0x10f1fe0
lea eax, [ebp + 8]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, edi
mov dword [ebp - 0x10], eax
je 0x10f1ed7
cmp dword [ebp + 8], esi
je 0x10f1f0b
mov edi, 0x80070057
jmp 0x10f1fe4
cmp eax, dword [ebp + 0xc]
ja 0x10f1f01
push esi
push esi
push esi
push dword [ebp + 0x14]
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov edi, eax
lea ecx, [ebp - 4]
mov dword [ebp + 0x14], edi
call fcn.010453e3
cmp edi, esi
jne 0x10f1f34
mov dword [ebp - 4], esi
jmp 0x10f1ed7
push esi
push esi
push esi
push dword [ebp + 0x18]
mov dword [ebp - 4], edi
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
lea ecx, [ebp - 8]
mov edi, eax
call fcn.010eb15f
cmp edi, esi
mov dword [ebp - 8], esi
je 0x10f1ed7
lea ecx, [ebp - 0x18]
call fcn.010e8660
or dword [ebp - 0xc], 0xffffffff
mov eax, ebx
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x18], edi
call fcn.010eac1c
push esi
lea ecx, [ebp - 0x20]
call fcn.010448ec
mov ecx, dword [0x144600c]
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.010f14f4
mov edi, eax
cmp edi, esi
jl 0x10f1fe4
cmp dword [ebp + 0xc], esi
jne 0x10f1fa1
mov edi, 0x800700b7
jmp 0x10f1fe4
mov eax, dword [0x144600c]
mov eax, dword [eax + 8]
mov ecx, dword [ebp + 0x10]
lea eax, [eax + ecx*8]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], eax
lea ecx, [ebp - 0x20]
call fcn.01044917
mov eax, dword [ebp + 0x20]
cmp eax, esi
je 0x10f1fca
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x10f1fe0
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 4], esi
mov dword [eax], ecx
jmp 0x10f1fe0
mov edi, 0x80070057
cmp edi, esi
jge 0x10f2009
mov eax, dword [0x1426c54]
cmp eax, 0x1426c54
je 0x10f2009
test byte [eax + 0x3c], 2
je 0x10f2009
push edi
push 0x1010e74
push 0x23
push dword [eax + 0x34]
push dword [eax + 0x30]
call fcn.01043c41
lea ecx, [ebp - 0x20]
call fcn.01044917
lea ecx, [ebp - 0x14]
call fcn.010e83b1
lea ecx, [ebp - 0x18]
call fcn.010e8660
lea ecx, [ebp - 8]
call fcn.010eb15f
lea ecx, [ebp - 4]
call fcn.010453e3
lea ecx, [ebp - 0xc]
call fcn.01081f49
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 0x20