Function at 0x100868d0
Capabilities:
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x58
mov dword [ebp - 0xc], edx
mov edx, dword [0x101e0c0c]
push esi
push edi
mov dword [ebp - 0x1c], ecx
mov eax, dword [edx + 0x198c]
mov dword [ebp - 8], edx
mov byte [eax + 0x7c], 1
mov edi, dword [edx + 0x198c]
cmp byte [edi + 0x7f], 0
jne 0x10086ee9
push ecx
push ecx
mov ecx, edi
call fcn.10065a90
mov esi, dword [0x101e0c0c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10086946
mov dl, byte [ecx]
test dl, dl
je 0x10086946
cmp dl, 0x23
jne 0x10086940
cmp byte [ecx + 1], dl
je 0x10086946
inc ecx
cmp ecx, 0xffffffff
jb 0x10086930
movss xmm2, dword [esi + 0x18ac]
movss dword [ebp - 0x18], xmm2
cmp eax, ecx
jne 0x10086961
xorps xmm2, xmm2
movss dword [ebp - 0x14], xmm2
jmp 0x100869a2
push ecx
push ecx
push eax
push ecx
mov ecx, dword [esi + 0x18a8]
lea eax, [ebp - 0x28]
mov dword [esp], 0xbf800000
push eax
call fcn.10080e40
movss xmm0, dword [ebp - 0x28]
addss xmm0, dword [0x10162720]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [ebp - 0x24]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [edi + 0xc8]
addss xmm0, dword [0x10162850]
movss xmm1, dword [0x101628a0]
movss dword [ebp - 0x20], xmm0
movss xmm0, dword [edi + 0xcc]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [edi + 0x14]
subss xmm0, dword [0x101628cc]
comiss xmm1, xmm0
ja 0x100869e9
minss xmm0, dword [0x10162954]
movaps xmm1, xmm0
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x10]
movss xmm2, dword [0x10162874]
push dword [eax + 4]
push dword [eax]
call fcn.10066430
movss xmm2, dword [ebp - 0x20]
lea ecx, [ebp - 0x10]
movss xmm3, dword [ebp - 0x24]
movaps xmm1, xmm2
addss xmm1, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
addss xmm0, xmm3
movss dword [ebp - 0x50], xmm2
movss dword [ebp - 0x4c], xmm3
movss dword [ebp - 0x48], xmm1
movss xmm1, dword [eax + 0x1538]
movss dword [ebp - 0x44], xmm0
call fcn.10065e10
mov esi, dword [ebp - 0x34]
lea ecx, [ebp - 0x50]
push 0
mov edx, esi
call fcn.10065f40
add esp, 0xc
test al, al
je 0x10086ee9
mov eax, dword [edi + 0x168]
lea ecx, [ebp - 0x50]
shr eax, 1
mov edx, esi
and eax, 1
push eax
lea eax, [ebp - 1]
push eax
lea eax, [ebp - 2]
push eax
call fcn.100857c0
add esp, 0xc
mov byte [ebp - 2], al
test al, al
je 0x10086ab9
mov eax, dword [0x101e0c0c]
mov ecx, dword [eax + 0x19ac]
cmp ecx, esi
je 0x10086aa5
test ecx, ecx
je 0x10086aa5
cmp byte [eax + 0x1c68], 0
je 0x10086ee1
mov byte [eax + 0x19bf], 1
mov eax, dword [eax + 0x198c]
or dword [eax + 0x110], 4
cmp byte [ebp - 1], 0
xorps xmm0, xmm0
mov eax, dword [ebp - 8]
movss xmm4, dword [0x101626c8]
movss xmm5, dword [0x10162960]
movss xmm1, dword [eax + 0x1500]
je 0x10086b70
comiss xmm0, xmm1
jbe 0x10086af7
mov ecx, 0x222222
xorps xmm3, xmm3
mov eax, 0x1a1a1a
mov edx, ecx
jmp 0x10086b56
movss xmm2, dword [0x10162728]
movaps xmm0, xmm1
minss xmm0, xmm2
movaps xmm3, xmm1
minss xmm3, xmm2
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
movaps xmm0, xmm1
minss xmm1, xmm2
minss xmm0, xmm2
shl eax, 0x18
or eax, 0x1a1a1a
mulss xmm1, xmm5
mulss xmm0, xmm5
addss xmm1, xmm4
addss xmm0, xmm4
cvttss2si edx, xmm1
cvttss2si ecx, xmm0
shl edx, 0x18
shl ecx, 0x18
or ecx, 0x222222
or edx, 0x222222
mulss xmm3, xmm5
addss xmm3, xmm4
cvttss2si esi, xmm3
shl esi, 0x18
or esi, 0x1a1a1a
jmp 0x10086bfa
comiss xmm0, xmm1
jbe 0x10086b86
mov ecx, 0x1a1a1a
xorps xmm3, xmm3
mov eax, 0x222222
mov edx, ecx
jmp 0x10086be5
movss xmm2, dword [0x10162728]
movaps xmm0, xmm1
minss xmm0, xmm2
movaps xmm3, xmm1
minss xmm3, xmm2
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
movaps xmm0, xmm1
minss xmm1, xmm2
minss xmm0, xmm2
shl eax, 0x18
or eax, 0x222222
mulss xmm1, xmm5
mulss xmm0, xmm5
addss xmm1, xmm4
addss xmm0, xmm4
cvttss2si edx, xmm1
cvttss2si ecx, xmm0
shl edx, 0x18
shl ecx, 0x18
or ecx, 0x1a1a1a
or edx, 0x1a1a1a
mulss xmm3, xmm5
addss xmm3, xmm4
cvttss2si esi, xmm3
shl esi, 0x18
or esi, 0x222222
push edx
push ecx
mov ecx, dword [edi + 0x274]
push eax
push esi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.1007d930
mov esi, dword [ebp - 8]
xorps xmm0, xmm0
movss xmm1, dword [esi + 0x1500]
comiss xmm0, xmm1
jbe 0x10086c29
xorps xmm1, xmm1
jmp 0x10086c31
minss xmm1, dword [0x10162728]
mulss xmm1, dword [0x10162960]
push ecx
mov dword [esp], 0x3f800000
push 0xf
addss xmm1, dword [0x101626c8]
push ecx
mov ecx, dword [edi + 0x274]
mov dword [esp], 0
cvttss2si eax, xmm1
shl eax, 0x18
or eax, 0xc0c0c
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.1007d6f0
movss xmm2, dword [esi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm2
movss xmm1, dword [0x10162728]
jbe 0x10086c90
xorps xmm2, xmm2
jmp 0x10086c94
minss xmm2, xmm1
movss xmm0, dword [ebp - 0x48]
mulss xmm2, dword [0x10162960]
subss xmm0, xmm1
push ecx
mov dword [esp], 0x3f800000
push 0xf
addss xmm2, dword [0x101626c8]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x44]
subss xmm0, xmm1
push ecx
mov ecx, dword [edi + 0x274]
cvttss2si eax, xmm2
mov dword [esp], 0
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, xmm1
shl eax, 0x18
or eax, 0x323232
push eax
lea eax, [ebp - 0x38]
push eax
movss dword [ebp - 0x28], xmm0
lea eax, [ebp - 0x28]
movss xmm0, dword [ebp - 0x4c]
addss xmm0, xmm1
push eax
movss dword [ebp - 0x24], xmm0
call fcn.1007d6f0
mov ecx, dword [0x101e0c0c]
test ecx, ecx
je 0x10086ee1
mov ecx, dword [ecx + 0x94]
cmp dword [ecx + 0x34], 0
jle 0x10086ee1
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx]
call fcn.1006e2e0
mov eax, dword [edi + 0x274]
movaps xmm0, xmmword [ebp - 0x50]
lea esi, [eax + 0x3c]
mov edx, dword [esi]
mov dword [ebp - 0xc], eax
movaps xmmword [ebp - 0x40], xmm0
test edx, edx
je 0x10086db3
mov eax, dword [eax + 0x44]
mov ecx, edx
add ecx, ecx
movups xmm1, xmmword [eax + ecx*8 - 0x10]
comiss xmm1, dword [ebp - 0x50]
movaps xmmword [ebp - 0x30], xmm1
jbe 0x10086d6d
movss dword [ebp - 0x40], xmm1
jmp 0x10086d72
movss xmm1, dword [ebp - 0x40]
movss xmm0, dword [ebp - 0x2c]
comiss xmm0, dword [ebp - 0x4c]
jbe 0x10086d84
movss dword [ebp - 0x3c], xmm0
jmp 0x10086d89
movss xmm0, dword [ebp - 0x3c]
movss xmm3, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x48]
comiss xmm2, xmm3
jbe 0x10086d9d
movss dword [ebp - 0x38], xmm3
movss xmm3, dword [ebp - 0x24]
movss xmm2, dword [ebp - 0x44]
comiss xmm2, xmm3
jbe 0x10086dbd
movss dword [ebp - 0x34], xmm3
jmp 0x10086dbd
movss xmm0, dword [ebp - 0x3c]
movss xmm1, dword [ebp - 0x40]
comiss xmm1, dword [ebp - 0x38]
jb 0x10086dc8
movss dword [ebp - 0x38], xmm1
comiss xmm0, dword [ebp - 0x34]
jb 0x10086dd3
movss dword [ebp - 0x34], xmm0
mov ecx, dword [esi + 4]
cmp edx, ecx
jne 0x10086e06
lea esi, [edx + 1]
test ecx, ecx
je 0x10086dec
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x10086df1
mov eax, 8
cmp eax, esi
cmovg esi, eax
push esi
mov esi, dword [ebp - 0xc]
add esi, 0x3c
mov ecx, esi
call fcn.10082300
mov edx, dword [esi]
mov eax, dword [esi + 8]
add edx, edx
movups xmm0, xmmword [ebp - 0x40]
mov ecx, dword [ebp - 0xc]
movups xmmword [eax + edx*8], xmm0
inc dword [esi]
call fcn.1007ba20
mov eax, dword [ebp - 8]
xorps xmm0, xmm0
movss xmm1, dword [eax + 0x1500]
comiss xmm0, xmm1
ja 0x10086e3b
minss xmm1, dword [0x10162728]
movaps xmm0, xmm1
movss xmm2, dword [ebp - 0x48]
subss xmm2, dword [ebp - 0x50]
movss xmm1, dword [0x101626c8]
movss xmm4, dword [ebp - 0x14]
mulss xmm0, dword [0x10162960]
push ecx
mulss xmm2, xmm1
mov ecx, dword [ebp - 0x1c]
mulss xmm4, xmm1
addss xmm0, xmm1
push ecx
mov ecx, dword [edi + 0x274]
subss xmm2, xmm4
movss xmm4, dword [ebp - 0x18]
mulss xmm4, xmm1
cvttss2si eax, xmm0
addss xmm2, dword [ebp - 0x50]
shl eax, 0x18
or eax, 0xcdcdcd
push eax
lea eax, [ebp - 0x38]
movss dword [ebp - 0x38], xmm2
movss xmm2, dword [ebp - 0x44]
subss xmm2, dword [ebp - 0x4c]
push eax
mulss xmm2, xmm1
subss xmm2, xmm4
addss xmm2, dword [ebp - 0x4c]
movss dword [ebp - 0x34], xmm2
call fcn.1007de00
mov ecx, dword [edi + 0x274]
mov eax, dword [ecx + 0x3c]
test eax, eax
jle 0x10086ee1
dec eax
mov dword [ecx + 0x3c], eax
call fcn.1007ba20
call fcn.1006e390
mov al, byte [ebp - 2]
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret