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

Disassembly:
push 0x154
mov eax, 0x106008f
call fcn.0104f396
fldz
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
fstp qword [ebp - 0x108]
fld qword [0x10105f0]
push 0x20
pop ecx
fst qword [ebp - 0xb4]
mov esi, 0x1010568
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 0x10418a0
push 0x1010538
push 0x1010520
mov eax, 0x80070057
push eax
mov edi, eax
call fcn.0104a504
add esp, 0xc
jmp 0x1042c4a
cmp eax, esi
jne 0x10418b0
push 0x10104e4
push 0x10104cc
jmp 0x104188b
mov dword [edx], esi
mov edi, 0x1068adc
push edi
lea ecx, [ebp - 0xb8]
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [ebp - 4], esi
call fcn.010309e3
push dword [0x10688d8]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xb8]
push eax
mov byte [ebp - 4], 1
call fcn.0103152e
add esp, 0xc
push edi
lea ecx, [ebp - 0x9c]
call fcn.010309e3
push dword [0x106889c]
lea eax, [ebp - 0x9c]
push eax
mov byte [ebp - 4], 2
call fcn.01046248
mov edi, eax
cmp edi, esi
jge 0x104194d
push dword [0x106889c]
push 0x101048c
push 0x1010474
push edi
call fcn.0104a504
add esp, 0x10
mov ecx, dword [ebp - 0x9c]
add ecx, 0xfffffff0
call fcn.010303ce
mov ecx, dword [ebp - 0xb8]
add ecx, 0xfffffff0
call fcn.010303ce
jmp 0x1042c4a
push dword [ebp - 0x9c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10419fb
push esi
push esi
push 3
push esi
push 1
push 0x80000000
push dword [0x106889c]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x10419fb
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, 0x1002678
cmp eax, esi
je 0x10419e5
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 0x1010418
mov esi, 0x4000000
push esi
call fcn.0104a7da
add esp, 0x1c
jmp 0x10419ea
mov esi, 0x4000000
test edi, edi
je 0x1041a05
lea ecx, [ebp - 0xa0]
call fcn.010303b2
jmp 0x1041a05
mov esi, 0x4000000
mov ebx, 0x1002678
mov ecx, dword [ebp - 0x9c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.010303ce
and dword [ebp - 0x9c], 0
mov edi, 0x1068900
mov eax, dword [ebp - 0x9c]
cmp eax, dword [edi + 4]
jae 0x1041bbc
push eax
mov ecx, edi
call fcn.010411fe
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, dword [0x10688d8]
jne 0x1041bb1
push dword [ebp - 0x9c]
mov ecx, edi
call fcn.010411fe
mov eax, dword [eax]
mov eax, dword [eax + 4]
cmp eax, dword [0x1068828]
jne 0x1041bb1
push dword [ebp - 0x9c]
mov ecx, edi
call fcn.010411fe
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.010411fe
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.010411fe
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.010411fe
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.010411fe
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.010411fe
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.01035d10
test eax, eax
jge 0x1041c9f
push 0x1068adc
lea ecx, [ebp - 0x9c]
call fcn.010309e3
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 0x10103d0
lea edi, [ebp - 0xc4]
push esi
mov byte [ebp - 4], 4
stosd dword es:[edi], eax
call fcn.0104a7da
add esp, 0xc
lea eax, [ebp - 0x9c]
push eax
call fcn.01046775
mov edi, eax
test edi, edi
jge 0x1041be1
push 0x1004868
push 0x10103b4
push edi
call fcn.0104a504
add esp, 0xc
jmp 0x104192c
inc dword [ebp - 0x9c]
jmp 0x1041a23
xor eax, eax
jne 0x1041b25
push 0x1010340
mov edi, 0x8000ffff
push 0x1010324
push edi
call fcn.0104a504
add esp, 0xc
jmp 0x104193a
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 0x1041c39
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
test eax, eax
jle 0x1041c17
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
test edi, edi
jl 0x1041c22
mov edi, 0x80004005
push 0x10102e0
push 0x10102c4
call esi
push eax
call fcn.0104a5f6
jmp 0x1041ba9
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 [0x1068828], edx
je 0x1041c81
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], edx
jmp 0x1041c8d
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.010303ce
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 0x101029c
push esi
call fcn.0104a7da
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 0x1010274
push esi
call fcn.0104a7da
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 0x1010250
push esi
call fcn.0104a7da
add esp, 0x1c
lea eax, [ebp - 0x118]
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.010357a5
test eax, eax
jl 0x1041d76
cmp dword [0x1068828], 0
je 0x1041f7b
mov ecx, dword [ebp - 0x128]
mov edi, dword [ebp - 0x124]
or ecx, edi
jne 0x1041e5c
push eax
push ebx
push 0x1010200
push esi
call fcn.0104a7da
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 [0x10101f8]
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 [0x10101f0]
call sub.msvcrt.dll__ftol2
cmp edx, edi
ja 0x1041e4e
jb 0x1041e40
cmp eax, dword [ebp - 0x128]
jae 0x1041e4e
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 0x10101cc
push esi
call fcn.0104a7da
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 0x10101a4
push esi
call fcn.0104a7da
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 0x1010180
push esi
mov dword [ebp - 0x154], edi
mov dword [ebp - 0x150], eax
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], ecx
call fcn.0104a7da
add esp, 0x1c
lea eax, [ebp - 0xc0]
push eax
push 0x1010158
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01044781
test eax, eax
jl 0x1041f9a
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 0x101011c
jmp 0x1041fca
xor edi, edi
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x114], edi
jmp 0x1041e5c
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 0x10100f0
push esi
call fcn.0104a7da
mov eax, dword [ebp - 0x124]
add esp, 0x1c
cmp eax, dword [ebp - 0xfc]
ja 0x1042012
jb 0x1041ff1
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x100]
jae 0x1042012
mov ecx, dword [ebp - 0x128]
push ebx
push 0x1010098
push esi
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0xfc], eax
call fcn.0104a7da
add esp, 0xc
lea eax, [ebp - 0xc0]
push eax
push 0x101006c
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01044781
test eax, eax
jl 0x1042095
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 [0x1005290]
fstp qword [ebp - 0x108]
fld qword [ebp - 0x108]
fstp qword [esp]
push ebx
push 0x1010040
jmp 0x10420a6
fld qword [ebp - 0x108]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x1010024
push esi
call fcn.0104a7da
add esp, 0x14
mov edi, 0x1068adc
push edi
lea ecx, [ebp - 0x13c]
call fcn.010309e3
push edi
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 5
call fcn.010309e3
push edi
lea ecx, [ebp - 0x14c]
mov byte [ebp - 4], 6
call fcn.010309e3
push edi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 7
call fcn.010309e3
push edi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 8
call fcn.010309e3
cmp dword [0x1068828], 0
mov byte [ebp - 4], 9
mov eax, 0x1010014
jne 0x1042117
mov eax, 0x1010004
push dword [0x10688dc]
push eax
lea eax, [ebp - 0x13c]
push 0x100fff0
push eax
call fcn.01031549
mov edi, dword [ebp - 0x13c]
add esp, 0x10
push edi
lea eax, [ebp - 0x144]
push 0x100ffcc
push eax
call fcn.01031549
add esp, 0xc
push edi
lea eax, [ebp - 0x14c]
push 0x100ffac
push eax
call fcn.01031549
add esp, 0xc
push edi
lea eax, [ebp - 0x9c]
push 0x100ff7c
push eax
call fcn.01031549
add esp, 0xc
push edi
lea eax, [ebp - 0xa0]
push 0x100ff50
push eax
call fcn.01031549
add esp, 0xc
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0x144]
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01044781
test eax, eax
jl 0x10421f6
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 0x100ff18
jmp 0x104222c
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 0x100fef0
push esi
call fcn.0104a7da
add esp, 0x1c
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0x14c]
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01044781
test eax, eax
jl 0x1042286
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 0x100febc
jmp 0x10422b6
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 0x100fe98
push esi
call fcn.0104a7da
add esp, 0x1c
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0x9c]
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01044781
test eax, eax
jl 0x1042316
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 0x100fe5c
jmp 0x1042346
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 0x100fe30
push esi
call fcn.0104a7da
mov edi, dword [ebp - 0xa0]
add esp, 0x1c
lea eax, [ebp - 0xc0]
push eax
push edi
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01044781
test eax, eax
jl 0x10423ab
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 0x100fdf4
jmp 0x10423db
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 0x100fdc8
push esi
call fcn.0104a7da
add esp, 0x1c
lea ecx, [edi - 0x10]
call fcn.010303ce
mov ecx, dword [ebp - 0x9c]
add ecx, 0xfffffff0
call fcn.010303ce
mov ecx, dword [ebp - 0x14c]
add ecx, 0xfffffff0
call fcn.010303ce
mov ecx, dword [ebp - 0x144]
add ecx, 0xfffffff0
call fcn.010303ce
mov ecx, dword [ebp - 0x13c]
add ecx, 0xfffffff0
mov byte [ebp - 4], 1
call fcn.010303ce
push dword [ebp - 0x11c]
mov edi, dword [0x106884c]
push dword [ebp - 0x120]
xor eax, eax
push eax
dec edi
push edi
call fcn.0104f630
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.0104f630
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 0x10424b7
ja 0x10424a3
mov ecx, dword [ebp - 0xa4]
cmp ecx, dword [ebp - 0xac]
jbe 0x10424b7
mov ecx, dword [ebp - 0xac]
sub dword [ebp - 0xa4], ecx
sbb dword [ebp - 0xa0], eax
jmp 0x10424c5
and dword [ebp - 0xa4], 0
and dword [ebp - 0xa0], 0
cmp dword [ebp - 0xe4], eax
jb 0x10424e5
ja 0x10424d7
cmp edi, dword [ebp - 0xac]
jbe 0x10424e5
sub edi, dword [ebp - 0xac]
sbb dword [ebp - 0xe4], eax
jmp 0x10424ed
xor edi, edi
mov dword [ebp - 0xe4], edi
lea eax, [ebp - 0xc0]
push eax
push 0x100fd90
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01044781
test eax, eax
jl 0x1042570
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 [0x1005290]
fstp qword [ebp - 0xd8]
fld qword [ebp - 0xd8]
fstp qword [esp]
push ebx
push 0x100fd5c
jmp 0x1042581
fld qword [ebp - 0xd8]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x100fd38
push esi
call fcn.0104a7da
add esp, 0x14
lea eax, [ebp - 0xc0]
push eax
push 0x100fd00
push dword [ebp - 0xb8]
push 0x80000002
call fcn.01044781
test eax, eax
jl 0x104260d
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 [0x1005290]
fstp qword [ebp - 0xb4]
fld qword [ebp - 0xb4]
fstp qword [esp]
push ebx
push 0x100fccc
jmp 0x104261e
fld qword [ebp - 0xb4]
push ecx
push ecx
fstp qword [esp]
push ebx
push 0x100fca8
push esi
call fcn.0104a7da
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 0x100fc80
push esi
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x120], edx
mov dword [ebp - 0x11c], ecx
call fcn.0104a7da
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 0x100fc58
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.0104a7da
add esp, 0x1c
push ebx
push 0x100fc30
push esi
call fcn.0104a7da
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 0x100fbc8
push esi
call fcn.0104a7da
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 0x100fb60
push esi
call fcn.0104a7da
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 0x100fad0
push esi
call fcn.0104a7da
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 0x100faac
push esi
call fcn.0104a7da
add esp, 0x1c
push ebx
push 0x100fa88
push esi
call fcn.0104a7da
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 0x100f9f0
push esi
call fcn.0104a7da
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 0x1042a1b
ja 0x1042a08
cmp ecx, dword [ebp - 0x118]
jbe 0x1042a1b
sub ecx, dword [ebp - 0x118]
sbb eax, dword [ebp - 0x114]
mov dword [edi], ecx
mov dword [edi + 4], eax
jmp 0x1042a22
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 0x100f9d0
push esi
call fcn.0104a7da
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 0x1042bc2
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 0x1042bc2
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 0x1042bc2
mov eax, dword [edi + 4]
cmp eax, dword [ebp - 0xf4]
ja 0x1042bd9
jb 0x1042ba8
mov eax, dword [edi]
cmp eax, dword [ebp - 0xf8]
ja 0x1042bd9
push ebx
push 0x100f980
push esi
call fcn.0104a7da
mov eax, dword [ebp - 0x148]
mov dword [eax], 2
jmp 0x1042c0b
mov eax, dword [edi + 4]
cmp eax, dword [ebp - 0xf4]
jb 0x1042bf3
ja 0x1042bd9
mov eax, dword [edi]
cmp eax, dword [ebp - 0xf8]
jbe 0x1042bf3
push ebx
push 0x100f908
push esi
call fcn.0104a7da
mov eax, dword [ebp - 0x148]
add esp, 0xc
and dword [eax], 0
jmp 0x1042c0e
push ebx
push 0x100f8a0
push esi
call fcn.0104a7da
mov eax, dword [ebp - 0x148]
mov dword [eax], 1
add esp, 0xc
xor edi, edi
jmp 0x104193a
mov eax, edi
call fcn.0104f401
ret 8