Function at 0x10058b20
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x114
mov dword [esp + 8], edx
mov eax, dword [0x1025ad40]
xor eax, esp
mov dword [esp + 0x110], eax
mov edi, dword [0x1025afd0]
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 0x10058bcd
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 0x10058e88
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 0x10058bd9
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 0x10058c22
subss xmm3, xmm4
subss xmm6, xmm3
addss xmm6, xmm7
maxss xmm6, dword [0x101a98f4]
movaps xmm7, xmm6
or ebx, dword [esp + 0x130]
pcmpeqd xmm2, xmm1
test eax, eax
jg 0x10058c57
movss xmm3, dword [esp]
subss xmm0, xmm3
movss xmm1, dword [esp + 4]
subss xmm1, xmm3
subss xmm0, xmm1
addss xmm0, xmm5
maxss xmm0, dword [0x101a98f4]
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 0x101ee92d
push 0x100
push eax
call fcn.100486b0
add esp, 0x10
movss xmm0, dword [edi + 0x152c]
movss dword [esp], xmm0
cmp byte [esp + 0x12c], 0
jne 0x10058cb4
mov dword [edi + 0x152c], 0
push ebx
push 0
lea eax, [esp + 0x18]
push eax
call fcn.10051620
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 0x10058cff
movsd xmm0, qword [ebx + 0xc]
movsd qword [ebp + 0xc8], xmm0
mov ecx, dword [esp + 0x130]
test ecx, 0x20000000
jne 0x10058d24
movsd xmm0, qword [ebx + 0xc8]
addps xmm0, xmmword [0x101a9d20]
movlps qword [ebx + 0xc8], xmm0
test ecx, 0x800000
jne 0x10058e6a
cmp dword [edi + 0x1afc], eax
jne 0x10058e6a
cmp dword [ebx + 0x13c], 0
jne 0x10058d52
cmp byte [ebx + 0x145], 0
je 0x10058e6a
push ebx
call fcn.1004d840
add esp, 4
push 0
push ebx
call fcn.1005a050
mov edx, dword [esp + 0x10]
add esp, 8
inc edx
mov eax, dword [0x1025afd0]
cmp dword [eax + 0x1a04], edx
setne byte [eax + 0x1a14]
je 0x10058dd3
mov dword [eax + 0x1a10], 0
mov word [eax + 0x1a16], 0
test edx, edx
je 0x10058e35
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 0x10058dfe
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 0x10058e60
mov dword [eax + 0x1a0c], edx
mov ecx, 2
cmp dword [eax + 0x1afc], edx
je 0x10058e2d
cmp dword [eax + 0x1b08], edx
je 0x10058e2d
cmp dword [eax + 0x1b0c], edx
je 0x10058e2d
xor ecx, ecx
cmp dword [eax + 0x1b10], edx
sete cl
inc ecx
mov dword [eax + 0x1a34], ecx
jmp 0x10058e60
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.10157981
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]