Function at 0x1008277
Capabilities:
Get file size

Disassembly:
push 0xfc
push 0x1001d68
call fcn.010125ec
mov eax, dword [0x1014c68]
mov dword [ebp - 0x1c], eax
xor esi, esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0xf0], esi
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xf8], esi
mov ebx, 0x100
push 0xe
pop ecx
xor eax, eax
lea edi, [ebp - 0xe8]
rep stosd dword es:[edi], eax
mov eax, dword [0x10149a4]
mov dword [ebp - 0xe8], eax
mov eax, dword [0x10147f4]
mov dword [ebp - 0xe4], eax
mov ecx, dword [0x1014258]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xdc], esi
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xd8], eax
mov dword [eax], esi
mov eax, dword [ebp - 0xe4]
mov dword [eax + 4], esi
mov eax, dword [ebp - 0xd8]
mov dword [eax + 8], esi
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0xc], esi
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x10], esi
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x14], esi
mov eax, dword [0x10147f4]
add eax, 0x18
mov dword [ebp - 0xd4], eax
mov dword [eax], esi
mov eax, dword [ebp - 0xd4]
mov dword [eax + 8], esi
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0xc], esi
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x10], esi
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x14], esi
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x18], esi
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x1c], esi
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x20], esi
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x24], esi
mov eax, dword [ebp - 0xd4]
add eax, 0x28
mov dword [ebp - 0xb0], eax
mov dword [0x1014c40], esi
mov dword [0x1014c34], esi
mov dword [0x1014280], esi
mov dword [0x1014284], esi
mov dword [0x1014288], esi
mov dword [0x101428c], esi
mov dword [0x1014278], esi
mov dword [0x101427c], esi
mov dword [0x1014298], esi
mov dword [0x101429c], esi
mov dword [ebp - 4], esi
xor eax, eax
lea edi, [ebp - 0x104]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebx + 2]
shl eax, 4
push eax
call fcn.01003d25
test eax, eax
jne 0x100841c
push 0x11b
jmp 0x1008793
push esi
lea eax, [ebp - 0xf8]
push eax
push dword [ebp - 0xa4]
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push eax
push dword [ebp - 0xa0]
push 8
lea eax, [ebp - 0x104]
push eax
push 0x90073
push dword [0x10149bc]
call fcn.01004d03
test eax, eax
jne 0x100847b
call edi
cmp eax, 0x26
jne 0x1008785
mov ecx, dword [0x1014258]
xor eax, eax
mov edi, dword [0x10147f4]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 8]
or ecx, dword [eax + 0xc]
je 0x10084ba
push 0x20000001
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0xa0]
push dword [eax + 0xc]
push dword [eax + 8]
push 0x100181c
lea eax, [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x1008771
lea edi, [eax + 0x10]
mov dword [ebp - 0xf4], edi
cmp dword [eax], esi
je 0x100876e
mov ecx, dword [ebp - 0xd8]
xor eax, eax
inc eax
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xd8]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x14], esi
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0xc], esi
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x14], esi
mov ebx, dword [ebp - 0xd4]
push esi
push 0x10
push dword [ebx + 0xc]
push dword [ebx + 8]
call fcn.01012650
mov dword [ebp - 0x10c], eax
mov ecx, dword [0x1014258]
cmp edx, esi
jl 0x10085c8
jg 0x100855a
cmp eax, ecx
jbe 0x10085c8
push 0x10147f4
push 0x10149a4
mov eax, dword [ebx + 8]
shl eax, 5
push eax
call fcn.01003d25
test eax, eax
jne 0x100857e
push 0x157
jmp 0x1008793
mov eax, dword [0x10149a4]
mov dword [ebp - 0xe8], eax
mov ebx, dword [0x10147f4]
mov eax, ebx
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xd8], eax
add ebx, 0x18
mov dword [ebp - 0xd4], ebx
lea eax, [ebx + 0x28]
mov dword [ebp - 0xb0], eax
push esi
push 0x10
push dword [ebx + 0xc]
push dword [ebx + 8]
call fcn.01012650
mov dword [0x1014258], eax
mov dword [0x101425c], edx
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], esi
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
cmp dword [ebp - 0xa8], esi
jg 0x100867e
jl 0x10085f6
cmp dword [ebp - 0xac], ecx
jae 0x100867e
mov eax, dword [ebp - 0xac]
shl eax, 4
mov ecx, dword [ebp - 0xb0]
add eax, ecx
mov ecx, dword [edi + 8]
mov dword [eax], ecx
mov ecx, dword [edi + 0xc]
mov dword [eax + 4], ecx
mov ecx, dword [edi]
sub ecx, dword [ebp - 0xf0]
mov edx, dword [edi + 4]
sbb edx, dword [ebp - 0xec]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
add dword [0x1014280], ecx
mov eax, dword [eax + 0xc]
adc dword [0x1014284], eax
mov eax, dword [0x1014280]
mov dword [0x1014288], eax
mov eax, dword [0x1014284]
mov dword [0x101428c], eax
mov eax, dword [edi]
mov dword [ebp - 0xf0], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0xec], eax
add edi, 0x10
mov dword [ebp - 0xf4], edi
add dword [ebp - 0xac], 1
adc dword [ebp - 0xa8], esi
mov ebx, dword [ebp - 0xd4]
jmp 0x10085d4
mov eax, dword [eax]
mov dword [0x1014278], eax
mov dword [0x101427c], esi
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov dword [0x1014270], ecx
mov eax, dword [eax + 4]
mov dword [0x1014274], eax
cmp dword [0x1014c38], esi
je 0x10086d3
push dword [0x1014284]
push dword [0x1014280]
push dword [0x10141fc]
push dword [0x10141f8]
call fcn.01012650
mov dword [0x1014298], eax
mov dword [0x101429c], edx
jmp 0x1008717
call fcn.01007f35
test eax, eax
jne 0x10086e6
push 0x18b
jmp 0x1008793
push esi
push dword [0x10149bc]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [0x1014298], eax
mov dword [0x101429c], esi
cmp eax, 0xffffffff
jne 0x1008711
cmp esi, esi
jne 0x1008711
push 0x18c
jmp 0x1008793
mov ebx, dword [ebp - 0xd4]
mov dword [ebx + 0x20], eax
mov eax, dword [0x101429c]
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x24], eax
push dword [0x1014284]
push dword [0x1014280]
push dword [0x10141fc]
push dword [0x10141f8]
call fcn.01012650
mov ecx, dword [ebp - 0xd4]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0xd4]
mov dword [eax + 0x1c], edx
lea eax, [ebp - 0xe8]
push eax
call fcn.0100af61
test eax, eax
jne 0x100876e
push 0x193
jmp 0x1008793
xor esi, esi
inc esi
push 0xffffffffffffffff
lea eax, [ebp - 0x10]
push eax
call sub.msvcrt.dll__local_unwind2
pop ecx
pop ecx
mov eax, esi
jmp 0x1008806
call edi
cmp eax, 0xea
je 0x10087a4
push 0x131
push 0x1001d30
push 0x1001ce0
call fcn.01005dcd
jmp 0x1008771
add ebx, ebx
mov dword [ebp - 0xfc], ebx
jmp 0x10083f4
mov ecx, dword [ebp - 0x1c]
call fcn.01012308
call fcn.01012627
ret 8