Function at 0x1004f030
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movss xmm0, dword [edx + 4]
movss xmm4, dword [edx + 8]
movss xmm3, dword [edx + 0xc]
movss xmm1, dword [edx]
push ebx
push esi
mov esi, dword [0x1017bfd8]
push edi
mov edi, ecx
mov dword [ebp - 4], edx
cmp byte [esi + 0x1b59], 0
subss xmm0, dword [edi + 0x10]
subss xmm4, dword [edi + 0xc]
subss xmm3, dword [edi + 0x10]
subss xmm1, dword [edi + 0xc]
mov ebx, dword [edi + 0x168]
movss dword [ebp - 0x10], xmm0
movss dword [ebp - 0xc], xmm4
movss dword [ebp - 8], xmm3
movss dword [ebp - 0x14], xmm1
movups xmm0, xmmword [ebp - 0x14]
je 0x1004f0f2
mov eax, dword [esi + 0x1b4c]
cmp eax, dword [edi + 0x134]
jne 0x1004f0f2
mov ecx, ebx
and ecx, 0x10
je 0x1004f0b0
cmp dword [esi + 0x1b5c], 0
jne 0x1004f0f2
mov eax, dword [ebp + 8]
mov dword [esi + 0x1b5c], eax
movups xmmword [esi + 0x1b60], xmm0
test ecx, ecx
jne 0x1004f0f5
mov byte [esi + 0x1b59], cl
cmp byte [esi + 0x1b71], cl
jne 0x1004f0da
mov byte [esi + 0x1b58], cl
jmp 0x1004f0f5
cmp dword [esi + 0x1af4], 0
mov byte [esi + 0x1b58], 1
jne 0x1004f0f5
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov eax, dword [ebp + 8]
cmp dword [esi + 0x1af8], eax
jne 0x1004f10a
test byte [esi + 0x1b74], 0x10
je 0x1004f244
test bl, 8
jne 0x1004f244
lea ebx, [esi + 0x1b88]
cmp edi, dword [esi + 0x1af4]
je 0x1004f127
lea ebx, [esi + 0x1bd8]
cmp byte [esi + 0x1b71], 0
je 0x1004f165
movups xmm0, xmmword [edx]
sub esp, 0x10
mov ecx, ebx
mov eax, esp
movups xmmword [eax], xmm0
call fcn.1004eb40
mov edx, dword [ebp - 4]
add esp, 0x10
test al, al
je 0x1004f165
mov eax, dword [ebp + 8]
movups xmm0, xmmword [ebp - 0x14]
mov dword [ebx], eax
mov eax, dword [esi + 0x2c7c]
mov dword [ebx + 4], eax
mov dword [ebx + 8], edi
movups xmmword [ebx + 0x18], xmm0
test byte [esi + 0x1b74], 0x20
je 0x1004f244
movss xmm3, dword [edx + 4]
movss xmm0, dword [edi + 0x1d8]
comiss xmm0, xmm3
jbe 0x1004f244
movss xmm1, dword [edx + 0xc]
comiss xmm1, dword [edi + 0x1d0]
jbe 0x1004f244
movss xmm0, dword [edi + 0x1d4]
comiss xmm0, dword [edx]
jbe 0x1004f244
movss xmm0, dword [edx + 8]
comiss xmm0, dword [edi + 0x1cc]
jbe 0x1004f244
movss xmm0, dword [edi + 0x1d0]
comiss xmm0, xmm1
movss xmm4, dword [edi + 0x1d8]
jbe 0x1004f1d7
movaps xmm2, xmm0
jmp 0x1004f1de
movaps xmm2, xmm4
minss xmm2, xmm1
comiss xmm0, xmm3
ja 0x1004f1ea
movaps xmm0, xmm4
minss xmm0, xmm3
subss xmm1, xmm3
subss xmm2, xmm0
mulss xmm1, dword [0x1014500c]
comiss xmm2, xmm1
jb 0x1004f244
movups xmm0, xmmword [edx]
sub esp, 0x10
lea ecx, [esi + 0x1bb0]
mov eax, esp
movups xmmword [eax], xmm0
call fcn.1004eb40
movups xmm0, xmmword [ebp - 0x14]
add esp, 0x10
test al, al
je 0x1004f248
mov eax, dword [ebp + 8]
mov dword [esi + 0x1bb0], eax
mov eax, dword [esi + 0x2c7c]
mov dword [esi + 0x1bb4], eax
mov dword [esi + 0x1bb8], edi
movups xmmword [esi + 0x1bc8], xmm0
jmp 0x1004f248
movups xmm0, xmmword [ebp - 0x14]
mov eax, dword [ebp + 8]
cmp dword [esi + 0x1af8], eax
jne 0x1004f288
mov dword [esi + 0x1af4], edi
mov eax, dword [edi + 0x134]
mov dword [esi + 0x1b4c], eax
mov byte [esi + 0x1b54], 1
mov eax, dword [edi + 0x32c]
mov dword [esi + 0x1b50], eax
mov eax, dword [edi + 0x134]
add eax, eax
movups xmmword [edi + eax*8 + 0x308], xmm0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret