Function at 0x102a8d80
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x180
push ebx
push esi
push edi
mov ecx, 0x104f68b0
call fcn.1015f0d9
mov eax, dword [0x104e7304]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add eax, 0x1500
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
movsd xmm0, qword [eax]
movsd qword [ebp - 0x88], xmm0
movsd xmm0, qword [ebp + 0x18]
comisd xmm0, xmmword [ebp - 0x88]
jbe 0x102a8dd6
movsd xmm0, qword [ebp + 0x18]
movsd qword [ebp - 0x178], xmm0
jmp 0x102a8e14
movsd xmm0, qword [ebp - 0x88]
comisd xmm0, xmmword [ebp + 0x20]
jbe 0x102a8df4
movsd xmm0, qword [ebp + 0x20]
movsd qword [ebp - 0x180], xmm0
jmp 0x102a8e04
movsd xmm0, qword [ebp - 0x88]
movsd qword [ebp - 0x180], xmm0
movsd xmm0, qword [ebp - 0x180]
movsd qword [ebp - 0x178], xmm0
mov ecx, dword [ebp + 0x14]
movsd xmm0, qword [ebp - 0x178]
movsd qword [ecx], xmm0
mov eax, dword [ebp + 0x30]
and eax, 1
je 0x102a8e37
mov dword [ebp - 0x174], 1
jmp 0x102a8e41
mov dword [ebp - 0x174], 0
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0xc], ecx
cmp dword [ebp + 0x10], 4
je 0x102a8e5f
cmp dword [ebp + 0x10], 5
je 0x102a8e5f
mov byte [ebp - 0x171], 0
jmp 0x102a8e66
mov byte [ebp - 0x171], 1
mov al, byte [ebp - 0x171]
mov byte [ebp - 0xd], al
movss xmm0, dword [ebp + 0x2c]
ucomiss xmm0, dword [0x1042d1f8]
lahf
test ah, 0x44
jnp 0x102a8e92
movzx eax, byte [ebp - 0xd]
test eax, eax
je 0x102a8e92
mov byte [ebp - 0x171], 1
jmp 0x102a8e99
mov byte [ebp - 0x171], 0
mov cl, byte [ebp - 0x171]
mov byte [ebp - 0xe], cl
movss xmm0, dword [0x1042d1fc]
movss dword [ebp - 0x14], xmm0
mov eax, dword [ebp + 8]
add eax, 8
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xc], 1
jbe 0x102a8ed2
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xf0]
movss xmm0, dword [eax + edx*4]
movss dword [ebp - 0x150], xmm0
cmp dword [ebp - 0xc], 1
jbe 0x102a8ef6
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xec]
movss xmm0, dword [edx + ecx*4]
movss dword [ebp - 0x154], xmm0
movss xmm0, dword [ebp - 0x154]
subss xmm0, dword [ebp - 0x150]
subss xmm0, dword [0x10430afc]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x6c]
movss dword [ebp - 0x1c], xmm0
movsd xmm0, qword [ebp + 0x20]
comisd xmm0, xmmword [ebp + 0x18]
jbe 0x102a8f56
movsd xmm0, qword [ebp + 0x20]
subsd xmm0, qword [ebp + 0x18]
movsd qword [ebp - 0x178], xmm0
jmp 0x102a8f68
movsd xmm0, qword [ebp + 0x18]
subsd xmm0, qword [ebp + 0x20]
movsd qword [ebp - 0x178], xmm0
movsd xmm0, qword [ebp - 0x178]
movsd qword [ebp - 0x24], xmm0
movzx eax, byte [ebp - 0xd]
test eax, eax
jne 0x102a9002
movsd xmm0, qword [ebp - 0x24]
comisd xmm0, xmmword [0x1043e3f0]
jb 0x102a9002
movsd xmm0, qword [ebp - 0x24]
addsd xmm0, qword [0x1043e450]
cvtss2sd xmm1, dword [ebp - 0x18]
divsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
movss dword [ebp - 0x8c], xmm0
mov eax, dword [ebp - 8]
movss xmm0, dword [eax + 0x6c]
movss dword [ebp - 0x90], xmm0
movss xmm0, dword [ebp - 0x8c]
comiss xmm0, dword [ebp - 0x90]
jb 0x102a8fe5
movss xmm0, dword [ebp - 0x8c]
movss dword [ebp - 0x174], xmm0
jmp 0x102a8ff5
movss xmm0, dword [ebp - 0x90]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
comiss xmm0, dword [ebp - 0x1c]
jbe 0x102a901c
movss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x174], xmm0
jmp 0x102a9029
movss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x18]
subss xmm0, dword [ebp - 0x1c]
movss dword [ebp - 0x28], xmm0
mov eax, dword [ebp + 8]
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xc], 1
jbe 0x102a905c
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xf4]
movss xmm0, dword [edx + ecx*4]
movss dword [ebp - 0x158], xmm0
movss xmm0, dword [ebp - 0x158]
addss xmm0, dword [0x1042d1fc]
movss xmm1, dword [ebp - 0x1c]
mulss xmm1, dword [0x1042d1ec]
addss xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
mov eax, dword [ebp + 8]
add eax, 8
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xc], 1
jbe 0x102a90b2
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xf8]
movss xmm0, dword [edx + ecx*4]
movss dword [ebp - 0x15c], xmm0
movss xmm0, dword [ebp - 0x15c]
subss xmm0, dword [0x1042d1fc]
movss xmm1, dword [ebp - 0x1c]
mulss xmm1, dword [0x1042d1ec]
subss xmm0, xmm1
movss dword [ebp - 0x30], xmm0
movzx eax, byte [ebp - 0xe]
test eax, eax
je 0x102a921b
movsd xmm0, qword [ebp + 0x18]
mulsd xmm0, qword [ebp + 0x20]
xorps xmm1, xmm1
comisd xmm1, xmm0
jbe 0x102a921b
cvtss2sd xmm0, dword [ebp + 0x2c]
movsd xmm1, qword [0x1043e450]
divsd xmm1, xmm0
movsd qword [ebp - 0x108], xmm1
movsd xmm0, qword [ebp + 0x18]
comisd xmm0, xmmword [0x1043e3f0]
jb 0x102a9148
movsd xmm0, qword [ebp + 0x18]
movsd qword [ebp - 0x100], xmm0
jmp 0x102a915c
movsd xmm0, qword [ebp + 0x18]
xorps xmm0, xmmword [0x104461b0]
movsd qword [ebp - 0x100], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x108]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x100]
movsd qword [esp], xmm0
call fcn.1015f4b7
add esp, 0x10
fstp qword [ebp - 0x3c]
cvtss2sd xmm0, dword [ebp + 0x2c]
movsd xmm1, qword [0x1043e450]
divsd xmm1, xmm0
movsd qword [ebp - 0x118], xmm1
movsd xmm0, qword [ebp + 0x20]
comisd xmm0, xmmword [0x1043e3f0]
jb 0x102a91be
movsd xmm0, qword [ebp + 0x20]
movsd qword [ebp - 0x110], xmm0
jmp 0x102a91d2
movsd xmm0, qword [ebp + 0x20]
xorps xmm0, xmmword [0x104461b0]
movsd qword [ebp - 0x110], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x118]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x110]
movsd qword [esp], xmm0
call fcn.1015f4b7
add esp, 0x10
fstp qword [ebp - 0x44]
movsd xmm0, qword [ebp - 0x3c]
addsd xmm0, qword [ebp - 0x44]
movsd xmm1, qword [ebp - 0x3c]
divsd xmm1, xmm0
cvtsd2ss xmm0, xmm1
movss dword [ebp - 0x34], xmm0
jmp 0x102a924f
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp + 0x18]
jbe 0x102a9237
movss xmm0, dword [0x1042d1f8]
movss dword [ebp - 0x174], xmm0
jmp 0x102a9242
xorps xmm0, xmm0
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x34], xmm0
mov byte [ebp - 0x45], 0
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x19ac]
cmp ecx, dword [ebp + 0xc]
jne 0x102a9614
mov byte [ebp - 0x46], 0
xorps xmm0, xmm0
movss dword [ebp - 0x4c], xmm0
mov eax, dword [ebp - 4]
cmp dword [eax + 0x19dc], 1
jne 0x102a93aa
mov eax, 1
imul ecx, eax, 0
mov edx, dword [ebp - 4]
movzx eax, byte [edx + ecx + 0xe8]
test eax, eax
jne 0x102a92a2
call fcn.1015fc5f
jmp 0x102a93aa
mov eax, dword [ebp - 4]
add eax, 0xe0
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0xc], 1
jbe 0x102a92be
push 0
call dword [sym.imp.ucrtbased.dll_exit]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x11c]
lea eax, [edx + ecx*4]
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x160]
movss xmm0, dword [ecx]
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [ebp - 0x28]
comiss xmm0, dword [0x1042d1cc]
jbe 0x102a9376
movss xmm0, dword [ebp - 0x50]
subss xmm0, dword [ebp - 0x2c]
divss xmm0, dword [ebp - 0x28]
movss dword [ebp - 0x94], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [ebp - 0x94]
jbe 0x102a9321
xorps xmm0, xmm0
movss dword [ebp - 0x174], xmm0
jmp 0x102a9364
movss xmm0, dword [ebp - 0x94]
comiss xmm0, dword [0x1042d1f8]
jbe 0x102a9344
movss xmm0, dword [0x1042d1f8]
movss dword [ebp - 0x178], xmm0
jmp 0x102a9354
movss xmm0, dword [ebp - 0x94]
movss dword [ebp - 0x178], xmm0
movss xmm0, dword [ebp - 0x178]
movss dword [ebp - 0x174], xmm0
movss xmm0, dword [ebp - 0x174]
movss dword [ebp - 0x17c], xmm0
jmp 0x102a9381
xorps xmm0, xmm0
movss dword [ebp - 0x17c], xmm0
movss xmm0, dword [ebp - 0x17c]
movss dword [ebp - 0x4c], xmm0
cmp dword [ebp - 0xc], 1
jne 0x102a93a6
movss xmm0, dword [0x1042d1f8]
subss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x4c], xmm0
mov byte [ebp - 0x46], 1
movzx eax, byte [ebp - 0x46]
test eax, eax
je 0x102a9614
movzx eax, byte [ebp - 0xe]
test eax, eax
je 0x102a9543
movss xmm0, dword [ebp - 0x34]
comiss xmm0, dword [ebp - 0x4c]
jbe 0x102a945d
movss xmm0, dword [ebp - 0x4c]
divss xmm0, dword [ebp - 0x34]
movss xmm1, dword [0x1042d1f8]
subss xmm1, xmm0
movss dword [ebp - 0x5c], xmm1
cvtss2sd xmm0, dword [ebp + 0x2c]
sub esp, 8
movsd qword [esp], xmm0
cvtss2sd xmm0, dword [ebp - 0x5c]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1015f4b7
add esp, 0x10
fstp dword [ebp - 0x5c]
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp + 0x20]
jbe 0x102a942a
movsd xmm0, qword [ebp + 0x20]
movsd qword [ebp - 0x124], xmm0
jmp 0x102a9435
xorps xmm0, xmm0
movsd qword [ebp - 0x124], xmm0
cvtss2sd xmm0, dword [ebp - 0x5c]
movsd xmm1, qword [ebp + 0x18]
subsd xmm1, qword [ebp - 0x124]
mulsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x124]
movsd qword [ebp - 0x58], xmm1
jmp 0x102a953e
movss xmm0, dword [ebp - 0x34]
subss xmm0, dword [0x1042d1f8]
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.1015da40
add esp, 8
fstp dword [ebp - 0x174]
fld dword [ebp - 0x174]
fstp dword [ebp - 0x178]
movss xmm0, dword [ebp - 0x178]
comiss xmm0, dword [0x1044565c]
jbe 0x102a94c3
movss xmm0, dword [ebp - 0x4c]
subss xmm0, dword [ebp - 0x34]
movss xmm1, dword [0x1042d1f8]
subss xmm1, dword [ebp - 0x34]
divss xmm0, xmm1
movss dword [ebp - 0x60], xmm0
jmp 0x102a94cd
movss xmm0, dword [ebp - 0x4c]
movss dword [ebp - 0x60], xmm0
cvtss2sd xmm0, dword [ebp + 0x2c]
sub esp, 8
movsd qword [esp], xmm0
cvtss2sd xmm0, dword [ebp - 0x60]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1015f4b7
add esp, 0x10
fstp dword [ebp - 0x60]
movsd xmm0, qword [ebp + 0x18]
comisd xmm0, xmmword [0x1043e3f0]
jb 0x102a9510
movsd xmm0, qword [ebp + 0x18]
movsd qword [ebp - 0x12c], xmm0
jmp 0x102a951b
xorps xmm0, xmm0
movsd qword [ebp - 0x12c], xmm0
cvtss2sd xmm0, dword [ebp - 0x60]
movsd xmm1, qword [ebp + 0x20]
subsd xmm1, qword [ebp - 0x12c]
mulsd xmm1, xmm0
addsd xmm1, qword [ebp - 0x12c]
movsd qword [ebp - 0x58], xmm1
jmp 0x102a95d2
movzx eax, byte [ebp - 0xd]
test eax, eax
je 0x102a956a
cvtss2sd xmm0, dword [ebp - 0x4c]
movsd xmm1, qword [ebp + 0x20]
subsd xmm1, qword [ebp + 0x18]
mulsd xmm1, xmm0
addsd xmm1, qword [ebp + 0x18]
movsd qword [ebp - 0x58], xmm1
jmp 0x102a95d2
movsd xmm0, qword [ebp + 0x20]
subsd xmm0, qword [ebp + 0x18]
cvtss2sd xmm1, dword [ebp - 0x4c]
mulsd xmm0, xmm1
movsd qword [ebp - 0x68], xmm0
movsd xmm0, qword [ebp - 0x68]
movsd qword [ebp - 0x70], xmm0
movsd xmm0, qword [ebp - 0x68]
addsd xmm0, qword [0x104460f0]
movsd qword [ebp - 0x78], xmm0
movzx eax, byte [ebp - 0xd]
test eax, eax
jne 0x102a95c3
movsd xmm0, qword [ebp - 0x78]
comisd xmm0, xmmword [ebp - 0x70]
jbe 0x102a95c3
movsd xmm0, qword [ebp + 0x18]
addsd xmm0, qword [ebp - 0x78]
movsd qword [ebp - 0x58], xmm0
jmp 0x102a95d2
movsd xmm0, qword [ebp + 0x18]
addsd xmm0, qword [ebp - 0x70]
movsd qword [ebp - 0x58], xmm0
sub esp, 8
movsd xmm0, qword [ebp - 0x58]
movsd qword [esp], xmm0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0x28]
push ecx
call fcn.1015f5a7
add esp, 0x10
fstp qword [ebp - 0x58]
mov eax, dword [ebp + 0x14]
movsd xmm0, qword [eax]
ucomisd xmm0, qword [ebp - 0x58]
lahf
test ah, 0x44
jnp 0x102a9614
mov eax, dword [ebp + 0x14]
movsd xmm0, qword [ebp - 0x58]
movsd qword [eax], xmm0
mov byte [ebp - 0x45], 1
movsd xmm0, qword [ebp + 0x20]
subsd xmm0, qword [ebp + 0x18]
cvtsd2ss xmm0, xmm0
mov eax, dword [ebp + 0x14]
movsd xmm1, qword [eax]
subsd xmm1, qword [ebp + 0x18]
cvtsd2ss xmm1, xmm1
divss xmm1, xmm0
mulss xmm1, dword [0x1042d210]
movss dword [ebp - 0x98], xmm1
cvtss2sd xmm0, dword [ebp - 0x98]
sub esp, 8
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbased.dll_floor]
add esp, 8
fstp dword [ebp - 0x174]
fld dword [ebp - 0x174]
call fcn.1015e7ba
mov ecx, dword [ebp + 0x38]
mov dword [ecx], eax
push ecx
movss xmm0, dword [ebp - 0x34]
movss dword [esp], xmm0
push ecx
movss xmm0, dword [ebp + 0x2c]
movss dword [esp], xmm0
sub esp, 8
movsd xmm0, qword [ebp + 0x20]
movsd qword [esp], xmm0
sub esp, 8
movsd xmm0, qword [ebp + 0x18]
movsd qword [esp], xmm0
mov eax, dword [ebp + 0x14]
sub esp, 8
movsd xmm0, qword [eax]
movsd qword [esp], xmm0
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.10160114
add esp, 0x24
fstp dword [ebp - 0x7c]
cmp dword [ebp - 0xc], 1
jne 0x102a96db
movss xmm0, dword [0x1042d1f8]
subss xmm0, dword [ebp - 0x7c]
movss dword [ebp - 0x7c], xmm0
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [ebp - 0x2c]
mulss xmm0, dword [ebp - 0x7c]
addss xmm0, dword [ebp - 0x2c]
movss dword [ebp - 0x80], xmm0
cmp dword [ebp - 0xc], 0
jne 0x102a97d3
mov eax, dword [ebp + 8]
movss xmm0, dword [eax + 4]
addss xmm0, dword [0x1042d1fc]
movss dword [ebp - 0x9c], xmm0
mov ecx, dword [ebp + 8]
movss xmm0, dword [ecx + 0xc]
subss xmm0, dword [0x1042d1fc]
movss dword [ebp - 0xa0], xmm0
lea edx, [ebp - 0x13c]
mov dword [ebp - 0x164], edx
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1042d1ec]
movss xmm1, dword [ebp - 0x80]
subss xmm1, xmm0
mov eax, dword [ebp - 0x164]
movss dword [eax], xmm1
mov ecx, dword [ebp - 0x164]
movss xmm0, dword [ebp - 0x9c]
movss dword [ecx + 4], xmm0
lea edx, [ebp - 0x134]
mov dword [ebp - 0x16c], edx
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1042d1ec]
addss xmm0, dword [ebp - 0x80]
mov eax, dword [ebp - 0x16c]
movss dword [eax], xmm0
mov ecx, dword [ebp - 0x16c]
movss xmm0, dword [ebp - 0xa0]
movss dword [ecx + 4], xmm0
mov edx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x13c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x138]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x134]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x130]
mov dword [edx + 0xc], ecx
jmp 0x102a98a2
mov eax, dword [ebp + 8]
movss xmm0, dword [eax]
addss xmm0, dword [0x1042d1fc]
movss dword [ebp - 0xa4], xmm0
mov ecx, dword [ebp + 8]
movss xmm0, dword [ecx + 8]
subss xmm0, dword [0x1042d1fc]
movss dword [ebp - 0xa8], xmm0
lea edx, [ebp - 0x14c]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x168]
movss xmm0, dword [ebp - 0xa4]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1042d1ec]
movss xmm1, dword [ebp - 0x80]
subss xmm1, xmm0
mov ecx, dword [ebp - 0x168]
movss dword [ecx + 4], xmm1
lea edx, [ebp - 0x144]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x170]
movss xmm0, dword [ebp - 0xa8]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x1042d1ec]
addss xmm0, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x170]
movss dword [ecx + 4], xmm0
mov edx, dword [ebp + 0x34]
mov eax, dword [ebp - 0x14c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x148]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x144]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x140]
mov dword [edx + 0xc], ecx
mov al, byte [ebp - 0x45]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret