Function at 0x10087fd0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov edi, dword [0x101e0c0c]
mov ebx, ecx
mov dword [ebp - 0x18], edx
mov eax, dword [edi + 0x198c]
mov byte [eax + 0x7c], 1
mov esi, dword [edi + 0x198c]
cmp byte [esi + 0x7f], 0
jne 0x10088582
push ecx
push ebx
mov ecx, esi
call fcn.10065a90
mov dword [ebp - 0x1c], eax
mov ecx, ebx
mov eax, dword [0x101e0c0c]
cmp ebx, 0xffffffff
jae 0x1008802c
mov dl, byte [ecx]
test dl, dl
je 0x1008802c
cmp dl, 0x23
jne 0x10088026
cmp byte [ecx + 1], dl
je 0x1008802c
inc ecx
cmp ecx, 0xffffffff
jb 0x10088016
movss xmm5, dword [eax + 0x18ac]
xorps xmm0, xmm0
cmp ebx, ecx
jne 0x10088040
xorps xmm2, xmm2
jmp 0x1008807d
push ecx
push ecx
push ebx
push ecx
lea ecx, [ebp - 0x24]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x18a8]
movaps xmm2, xmm5
call fcn.10080e40
movss xmm0, dword [ebp - 0x24]
addss xmm0, dword [0x10162720]
movss xmm5, dword [ebp - 0x20]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm0
movss xmm4, dword [esi + 0xc8]
movss xmm3, dword [esi + 0xcc]
movss dword [ebp - 8], xmm4
movss dword [ebp - 0xc], xmm3
jbe 0x100880a6
addss xmm2, dword [edi + 0x154c]
jmp 0x100880a9
xorps xmm2, xmm2
movaps xmm1, xmm3
movss dword [ebp - 0x3c], xmm4
addss xmm1, xmm5
movss dword [ebp - 0x38], xmm3
movaps xmm0, xmm4
movss dword [ebp - 0x24], xmm2
addss xmm0, xmm2
lea ecx, [ebp - 0x24]
movss dword [ebp - 0x30], xmm1
subss xmm1, xmm3
movss dword [ebp - 0x34], xmm0
movss dword [ebp - 0x20], xmm1
movss xmm1, dword [edi + 0x1538]
call fcn.10065e10
mov edx, dword [ebp - 0x1c]
lea ecx, [ebp - 0x3c]
push 0
call fcn.10065f40
add esp, 4
test al, al
je 0x10088582
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 2]
push 0
push eax
lea eax, [ebp - 1]
push eax
lea ecx, [ebp - 0x3c]
call fcn.100857c0
add esp, 0xc
mov byte [ebp - 2], al
test al, al
je 0x10088164
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0
sete cl
mov byte [eax], cl
mov eax, dword [0x101e0c0c]
mov ecx, dword [eax + 0x19ac]
cmp ecx, dword [ebp - 0x1c]
je 0x10088150
test ecx, ecx
je 0x10088150
cmp byte [eax + 0x1c68], 0
jne 0x10088150
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov byte [eax + 0x19bf], 1
mov eax, dword [eax + 0x198c]
or dword [eax + 0x110], 4
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x274]
mov dword [ebp - 0x20], ecx
cmp byte [eax], 0
je 0x1008829a
lea eax, [ebp - 0x4c]
push eax
call fcn.10052320
movss xmm1, dword [0x10162728]
mov ecx, eax
xorps xmm0, xmm0
movss xmm2, dword [ecx]
comiss xmm0, xmm2
jbe 0x1008819d
xorps xmm2, xmm2
jmp 0x100881a1
minss xmm2, xmm1
movss xmm3, dword [0x10162960]
movss xmm4, dword [0x101626c8]
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si edx, xmm2
movss xmm2, dword [ecx + 4]
comiss xmm0, xmm2
jbe 0x100881cc
xorps xmm2, xmm2
jmp 0x100881d0
minss xmm2, xmm1
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
movss xmm2, dword [ecx + 8]
shl eax, 8
or edx, eax
comiss xmm0, xmm2
jbe 0x100881f0
xorps xmm2, xmm2
jmp 0x100881f4
minss xmm2, xmm1
mulss xmm2, xmm3
addss xmm2, xmm4
cvttss2si eax, xmm2
movss xmm2, dword [ecx + 0xc]
shl eax, 0x10
or edx, eax
comiss xmm0, xmm2
jbe 0x10088214
xorps xmm2, xmm2
jmp 0x10088218
minss xmm2, xmm1
movss xmm0, dword [ebp - 8]
addss xmm0, dword [0x101627c4]
movss xmm1, dword [ebp - 8]
movss xmm6, dword [ebp - 0xc]
addss xmm1, dword [0x10162838]
addss xmm6, dword [0x10162838]
mulss xmm2, xmm3
push 0xf
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0xc]
addss xmm2, xmm4
addss xmm0, dword [0x101627c4]
push ecx
mov ecx, dword [ebp - 0x20]
mov dword [esp], 0
cvttss2si eax, xmm2
movss dword [ebp - 0x10], xmm1
shl eax, 0x18
or eax, edx
movss dword [ebp - 0x2c], xmm1
push eax
lea eax, [ebp - 0x2c]
movss dword [ebp - 0x14], xmm6
push eax
movss dword [ebp - 0x28], xmm6
lea eax, [ebp - 0x34]
movss dword [ebp - 0x30], xmm0
jmp 0x1008836e
cmp byte [ebp - 1], 0
xorps xmm0, xmm0
movss xmm1, dword [edi + 0x1500]
je 0x100882db
comiss xmm0, xmm1
jbe 0x100882b5
xorps xmm1, xmm1
jmp 0x100882bd
minss xmm1, dword [0x10162728]
mulss xmm1, dword [0x10162960]
addss xmm1, dword [0x101626c8]
cvttss2si eax, xmm1
shl eax, 0x18
or eax, 0x4b4b4b
jmp 0x10088309
comiss xmm0, xmm1
jbe 0x100882e5
xorps xmm1, xmm1
jmp 0x100882ed
minss xmm1, dword [0x10162728]
mulss xmm1, dword [0x10162960]
addss xmm1, dword [0x101626c8]
cvttss2si eax, xmm1
shl eax, 0x18
or eax, 0x414141
movss xmm2, dword [ebp - 8]
movaps xmm0, xmm2
addss xmm0, dword [0x101627c4]
addss xmm2, dword [0x10162838]
push 0xf
push ecx
mov dword [esp], 0
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0xc]
movaps xmm4, xmm0
movss dword [ebp - 0x34], xmm2
addss xmm4, dword [0x10162838]
addss xmm0, dword [0x101627c4]
push eax
lea eax, [ebp - 0x34]
movss dword [ebp - 0x10], xmm2
push eax
lea eax, [ebp - 0x2c]
movss dword [ebp - 0x30], xmm4
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x14], xmm4
push eax
movss dword [ebp - 0x1c], xmm0
call fcn.1007d7d0
movss xmm1, dword [edi + 0x1500]
xorps xmm0, xmm0
minss xmm1, dword [0x101626bc]
comiss xmm0, xmm1
movss xmm0, dword [0x10162960]
jbe 0x100883a0
xorps xmm2, xmm2
xor eax, eax
jmp 0x100883c6
movaps xmm2, xmm1
minss xmm1, dword [0x10162728]
minss xmm2, dword [0x10162728]
mulss xmm1, xmm0
addss xmm1, dword [0x101626c8]
cvttss2si eax, xmm1
shl eax, 0x18
movss xmm1, dword [ebp - 0x10]
mulss xmm2, xmm0
mov ecx, dword [esi + 0x274]
push eax
movss dword [ebp - 0x34], xmm1
addss xmm2, dword [0x101626c8]
movss xmm1, dword [ebp - 0x14]
movss dword [ebp - 0x30], xmm1
movss xmm1, dword [ebp - 0x18]
movss dword [ebp - 0x2c], xmm1
movss xmm1, dword [ebp - 0x1c]
cvttss2si eax, xmm2
movss dword [ebp - 0x28], xmm1
shl eax, 0x18
push eax
push 0
push 0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1007d930
movss xmm1, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1008842f
xorps xmm1, xmm1
jmp 0x10088437
minss xmm1, dword [0x10162728]
mulss xmm1, dword [0x10162960]
push ecx
movss xmm0, dword [ebp - 0x10]
mov dword [esp], 0x3f800000
addss xmm1, dword [0x101626c8]
push 0xf
push ecx
mov ecx, dword [esi + 0x274]
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0x14]
cvttss2si eax, xmm1
mov dword [esp], 0
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [ebp - 0x18]
shl eax, 0x18
or eax, 0xc0c0c
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x34]
movss dword [ebp - 0x28], xmm0
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.1007d6f0
movss xmm1, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x100884b6
xorps xmm1, xmm1
jmp 0x100884be
minss xmm1, dword [0x10162728]
mulss xmm1, dword [0x10162960]
push ecx
movss xmm0, dword [ebp - 8]
addss xmm0, dword [0x1016284c]
addss xmm1, dword [0x101626c8]
mov ecx, dword [esi + 0x274]
push ebx
movss dword [ebp - 0x34], xmm0
movss xmm0, dword [ebp - 0xc]
subss xmm0, dword [0x10162728]
cvttss2si eax, xmm1
movss dword [ebp - 0x30], xmm0
shl eax, 0x18
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.1007de00
movss xmm1, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10088526
minss xmm1, dword [0x10162728]
movaps xmm0, xmm1
mulss xmm0, dword [0x10162960]
push ecx
movss xmm1, dword [ebp - 8]
addss xmm1, dword [0x10162848]
addss xmm0, dword [0x101626c8]
mov ecx, dword [esi + 0x274]
push ebx
movss dword [ebp - 0x34], xmm1
movss xmm1, dword [ebp - 0xc]
subss xmm1, dword [0x101627c4]
cvttss2si eax, xmm0
movss dword [ebp - 0x30], xmm1
shl eax, 0x18
or eax, 0xcdcdcd
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.1007de00
mov al, byte [ebp - 2]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret