Function at 0x1006daf0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x10
push esi
push edi
mov edi, dword [0x101e0c0c]
mov eax, dword [edi + 0x1970]
cmp eax, 1
jg 0x1006db16
cmp byte [edi + 2], 0
jne 0x1006df81
test eax, eax
jle 0x1006df81
mov esi, dword [edi + 0x198c]
cmp dword [esi + 0x1bc], 0
je 0x1006db32
call fcn.10072c50
call fcn.10067d70
mov ecx, dword [esi + 8]
mov eax, ecx
and eax, 0x21000000
cmp eax, 0x1000000
jne 0x1006de7f
movss xmm3, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm3
movss xmm1, dword [0x10162728]
movss xmm5, dword [0x10162960]
movss xmm4, dword [0x101626c8]
jbe 0x1006db7e
mov eax, 0x181818
xorps xmm3, xmm3
jmp 0x1006db9d
movaps xmm0, xmm3
minss xmm3, xmm1
minss xmm0, xmm1
mulss xmm0, xmm5
addss xmm0, xmm4
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x181818
movss xmm0, dword [esi + 0x14]
subss xmm0, dword [0x10162820]
movss xmm2, dword [esi + 0xc]
movss xmm1, dword [esi + 0x10]
mov ecx, dword [esi + 0x274]
mulss xmm3, xmm5
push 0x181818
push 0x181818
push eax
addss xmm3, xmm4
addss xmm0, xmm2
addss xmm2, dword [0x101627c4]
cvttss2si eax, xmm3
movss dword [esp + 0x14], xmm0
movaps xmm0, xmm1
addss xmm0, dword [0x10162860]
addss xmm1, dword [0x101627c4]
shl eax, 0x18
or eax, 0x181818
movss dword [esp + 0x1c], xmm2
push eax
lea eax, [esp + 0x18]
movss dword [esp + 0x1c], xmm0
push eax
lea eax, [esp + 0x24]
movss dword [esp + 0x28], xmm1
push eax
call fcn.1007d930
movss xmm4, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm4
movss xmm5, dword [0x101626c8]
movss xmm6, dword [0x10162960]
jbe 0x1006dc4a
mov eax, 0x181818
xorps xmm4, xmm4
jmp 0x1006dc71
movaps xmm0, xmm4
minss xmm0, dword [0x10162728]
minss xmm4, dword [0x10162728]
mulss xmm0, xmm6
addss xmm0, xmm5
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x181818
movss xmm0, dword [esi + 0x14]
subss xmm0, dword [0x10162820]
movss xmm2, dword [esi + 0xc]
movss xmm3, dword [esi + 0x18]
mulss xmm4, xmm6
push eax
mov ecx, dword [esi + 0x274]
addss xmm0, xmm2
addss xmm2, dword [0x101627c4]
addss xmm4, xmm5
movss dword [esp + 0x14], xmm0
movaps xmm0, xmm3
subss xmm0, dword [0x10162728]
subss xmm3, dword [0x10162868]
cvttss2si eax, xmm4
addss xmm0, dword [esi + 0x10]
addss xmm3, dword [esi + 0x10]
shl eax, 0x18
or eax, 0x181818
movss dword [esp + 0xc], xmm2
push eax
push 0x181818
push 0x181818
lea eax, [esp + 0x20]
movss dword [esp + 0x24], xmm0
push eax
lea eax, [esp + 0x1c]
movss dword [esp + 0x20], xmm3
push eax
call fcn.1007d930
mov ecx, dword [0x101e0c0c]
test ecx, ecx
je 0x1006df81
mov ecx, dword [ecx + 0x94]
cmp dword [ecx + 0x34], 1
jle 0x1006df81
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 4]
call fcn.1006e2e0
mov ecx, dword [0x101e0c0c]
mov eax, dword [esi]
movss xmm3, dword [ecx + 0x18ac]
test eax, eax
je 0x1006dd81
push ecx
push 0
push eax
push ecx
mov ecx, dword [ecx + 0x18a8]
lea eax, [esp + 0x20]
mov dword [esp], 0xbf800000
movaps xmm2, xmm3
push eax
call fcn.10080e40
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [0x10162720]
movss xmm3, dword [esp + 0x14]
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, dword [esi]
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
movss xmm1, dword [edi + 0x1500]
xorps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x1006dd96
xorps xmm1, xmm1
jmp 0x1006dd9e
minss xmm1, dword [0x10162728]
mulss xmm1, dword [0x10162960]
push ecx
movss xmm0, dword [esi + 0xc]
addss xmm0, dword [0x10162848]
addss xmm1, dword [0x101626c8]
mulss xmm3, dword [0x101626c8]
mov ecx, dword [esi + 0x274]
push eax
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x101627c4]
cvttss2si eax, xmm1
subss xmm0, xmm3
movss dword [esp + 0x10], xmm3
shl eax, 0x18
push eax
lea eax, [esp + 0x1c]
push eax
addss xmm0, dword [esi + 0x10]
movss dword [esp + 0x24], xmm0
call fcn.1007de00
movss xmm0, dword [edi + 0x1500]
xorps xmm1, xmm1
comiss xmm1, xmm0
ja 0x1006de1b
minss xmm0, dword [0x10162728]
movaps xmm1, xmm0
mulss xmm1, dword [0x10162960]
push ecx
movss xmm0, dword [esi + 0xc]
addss xmm0, dword [0x10162844]
addss xmm1, dword [0x101626c8]
push dword [esi]
mov ecx, dword [esi + 0x274]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x10162728]
subss xmm0, dword [esp + 0x10]
cvttss2si eax, xmm1
addss xmm0, dword [esi + 0x10]
shl eax, 0x18
or eax, 0xcdcdcd
push eax
lea eax, [esp + 0x1c]
push eax
movss dword [esp + 0x24], xmm0
call fcn.1007de00
call fcn.1006e390
mov ecx, dword [esi + 8]
test ecx, 0x1000000
jne 0x1006de8c
call fcn.10073520
mov eax, dword [edi + 0x1970]
test eax, eax
jle 0x1006df81
dec eax
mov dword [edi + 0x1970], eax
test dword [esi + 8], 0x4000000
je 0x1006debf
mov eax, dword [edi + 0x1a24]
test eax, eax
jle 0x1006df81
dec eax
mov dword [edi + 0x1a24], eax
movsx eax, word [esi + 0x1a4]
lea ecx, [esi + 0x1a4]
mov edx, dword [0x101e0c0c]
cmp eax, dword [esi + 0x1c0]
jne 0x1006df81
movsx eax, word [ecx + 2]
cmp eax, dword [esi + 0x198]
jne 0x1006df81
movsx eax, word [ecx + 4]
cmp eax, dword [edx + 0x1a24]
jne 0x1006df81
movsx eax, word [ecx + 6]
cmp eax, dword [edx + 0x19f4]
jl 0x1006df81
movsx eax, word [ecx + 8]
cmp eax, dword [edx + 0x1a00]
jl 0x1006df81
movsx eax, word [ecx + 0xa]
add ecx, 0xa
cmp eax, dword [edx + 0x1a0c]
jl 0x1006df81
lea eax, [esi + 0x1ae]
cmp ecx, eax
jne 0x1006df81
mov ecx, dword [edi + 0x1970]
test ecx, ecx
jne 0x1006df45
mov dword [edx + 0x198c], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
jle 0x1006df81
mov eax, dword [edi + 0x1978]
mov eax, dword [eax + ecx*4 - 4]
mov dword [edx + 0x198c], eax
test eax, eax
je 0x1006df3f
movss xmm0, dword [eax + 0x26c]
mulss xmm0, dword [edx + 0x18b0]
pop edi
pop esi
movss dword [edx + 0x18c0], xmm0
movss dword [edx + 0x18ac], xmm0
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3