Function at 0x180036bf0
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 [0x180053aa0]
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 0x180036d8b
mov r8d, r14d
mov rdx, qword [rbx + 8]
mov eax, dword [rbx + 0x28]
cmp dword [r8 + rdx + 8], eax
jl 0x180036d52
cmp byte [r8 + rdx + 0x28], r14b
jne 0x180036d52
movsxd r9, edi
cmp edi, r10d
je 0x180036cc8
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 0x180036ce8
mov ecx, r14d
mov rdx, r14
jmp 0x180036d04
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 0x180036d44
mov rax, qword [rbx + 8]
mov r9d, dword [rax + r11 - 0x28]
test r9b, 0x40
je 0x180036d1c
mov eax, r14d
jmp 0x180036d2a
and r9b, 0x80
neg r9b
sbb eax, eax
neg eax
add eax, r12d
test ecx, ecx
jne 0x180036d35
test eax, eax
je 0x180036d44
mov sil, r12b
cmp eax, 2
jne 0x180036d44
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 0x180036d79
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x20], eax
jne 0x180036d5f
mov dword [rbx + 0x20], r14d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x18], eax
jne 0x180036d6c
mov dword [rbx + 0x18], r14d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x1c], eax
jne 0x180036d79
mov dword [rbx + 0x1c], r14d
mov eax, dword [rbx]
add r10d, r12d
add r8, 0x2c
cmp r10d, eax
jl 0x180036c75
mov r13, rbx
mov r12d, 8
cmp eax, edi
je 0x180036dc4
mov ecx, dword [rbx + 4]
cmp edi, ecx
jle 0x180036dc0
test ecx, ecx
je 0x180036dae
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180036db1
mov eax, r12d
cmp eax, edi
mov edx, edi
mov rcx, rbx
cmovg edx, eax
call fcn.180038f04
mov dword [rbx], edi
mov eax, edi
test sil, sil
je 0x180036deb
movsxd rdx, eax
mov ecx, 1
cmp rdx, rcx
jbe 0x180036deb
lea r8d, [rcx + 0x2b]
mov rcx, qword [r13 + 8]
lea r9, [0x180036650]
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 0x180036e12
lea eax, [rcx + rdx]
test eax, eax
jle 0x180036e12
movss xmm12, dword [r15 + 0xb24]
jmp 0x180036e16
xorps xmm12, xmm12
movss dword [rsp + 0x48], xmm12
test ecx, ecx
jle 0x180036e30
test edx, edx
jle 0x180036e30
movss xmm11, dword [r15 + 0xb24]
jmp 0x180036e34
xorps xmm11, xmm11
xor r11d, r11d
movss dword [rbp - 0x75], xmm11
mov dword [rbp + 0x67], r14d
cmp dword [rbx + 0x1c], r11d
je 0x180036e57
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 0x180036f5f
mov rcx, rbx
call fcn.180037b7c
mov r11, rax
test rax, rax
je 0x180036f58
test byte [rax + 4], 0x20
jne 0x180036f58
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 0x180036f58
cmp edx, dword [rbx]
jge 0x180036f58
movsxd rax, edx
imul rdi, rax, 0x2c
add rdi, qword [r13 + 8]
mov eax, dword [rdi + 4]
test al, 0x20
jne 0x180036f58
xor eax, dword [r11 + 4]
test al, 0xc0
jne 0x180036f58
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 0x180036f0b
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 0x180036f4a
mov rcx, qword [0x180053aa0]
comiss xmm9, dword [rcx + 0x2f0c]
jb 0x180036f4a
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 0x1800370d6
mov rax, qword [0x180053aa0]
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 [0x18004db34]
movss dword [rsp + 0x3c], xmm0
call fcn.180003c54
xorps xmm0, xmm0
lea rdx, [rsp + 0x30]
mov ecx, 0x15
movups xmmword [rsp + 0x30], xmm0
call fcn.180003c54
call fcn.18002f620
mov ecx, 2
mov r10b, al
call fcn.180003cb0
xor r11d, r11d
mov esi, r11d
test r10b, r10b
je 0x1800370b0
mov r15d, r11d
cmp dword [rbx], r11d
jle 0x1800370a4
mov r14d, r11d
lea r13d, [r11 + 1]
mov rdi, qword [rbx + 8]
add rdi, r14
test dword [rdi + 4], 0x200000
jne 0x180037093
cmp dword [rdi + 0x20], 0xffffffff
jne 0x180037063
lea rcx, [0x18004caf4]
jmp 0x18003706e
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.180035acc
test al, al
cmovne rsi, rdi
add r15d, r13d
add r14, 0x2c
cmp r15d, dword [rbx]
jl 0x180037044
mov r13, qword [rsp + 0x20]
call fcn.1800113e4
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 0x1800370d6
mov r13d, dword [rsi]
mov dword [rbx + 0x18], r13d
jmp 0x1800370da
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 0x1800371a1
test ecx, ecx
je 0x180037110
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 0x1800371a1
mov rax, qword [0x180053aa0]
test rax, rax
je 0x180037134
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 0x18003718f
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 [0x180053aa0]
test rax, rax
je 0x180037186
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 0x1800371a5
mov r12, qword [rbp + 0x77]
movss xmm10, dword [0x18004db68]
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 0x180037314
mov rdi, qword [rbx + 8]
add rdi, rsi
test rcx, rcx
je 0x1800371eb
mov eax, dword [rdi + 0xc]
cmp dword [rcx + 0xc], eax
jge 0x1800371fa
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 0x18003721a
cmp dword [r12 + 0x1bf0], eax
cmove r13d, eax
cmp dword [rdi + 0x20], 0xffffffff
jne 0x180037229
lea rdx, [0x18004caf4]
jmp 0x180037234
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 0x180037263
lea rcx, [rbp + 0x6f]
call fcn.180038764
mov r10d, 1
movss xmm0, dword [rax]
mov eax, dword [rdi + 4]
movss dword [rdi + 0x18], xmm0
test al, 0x40
je 0x180037273
xor eax, eax
jmp 0x18003727e
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 0x180037295
movss xmm1, dword [r12 + 0xb24]
jmp 0x180037299
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 0x1800371d7
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 0x180037322
lea r14, [rbx + 0x2c]
movss dword [rbx + 0x48], xmm1
movss xmm0, dword [r14 + 8]
subss xmm0, dword [r14]
comiss xmm1, xmm0
jbe 0x180037382
cmp dword [rbx], r10d
jle 0x180037382
mov eax, dword [rbx + 0x10]
and al, 0x90
cmp al, 0x80
jne 0x180037382
mov rcx, rbx
call fcn.180037cdc
mov r10d, 1
test rax, rax
je 0x180037382
test dword [rax + 4], 0x200000
mov r13d, dword [rax]
jne 0x180037382
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 0x1800373d8
movss xmm6, dword [rbp - 0x79]
subss xmm0, xmm1
addss xmm6, xmm11
subss xmm0, xmm2
subss xmm6, xmm0
maxss xmm6, xmm9
jmp 0x1800373dc
subss xmm6, xmm0
comiss xmm6, xmm10
jb 0x180037653
test byte [rbx + 0x10], 0x40
jne 0x1800373f4
test al, al
jne 0x180037653
test al, al
je 0x180037404
mov eax, dword [rbp - 0x71]
add eax, dword [rsp + 0x40]
mov ecx, dword [rbp - 0x7d]
jmp 0x180037410
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 0x180037453
movss xmm0, dword [rdi + 4]
comiss xmm0, xmm9
jb 0x1800375a7
subss xmm0, xmm6
maxss xmm0, xmm10
movss dword [rdi + 4], xmm0
jmp 0x1800375a7
movsxd rsi, ecx
cmp rsi, r10
jbe 0x18003747a
lea r9, [0x18002f5c0]
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 0x180037512
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 0x180037588
add r9d, eax
add rcx, rax
add r8, 0xc
cmp rcx, rsi
jl 0x1800374a2
subss xmm0, xmm10
comiss xmm0, xmm9
mov r10d, 1
jbe 0x180037512
movd xmm2, r9d
movaps xmm1, xmm6
cvtdq2ps xmm2, xmm2
divss xmm1, xmm2
minss xmm1, xmm0
test rcx, rcx
jle 0x180037500
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 0x1800374eb
mulss xmm2, xmm1
subss xmm6, xmm2
comiss xmm6, xmm9
ja 0x180037480
movaps xmm2, xmm9
test rsi, rsi
jle 0x1800375a5
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 0x180037526
comiss xmm2, xmm9
jbe 0x1800375a5
xor ecx, ecx
lea rax, [rdi + 4]
comiss xmm2, xmm9
jbe 0x1800375a5
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 0x180037556
jmp 0x18003754a
lea rax, [rcx + rcx*2]
movss xmm1, dword [rdi + rax*4 + 4]
comiss xmm1, xmm9
jb 0x1800374bb
subss xmm0, xmm1
jmp 0x1800374c0
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 0x180037653
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 0x18003762d
mov eax, dword [r8 + 4]
maxss xmm2, xmm10
test al, 0x40
je 0x1800375fc
mov rax, rsi
jmp 0x180037609
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 0x1800375c2
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 0x180037687
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 0x1800376eb
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 0x1800376cb
movss xmm0, dword [r12 + 0xb24]
jmp 0x1800376cf
movaps xmm0, xmm9
addss xmm0, dword [rdx + rax + 0x14]
add r9d, r14d
add rdx, 0x2c
addss xmm1, xmm0
sub r10, r14
jne 0x1800376ab
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 0x18003765f
lea rdi, [rbx + 0x88]
mov ecx, dword [rdi + 4]
test ecx, ecx
jns 0x180037751
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.180016c68
mov r10d, 1
mov dword [rdi], esi
cmp byte [rbp + 0x67], sil
jne 0x18003775c
mov dword [rbx + 0x18], esi
mov ecx, dword [rbx + 0x18]
mov eax, ecx
test ecx, ecx
jne 0x18003777d
cmp dword [rbx + 0x1c], esi
jne 0x18003777d
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x18003777d
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 0x18003789a
mov edx, r13d
mov rcx, rbx
call fcn.180037b7c
mov r11, rax
test rax, rax
je 0x18003798d
test byte [rax + 4], 0xc0
jne 0x18003798d
mov rcx, qword [0x180053aa0]
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 0x18003780e
movaps xmm1, xmm0
xorps xmm1, xmmword [0x18004df90]
jmp 0x180037812
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 0x180037830
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 0x18003787d
movaps xmm0, xmm2
subss xmm0, xmm1
comiss xmm0, xmm3
jae 0x18003787d
subss xmm2, xmm3
comiss xmm4, xmm2
jae 0x18003798d
subss xmm1, xmm3
movss dword [rbx + 0x50], xmm2
subss xmm1, dword [rbx + 0x4c]
maxss xmm1, xmm9
movss dword [rbx + 0x54], xmm1
jmp 0x18003798d
movss xmm0, dword [rbx + 0x4c]
subss xmm0, xmm2
movss dword [rbx + 0x50], xmm1
maxss xmm0, xmm9
movss dword [rbx + 0x54], xmm0
jmp 0x18003798d
test byte [rbx + 0x10], 0x80
je 0x18003798d
mov r8b, r10b
lea rdx, [rbx + 0x34]
mov rcx, r14
call fcn.18000e754
test al, al
je 0x18003798d
mov rcx, qword [r12 + 0x11e0]
xor edx, edx
call fcn.180005b3c
test al, al
je 0x18003798d
mov al, byte [r12 + 0xa75]
test al, al
je 0x1800378ea
movss xmm0, dword [r12 + 0x118]
jmp 0x1800378f4
movss xmm0, dword [r12 + 0x11c]
mov edx, dword [rbx + 0x14]
neg al
sbb r11d, r11d
neg r11d
lea ecx, [r11 + 0x286]
call fcn.18000fba0
test al, al
je 0x18003796a
ucomiss xmm0, xmm9
je 0x18003796a
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 [0x18004db20]
subss xmm2, xmm0
subss xmm1, xmm3
minss xmm2, xmm1
maxss xmm2, xmm9
movss dword [rbx + 0x50], xmm2
mov rcx, qword [0x180053aa0]
lea edx, [r11 + 0x286]
mov r9d, dword [rbx + 0x14]
call fcn.180001fdc
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 0x180037a68
movss xmm0, dword [r12 + 0xf18]
movaps xmm3, xmm2
mulss xmm0, dword [0x18004dbd8]
subss xmm3, xmm1
mov eax, dword [rbx + 0x28]
inc eax
maxss xmm0, dword [rbx + 0x58]
andps xmm3, xmmword [0x18004df80]
mulss xmm3, dword [0x18004dba0]
maxss xmm3, xmm0
movss dword [rbx + 0x58], xmm3
cmp eax, dword [r12 + 0x1138]
jl 0x180037a5e
movss xmm0, dword [r12 + 0xf18]
mulss xmm0, dword [0x18004dbc0]
comiss xmm0, dword [rbx + 0x54]
jb 0x180037a5e
comiss xmm1, xmm2
mulss xmm3, dword [r12 + 0x18]
jae 0x180037a52
addss xmm1, xmm3
minss xmm1, xmm2
jmp 0x180037a61
jbe 0x180037a61
subss xmm1, xmm3
maxss xmm1, xmm2
jmp 0x180037a61
movaps xmm1, xmm2
movss dword [rbx + 0x4c], xmm1
jmp 0x180037a6b
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.18000fe10
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