Function at 0x1005a1a0
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x70
mov eax, dword [0x1025ad40]
xor eax, esp
mov dword [esp + 0x6c], eax
mov ebp, dword [0x1025afd0]
mov eax, dword [ebp + 0x19e4]
mov byte [eax + 0x7c], 1
mov edi, dword [ebp + 0x19e4]
mov esi, dword [edi + 0x1bc]
test esi, esi
je 0x1005a7b3
mov byte [edi + 0x7c], 1
mov eax, dword [ebp + 0x19e4]
mov ecx, dword [eax + 0x180]
test ecx, ecx
jle 0x1005a7b3
mov edx, ecx
dec edx
mov dword [eax + 0x180], edx
mov dword [esp], esi
je 0x1005a20a
mov edx, dword [eax + 0x188]
lea ecx, [edx + ecx*4]
add ecx, 0xfffffff8
jmp 0x1005a210
lea ecx, [eax + 0x220]
movss xmm0, dword [ecx]
movss dword [eax + 0x16c], xmm0
mov eax, dword [ebp + 0x19e4]
mov byte [eax + 0x7c], 1
mov esi, dword [ebp + 0x19e4]
mov ecx, dword [esi + 0x274]
call fcn.1005ff50
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + 0x3c]
test eax, eax
jle 0x1005a7b3
mov ecx, dword [ecx + 0x44]
shl eax, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [esi + 0x1cc], xmm0
mov ecx, dword [edi + 0x274]
call fcn.10060020
movss xmm0, dword [edi + 0xcc]
mov esi, dword [esp]
movss xmm1, dword [esi + 0x20]
movaps xmm3, xmm0
cmpless xmm3, xmm1
andps xmm1, xmm3
andnps xmm3, xmm0
orps xmm3, xmm1
movss dword [esi + 0x20], xmm3
movss dword [edi + 0xcc], xmm3
mov eax, dword [esi + 4]
test al, 0x10
jne 0x1005a2aa
movss xmm0, dword [esi + 0x28]
movss dword [edi + 0xe0], xmm0
mov eax, dword [esi + 4]
test al, 1
jne 0x1005a2b4
cmp byte [edi + 0x7f], 0
je 0x1005a303
xor ebx, ebx
mov byte [esi + 9], bl
mov dword [edi + 0x1bc], 0
mov dword [edi + 0x1b8], 0
movss xmm0, dword [edi + 0xc]
addss xmm0, dword [edi + 0x1b0]
xorps xmm1, xmm1
addss xmm1, xmm0
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
movss dword [edi + 0xc8], xmm0
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.10157981
add esp, 0x70
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
cmp dword [esi + 0x10], 2
jl 0x1005a2b6
mov dword [esp + 0x10], ebp
movss xmm0, dword [esi + 0x24]
movss xmm1, dword [0x101a8280]
movss dword [esp + 0xc], xmm0
addss xmm1, xmm0
movups xmmword [esp + 0x38], xmm1
mov ebp, 1
mov dword [esp + 4], 0xffffffff
mov eax, dword [0x1025afd0]
movups xmmword [esp + 0x18], xmm3
mov dword [esp + 8], edi
jmp 0x1005a4ca
mov al, 1
mov ecx, 0x1e
test al, al
mov eax, 0x20
cmove ecx, eax
mov edi, dword [0x1025afd0]
shl ecx, 4
movss xmm2, dword [edi + ecx + 0x15ac]
movss xmm0, dword [edi + ecx + 0x15b0]
movss xmm4, dword [0x101a8280]
movaps xmm1, xmm4
minss xmm1, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm1
movss xmm1, dword [edi + ecx + 0x15b8]
mulss xmm1, dword [edi + 0x1500]
movss xmm6, dword [0x101a8294]
mulss xmm2, xmm6
movss xmm7, dword [0x101a82c0]
addss xmm2, xmm7
cvttss2si eax, xmm2
mov dword [esp + 0x14], eax
movaps xmm2, xmm4
minss xmm2, xmm0
cmpltss xmm0, xmm5
andnps xmm0, xmm2
mulss xmm0, xmm6
addss xmm0, xmm7
cvttss2si edx, xmm0
movss xmm0, dword [edi + ecx + 0x15b4]
unpcklps xmm0, xmm1
movaps xmm1, xmmword [0x101a9790]
minps xmm1, xmm0
cmpnltps xmm0, xmmword [0x101a7130]
andps xmm0, xmm1
mulps xmm0, xmmword [0x101a97a0]
addps xmm0, xmmword [0x101a9710]
cvttps2dq xmm0, xmm0
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd edi, xmm0
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
movups xmm0, xmmword [esp + 0x28]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm3
mov eax, dword [esp + 8]
minss xmm1, dword [eax + 0x1d8]
mov ecx, dword [eax + 0x274]
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x54], xmm1
movss xmm1, dword [eax + 0x1d0]
movaps xmm2, xmm1
movups xmm4, xmmword [esp + 0x38]
cmpless xmm2, xmm4
movaps xmm3, xmm2
andnps xmm2, xmm1
andps xmm3, xmm4
orps xmm2, xmm3
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm2
shl edx, 8
or edx, dword [esp + 0x14]
or edi, edx
or esi, edi
push 0x3f800000
push esi
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10061cd0
movups xmm3, xmmword [esp + 0x18]
mov eax, dword [0x1025afd0]
mov esi, dword [esp]
inc ebp
mov ecx, dword [esi + 0x10]
add ebx, 0x1c
cmp ebp, ecx
mov edi, dword [esp + 8]
jge 0x1005a675
mov edx, dword [eax + 0x19e4]
mov ecx, dword [edx + 0x1bc]
test ecx, ecx
je 0x1005a7b3
cmp ebp, dword [ecx + 0x2c]
jge 0x1005a7b3
mov esi, dword [ecx + 0x34]
movss xmm0, dword [ecx + 0x14]
movss xmm4, dword [ecx + 0x18]
subss xmm4, xmm0
mulss xmm4, dword [esi + ebx + 0x1c]
addss xmm4, xmm0
addss xmm4, dword [edi + 0xc]
mov esi, dword [esp]
mov ecx, dword [esi]
add ecx, ebp
movaps xmm1, xmm4
addss xmm1, dword [0x101a98f4]
movaps xmm0, xmm4
addss xmm0, dword [0x101a9d90]
movss dword [esp + 0x5c], xmm0
movss xmm2, dword [esp + 0xc]
movss dword [esp + 0x60], xmm2
movss dword [esp + 0x64], xmm1
movss dword [esp + 0x68], xmm3
mov edi, dword [eax + 0x1a04]
cmp ecx, edi
je 0x1005a570
cmp ecx, dword [eax + 0x1a08]
jne 0x1005a57e
mov byte [eax + 0x1a18], 1
ucomiss xmm3, dword [edx + 0x1d0]
jbe 0x1005a5c0
jmp 0x1005a587
mov dword [eax + 0x1a0c], ecx
cmp ecx, dword [eax + 0x1a08]
je 0x1005a554
ucomiss xmm3, dword [edx + 0x1d0]
jbe 0x1005a5c0
movss xmm2, dword [edx + 0x1d8]
ucomiss xmm2, dword [esp + 0xc]
jbe 0x1005a5c0
ucomiss xmm1, dword [edx + 0x1cc]
jbe 0x1005a5c0
cmp ecx, edi
setne byte [esp + 0x28]
movss xmm1, dword [edx + 0x1d4]
test ecx, ecx
sete dl
ucomiss xmm1, xmm0
ja 0x1005a5d5
or dl, byte [esp + 0x28]
jne 0x1005a5c8
jmp 0x1005a5d5
test ecx, ecx
je 0x1005a5c8
cmp ecx, edi
je 0x1005a5d5
cmp byte [eax + 0x2cbc], 0
je 0x1005a4b7
movups xmmword [esp + 0x28], xmm4
mov byte [esp + 0x5b], 0
mov byte [esp + 0x5a], 0
test byte [esi + 4], 2
jne 0x1005a350
push 0
lea eax, [esp + 0x5e]
push eax
lea eax, [esp + 0x63]
push eax
push ecx
lea eax, [esp + 0x6c]
push eax
call fcn.10072260
add esp, 0x14
movzx edx, byte [esp + 0x5b]
movzx ecx, byte [esp + 0x5a]
test cl, cl
sete al
mov ah, dl
or ah, cl
jne 0x1005a630
mov al, 1
movups xmm3, xmmword [esp + 0x18]
jmp 0x1005a352
mov edi, dword [esp + 0x10]
mov dword [edi + 0x1cbc], 4
test cl, cl
movups xmm3, xmmword [esp + 0x18]
je 0x1005a663
cmp dword [esi + 0x2c], ebp
jle 0x1005a7b3
mov ecx, dword [esi + 0x34]
test byte [ecx + ebx + 0x24], 2
mov ecx, dword [esp + 4]
cmove ecx, ebp
mov dword [esp + 4], ecx
mov ecx, 0x1f
test dl, dl
jne 0x1005a357
jmp 0x1005a352
mov ebp, dword [esp + 4]
cmp ebp, 0xffffffff
je 0x1005a2b4
cmp byte [esi + 9], 0
jne 0x1005a6c0
test ecx, ecx
js 0x1005a6c0
mov eax, 0xffffffff
mov ecx, 4
nop word cs:[eax + eax]
inc eax
cmp dword [esi + 0x2c], eax
jle 0x1005a7b3
mov edx, dword [esi + 0x34]
movss xmm0, dword [edx + ecx - 4]
movss dword [edx + ecx], xmm0
add ecx, 0x1c
cmp eax, dword [esi + 0x10]
jl 0x1005a6a0
mov byte [esi + 9], 1
test ebp, ebp
jle 0x1005a7b3
mov edx, dword [0x1025afd0]
mov eax, dword [esi]
add eax, ebp
cmp dword [edx + 0x1a04], eax
jne 0x1005a7b3
mov ecx, dword [edx + 0x19e4]
mov esi, dword [ecx + 0x1bc]
test esi, esi
je 0x1005a7b3
mov eax, dword [esi + 0x2c]
cmp eax, ebp
jl 0x1005a7b3
movss xmm4, dword [edx + 0xe0]
subss xmm4, dword [edx + 0x1a24]
addss xmm4, dword [0x101a98f4]
subss xmm4, dword [ecx + 0xc]
lea edi, [ebp - 1]
mov ecx, dword [esi + 0x34]
lea ebx, [edi + edi*8]
lea ebx, [ebx + ebx*2]
add ebx, edi
movss xmm1, dword [esi + 0x14]
movss xmm0, dword [esi + 0x18]
subss xmm0, xmm1
movss xmm5, dword [ecx + ebx]
mulss xmm5, xmm0
addss xmm5, xmm1
movss xmm3, dword [edx + 0x1564]
addss xmm5, xmm3
movaps xmm2, xmm5
cmpless xmm2, xmm4
movaps xmm6, xmm2
andnps xmm6, xmm5
andps xmm2, xmm4
orps xmm2, xmm6
mov esi, dword [esp]
test byte [esi + 4], 4
mov edi, dword [esp + 8]
je 0x1005a794
lea edx, [ebp + 1]
cmp edx, eax
jge 0x1005a7b3
lea eax, [edx + edx*8]
lea eax, [eax + eax*2]
add eax, edx
mulss xmm0, dword [ecx + eax]
addss xmm0, xmm1
subss xmm0, xmm3
minss xmm2, xmm0
cmp ebp, 0xffffffff
setne bl
sub esp, 8
movss dword [esp + 4], xmm2
mov dword [esp], ebp
call fcn.1005d060
add esp, 8
jmp 0x1005a2b6
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3