Function at 0x10009be9
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 8], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
push dword [ebp + 8]
call fcn.10009f0f
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b2d4]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f0f
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 8
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b401]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f0f
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b3f9]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f0f
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b328]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f35
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b711]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f35
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b719]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f35
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b721]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f0f
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x2c
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b729]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f0f
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x30
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b731]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f0f
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x34
mov dword [ebp - 0x14], ebx
fild dword [ebp + 8]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fadd qword [0x1009b739]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
call fcn.10001e7f
push eax
call fcn.10009f0f
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 8]
push eax
mov ebx, dword [ebp - 0x14]
push dword [ebx]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
nop
nop
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
xor ecx, ecx
mov ebx, dword [ebp - 0x14]
cmp dword [ebx + 4], edx
jl 0x10009e4c
jg 0x10009e4b
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], eax
jbe 0x10009e4c
inc ecx
mov eax, ecx
test eax, eax
je 0x10009e76
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x18
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebp - 0xc], 1
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], eax
jne 0x10009e91
cmp dword [ebx + 4], edx
je 0x10009ec2
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebp - 0xc], 1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.10009f69
cmp dword [ebp - 0xc], 0
je 0x10009ed7
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1000a078
cmp dword [ebp - 8], 0
jne 0x10009ee1
cmp dword [ebp - 4], 0
jne 0x10009ef3
mov dword [ebp - 0x10], 1
jmp 0x10009f01
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1000a2ee
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
jmp 0x10009f09
mov esp, ebp
pop ebp
ret 8