Function at 0x180036b94
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe8
mov r15, qword [0x180052720]
xor r14d, r14d
movaps xmmword [rax - 0x58], xmm6
xorps xmm0, xmm0
movaps xmmword [rax - 0x68], xmm7
mov rbx, rcx
movaps xmmword [rax - 0x78], xmm8
mov edi, r14d
movaps xmmword [rax - 0x88], xmm9
lea r12d, [r14 + 1]
movaps xmmword [rax - 0x98], xmm10
mov sil, r14b
movaps xmmword [rax - 0xa8], xmm11
mov r10d, r14d
xor eax, eax
movaps xmmword [rsp + 0x70], xmm12
mov dword [rbp - 0x69], eax
mov eax, dword [rcx]
mov qword [rbp + 0x77], r15
mov byte [rcx + 0x6b], r14b
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x79], xmm0
test eax, eax
jle 0x180036d2f
mov r8d, r14d
mov rdx, qword [rbx + 8]
mov eax, dword [rbx + 0x28]
cmp dword [r8 + rdx + 8], eax
jl 0x180036cf6
cmp byte [r8 + rdx + 0x28], r14b
jne 0x180036cf6
movsxd r9, edi
cmp edi, r10d
je 0x180036c6c
movups xmm0, xmmword [r8 + rdx]
imul rcx, r9, 0x2c
movups xmmword [rcx + rdx], xmm0
movups xmm1, xmmword [r8 + rdx + 0x10]
movups xmmword [rcx + rdx + 0x10], xmm1
movsd xmm0, qword [r8 + rdx + 0x20]
movsd qword [rcx + rdx + 0x20], xmm0
mov eax, dword [r8 + rdx + 0x28]
mov dword [rcx + rdx + 0x28], eax
mov rax, qword [rbx + 8]
imul r11, r9, 0x2c
mov edx, dword [r11 + rax + 4]
mov word [r11 + rax + 0x26], di
test dl, 0x40
je 0x180036c8c
mov ecx, r14d
mov rdx, r14
jmp 0x180036ca8
and edx, 0x80
mov eax, edx
neg eax
sbb ecx, ecx
neg ecx
add ecx, r12d
neg edx
sbb rdx, rdx
neg rdx
add rdx, r12
test edi, edi
jle 0x180036ce8
mov rax, qword [rbx + 8]
mov r9d, dword [rax + r11 - 0x28]
test r9b, 0x40
je 0x180036cc0
mov eax, r14d
jmp 0x180036cce
and r9b, 0x80
neg r9b
sbb eax, eax
neg eax
add eax, r12d
test ecx, ecx
jne 0x180036cd9
test eax, eax
je 0x180036ce8
mov sil, r12b
cmp eax, 2
jne 0x180036ce8
cmp ecx, eax
movzx esi, sil
cmovne esi, r12d
lea rax, [rdx + rdx*2]
add dword [rsp + rax*4 + 0x40], r12d
add edi, r12d
jmp 0x180036d1d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x20], eax
jne 0x180036d03
mov dword [rbx + 0x20], r14d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x18], eax
jne 0x180036d10
mov dword [rbx + 0x18], r14d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x1c], eax
jne 0x180036d1d
mov dword [rbx + 0x1c], r14d
mov eax, dword [rbx]
add r10d, r12d
add r8, 0x2c
cmp r10d, eax
jl 0x180036c19
mov r13, rbx
mov r12d, 8
cmp eax, edi
je 0x180036d68
mov ecx, dword [rbx + 4]
cmp edi, ecx
jle 0x180036d64
test ecx, ecx
je 0x180036d52
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180036d55
mov eax, r12d
cmp eax, edi
mov edx, edi
mov rcx, rbx
cmovg edx, eax
call fcn.180038ea8
mov dword [rbx], edi
mov eax, edi
test sil, sil
je 0x180036d8f
movsxd rdx, eax
mov ecx, 1
cmp rdx, rcx
jbe 0x180036d8f
lea r8d, [rcx + 0x2b]
mov rcx, qword [r13 + 8]
lea r9, [0x1800365f4]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov edx, dword [rsp + 0x40]
xorps xmm9, xmm9
mov ecx, dword [rbp - 0x7d]
test edx, edx
mov edx, dword [rbp - 0x71]
mov dword [rbp + 0x6f], ecx
jle 0x180036db6
lea eax, [rcx + rdx]
test eax, eax
jle 0x180036db6
movss xmm12, dword [r15 + 0xb24]
jmp 0x180036dba
xorps xmm12, xmm12
movss dword [rsp + 0x48], xmm12
test ecx, ecx
jle 0x180036dd4
test edx, edx
jle 0x180036dd4
movss xmm11, dword [r15 + 0xb24]
jmp 0x180036dd8
xorps xmm11, xmm11
xor r11d, r11d
movss dword [rbp - 0x75], xmm11
mov dword [rbp + 0x67], r14d
cmp dword [rbx + 0x1c], r11d
je 0x180036dfb
mov r14d, dword [rbx + 0x1c]
mov dword [rbp + 0x67], r14d
mov dword [rbx + 0x18], r14d
mov dword [rbx + 0x1c], r11d
mov edx, dword [rbx + 0x64]
movabs rdi, 0x2e8ba2e8ba2e8ba3
test edx, edx
je 0x180036f03
mov rcx, rbx
call fcn.180037b20
mov r11, rax
test rax, rax
je 0x180036efc
test byte [rax + 4], 0x20
jne 0x180036efc
movsx r9d, word [rbx + 0x68]
mov rcx, rax
sub rcx, qword [r13 + 8]
mov rax, rdi
imul rcx
mov r8d, r9d
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r9d
js 0x180036efc
cmp edx, dword [rbx]
jge 0x180036efc
movsxd rax, edx
imul rdi, rax, 0x2c
add rdi, qword [r13 + 8]
mov eax, dword [rdi + 4]
test al, 0x20
jne 0x180036efc
xor eax, dword [r11 + 4]
test al, 0xc0
jne 0x180036efc
movups xmm6, xmmword [r11]
mov esi, dword [r11 + 0x28]
test r9w, r9w
movups xmm7, xmmword [r11 + 0x10]
lea rax, [r11 + 0x2c]
mov rdx, rdi
movsd xmm8, qword [r11 + 0x20]
lea rcx, [rdi + 0x2c]
cmovg rdx, rax
cmovg rcx, r11
jg 0x180036eaf
neg r8d
movsxd rax, r8d
imul r8, rax, 0x2c
call sub.VCRUNTIME140.dll_memmove
movups xmmword [rdi], xmm6
movups xmmword [rdi + 0x10], xmm7
movsd qword [rdi + 0x20], xmm8
mov dword [rdi + 0x28], esi
test dword [rbx + 0x10], 0x400000
je 0x180036eee
mov rcx, qword [0x180052720]
comiss xmm9, dword [rcx + 0x2f0c]
jb 0x180036eee
mov eax, dword [rcx + 0x1c]
mov dword [rcx + 0x2f0c], eax
mov eax, dword [rbx + 0x64]
cmp eax, dword [rbx + 0x18]
cmove r14d, eax
mov dword [rbp + 0x67], r14d
xor r11d, r11d
mov dword [rbx + 0x64], r11d
mov eax, dword [rbx + 0x10]
mov r8d, 1
shr eax, 2
test r8b, al
je 0x18003707a
mov rax, qword [0x180052720]
lea rdx, [rsp + 0x30]
movss xmm1, dword [rbx + 0x2c]
xor ecx, ecx
movss xmm0, dword [rax + 0xb10]
mov r13, qword [rax + 0x11e0]
subss xmm1, xmm0
movaps xmm2, xmm0
mov qword [rsp + 0x20], r13
addss xmm2, dword [rax + 0xf18]
movss xmm0, dword [rbx + 0x30]
movss xmm6, dword [r13 + 0x100]
movss xmm7, dword [r13 + 0x104]
movss dword [r13 + 0x104], xmm0
movss dword [r13 + 0x100], xmm1
addss xmm2, dword [rbx + 0x2c]
movss dword [rbx + 0x2c], xmm2
movdqu xmm0, xmmword [rax + 0xbac]
movups xmmword [rsp + 0x30], xmm0
shufps xmm0, xmm0, 0xff
mulss xmm0, dword [0x18004cdc4]
movss dword [rsp + 0x3c], xmm0
call fcn.180003bc4
xorps xmm0, xmm0
lea rdx, [rsp + 0x30]
mov ecx, 0x15
movups xmmword [rsp + 0x30], xmm0
call fcn.180003bc4
call fcn.18002f618
mov ecx, 2
mov r10b, al
call fcn.180003c20
xor r11d, r11d
mov esi, r11d
test r10b, r10b
je 0x180037054
mov r15d, r11d
cmp dword [rbx], r11d
jle 0x180037048
mov r14d, r11d
lea r13d, [r11 + 1]
mov rdi, qword [rbx + 8]
add rdi, r14
test dword [rdi + 4], 0x200000
jne 0x180037037
cmp dword [rdi + 0x20], 0xffffffff
jne 0x180037007
lea rcx, [0x18004bad4]
jmp 0x180037012
movsxd rcx, dword [rdi + 0x20]
add rcx, qword [rbx + 0x90]
and dword [rbp + 0x7f], 0
lea r9, [rbp + 0x7f]
and dword [rbp + 0x83], 0
mov eax, dword [rdi]
cmp dword [rbx + 0x18], eax
sete dl
xor r8d, r8d
call fcn.180035a70
test al, al
cmovne rsi, rdi
add r15d, r13d
add r14, 0x2c
cmp r15d, dword [rbx]
jl 0x180036fe8
mov r13, qword [rsp + 0x20]
call fcn.1800113f8
mov r15, qword [rbp + 0x77]
xor r11d, r11d
movss dword [r13 + 0x100], xmm6
mov r8d, 1
movss dword [r13 + 0x104], xmm7
test rsi, rsi
je 0x18003707a
mov r13d, dword [rsi]
mov dword [rbx + 0x18], r13d
jmp 0x18003707e
mov r13d, dword [rbp + 0x67]
mov ecx, dword [rsp + 0x40]
mov eax, dword [rbp - 0x71]
mov esi, dword [rbx]
add eax, ecx
mov dword [rsp + 0x28], ecx
mov ecx, dword [r15 + 0x1ef4]
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x24], eax
cmp esi, ecx
jle 0x180037145
test ecx, ecx
je 0x1800370b4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r12d, [rcx + rax]
cmp r12d, esi
mov edi, esi
cmovg edi, r12d
cmp edi, ecx
jle 0x180037145
mov rax, qword [0x180052720]
test rax, rax
je 0x1800370d8
add dword [rax + 0xf0], r8d
movsxd rax, edi
lea rcx, [rax + rax*2]
shl rcx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r12, qword [rbp + 0x77]
mov r15, rax
mov r14, qword [r12 + 0x1ef8]
test r14, r14
je 0x180037133
movsxd rcx, dword [r12 + 0x1ef0]
mov rdx, r14
lea r8, [rcx + rcx*2]
mov rcx, rax
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [0x180052720]
test rax, rax
je 0x18003712a
dec dword [rax + 0xf0]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r12 + 0x1ef8], r15
mov dword [r12 + 0x1ef4], edi
jmp 0x180037149
mov r12, qword [rbp + 0x77]
movss xmm10, dword [0x18004cdf8]
or r15d, 0xffffffff
mov dword [r12 + 0x1ef0], esi
xor esi, esi
mov ecx, esi
mov dl, sil
mov r14d, esi
mov qword [rbp + 0x7f], rcx
mov dword [rbp + 0x67], edx
lea r10d, [rsi + 1]
cmp dword [rbx], esi
jle 0x1800372b8
mov rdi, qword [rbx + 8]
add rdi, rsi
test rcx, rcx
je 0x18003718f
mov eax, dword [rdi + 0xc]
cmp dword [rcx + 0xc], eax
jge 0x18003719e
test dword [rdi + 4], 0x200000
cmove rcx, rdi
mov qword [rbp + 0x7f], rcx
mov eax, dword [rdi]
cmp eax, dword [rbx + 0x18]
movzx edx, dl
cmove edx, r10d
mov dword [rbp + 0x67], edx
test r13d, r13d
jne 0x1800371be
cmp dword [r12 + 0x1bf0], eax
cmove r13d, eax
cmp dword [rdi + 0x20], 0xffffffff
jne 0x1800371cd
lea rdx, [0x18004bad4]
jmp 0x1800371d8
movsxd rdx, dword [rdi + 0x20]
add rdx, qword [rbx + 0x90]
mov eax, dword [rdi + 4]
movss xmm0, dword [rdi + 0x1c]
and eax, 0x100001
cmp eax, 0x100000
setne r8b
comiss xmm0, xmm9
jae 0x180037207
lea rcx, [rbp + 0x6f]
call fcn.180038708
mov r10d, 1
movss xmm0, dword [rax]
mov eax, dword [rdi + 4]
movss dword [rdi + 0x18], xmm0
test al, 0x40
je 0x180037217
xor eax, eax
jmp 0x180037222
and al, 0x80
neg al
sbb eax, eax
neg eax
add eax, r10d
mov edx, eax
lea rcx, [rax + rax*2]
cmp eax, r15d
jne 0x180037239
movss xmm1, dword [r12 + 0xb24]
jmp 0x18003723d
movaps xmm1, xmm9
addss xmm0, xmm1
mov r15d, eax
add rsi, 0x2c
addss xmm0, dword [rsp + rcx*4 + 0x44]
movss dword [rsp + rcx*4 + 0x44], xmm0
movsxd rcx, dword [rsp + rax*4 + 0x20]
lea eax, [rcx + 1]
lea rcx, [rcx + rcx*2]
mov dword [rsp + rdx*4 + 0x20], eax
mov rax, qword [r12 + 0x1ef8]
mov edx, dword [rbp + 0x67]
mov dword [rax + rcx*4], r14d
add r14d, r10d
movss xmm0, dword [rdi + 0x18]
movss dword [rax + rcx*4 + 8], xmm0
movss dword [rax + rcx*4 + 4], xmm0
movss xmm1, dword [rdi + 0x18]
mov rcx, qword [rbp + 0x7f]
maxss xmm1, xmm10
movss dword [rdi + 0x14], xmm1
cmp r14d, dword [rbx]
jl 0x18003717b
mov eax, dword [rbp - 0x7d]
xor esi, esi
movss xmm11, dword [rbp - 0x75]
movss xmm12, dword [rsp + 0x48]
mov dword [rbp + 0x6f], eax
movaps xmm1, xmm9
lea rax, [rsp + 0x48]
mov ecx, 3
movss xmm0, dword [rax - 4]
addss xmm0, dword [rax]
add rax, 0xc
addss xmm1, xmm0
sub rcx, r10
jne 0x1800372c6
lea r14, [rbx + 0x2c]
movss dword [rbx + 0x48], xmm1
movss xmm0, dword [r14 + 8]
subss xmm0, dword [r14]
comiss xmm1, xmm0
jbe 0x180037326
cmp dword [rbx], r10d
jle 0x180037326
mov eax, dword [rbx + 0x10]
and al, 0x90
cmp al, 0x80
jne 0x180037326
mov rcx, rbx
call fcn.180037c80
mov r10d, 1
test rax, rax
je 0x180037326
test dword [rax + 4], 0x200000
mov r13d, dword [rax]
jne 0x180037326
mov dword [rbx + 0x18], r13d
movss xmm8, dword [rbp - 0x6d]
movss xmm7, dword [rsp + 0x44]
movaps xmm2, xmm8
addss xmm2, dword [rbp - 0x69]
movss xmm0, dword [r14 + 8]
movaps xmm1, xmm7
subss xmm0, dword [r14]
addss xmm1, xmm12
movaps xmm6, xmm2
addss xmm6, xmm1
comiss xmm0, xmm6
seta al
test al, al
je 0x18003737c
movss xmm6, dword [rbp - 0x79]
subss xmm0, xmm1
addss xmm6, xmm11
subss xmm0, xmm2
subss xmm6, xmm0
maxss xmm6, xmm9
jmp 0x180037380
subss xmm6, xmm0
comiss xmm6, xmm10
jb 0x1800375f7
test byte [rbx + 0x10], 0x40
jne 0x180037398
test al, al
jne 0x1800375f7
test al, al
je 0x1800373a8
mov eax, dword [rbp - 0x71]
add eax, dword [rsp + 0x40]
mov ecx, dword [rbp - 0x7d]
jmp 0x1800373b4
mov ecx, dword [rbp - 0x71]
mov eax, esi
add ecx, dword [rsp + 0x40]
mov dword [rbp + 0x6f], ecx
mov rdi, qword [r12 + 0x1ef8]
mov dword [rbp + 0x77], eax
cdqe
lea rax, [rax + rax*2]
lea r15, [rax*4]
add rdi, r15
cmp ecx, r10d
jne 0x1800373f7
movss xmm0, dword [rdi + 4]
comiss xmm0, xmm9
jb 0x18003754b
subss xmm0, xmm6
maxss xmm0, xmm10
movss dword [rdi + 4], xmm0
jmp 0x18003754b
movsxd rsi, ecx
cmp rsi, r10
jbe 0x18003741e
lea r9, [0x18002f5b8]
mov r8d, 0xc
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov r10d, 1
mov r9d, r10d
mov rcx, r10
cmp rcx, rsi
jge 0x1800374b6
movss xmm0, dword [rdi + 4]
lea rax, [rcx*2 + 1]
add rax, rcx
lea r8, [rdi + rax*4]
mov eax, 1
comiss xmm0, dword [r8]
ja 0x18003752c
add r9d, eax
add rcx, rax
add r8, 0xc
cmp rcx, rsi
jl 0x180037446
subss xmm0, xmm10
comiss xmm0, xmm9
mov r10d, 1
jbe 0x1800374b6
movd xmm2, r9d
movaps xmm1, xmm6
cvtdq2ps xmm2, xmm2
divss xmm1, xmm2
minss xmm1, xmm0
test rcx, rcx
jle 0x1800374a4
lea rax, [rdi + 4]
mov rdx, rcx
movss xmm0, dword [rax]
subss xmm0, xmm1
movss dword [rax], xmm0
add rax, 0xc
sub rdx, r10
jne 0x18003748f
mulss xmm2, xmm1
subss xmm6, xmm2
comiss xmm6, xmm9
ja 0x180037424
movaps xmm2, xmm9
test rsi, rsi
jle 0x180037549
lea rcx, [rdi + 4]
mov rdx, rsi
movss xmm1, dword [rcx]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [rcx], xmm0
add rcx, 0xc
addss xmm2, xmm1
sub rdx, r10
jne 0x1800374ca
comiss xmm2, xmm9
jbe 0x180037549
xor ecx, ecx
lea rax, [rdi + 4]
comiss xmm2, xmm9
jbe 0x180037549
movss xmm1, dword [rax]
add rcx, r10
movss xmm0, dword [rax + 4]
subss xmm0, xmm1
minss xmm0, xmm10
addss xmm1, xmm0
subss xmm2, xmm0
movss dword [rax], xmm1
add rax, 0xc
cmp rcx, rsi
jl 0x1800374fa
jmp 0x1800374ee
lea rax, [rcx + rcx*2]
movss xmm1, dword [rdi + rax*4 + 4]
comiss xmm1, xmm9
jb 0x18003745f
subss xmm0, xmm1
jmp 0x180037464
xor esi, esi
movsxd rcx, dword [rbp + 0x77]
mov eax, dword [rbp + 0x6f]
add eax, ecx
movsxd rdx, eax
mov rax, rcx
cmp rcx, rdx
jge 0x1800375f7
sub rdx, rax
mov rcx, qword [r12 + 0x1ef8]
movsxd rax, dword [r15 + rcx]
imul r8, rax, 0x2c
cvttss2si eax, dword [r15 + rcx + 4]
add r8, qword [rbx + 8]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm2, xmm9
jb 0x1800375d1
mov eax, dword [r8 + 4]
maxss xmm2, xmm10
test al, 0x40
je 0x1800375a0
mov rax, rsi
jmp 0x1800375ad
and al, 0x80
neg al
sbb rax, rax
neg rax
add rax, r10
movss xmm1, dword [r8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rsp + rax*4 + 0x44]
subss xmm1, xmm2
movss dword [r8 + 0x14], xmm2
subss xmm0, xmm1
movss dword [rsp + rax*4 + 0x44], xmm0
add r15, 0xc
sub rdx, r10
jne 0x180037566
movss xmm8, dword [rbp - 0x6d]
lea r14, [rbx + 0x2c]
movss xmm11, dword [rbp - 0x75]
movss xmm12, dword [rsp + 0x48]
movss xmm7, dword [rsp + 0x44]
mov edi, esi
mov dword [rbx + 0x44], esi
movaps xmm1, xmm9
mov rcx, rsi
lea r8, [rcx + rcx*2]
cmp rcx, 2
jne 0x18003762b
movss xmm0, dword [r14 + 8]
subss xmm0, dword [r14]
subss xmm0, dword [rsp + r8*4 + 0x44]
maxss xmm0, xmm9
minss xmm0, xmm1
movaps xmm1, xmm0
movsxd r11, dword [rsp + r8*4 + 0x40]
mov r9d, esi
mov r10, r11
mov r15, rbx
test r11d, r11d
jle 0x18003768f
movsxd rax, edi
lea esi, [r11 - 1]
imul rdx, rax, 0x2c
mov r14d, 1
mov rax, qword [rbx + 8]
or dword [rdx + rax + 0x20], 0xffffffff
movss dword [rdx + rax + 0x10], xmm1
cmp r9d, esi
jge 0x18003766f
movss xmm0, dword [r12 + 0xb24]
jmp 0x180037673
movaps xmm0, xmm9
addss xmm0, dword [rdx + rax + 0x14]
add r9d, r14d
add rdx, 0x2c
addss xmm1, xmm0
sub r10, r14
jne 0x18003764f
lea r14, [rbx + 0x2c]
xor esi, esi
movss xmm0, dword [rsp + r8*4 + 0x48]
mov r10d, 1
addss xmm0, dword [rsp + r8*4 + 0x44]
addss xmm1, dword [rsp + r8*4 + 0x48]
add edi, r11d
add rcx, r10
maxss xmm0, xmm9
addss xmm0, dword [rbx + 0x44]
movss dword [rbx + 0x44], xmm0
cmp rcx, 3
jl 0x180037603
lea rdi, [rbx + 0x88]
mov ecx, dword [rdi + 4]
test ecx, ecx
jns 0x1800376f5
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
mov rcx, rdi
test eax, eax
cmovg edx, eax
call fcn.180016c7c
mov r10d, 1
mov dword [rdi], esi
cmp byte [rbp + 0x67], sil
jne 0x180037700
mov dword [rbx + 0x18], esi
mov ecx, dword [rbx + 0x18]
mov eax, ecx
test ecx, ecx
jne 0x180037721
cmp dword [rbx + 0x1c], esi
jne 0x180037721
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x180037721
mov r13d, dword [rcx]
mov eax, r13d
mov dword [rbx + 0x18], r13d
mov dword [rbx + 0x20], eax
mov byte [rbx + 0x6c], sil
test r13d, r13d
je 0x18003783e
mov edx, r13d
mov rcx, rbx
call fcn.180037b20
mov r11, rax
test rax, rax
je 0x180037931
test byte [rax + 4], 0xc0
jne 0x180037931
mov rcx, qword [0x180052720]
movss xmm3, dword [r14 + 8]
subss xmm3, dword [r14]
movss xmm0, dword [rcx + 0xf18]
mov rcx, rax
sub rcx, qword [r15 + 8]
movabs rax, 0x2e8ba2e8ba2e8ba3
imul rcx
subss xmm3, xmm7
sar rdx, 3
subss xmm3, xmm8
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, dword [rsp + 0x40]
dec eax
subss xmm3, xmm11
cmp edx, eax
jle 0x1800377b2
movaps xmm1, xmm0
xorps xmm1, xmmword [0x18004d210]
jmp 0x1800377b6
movaps xmm1, xmm9
movss xmm2, dword [r11 + 0x10]
lea eax, [rdx + 1]
mov ecx, dword [rbx]
subss xmm2, xmm7
sub ecx, dword [rbp - 0x71]
addss xmm1, xmm2
cmp eax, ecx
jl 0x1800377d4
movaps xmm0, xmm10
addss xmm2, dword [r11 + 0x14]
movss xmm4, dword [rbx + 0x50]
comiss xmm4, xmm1
mov dword [rbx + 0x54], esi
addss xmm2, xmm0
ja 0x180037821
movaps xmm0, xmm2
subss xmm0, xmm1
comiss xmm0, xmm3
jae 0x180037821
subss xmm2, xmm3
comiss xmm4, xmm2
jae 0x180037931
subss xmm1, xmm3
movss dword [rbx + 0x50], xmm2
subss xmm1, dword [rbx + 0x4c]
maxss xmm1, xmm9
movss dword [rbx + 0x54], xmm1
jmp 0x180037931
movss xmm0, dword [rbx + 0x4c]
subss xmm0, xmm2
movss dword [rbx + 0x50], xmm1
maxss xmm0, xmm9
movss dword [rbx + 0x54], xmm0
jmp 0x180037931
test byte [rbx + 0x10], 0x80
je 0x180037931
mov r8b, r10b
lea rdx, [rbx + 0x34]
mov rcx, r14
call fcn.18000e768
test al, al
je 0x180037931
mov rcx, qword [r12 + 0x11e0]
xor edx, edx
call fcn.180005aac
test al, al
je 0x180037931
mov al, byte [r12 + 0xa75]
test al, al
je 0x18003788e
movss xmm0, dword [r12 + 0x118]
jmp 0x180037898
movss xmm0, dword [r12 + 0x11c]
mov edx, dword [rbx + 0x14]
neg al
sbb r11d, r11d
neg r11d
lea ecx, [r11 + 0x286]
call fcn.18000fbb4
test al, al
je 0x18003790e
ucomiss xmm0, xmm9
je 0x18003790e
movss xmm1, dword [r14]
movss xmm3, dword [r14 + 8]
movss xmm2, dword [rbx + 0x44]
subss xmm3, xmm1
mov dword [rbx + 0x54], esi
subss xmm3, xmm7
subss xmm3, xmm8
subss xmm3, xmm11
mulss xmm3, xmm0
movss xmm0, dword [rbx + 0x34]
subss xmm0, xmm1
movss xmm1, dword [rbx + 0x50]
mulss xmm3, dword [0x18004cdb0]
subss xmm2, xmm0
subss xmm1, xmm3
minss xmm2, xmm1
maxss xmm2, xmm9
movss dword [rbx + 0x50], xmm2
mov rcx, qword [0x180052720]
lea edx, [r11 + 0x286]
mov r9d, dword [rbx + 0x14]
call fcn.180001f4c
and word [rax + 8], 0
mov dword [rax + 4], r9d
mov dword [rax], r9d
movss xmm5, dword [r14]
movss xmm0, dword [r14 + 8]
movss xmm2, dword [rbx + 0x44]
subss xmm0, xmm5
movaps xmm1, xmm2
subss xmm1, xmm0
minss xmm1, dword [rbx + 0x4c]
maxss xmm1, xmm9
movss dword [rbx + 0x4c], xmm1
movss xmm4, dword [rbx + 0x34]
movaps xmm0, xmm4
subss xmm0, xmm5
subss xmm2, xmm0
minss xmm2, dword [rbx + 0x50]
maxss xmm2, xmm9
ucomiss xmm1, xmm2
movss dword [rbx + 0x50], xmm2
je 0x180037a0c
movss xmm0, dword [r12 + 0xf18]
movaps xmm3, xmm2
mulss xmm0, dword [0x18004ce70]
subss xmm3, xmm1
mov eax, dword [rbx + 0x28]
inc eax
maxss xmm0, dword [rbx + 0x58]
andps xmm3, xmmword [0x18004d200]
mulss xmm3, dword [0x18004ce30]
maxss xmm3, xmm0
movss dword [rbx + 0x58], xmm3
cmp eax, dword [r12 + 0x1138]
jl 0x180037a02
movss xmm0, dword [r12 + 0xf18]
mulss xmm0, dword [0x18004ce50]
comiss xmm0, dword [rbx + 0x54]
jb 0x180037a02
comiss xmm1, xmm2
mulss xmm3, dword [r12 + 0x18]
jae 0x1800379f6
addss xmm1, xmm3
minss xmm1, xmm2
jmp 0x180037a05
jbe 0x180037a05
subss xmm1, xmm3
maxss xmm1, xmm2
jmp 0x180037a05
movaps xmm1, xmm2
movss dword [rbx + 0x4c], xmm1
jmp 0x180037a0f
mov dword [rbx + 0x58], esi
movsd xmm0, qword [r14]
addss xmm7, xmm5
subss xmm4, xmm8
lea rcx, [rbp + 0x67]
addss xmm7, xmm12
subss xmm4, xmm11
movss dword [rbx + 0x5c], xmm7
movss dword [rbx + 0x60], xmm4
mov r10, qword [r12 + 0x11e0]
movsd qword [r10 + 0x100], xmm0
movss xmm1, dword [rbx + 0x44]
movss xmm0, dword [rbx + 0x38]
subss xmm0, dword [rbx + 0x30]
movss dword [rbp + 0x67], xmm1
movss xmm1, dword [rbx + 0x7c]
movss dword [rbp + 0x6b], xmm0
call fcn.18000fe24
movss xmm0, dword [rbx + 0x48]
lea r11, [rsp + 0xe8]
addss xmm0, dword [r14]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
maxss xmm0, dword [r10 + 0x120]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movss dword [r10 + 0x120], xmm0
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret