Function at 0x104022d
Capabilities:
Check if file exists
Get disk size
Get file size

Disassembly:
push 0x154
mov eax, 0x105e7a9
call fcn.0104dd12
fldz
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
fstp qword [ebp - 0x108]
fld qword [0x100fdd0]
push 0x20
pop ecx
fst qword [ebp - 0xb4]
mov esi, 0x100fd48
fstp qword [ebp - 0xd8]
lea edi, [ebp - 0x98]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor esi, esi
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x100], esi
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0xe8], esi
mov dword [ebp - 0xe4], esi
mov dword [ebp - 0x120], esi
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], esi
mov dword [ebp - 0xf8], esi
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0x130], esi
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0x138], esi
mov dword [ebp - 0x134], esi
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], esi
cmp edx, esi
jne 0x104032f
push 0x100fd18
push 0x100fd00
mov eax, 0x80070057
push eax
mov edi, eax
call fcn.01048c52
add esp, 0xc
jmp 0x10416d9
cmp eax, esi
jne 0x104033f
push 0x100fcc4
push 0x100fcac
jmp 0x104031a
mov dword [edx], esi
mov edi, 0x1066af4
push edi
lea ecx, [ebp - 0xb8]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [ebp - 4], esi
call fcn.010442ec
push dword [0x10668dc]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 1
call fcn.01030c5e
add esp, 0xc
push edi
lea ecx, [ebp - 0x9c]
call fcn.010442ec
push dword [0x10668a4]
lea eax, [ebp - 0x9c]
push eax
mov byte [ebp - 4], 2
call fcn.010450a3
mov edi, eax
cmp edi, esi
jge 0x10403dc
push dword [0x10668a4]
push 0x100fc6c
push 0x100fc54
push edi
call fcn.01048c52
add esp, 0x10
mov ecx, dword [ebp - 0x9c]
add ecx, 0xfffffff0
call fcn.0102fb3e
mov ecx, dword [ebp - 0xb8]
add ecx, 0xfffffff0
call fcn.0102fb3e
jmp 0x10416d9
push dword [ebp - 0x9c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x104048a
push esi
push esi
push 3
push esi
push 1
push 0x80000000
push dword [0x10668a4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x104048a
mov dword [ebp - 0xa0], edi
lea eax, [ebp - 0xe0]
push eax
push edi
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
mov ebx, 0x1002428
cmp eax, esi
je 0x1040474
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
mov edx, ecx
mov esi, eax
shrd edx, esi, 0xa
shr esi, 0xa
push esi
push edx
mov dword [ebp - 0xac], ecx
shrd ecx, eax, 0x14
mov dword [ebp - 0xa8], eax
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100fbf8
mov esi, 0x4000000
push esi
call fcn.01048e9b
add esp, 0x1c
jmp 0x1040479
mov esi, 0x4000000
test edi, edi
je 0x1040494
lea ecx, [ebp - 0xa0]
call fcn.0102fb22
jmp 0x1040494
mov esi, 0x4000000
mov ebx, 0x1002428
mov ecx, dword [ebp - 0x9c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.0102fb3e
and dword [ebp - 0x9c], 0
mov edi, 0x1066904
mov eax, dword [ebp - 0x9c]
cmp eax, dword [edi + 4]
jae 0x104064b
push eax
mov ecx, edi
call fcn.0104759f
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, dword [0x10668dc]
jne 0x1040640
push dword [ebp - 0x9c]
mov ecx, edi
call fcn.0104759f
mov eax, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [0x106681c]
jne 0x1040640
push dword [ebp - 0x9c]
mov ecx, edi
call fcn.0104759f
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
push dword [ebp - 0x9c]
mov dword [ebp - 0x110], ecx
mov ecx, edi
mov dword [ebp - 0x10c], eax
call fcn.0104759f
mov eax, dword [eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
push dword [ebp - 0x9c]
mov dword [ebp - 0xe8], ecx
mov ecx, edi
mov dword [ebp - 0xe4], eax
call fcn.0104759f
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
push dword [ebp - 0x9c]
mov dword [ebp - 0x120], ecx
mov ecx, edi
mov dword [ebp - 0x11c], eax
call fcn.0104759f
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
push dword [ebp - 0x9c]
mov dword [ebp - 0xd0], ecx
mov ecx, edi
mov dword [ebp - 0xcc], eax
call fcn.0104759f
mov eax, dword [eax]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
push dword [ebp - 0x9c]
mov dword [ebp - 0x100], ecx
mov ecx, edi
mov dword [ebp - 0xfc], eax
call fcn.0104759f
mov eax, dword [eax]
fld qword [eax + 0x30]
fstp qword [ebp - 0x108]
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.0103531c
test eax, eax
jge 0x104072e
push 0x1066af4
lea ecx, [ebp - 0x9c]
call fcn.010442ec
and dword [ebp - 0xf0], 0
xor eax, eax
and dword [ebp - 0xc8], eax
push ebx
lea edi, [ebp - 0xec]
stosd dword es:[edi], eax
push 0x100fbb0
lea edi, [ebp - 0xc4]
push esi
mov byte [ebp - 4], 4
stosd dword es:[edi], eax
call fcn.01048e9b
add esp, 0xc
lea eax, [ebp - 0x9c]
push eax
call fcn.010455d0
mov edi, eax
test edi, edi
jge 0x1040670
push 0x1004858
push 0x100fb94
push edi
call fcn.01048c52
add esp, 0xc
jmp 0x10403bb
inc dword [ebp - 0x9c]
jmp 0x10404b2
xor eax, eax
jne 0x10405b4
push 0x100fb20
mov edi, 0x8000ffff
push 0x100fb04
push edi
call fcn.01048c52
add esp, 0xc
jmp 0x10403c9
push 0
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0xf0]
push eax
push dword [ebp - 0x9c]
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
jne 0x10406c8
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jle 0x10406a6
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jl 0x10406b1
mov edi, 0x80004005
push 0x100fac0
push 0x100faa4
call esi
push eax
call fcn.01048d15
jmp 0x1040638
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x138], edx
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x134], edx
xor edx, edx
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], ecx
cmp dword [0x106681c], edx
je 0x1040710
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], edx
jmp 0x104071c
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], ecx
mov ecx, dword [ebp - 0x9c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.0102fb3e
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
mov edx, eax
shrd ecx, edx, 0xa
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0x138]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100fa7c
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov edx, eax
shrd ecx, edx, 0xa
add esp, 0x1c
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0xf8]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100fa54
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
mov edx, eax
shrd ecx, edx, 0xa
add esp, 0x1c
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0x130]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100fa30
push esi
call fcn.01048e9b
add esp, 0x1c
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.01034db1
test eax, eax
jl 0x1040805
cmp dword [0x106681c], 0
je 0x1040a0a
mov ecx, dword [ebp - 0x128]
mov edi, dword [ebp - 0x124]
or ecx, edi
jne 0x10408eb
push eax
push ebx
push 0x100f9e0
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
and dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], eax
and dword [ebp - 0xec], 0x80000000
and eax, 0x7fffffff
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xdc], eax
fild qword [ebp - 0xe0]
fild qword [ebp - 0xf0]
add esp, 0x10
fchs
faddp st(1)
fmul qword [0x100f9d8]
call sub.msvcrt.dll__ftol2
mov ecx, dword [ebp - 0xf8]
and dword [ebp - 0xf0], 0
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xec], eax
and dword [ebp - 0xec], 0x80000000
and eax, 0x7fffffff
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xdc], eax
fild qword [ebp - 0xe0]
fild qword [ebp - 0xf0]
mov edi, edx
mov dword [ebp - 0x124], edi
fchs
faddp st(1)
fmul qword [0x100f9d0]
call sub.msvcrt.dll__ftol2
cmp edx, edi
ja 0x10408dd
jb 0x10408cf
cmp eax, dword [ebp - 0x128]
jae 0x10408dd
mov edi, edx
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edi
and dword [ebp - 0x118], 0
and dword [ebp - 0x114], 0
mov ecx, dword [ebp - 0x128]
mov eax, ecx
sub eax, dword [ebp - 0x118]
mov edx, edi
mov dword [ebp - 0xf0], eax
mov eax, edi
sbb eax, dword [ebp - 0x114]
mov dword [ebp - 0xec], eax
mov eax, ecx
shrd eax, edx, 0xa
shr edx, 0xa
push edx
push eax
shrd ecx, edi, 0x14
shr edi, 0x14
push edi
push ecx
push ebx
push 0x100f9ac
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
mov edx, eax
shrd ecx, edx, 0xa
add esp, 0x1c
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0x118]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100f984
push esi
call fcn.01048e9b
mov ecx, dword [ebp - 0xec]
mov edi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0xf0]
add esp, 0x1c
mov eax, ecx
shrd edi, eax, 0xa
shr eax, 0xa
push eax
shrd edx, ecx, 0x14
push edi
shr ecx, 0x14
push ecx
push edx
push ebx
push 0x100f960
push esi
mov dword [ebp - 0x154], edi
mov dword [ebp - 0x150], eax
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], ecx
call fcn.01048e9b
add esp, 0x1c
lea eax, [ebp - 0xc0]
push eax
push 0x100f938
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01043322
test eax, eax
jl 0x1040a29
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov edx, ecx
mov edi, eax
shrd edx, edi, 0xa
shr edi, 0xa
push edi
push edx
mov dword [ebp - 0x100], ecx
shrd ecx, eax, 0x14
mov dword [ebp - 0xfc], eax
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100f8fc
jmp 0x1040a59
xor edi, edi
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x114], edi
jmp 0x10408eb
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
shrd eax, ecx, 0xa
shr ecx, 0xa
push ecx
mov ecx, dword [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x100]
shrd eax, ecx, 0x14
shr ecx, 0x14
push ecx
push eax
push ebx
push 0x100f8d0
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0x124]
add esp, 0x1c
cmp eax, dword [ebp - 0xfc]
ja 0x1040aa1
jb 0x1040a80
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x100]
jae 0x1040aa1
mov ecx, dword [ebp - 0x128]
push ebx
push 0x100f878
push esi
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], eax
call fcn.01048e9b
add esp, 0xc
lea eax, [ebp - 0xc0]
push eax
push 0x100541c
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01043322
test eax, eax
jl 0x1040b24
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x104], eax
and dword [ebp - 0x104], 0x80000000
and eax, 0x7fffffff
and dword [ebp - 0x108], 0
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], eax
fild qword [ebp - 0xc8]
fild qword [ebp - 0x108]
push ecx
push ecx
fchs
faddp st(1)
fdiv qword [0x1005280]
fstp qword [ebp - 0x108]
fld qword [ebp - 0x108]
fstp qword [esp]
push ebx
push 0x100f848
jmp 0x1040b35
fld qword [ebp - 0x108]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x100f82c
push esi
call fcn.01048e9b
add esp, 0x14
mov edi, 0x1066af4
push edi
lea ecx, [ebp - 0x13c]
call fcn.010442ec
push edi
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 5
call fcn.010442ec
push edi
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 6
call fcn.010442ec
push edi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 7
call fcn.010442ec
push edi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 8
call fcn.010442ec
cmp dword [0x106681c], 0
mov byte [ebp - 4], 9
mov eax, 0x100f81c
jne 0x1040ba6
mov eax, 0x100f80c
push dword [0x10668e0]
push eax
lea eax, [ebp - 0x13c]
push 0x100f7f8
push eax
call fcn.01030c79
mov edi, dword [ebp - 0x13c]
add esp, 0x10
push edi
lea eax, [ebp - 0x144]
push 0x100f7d4
push eax
call fcn.01030c79
add esp, 0xc
push edi
lea eax, [ebp - 0x14c]
push 0x100f7b4
push eax
call fcn.01030c79
add esp, 0xc
push edi
lea eax, [ebp - 0x9c]
push 0x100f784
push eax
call fcn.01030c79
add esp, 0xc
push edi
lea eax, [ebp - 0xa0]
push 0x100f758
push eax
call fcn.01030c79
add esp, 0xc
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0x144]
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01043322
test eax, eax
jl 0x1040c85
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
mov ecx, eax
mov edi, edx
shrd edi, ecx, 0xa
shr ecx, 0xa
push ecx
mov dword [ebp - 0x15c], edi
push dword [ebp - 0x15c]
mov dword [ebp - 0x110], edx
shrd edx, eax, 0x14
mov dword [ebp - 0x10c], eax
shr eax, 0x14
push eax
push edx
push ebx
mov dword [ebp - 0xc8], edi
mov edi, ecx
push 0x100f720
jmp 0x1040cbb
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x10c]
shrd eax, edi, 0xa
shr edi, 0xa
push edi
push eax
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x110]
shrd eax, ecx, 0x14
shr ecx, 0x14
push ecx
push eax
push ebx
push 0x100f6f8
push esi
call fcn.01048e9b
add esp, 0x1c
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0x14c]
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01043322
test eax, eax
jl 0x1040d15
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xbc]
push edi
push dword [ebp - 0xc8]
mov dword [ebp - 0x120], ecx
shrd ecx, eax, 0x14
mov dword [ebp - 0x11c], eax
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100f6c4
jmp 0x1040d45
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x11c]
shrd eax, ecx, 0xa
shr ecx, 0xa
push ecx
mov ecx, dword [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0x120]
shrd eax, ecx, 0x14
shr ecx, 0x14
push ecx
push eax
push ebx
push 0x100f6a0
push esi
call fcn.01048e9b
add esp, 0x1c
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0x9c]
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01043322
test eax, eax
jl 0x1040da5
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov edx, ecx
mov edi, eax
shrd edx, edi, 0xa
shr edi, 0xa
push edi
push edx
mov dword [ebp - 0xe8], ecx
shrd ecx, eax, 0x14
mov dword [ebp - 0xe4], eax
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100f664
jmp 0x1040dd5
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
shrd eax, ecx, 0xa
shr ecx, 0xa
push ecx
mov ecx, dword [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0xe8]
shrd eax, ecx, 0x14
shr ecx, 0x14
push ecx
push eax
push ebx
push 0x100f638
push esi
call fcn.01048e9b
mov edi, dword [ebp - 0xa0]
add esp, 0x1c
lea eax, [ebp - 0xc0]
push eax
push edi
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01043322
test eax, eax
jl 0x1040e3a
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xd0], ecx
mov edx, eax
shrd ecx, edx, 0xa
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0xc0]
shrd ecx, eax, 0x14
mov dword [ebp - 0xcc], eax
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100f5fc
jmp 0x1040e6a
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
shrd eax, ecx, 0xa
shr ecx, 0xa
push ecx
mov ecx, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xd0]
shrd eax, ecx, 0x14
shr ecx, 0x14
push ecx
push eax
push ebx
push 0x100f5d0
push esi
call fcn.01048e9b
add esp, 0x1c
lea ecx, [edi - 0x10]
call fcn.0102fb3e
mov ecx, dword [ebp - 0x9c]
add ecx, 0xfffffff0
call fcn.0102fb3e
mov ecx, dword [ebp - 0x14c]
add ecx, 0xfffffff0
call fcn.0102fb3e
mov ecx, dword [ebp - 0x144]
add ecx, 0xfffffff0
call fcn.0102fb3e
mov ecx, dword [ebp - 0x13c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.0102fb3e
push dword [ebp - 0x11c]
mov edi, dword [0x1066840]
push dword [ebp - 0x120]
xor eax, eax
push eax
dec edi
push edi
call fcn.0104dfb0
add eax, dword [ebp - 0x110]
push dword [ebp - 0xcc]
adc edx, dword [ebp - 0x10c]
push dword [ebp - 0xd0]
mov dword [ebp - 0xa4], eax
xor eax, eax
push eax
push edi
mov dword [ebp - 0xa0], edx
call fcn.0104dfb0
mov edi, eax
add edi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xa8]
adc edx, dword [ebp - 0xe4]
mov dword [ebp - 0xe4], edx
cmp dword [ebp - 0xa0], eax
jb 0x1040f46
ja 0x1040f32
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0xac]
jbe 0x1040f46
mov ecx, dword [ebp - 0xac]
sub dword [ebp - 0xa4], ecx
sbb dword [ebp - 0xa0], eax
jmp 0x1040f54
and dword [ebp - 0xa4], 0
and dword [ebp - 0xa0], 0
cmp dword [ebp - 0xe4], eax
jb 0x1040f74
ja 0x1040f66
cmp edi, dword [ebp - 0xac]
jbe 0x1040f74
sub edi, dword [ebp - 0xac]
sbb dword [ebp - 0xe4], eax
jmp 0x1040f7c
xor edi, edi
mov dword [ebp - 0xe4], edi
lea eax, [ebp - 0xc0]
push eax
push 0x100f598
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01043322
test eax, eax
jl 0x1040fff
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xa8], eax
and dword [ebp - 0xa8], 0x80000000
and eax, 0x7fffffff
and dword [ebp - 0xac], 0
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xd4], eax
fild qword [ebp - 0xd8]
push ecx
fild qword [ebp - 0xac]
push ecx
fchs
faddp st(1)
fdiv qword [0x1005280]
fstp qword [ebp - 0xd8]
fld qword [ebp - 0xd8]
fstp qword [esp]
push ebx
push 0x100f564
jmp 0x1041010
fld qword [ebp - 0xd8]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x100f540
push esi
call fcn.01048e9b
add esp, 0x14
lea eax, [ebp - 0xc0]
push eax
push 0x100f508
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01043322
test eax, eax
jl 0x104109c
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0xa8], eax
and dword [ebp - 0xa8], 0x80000000
and eax, 0x7fffffff
and dword [ebp - 0xac], 0
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], eax
fild qword [ebp - 0xb4]
push ecx
fild qword [ebp - 0xac]
push ecx
fchs
faddp st(1)
fdiv qword [0x1005280]
fstp qword [ebp - 0xb4]
fld qword [ebp - 0xb4]
fstp qword [esp]
push ebx
push 0x100f4d4
jmp 0x10410ad
fld qword [ebp - 0xb4]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x100f4b0
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0xa4]
and dword [ebp - 0xac], 0
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xa8], eax
and dword [ebp - 0xa8], 0x80000000
and eax, 0x7fffffff
mov dword [ebp - 0xcc], eax
fild qword [ebp - 0xd0]
add esp, 0x14
fild qword [ebp - 0xac]
fchs
faddp st(1)
fmul qword [ebp - 0xd8]
call sub.msvcrt.dll__ftol2
add dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xd4], eax
adc dword [ebp - 0xa0], edx
and dword [ebp - 0xd4], 0x80000000
and dword [ebp - 0xd8], 0
and eax, 0x7fffffff
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xac], edi
fild qword [ebp - 0xac]
fild qword [ebp - 0xd8]
fchs
faddp st(1)
fmul qword [ebp - 0xb4]
call sub.msvcrt.dll__ftol2
mov ecx, dword [ebp - 0xa0]
add edi, eax
adc dword [ebp - 0xe4], edx
mov edx, dword [ebp - 0xa4]
mov eax, ecx
shrd edx, eax, 0xa
mov dword [ebp - 0x110], edx
mov edx, dword [ebp - 0xa4]
shr eax, 0xa
push eax
push dword [ebp - 0x110]
shrd edx, ecx, 0x14
shr ecx, 0x14
push ecx
push edx
push ebx
push 0x100f488
push esi
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], ecx
call fcn.01048e9b
mov ecx, dword [ebp - 0xe4]
mov eax, ecx
add esp, 0x1c
mov edx, edi
shrd edx, eax, 0xa
mov dword [ebp - 0xac], edx
shr eax, 0xa
push eax
push dword [ebp - 0xac]
mov edx, edi
shrd edx, ecx, 0x14
shr ecx, 0x14
push ecx
push edx
push ebx
push 0x100f460
mov dword [ebp - 0xc4], edi
push esi
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], ecx
call fcn.01048e9b
add esp, 0x1c
push ebx
push 0x100f438
push esi
call fcn.01048e9b
fld qword [ebp - 0x108]
add esp, 0xc
push dword [ebp - 0x150]
push dword [ebp - 0x154]
push dword [ebp - 0xdc]
push dword [ebp - 0xe0]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x100f3d0
push esi
call fcn.01048e9b
fld qword [ebp - 0x108]
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
add esp, 0x34
mov edx, eax
shrd ecx, edx, 0xa
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0x130]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x100f368
push esi
call fcn.01048e9b
fld qword [ebp - 0x108]
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
add esp, 0x34
mov edx, eax
shrd ecx, edx, 0xa
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0xf8]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push dword [ebp - 0xa8]
push dword [ebp - 0xac]
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x100f2d8
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xb0], eax
and dword [ebp - 0xb0], 0x80000000
and eax, 0x7fffffff
add esp, 0x44
and dword [ebp - 0xb4], 0
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xdc], eax
fild qword [ebp - 0xe0]
fild qword [ebp - 0xb4]
fchs
faddp st(1)
fmul qword [ebp - 0x108]
fstp qword [ebp - 0x108]
fld qword [ebp - 0x108]
call sub.msvcrt.dll__ftol2
add eax, dword [ebp - 0xa4]
adc edx, dword [ebp - 0xa0]
mov ecx, eax
mov edi, edx
shrd ecx, edi, 0xa
shr edi, 0xa
push edi
push ecx
shrd eax, edx, 0x14
shr edx, 0x14
push edx
push eax
push ebx
push 0x100f2b4
push esi
call fcn.01048e9b
add esp, 0x1c
push ebx
push 0x100f290
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
add esp, 0xc
mov edx, eax
shrd ecx, edx, 0xa
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0x118]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
mov eax, dword [ebp - 0xf4]
push ecx
mov ecx, dword [ebp - 0xf8]
mov edx, eax
shrd ecx, edx, 0xa
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0xf8]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
mov eax, dword [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0xfc]
shrd eax, ecx, 0xa
shr ecx, 0xa
push ecx
mov ecx, dword [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x100]
shrd eax, ecx, 0x14
shr ecx, 0x14
push ecx
push eax
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x11c]
push dword [ebp - 0x120]
push ebx
push 0x100f1f8
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x140]
add esp, 0x4c
add eax, dword [ebp - 0x100]
adc ecx, dword [ebp - 0xfc]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ecx, eax
mov eax, dword [edi + 4]
cmp eax, dword [ebp - 0x114]
jb 0x10414aa
ja 0x1041497
cmp ecx, dword [ebp - 0x118]
jbe 0x10414aa
sub ecx, dword [ebp - 0x118]
sbb eax, dword [ebp - 0x114]
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp 0x10414b1
and dword [edi], 0
and dword [edi + 4], 0
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov dword [ebp - 0x15c], ecx
mov edx, eax
shrd ecx, edx, 0xa
shr edx, 0xa
push edx
push ecx
mov ecx, dword [ebp - 0x15c]
shrd ecx, eax, 0x14
shr eax, 0x14
push eax
push ecx
push ebx
push 0x100f1d8
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0xf0]
and dword [ebp - 0xb4], 0
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xb0], eax
and dword [ebp - 0xb0], 0x80000000
mov ecx, 0x7fffffff
and eax, ecx
mov dword [ebp - 0xdc], eax
fild qword [ebp - 0xe0]
add esp, 0x1c
fild qword [ebp - 0xb4]
fchs
faddp st(1)
fcomp qword [ebp - 0x108]
fnstsw ax
test ah, 1
jne 0x1041651
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x12c]
and dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xe0], edx
and eax, ecx
mov edx, 0x80000000
and dword [ebp - 0xb0], edx
mov dword [ebp - 0xdc], eax
fild qword [ebp - 0xe0]
fild qword [ebp - 0xb4]
fchs
faddp st(1)
fcomp qword [ebp - 0x108]
fnstsw ax
test ah, 1
jne 0x1041651
mov eax, dword [ebp - 0xa4]
and dword [ebp - 0xd8], 0
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xb0], eax
and dword [ebp - 0xb0], ecx
fild qword [ebp - 0xb4]
mov dword [ebp - 0xd4], eax
and dword [ebp - 0xd4], edx
fild qword [ebp - 0xd8]
mov eax, dword [ebp - 0xf8]
and dword [ebp - 0xd8], 0
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xf4]
fchs
faddp st(1)
mov dword [ebp - 0xb0], eax
and dword [ebp - 0xb0], ecx
mov dword [ebp - 0xd4], eax
fadd qword [ebp - 0x108]
and dword [ebp - 0xd4], edx
fild qword [ebp - 0xb4]
fild qword [ebp - 0xd8]
fchs
faddp st(1)
fcompp
fnstsw ax
test ah, 1
jne 0x1041651
mov eax, dword [edi + 4]
cmp eax, dword [ebp - 0xf4]
ja 0x1041668
jb 0x1041637
mov eax, dword [edi]
cmp eax, dword [ebp - 0xf8]
ja 0x1041668
push ebx
push 0x100f188
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0x148]
mov dword [eax], 2
jmp 0x104169a
mov eax, dword [edi + 4]
cmp eax, dword [ebp - 0xf4]
jb 0x1041682
ja 0x1041668
mov eax, dword [edi]
cmp eax, dword [ebp - 0xf8]
jbe 0x1041682
push ebx
push 0x100f110
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0x148]
add esp, 0xc
and dword [eax], 0
jmp 0x104169d
push ebx
push 0x100f0a8
push esi
call fcn.01048e9b
mov eax, dword [ebp - 0x148]
mov dword [eax], 1
add esp, 0xc
xor edi, edi
jmp 0x10403c9
mov eax, edi
call fcn.0104dd7d
ret 8