Function at 0x10058a50
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x114
mov dword [esp + 8], edx
mov eax, dword [0x10259d1c]
xor eax, esp
mov dword [esp + 0x110], eax
mov edi, dword [0x10259f60]
mov ebp, dword [edi + 0x19e4]
mov ebx, dword [ebp + 8]
movss xmm1, dword [ebp + 0xcc]
movss xmm2, dword [ebp + 0x10]
movss xmm3, dword [ebp + 0xc8]
movss xmm4, dword [ebp + 0xc]
movss xmm0, dword [ebp + 0x218]
mov eax, dword [ebp + 0x1bc]
test eax, eax
movss dword [esp + 4], xmm1
movss dword [esp], xmm2
je 0x10058afd
mov dword [esp + 0xc], ecx
mov esi, dword [eax + 0xc]
xor edx, edx
cmp esi, 0xffffffff
setge dl
add edx, esi
cmp edx, dword [eax + 0x2c]
jge 0x10058db8
mov ecx, edi
mov esi, dword [eax + 0x34]
lea edi, [edx + edx*8]
lea edi, [edi + edi*2]
add edi, edx
movss xmm1, dword [eax + 0x14]
movss xmm6, dword [eax + 0x18]
subss xmm6, xmm1
mulss xmm6, dword [esi + edi]
addss xmm6, xmm1
subss xmm6, dword [ebp + 0x3c]
mov edi, ecx
mov ecx, dword [esp + 0xc]
jmp 0x10058b09
movss xmm6, dword [ebp + 0x214]
subss xmm6, xmm4
mov eax, dword [esp + 0x128]
and ebx, 4
movsd xmm1, qword [eax]
cvttps2dq xmm1, xmm1
pshufd xmm2, xmm1, 0x55
movd eax, xmm2
cvtdq2ps xmm5, xmm2
movd edx, xmm1
cvtdq2ps xmm7, xmm1
pshufd xmm2, xmm1, 0x50
pxor xmm1, xmm1
test edx, edx
jg 0x10058b52
subss xmm3, xmm4
subss xmm6, xmm3
addss xmm6, xmm7
maxss xmm6, dword [0x101a88f4]
movaps xmm7, xmm6
or ebx, dword [esp + 0x130]
pcmpeqd xmm2, xmm1
test eax, eax
jg 0x10058b87
movss xmm3, dword [esp]
subss xmm0, xmm3
movss xmm1, dword [esp + 4]
subss xmm1, xmm3
subss xmm0, xmm1
addss xmm0, xmm5
maxss xmm0, dword [0x101a88f4]
movaps xmm5, xmm0
or ebx, 0x1000103
movmskpd esi, xmm2
movss dword [edi + 0x1ab4], xmm7
movss dword [edi + 0x1ab8], xmm5
mov dword [edi + 0x1a8c], 1
lea eax, [esp + 0x10]
push ecx
push 0x101ed5bd
push 0x100
push eax
call fcn.100485e0
add esp, 0x10
movss xmm0, dword [edi + 0x152c]
movss dword [esp], xmm0
cmp byte [esp + 0x12c], 0
jne 0x10058be4
mov dword [edi + 0x152c], 0
push ebx
push 0
lea eax, [esp + 0x18]
push eax
call fcn.10051550
add esp, 0xc
mov byte [esp + 4], al
movss xmm0, dword [esp]
movss dword [edi + 0x152c], xmm0
mov ebx, dword [edi + 0x19e4]
mov eax, dword [esp + 8]
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x9c], esi
cmp word [ebx + 0x84], 1
jne 0x10058c2f
movsd xmm0, qword [ebx + 0xc]
movsd qword [ebp + 0xc8], xmm0
mov ecx, dword [esp + 0x130]
test ecx, 0x20000000
jne 0x10058c54
movsd xmm0, qword [ebx + 0xc8]
addps xmm0, xmmword [0x101a8d20]
movlps qword [ebx + 0xc8], xmm0
test ecx, 0x800000
jne 0x10058d9a
cmp dword [edi + 0x1afc], eax
jne 0x10058d9a
cmp dword [ebx + 0x13c], 0
jne 0x10058c82
cmp byte [ebx + 0x145], 0
je 0x10058d9a
push ebx
call fcn.1004d770
add esp, 4
push 0
push ebx
call fcn.10059f80
mov edx, dword [esp + 0x10]
add esp, 8
inc edx
mov eax, dword [0x10259f60]
cmp dword [eax + 0x1a04], edx
setne byte [eax + 0x1a14]
je 0x10058d03
mov dword [eax + 0x1a10], 0
mov word [eax + 0x1a16], 0
test edx, edx
je 0x10058d65
mov dword [eax + 0x1a38], edx
mov dword [eax + 0x1a3c], 0
mov dword [eax + 0x1a04], edx
mov dword [eax + 0x1a1c], 0
mov dword [eax + 0x1a20], 0
mov byte [eax + 0x1a15], 0
mov dword [eax + 0x1a2c], ebx
jmp 0x10058d2e
mov dword [eax + 0x1a04], edx
mov dword [eax + 0x1a1c], 0
mov dword [eax + 0x1a20], 0
mov byte [eax + 0x1a15], 0
mov dword [eax + 0x1a2c], ebx
test edx, edx
je 0x10058d90
mov dword [eax + 0x1a0c], edx
mov ecx, 2
cmp dword [eax + 0x1afc], edx
je 0x10058d5d
cmp dword [eax + 0x1b08], edx
je 0x10058d5d
cmp dword [eax + 0x1b0c], edx
je 0x10058d5d
xor ecx, ecx
cmp dword [eax + 0x1b10], edx
sete cl
inc ecx
mov dword [eax + 0x1a34], ecx
jmp 0x10058d90
mov dword [eax + 0x1a04], 0
mov dword [eax + 0x1a1c], 0
mov dword [eax + 0x1a20], 0
mov byte [eax + 0x1a15], 0
mov dword [eax + 0x1a2c], ebx
mov dword [edi + 0x1a34], 2
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.10155bf1
movzx eax, byte [esp + 4]
add esp, 0x114
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]