Function at 0x10017c20
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa4
movzx eax, byte [ebp + 0x34]
test eax, eax
je 0x10017d41
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
test eax, eax
je 0x10017c91
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x88]
movzx eax, byte [eax]
test eax, eax
je 0x10017c8c
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileSize]
jmp 0x10017d3c
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x60], eax
push 1
mov ecx, dword [ebp - 0x14]
call fcn.1002c5a0
cmp dword [eax], 0
jg 0x10017ce2
mov dword [ebp - 0x1c], 1
jmp 0x10017ce6
and dword [ebp - 0x1c], 0
push 0
mov ecx, dword [ebp - 0x24]
call fcn.1002c5a0
xor ecx, ecx
sub ecx, dword [eax]
cmp dword [ebp - 0x1c], ecx
je 0x10017d02
mov dword [ebp - 0x80], 1
jmp 0x10017d06
and dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x9c], eax
push 1
mov ecx, dword [ebp - 0x14]
call fcn.1002c5a0
cmp dword [eax], 0
jb 0x10017d2c
mov dword [ebp - 0x98], 1
jmp 0x10017d33
and dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x28]
mov dword [eax], 0x64db2a93
jmp 0x10017f75
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0x5c], eax
lea eax, [ebp + 0x20]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
movzx eax, byte [eax]
test eax, eax
je 0x10017d99
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x54]
add eax, dword [ecx]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx]
mov dword [ecx], eax
jmp 0x10017f75
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x7c], 0x227f
cmp dword [ebp - 0x7c], 0xdf2
jge 0x10017f3f
xor eax, eax
inc eax
imul eax, eax, 0
mov byte [eax + 0x1065e320], 1
xor eax, eax
inc eax
shl eax, 0
mov byte [eax + 0x1065e320], 1
call fcn.10017bb8
lea eax, [ebp - 0x10]
push eax
mov ecx, 0x1065d290
call fcn.1002bd1f
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x20]
add ecx, dword [eax + 4]
call fcn.100094b1
movzx eax, al
test eax, eax
je 0x10017f3f
cmp dword [ebp - 0x10], 0
je 0x10017f3f
mov byte [ebp - 1], 0
and dword [ebp - 8], 0
jmp 0x10017e2e
mov eax, dword [ebp - 8]
inc eax
mov dword [ebp - 8], eax
mov ecx, 0x1154a504
call fcn.1002c597
cmp dword [ebp - 8], eax
jae 0x10017f17
push dword [ebp - 8]
mov ecx, 0x1154a504
call fcn.1002c5a0
mov eax, dword [eax]
cmp eax, dword [ebp - 0x10]
jge 0x10017f17
push dword [ebp - 8]
mov ecx, 0x1154a504
call fcn.1002c5a0
mov ecx, dword [ebp - 0x10]
sub ecx, dword [eax]
mov dword [ebp - 0x84], ecx
lea eax, [ebp - 0xa0]
push eax
mov ecx, 0x1154a504
call fcn.1002c588
push dword [eax]
lea eax, [ebp - 0xa4]
push eax
mov ecx, 0x1154a504
call fcn.1002c57a
push dword [eax]
lea ecx, [ebp - 0x84]
call fcn.100309f6
pop ecx
pop ecx
movzx eax, al
test eax, eax
je 0x10017f12
mov byte [ebp - 1], 1
push fcn.100304e9
push dword [ebp - 8]
mov ecx, 0x1154a504
call fcn.1002c5a0
mov ecx, dword [ebp - 0x10]
sub ecx, dword [eax]
push ecx
push dword [ebp - 8]
mov ecx, 0x1154a504
call fcn.1002c5a0
push dword [eax]
push dword [ebp - 0x10]
mov ecx, 0x1065d1d8
call fcn.1002c144
mov edx, 0x10007970
mov ecx, eax
call fcn.100306fd
mov ecx, eax
call fcn.1002c144
mov edx, 0x1000796c
mov ecx, eax
call fcn.100306fd
mov ecx, eax
call fcn.1002c144
mov ecx, eax
call fcn.1002c138
jmp 0x10017f17
jmp 0x10017e27
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x10017f3a
push fcn.100304e9
mov edx, 0x10007974
mov ecx, 0x1065d1d8
call fcn.100306fd
mov ecx, eax
call fcn.1002c138
jmp 0x10017de7
mov eax, dword [ebp - 0xc]
mov dword [eax], 0
jmp 0x10017f55
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
cmp dword [eax], 1
jge 0x10017f75
mov eax, dword [ebp - 0xc]
push dword [eax]
mov ecx, dword [ebp - 0x8c]
call fcn.1002c5a0
mov dword [eax], 0xc011
jmp 0x10017f4a
mov esp, ebp
pop ebp
ret