Function at 0x180036c5c
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 0x180036df7
mov r8d, r14d
mov rdx, qword [rbx + 8]
mov eax, dword [rbx + 0x28]
cmp dword [r8 + rdx + 8], eax
jl 0x180036dbe
cmp byte [r8 + rdx + 0x28], r14b
jne 0x180036dbe
movsxd r9, edi
cmp edi, r10d
je 0x180036d34
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 0x180036d54
mov ecx, r14d
mov rdx, r14
jmp 0x180036d70
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 0x180036db0
mov rax, qword [rbx + 8]
mov r9d, dword [rax + r11 - 0x28]
test r9b, 0x40
je 0x180036d88
mov eax, r14d
jmp 0x180036d96
and r9b, 0x80
neg r9b
sbb eax, eax
neg eax
add eax, r12d
test ecx, ecx
jne 0x180036da1
test eax, eax
je 0x180036db0
mov sil, r12b
cmp eax, 2
jne 0x180036db0
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 0x180036de5
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x20], eax
jne 0x180036dcb
mov dword [rbx + 0x20], r14d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x18], eax
jne 0x180036dd8
mov dword [rbx + 0x18], r14d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x1c], eax
jne 0x180036de5
mov dword [rbx + 0x1c], r14d
mov eax, dword [rbx]
add r10d, r12d
add r8, 0x2c
cmp r10d, eax
jl 0x180036ce1
mov r13, rbx
mov r12d, 8
cmp eax, edi
je 0x180036e30
mov ecx, dword [rbx + 4]
cmp edi, ecx
jle 0x180036e2c
test ecx, ecx
je 0x180036e1a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180036e1d
mov eax, r12d
cmp eax, edi
mov edx, edi
mov rcx, rbx
cmovg edx, eax
call fcn.180038f70
mov dword [rbx], edi
mov eax, edi
test sil, sil
je 0x180036e57
movsxd rdx, eax
mov ecx, 1
cmp rdx, rcx
jbe 0x180036e57
lea r8d, [rcx + 0x2b]
mov rcx, qword [r13 + 8]
lea r9, [0x1800366bc]
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 0x180036e7e
lea eax, [rcx + rdx]
test eax, eax
jle 0x180036e7e
movss xmm12, dword [r15 + 0xb24]
jmp 0x180036e82
xorps xmm12, xmm12
movss dword [rsp + 0x48], xmm12
test ecx, ecx
jle 0x180036e9c
test edx, edx
jle 0x180036e9c
movss xmm11, dword [r15 + 0xb24]
jmp 0x180036ea0
xorps xmm11, xmm11
xor r11d, r11d
movss dword [rbp - 0x75], xmm11
mov dword [rbp + 0x67], r14d
cmp dword [rbx + 0x1c], r11d
je 0x180036ec3
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 0x180036fcb
mov rcx, rbx
call fcn.180037be8
mov r11, rax
test rax, rax
je 0x180036fc4
test byte [rax + 4], 0x20
jne 0x180036fc4
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 0x180036fc4
cmp edx, dword [rbx]
jge 0x180036fc4
movsxd rax, edx
imul rdi, rax, 0x2c
add rdi, qword [r13 + 8]
mov eax, dword [rdi + 4]
test al, 0x20
jne 0x180036fc4
xor eax, dword [r11 + 4]
test al, 0xc0
jne 0x180036fc4
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 0x180036f77
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 0x180036fb6
mov rcx, qword [0x180052720]
comiss xmm9, dword [rcx + 0x2f0c]
jb 0x180036fb6
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 0x180037142
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 [0x18004d984]
movss dword [rsp + 0x3c], xmm0
call fcn.180003c04
xorps xmm0, xmm0
lea rdx, [rsp + 0x30]
mov ecx, 0x15
movups xmmword [rsp + 0x30], xmm0
call fcn.180003c04
call fcn.18002f68c
mov ecx, 2
mov r10b, al
call fcn.180003c60
xor r11d, r11d
mov esi, r11d
test r10b, r10b
je 0x18003711c
mov r15d, r11d
cmp dword [rbx], r11d
jle 0x180037110
mov r14d, r11d
lea r13d, [r11 + 1]
mov rdi, qword [rbx + 8]
add rdi, r14
test dword [rdi + 4], 0x200000
jne 0x1800370ff
cmp dword [rdi + 0x20], 0xffffffff
jne 0x1800370cf
lea rcx, [0x18004ca84]
jmp 0x1800370da
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.180035b38
test al, al
cmovne rsi, rdi
add r15d, r13d
add r14, 0x2c
cmp r15d, dword [rbx]
jl 0x1800370b0
mov r13, qword [rsp + 0x20]
call fcn.1800113a4
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 0x180037142
mov r13d, dword [rsi]
mov dword [rbx + 0x18], r13d
jmp 0x180037146
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 0x18003720d
test ecx, ecx
je 0x18003717c
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 0x18003720d
mov rax, qword [0x180052720]
test rax, rax
je 0x1800371a0
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 0x1800371fb
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 0x1800371f2
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 0x180037211
mov r12, qword [rbp + 0x77]
movss xmm10, dword [0x18004d9b8]
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 0x180037380
mov rdi, qword [rbx + 8]
add rdi, rsi
test rcx, rcx
je 0x180037257
mov eax, dword [rdi + 0xc]
cmp dword [rcx + 0xc], eax
jge 0x180037266
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 0x180037286
cmp dword [r12 + 0x1bf0], eax
cmove r13d, eax
cmp dword [rdi + 0x20], 0xffffffff
jne 0x180037295
lea rdx, [0x18004ca84]
jmp 0x1800372a0
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 0x1800372cf
lea rcx, [rbp + 0x6f]
call fcn.1800387d0
mov r10d, 1
movss xmm0, dword [rax]
mov eax, dword [rdi + 4]
movss dword [rdi + 0x18], xmm0
test al, 0x40
je 0x1800372df
xor eax, eax
jmp 0x1800372ea
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 0x180037301
movss xmm1, dword [r12 + 0xb24]
jmp 0x180037305
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 0x180037243
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 0x18003738e
lea r14, [rbx + 0x2c]
movss dword [rbx + 0x48], xmm1
movss xmm0, dword [r14 + 8]
subss xmm0, dword [r14]
comiss xmm1, xmm0
jbe 0x1800373ee
cmp dword [rbx], r10d
jle 0x1800373ee
mov eax, dword [rbx + 0x10]
and al, 0x90
cmp al, 0x80
jne 0x1800373ee
mov rcx, rbx
call fcn.180037d48
mov r10d, 1
test rax, rax
je 0x1800373ee
test dword [rax + 4], 0x200000
mov r13d, dword [rax]
jne 0x1800373ee
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 0x180037444
movss xmm6, dword [rbp - 0x79]
subss xmm0, xmm1
addss xmm6, xmm11
subss xmm0, xmm2
subss xmm6, xmm0
maxss xmm6, xmm9
jmp 0x180037448
subss xmm6, xmm0
comiss xmm6, xmm10
jb 0x1800376bf
test byte [rbx + 0x10], 0x40
jne 0x180037460
test al, al
jne 0x1800376bf
test al, al
je 0x180037470
mov eax, dword [rbp - 0x71]
add eax, dword [rsp + 0x40]
mov ecx, dword [rbp - 0x7d]
jmp 0x18003747c
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 0x1800374bf
movss xmm0, dword [rdi + 4]
comiss xmm0, xmm9
jb 0x180037613
subss xmm0, xmm6
maxss xmm0, xmm10
movss dword [rdi + 4], xmm0
jmp 0x180037613
movsxd rsi, ecx
cmp rsi, r10
jbe 0x1800374e6
lea r9, [0x18002f62c]
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 0x18003757e
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 0x1800375f4
add r9d, eax
add rcx, rax
add r8, 0xc
cmp rcx, rsi
jl 0x18003750e
subss xmm0, xmm10
comiss xmm0, xmm9
mov r10d, 1
jbe 0x18003757e
movd xmm2, r9d
movaps xmm1, xmm6
cvtdq2ps xmm2, xmm2
divss xmm1, xmm2
minss xmm1, xmm0
test rcx, rcx
jle 0x18003756c
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 0x180037557
mulss xmm2, xmm1
subss xmm6, xmm2
comiss xmm6, xmm9
ja 0x1800374ec
movaps xmm2, xmm9
test rsi, rsi
jle 0x180037611
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 0x180037592
comiss xmm2, xmm9
jbe 0x180037611
xor ecx, ecx
lea rax, [rdi + 4]
comiss xmm2, xmm9
jbe 0x180037611
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 0x1800375c2
jmp 0x1800375b6
lea rax, [rcx + rcx*2]
movss xmm1, dword [rdi + rax*4 + 4]
comiss xmm1, xmm9
jb 0x180037527
subss xmm0, xmm1
jmp 0x18003752c
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 0x1800376bf
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 0x180037699
mov eax, dword [r8 + 4]
maxss xmm2, xmm10
test al, 0x40
je 0x180037668
mov rax, rsi
jmp 0x180037675
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 0x18003762e
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 0x1800376f3
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 0x180037757
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 0x180037737
movss xmm0, dword [r12 + 0xb24]
jmp 0x18003773b
movaps xmm0, xmm9
addss xmm0, dword [rdx + rax + 0x14]
add r9d, r14d
add rdx, 0x2c
addss xmm1, xmm0
sub r10, r14
jne 0x180037717
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 0x1800376cb
lea rdi, [rbx + 0x88]
mov ecx, dword [rdi + 4]
test ecx, ecx
jns 0x1800377bd
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.180016c28
mov r10d, 1
mov dword [rdi], esi
cmp byte [rbp + 0x67], sil
jne 0x1800377c8
mov dword [rbx + 0x18], esi
mov ecx, dword [rbx + 0x18]
mov eax, ecx
test ecx, ecx
jne 0x1800377e9
cmp dword [rbx + 0x1c], esi
jne 0x1800377e9
mov rcx, qword [rbp + 0x7f]
test rcx, rcx
je 0x1800377e9
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 0x180037906
mov edx, r13d
mov rcx, rbx
call fcn.180037be8
mov r11, rax
test rax, rax
je 0x1800379f9
test byte [rax + 4], 0xc0
jne 0x1800379f9
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 0x18003787a
movaps xmm1, xmm0
xorps xmm1, xmmword [0x18004dde0]
jmp 0x18003787e
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 0x18003789c
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 0x1800378e9
movaps xmm0, xmm2
subss xmm0, xmm1
comiss xmm0, xmm3
jae 0x1800378e9
subss xmm2, xmm3
comiss xmm4, xmm2
jae 0x1800379f9
subss xmm1, xmm3
movss dword [rbx + 0x50], xmm2
subss xmm1, dword [rbx + 0x4c]
maxss xmm1, xmm9
movss dword [rbx + 0x54], xmm1
jmp 0x1800379f9
movss xmm0, dword [rbx + 0x4c]
subss xmm0, xmm2
movss dword [rbx + 0x50], xmm1
maxss xmm0, xmm9
movss dword [rbx + 0x54], xmm0
jmp 0x1800379f9
test byte [rbx + 0x10], 0x80
je 0x1800379f9
mov r8b, r10b
lea rdx, [rbx + 0x34]
mov rcx, r14
call fcn.18000e714
test al, al
je 0x1800379f9
mov rcx, qword [r12 + 0x11e0]
xor edx, edx
call fcn.180005aec
test al, al
je 0x1800379f9
mov al, byte [r12 + 0xa75]
test al, al
je 0x180037956
movss xmm0, dword [r12 + 0x118]
jmp 0x180037960
movss xmm0, dword [r12 + 0x11c]
mov edx, dword [rbx + 0x14]
neg al
sbb r11d, r11d
neg r11d
lea ecx, [r11 + 0x286]
call fcn.18000fb60
test al, al
je 0x1800379d6
ucomiss xmm0, xmm9
je 0x1800379d6
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 [0x18004d970]
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.180001f8c
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 0x180037ad4
movss xmm0, dword [r12 + 0xf18]
movaps xmm3, xmm2
mulss xmm0, dword [0x18004da2c]
subss xmm3, xmm1
mov eax, dword [rbx + 0x28]
inc eax
maxss xmm0, dword [rbx + 0x58]
andps xmm3, xmmword [0x18004ddd0]
mulss xmm3, dword [0x18004d9f0]
maxss xmm3, xmm0
movss dword [rbx + 0x58], xmm3
cmp eax, dword [r12 + 0x1138]
jl 0x180037aca
movss xmm0, dword [r12 + 0xf18]
mulss xmm0, dword [0x18004da10]
comiss xmm0, dword [rbx + 0x54]
jb 0x180037aca
comiss xmm1, xmm2
mulss xmm3, dword [r12 + 0x18]
jae 0x180037abe
addss xmm1, xmm3
minss xmm1, xmm2
jmp 0x180037acd
jbe 0x180037acd
subss xmm1, xmm3
maxss xmm1, xmm2
jmp 0x180037acd
movaps xmm1, xmm2
movss dword [rbx + 0x4c], xmm1
jmp 0x180037ad7
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.18000fdd0
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