Function at 0x10d8062
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x12d39d8]
push ebx
push esi
xor esi, esi
mov dword [ebp - 0x20], eax
mov eax, dword [0x12d39dc]
push edi
or edi, 0xffffffff
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], 0x12d4984
cmp dword [ebp + 8], esi
je 0x10d81ff
cmp dword [ebp + 0x1c], esi
je 0x10d81ff
cmp dword [0x12d4c64], 1
je 0x10d80bd
mov edi, 0x8000ffff
jmp 0x10d8208
cmp dword [ebp + 0xc], esi
je 0x10d80c7
cmp dword [ebp + 0xc], edi
jne 0x10d80ce
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.0106d07b
mov ebx, dword [ebp - 0xc]
push ebx
call fcn.0106d02f
test al, al
jne 0x10d80fb
cmp ebx, esi
jne 0x10d810e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.01032e15
mov edi, eax
jmp 0x10d8204
lea eax, [ebp + 8]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x10], eax
cmp eax, edi
je 0x10d80fb
cmp dword [ebp + 8], esi
je 0x10d812f
mov edi, 0x80070057
jmp 0x10d8208
cmp eax, dword [ebp + 0xc]
ja 0x10d8125
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.0103397a
cmp edi, esi
jne 0x10d8158
mov dword [ebp - 4], esi
jmp 0x10d80fb
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.010d17af
mov dword [ebp - 8], esi
cmp edi, esi
je 0x10d80fb
lea ecx, [ebp - 0x18]
call fcn.010cf5a7
or dword [ebp - 0xc], 0xffffffff
mov eax, ebx
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x18], edi
call fcn.010d1268
push esi
lea ecx, [ebp - 0x20]
call fcn.01032a12
mov ecx, dword [0x12d49a0]
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.010d771e
mov edi, eax
cmp edi, esi
jl 0x10d8208
cmp dword [ebp + 0xc], esi
jne 0x10d81c5
mov edi, 0x800700b7
jmp 0x10d8208
mov eax, dword [0x12d49a0]
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.01032a49
mov eax, dword [ebp + 0x20]
cmp eax, esi
je 0x10d81ee
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
mov eax, dword [ebp + 0x24]
cmp eax, esi
je 0x10d8204
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 4], esi
mov dword [eax], ecx
jmp 0x10d8204
mov edi, 0x80070057
cmp edi, esi
jge 0x10d822d
mov eax, dword [0x12d2c30]
cmp eax, 0x12d2c30
je 0x10d822d
test byte [eax + 0x3c], 2
je 0x10d822d
push edi
push 0x1011be4
push 0x23
push dword [eax + 0x34]
push dword [eax + 0x30]
call fcn.01032571
lea ecx, [ebp - 0x20]
call fcn.01032a49
lea ecx, [ebp - 0x14]
call fcn.010cf451
lea ecx, [ebp - 0x18]
call fcn.010cf5a7
lea ecx, [ebp - 8]
call fcn.010d17af
lea ecx, [ebp - 4]
call fcn.0103397a
lea ecx, [ebp - 0xc]
call fcn.0106d05c
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret 0x20