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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x18005e010]
xor rax, rsp
mov qword [rbp - 0x41], rax
mov r13, qword [0x18005edd0]
xor r12d, r12d
xor eax, eax
mov byte [rcx + 0x6b], 0
xorps xmm0, xmm0
mov dword [rbp - 0x49], eax
mov eax, dword [rcx]
xor sil, sil
lea r14d, [r12 + 1]
mov rbx, rcx
mov edi, r12d
mov r11d, r12d
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
test eax, eax
jle 0x180040131
mov r8d, r12d
mov rdx, qword [rbx + 8]
mov eax, dword [rbx + 0x28]
cmp dword [r8 + rdx + 8], eax
jl 0x1800400f8
cmp byte [r8 + rdx + 0x24], r12b
jne 0x1800400f8
cmp edi, r11d
je 0x180040082
movups xmm0, xmmword [r8 + rdx]
movsxd rax, edi
lea rcx, [rax + rax*4]
movups xmmword [rdx + rcx*8], xmm0
movups xmm1, xmmword [r8 + rdx + 0x10]
movups xmmword [rdx + rcx*8 + 0x10], xmm1
movsd xmm0, qword [r8 + rdx + 0x20]
movsd qword [rdx + rcx*8 + 0x20], xmm0
mov rdx, qword [rbx + 8]
movsxd rax, edi
mov ecx, r12d
lea r9, [rax + rax*4]
mov eax, dword [rdx + r9*8 + 4]
mov word [rdx + r9*8 + 0x22], di
mov rdx, r12
test al, 0x40
jne 0x1800400b2
and eax, 0x80
setne cl
inc ecx
bt eax, 7
setb dl
inc rdx
test edi, edi
jle 0x1800400ec
mov rax, qword [rbx + 8]
mov r10d, dword [rax + r9*8 - 0x24]
mov eax, r12d
test r10b, 0x40
jne 0x1800400d1
test r10b, 0x80
setne al
inc eax
test ecx, ecx
jne 0x1800400dd
test eax, eax
je 0x1800400ec
movzx esi, r14b
cmp eax, 2
jne 0x1800400ec
cmp ecx, eax
movzx esi, sil
cmovne esi, r14d
lea rax, [rdx + rdx*2]
inc dword [rbp + rax*4 - 0x69]
inc edi
jmp 0x18004011f
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x20], eax
jne 0x180040105
mov dword [rbx + 0x20], r12d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x18], eax
jne 0x180040112
mov dword [rbx + 0x18], r12d
mov eax, dword [r8 + rdx]
cmp dword [rbx + 0x1c], eax
jne 0x18004011f
mov dword [rbx + 0x1c], r12d
mov eax, dword [rbx]
inc r11d
add r8, 0x28
cmp r11d, eax
jl 0x180040034
mov r14d, 8
cmp eax, edi
je 0x180040167
mov ecx, dword [rbx + 4]
cmp edi, ecx
jle 0x180040163
test ecx, ecx
je 0x180040151
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180040154
mov eax, r14d
cmp eax, edi
mov edx, edi
mov rcx, rbx
cmovg edx, eax
call fcn.180042c10
mov dword [rbx], edi
mov eax, edi
test sil, sil
je 0x18004018c
movsxd rdx, eax
cmp rdx, 1
jbe 0x18004018c
mov rcx, qword [rbx + 8]
lea r9, [0x18003f9c0]
mov r8d, 0x28
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_qsort]
mov r15d, dword [rbp - 0x69]
xorps xmm9, xmm9
mov esi, dword [rbp - 0x5d]
mov edi, dword [rbp - 0x51]
test r15d, r15d
jle 0x1800401b1
lea eax, [rsi + rdi]
test eax, eax
jle 0x1800401b1
movss xmm0, dword [r13 + 0x15c4]
jmp 0x1800401b4
xorps xmm0, xmm0
movss dword [rbp - 0x61], xmm0
test esi, esi
jle 0x1800401cc
test edi, edi
jle 0x1800401cc
movss xmm11, dword [r13 + 0x15c4]
jmp 0x1800401d0
xorps xmm11, xmm11
mov eax, dword [rbx + 0x1c]
movss dword [rbp - 0x55], xmm11
mov dword [rsp + 0x20], r12d
test eax, eax
je 0x1800401f3
mov r12d, eax
mov dword [rsp + 0x20], eax
mov dword [rbx + 0x18], eax
mov dword [rbx + 0x1c], 0
cmp dword [rbx + 0x64], 0
je 0x18004021b
mov rcx, rbx
call fcn.180040ed0
test al, al
je 0x180040214
mov eax, dword [rbx + 0x64]
cmp eax, dword [rbx + 0x18]
cmove r12d, eax
mov dword [rsp + 0x20], r12d
mov dword [rbx + 0x64], 0
mov eax, dword [rbx + 0x10]
shr eax, 2
test al, 1
je 0x18004023e
mov rcx, rbx
call fcn.1800413b0
test rax, rax
je 0x18004023e
mov r12d, dword [rax]
mov dword [rsp + 0x20], r12d
mov dword [rbx + 0x18], r12d
mov ecx, dword [r13 + 0x211c]
lea eax, [rdi + r15]
mov dword [rbp - 0x79], r15d
mov r15d, dword [rbx]
mov dword [rsp + 0x38], 0
mov dword [rbp - 0x7d], eax
cmp r15d, ecx
jle 0x1800402f3
test ecx, ecx
je 0x180040273
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r14d, [rcx + rax]
cmp r14d, r15d
mov edi, r15d
cmovg edi, r14d
cmp edi, ecx
jle 0x1800402f3
mov rax, qword [0x18005edd0]
test rax, rax
je 0x180040293
inc dword [rax + 0x3b0]
movsxd rcx, edi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, qword [r13 + 0x2120]
mov r12, rax
test r14, r14
je 0x1800402e0
movsxd r8, dword [r13 + 0x2118]
mov rdx, r14
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [0x18005edd0]
test rdx, rdx
je 0x1800402d7
dec dword [rdx + 0x3b0]
mov rcx, r14
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r13 + 0x2120], r12
mov r12d, dword [rsp + 0x20]
mov dword [r13 + 0x211c], edi
xor ecx, ecx
mov dword [r13 + 0x2118], r15d
mov eax, dword [rbx]
xor dl, dl
xor r15d, r15d
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], edx
lea r14d, [rcx - 1]
test eax, eax
jle 0x18004042e
xor esi, esi
nop word [rax + rax]
mov rdi, qword [rbx + 8]
add rdi, rsi
test rcx, rcx
je 0x180040334
mov eax, dword [rdi + 0xc]
cmp dword [rcx + 0xc], eax
jge 0x180040344
test dword [rdi + 4], 0x200000
cmove rcx, rdi
mov qword [rsp + 0x30], rcx
mov eax, dword [rdi]
mov ecx, 1
cmp eax, dword [rbx + 0x18]
movzx edx, dl
cmove edx, ecx
mov dword [rsp + 0x28], edx
test r12d, r12d
jne 0x180040368
cmp dword [r13 + 0x1e44], eax
cmove r12d, eax
mov r8d, dword [rdi + 4]
movsxd rdx, dword [rdi + 0x1c]
add rdx, qword [rbx + 0x90]
shr r8d, 0x14
not r8b
and r8b, cl
lea rcx, [rbp - 0x71]
call fcn.180042030
movss xmm1, dword [rax]
mov eax, dword [rdi + 4]
movss dword [rdi + 0x18], xmm1
test al, 0x40
je 0x18004039e
xor eax, eax
jmp 0x1800403aa
test al, 0x80
mov eax, 0
setne al
inc eax
mov edx, eax
lea rcx, [rax + rax*2]
cmp eax, r14d
jne 0x1800403c0
movss xmm0, dword [r13 + 0x15c4]
jmp 0x1800403c4
movaps xmm0, xmm9
mov r14d, eax
addss xmm1, xmm0
add rsi, 0x28
addss xmm1, dword [rbp + rcx*4 - 0x65]
movss dword [rbp + rcx*4 - 0x65], xmm1
movsxd rcx, dword [rsp + rax*4 + 0x38]
lea eax, [rcx + 1]
mov dword [rsp + rdx*4 + 0x38], eax
mov rdx, rcx
mov rax, qword [r13 + 0x2120]
mov dword [rax + rcx*8], r15d
inc r15d
mov rcx, qword [r13 + 0x2120]
mov eax, dword [rdi + 0x18]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rdi + 0x18]
mov rcx, qword [rsp + 0x30]
mov edx, dword [rsp + 0x28]
mov dword [rdi + 0x14], eax
mov eax, dword [rbx]
cmp r15d, eax
jl 0x180040320
movss xmm11, dword [rbp - 0x55]
mov esi, dword [rbp - 0x5d]
mov dword [rsp + 0x20], r12d
movss xmm10, dword [rbp - 0x65]
movss xmm6, dword [rbp - 0x59]
movaps xmm7, xmm10
addss xmm7, dword [rbp - 0x61]
movss xmm12, dword [rbp - 0x4d]
addss xmm6, xmm11
movaps xmm8, xmm12
addss xmm8, dword [rbp - 0x49]
movaps xmm1, xmm7
addss xmm1, xmm9
addss xmm1, xmm6
addss xmm1, xmm8
movss dword [rbx + 0x48], xmm1
movss xmm0, dword [rbx + 0x34]
subss xmm0, dword [rbx + 0x2c]
comiss xmm1, xmm0
jbe 0x1800404ae
cmp eax, 1
jle 0x1800404ae
mov eax, dword [rbx + 0x10]
test al, 0x10
jne 0x1800404ae
test al, al
jns 0x1800404ae
mov rcx, rbx
call fcn.180041030
test rax, rax
je 0x1800404ae
test dword [rax + 4], 0x200000
mov r12d, dword [rax]
mov dword [rsp + 0x20], r12d
jne 0x1800404ae
mov dword [rbx + 0x18], r12d
movss xmm0, dword [rbx + 0x34]
movaps xmm1, xmm8
subss xmm0, dword [rbx + 0x2c]
addss xmm1, xmm7
comiss xmm0, xmm1
seta al
test al, al
je 0x1800404de
subss xmm0, xmm7
subss xmm0, xmm8
subss xmm6, xmm0
maxss xmm6, xmm9
jmp 0x1800404e5
movaps xmm6, xmm1
subss xmm6, xmm0
comiss xmm6, xmm9
jbe 0x180040790
test byte [rbx + 0x10], 0x40
jne 0x180040510
test al, al
jne 0x180040790
mov ecx, dword [rbp - 0x51]
mov edx, dword [rbp - 0x69]
lea esi, [rcx + rdx]
test al, al
je 0x180040520
lea r14d, [rcx + rdx]
jmp 0x180040523
test al, al
je 0x1800404fd
mov ecx, dword [rbp - 0x51]
mov edx, dword [rbp - 0x69]
lea r14d, [rcx + rdx]
jmp 0x180040523
xor r14d, r14d
mov rax, qword [r13 + 0x2120]
movaps xmm2, xmm6
movsxd rdi, r14d
mov edx, esi
lea rcx, [rax + rdi*8]
call fcn.180032810
lea eax, [r14 + rsi]
movsxd r9, eax
cmp rdi, r9
jge 0x180040790
mov rax, r9
sub rax, rdi
cmp rax, 4
jl 0x180040710
lea r10, [r9 - 3]
nop
mov rdx, qword [r13 + 0x2120]
mov rcx, qword [rbx + 8]
movsxd rax, dword [rdx + rdi*8]
lea r8, [rax + rax*4]
cvttss2si eax, dword [rdx + rdi*8 + 4]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm9, xmm2
ja 0x1800405d1
mov eax, dword [rcx + r8*8 + 4]
test al, 0x40
je 0x180040593
xor eax, eax
jmp 0x1800405a0
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [rcx + r8*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x65]
subss xmm1, xmm2
movss dword [rcx + r8*8 + 0x14], xmm2
mov rdx, qword [r13 + 0x2120]
mov rcx, qword [rbx + 8]
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x65], xmm0
movsxd rax, dword [rdx + rdi*8 + 8]
lea r8, [rax + rax*4]
cvttss2si eax, dword [rdx + rdi*8 + 0xc]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm9, xmm2
ja 0x180040638
mov eax, dword [rcx + r8*8 + 4]
test al, 0x40
je 0x1800405fa
xor eax, eax
jmp 0x180040607
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [rcx + r8*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x65]
subss xmm1, xmm2
movss dword [rcx + r8*8 + 0x14], xmm2
mov rdx, qword [r13 + 0x2120]
mov rcx, qword [rbx + 8]
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x65], xmm0
movsxd rax, dword [rdx + rdi*8 + 0x10]
lea r8, [rax + rax*4]
cvttss2si eax, dword [rdx + rdi*8 + 0x14]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm9, xmm2
ja 0x18004069f
mov eax, dword [rcx + r8*8 + 4]
test al, 0x40
je 0x180040661
xor eax, eax
jmp 0x18004066e
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [rcx + r8*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x65]
subss xmm1, xmm2
movss dword [rcx + r8*8 + 0x14], xmm2
mov rdx, qword [r13 + 0x2120]
mov rcx, qword [rbx + 8]
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x65], xmm0
movsxd rax, dword [rdx + rdi*8 + 0x18]
lea r8, [rax + rax*4]
cvttss2si eax, dword [rdx + rdi*8 + 0x1c]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm9, xmm2
ja 0x1800406fb
mov eax, dword [rcx + r8*8 + 4]
test al, 0x40
je 0x1800406c8
xor eax, eax
jmp 0x1800406d5
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [rcx + r8*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x65]
subss xmm1, xmm2
movss dword [rcx + r8*8 + 0x14], xmm2
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x65], xmm0
add rdi, 4
cmp rdi, r10
jl 0x180040560
jmp 0x180040779
mov rcx, qword [r13 + 0x2120]
mov r8, qword [rbx + 8]
movsxd rax, dword [rcx + rdi*8]
lea rdx, [rax + rax*4]
cvttss2si eax, dword [rcx + rdi*8 + 4]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
comiss xmm9, xmm2
ja 0x180040776
mov eax, dword [r8 + rdx*8 + 4]
test al, 0x40
je 0x180040743
xor eax, eax
jmp 0x180040750
test al, 0x80
mov eax, 0
setne al
inc rax
movss xmm1, dword [r8 + rdx*8 + 0x14]
lea rax, [rax + rax*2]
movss xmm0, dword [rbp + rax*4 - 0x65]
subss xmm1, xmm2
movss dword [r8 + rdx*8 + 0x14], xmm2
subss xmm0, xmm1
movss dword [rbp + rax*4 - 0x65], xmm0
inc rdi
cmp rdi, r9
jl 0x180040710
movss xmm10, dword [rbp - 0x65]
movss xmm11, dword [rbp - 0x55]
movss xmm12, dword [rbp - 0x4d]
xor r9d, r9d
movaps xmm2, xmm9
mov dword [rsp + 0x24], r9d
xor r14d, r14d
mov dword [rbx + 0x44], r9d
lea r15, [r14 + r14*2]
cmp r14, 2
jne 0x1800407cd
movss xmm1, dword [rbx + 0x34]
movaps xmm0, xmm9
subss xmm1, dword [rbx + 0x2c]
subss xmm1, dword [rbp + r15*4 - 0x65]
maxss xmm0, xmm1
minss xmm0, xmm2
movaps xmm2, xmm0
movsxd r12, dword [rbp + r15*4 - 0x69]
xor r8d, r8d
xor esi, esi
mov rdi, r12
cmp r12, 4
jl 0x1800408e3
movsxd rax, r9d
lea r11, [r12 - 4]
shr r11, 2
lea r10d, [r12 - 1]
lea r9d, [r8 + 2]
lea rcx, [rax + rax*4]
shl rcx, 3
inc r11
lea rsi, [r11*4]
nop dword [rax]
mov rax, qword [rbx + 8]
movss dword [rcx + rax + 0x10], xmm2
cmp r8d, r10d
jge 0x18004082a
movss xmm0, dword [r13 + 0x15c4]
jmp 0x18004082e
movaps xmm0, xmm9
addss xmm0, dword [rcx + rax + 0x14]
mov rdx, qword [rbx + 8]
lea eax, [r9 - 1]
addss xmm2, xmm0
movss dword [rcx + rdx + 0x38], xmm2
cmp eax, r10d
jge 0x180040856
movss xmm0, dword [r13 + 0x15c4]
jmp 0x18004085a
movaps xmm0, xmm9
mov rax, qword [rbx + 8]
addss xmm0, dword [rcx + rdx + 0x3c]
addss xmm2, xmm0
movss dword [rcx + rax + 0x60], xmm2
cmp r9d, r10d
jge 0x18004087e
movss xmm0, dword [r13 + 0x15c4]
jmp 0x180040882
movaps xmm0, xmm9
addss xmm0, dword [rcx + rax + 0x64]
mov rdx, qword [rbx + 8]
lea eax, [r9 + 1]
addss xmm2, xmm0
movss dword [rcx + rdx + 0x88], xmm2
cmp eax, r10d
jge 0x1800408ad
movss xmm0, dword [r13 + 0x15c4]
jmp 0x1800408b1
movaps xmm0, xmm9
addss xmm0, dword [rcx + rdx + 0x8c]
add r8d, 4
add r9d, 4
add rcx, 0xa0
addss xmm2, xmm0
sub r11, 1
jne 0x180040810
mov r9d, dword [rsp + 0x24]
cmp rsi, rdi
jl 0x1800408e8
jmp 0x180040933
test r12d, r12d
jle 0x180040933
movsxd rcx, r9d
lea edx, [r12 - 1]
add rcx, rsi
lea rax, [rcx + rcx*4]
shl rax, 3
sub rdi, rsi
mov rcx, qword [rbx + 8]
movss dword [rax + rcx + 0x10], xmm2
cmp r8d, edx
jge 0x180040918
movss xmm0, dword [r13 + 0x15c4]
jmp 0x18004091c
movaps xmm0, xmm9
addss xmm0, dword [rax + rcx + 0x14]
inc r8d
add rax, 0x28
addss xmm2, xmm0
sub rdi, 1
jne 0x1800408fe
movss xmm1, dword [rbp + r15*4 - 0x61]
add r9d, r12d
movaps xmm0, xmm1
mov dword [rsp + 0x24], r9d
addss xmm0, dword [rbp + r15*4 - 0x65]
inc r14
addss xmm2, xmm1
maxss xmm0, xmm9
addss xmm0, dword [rbx + 0x44]
movss dword [rbx + 0x44], xmm0
cmp r14, 3
jl 0x1800407a3
cmp byte [rsp + 0x28], 0
jne 0x18004097c
mov dword [rbx + 0x18], 0
jmp 0x180040983
mov eax, dword [rbx + 0x18]
test eax, eax
jne 0x18004099d
xor eax, eax
cmp dword [rbx + 0x1c], eax
jne 0x18004099d
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x18004099d
mov edx, dword [rcx]
mov eax, edx
mov dword [rbx + 0x18], edx
jmp 0x1800409a1
mov edx, dword [rsp + 0x20]
xor esi, esi
mov dword [rbx + 0x20], eax
mov byte [rbx + 0x6c], 0
test edx, edx
je 0x180040adb
mov r8d, dword [rbx]
mov eax, esi
test r8d, r8d
jle 0x180040adb
mov r9, qword [rbx + 8]
mov rcx, r9
cmp dword [rcx], edx
je 0x1800409db
inc eax
add rcx, 0x28
cmp eax, r8d
jl 0x1800409c7
jmp 0x180040adb
cdqe
lea rcx, [rax + rax*4]
lea rdx, [rcx*8]
lea rcx, [rdx + r9]
test rcx, rcx
je 0x180040adb
test byte [rcx + 4], 0xc0
jne 0x180040adb
mov rax, qword [0x18005edd0]
movss xmm3, dword [rbx + 0x34]
subss xmm3, dword [rbx + 0x2c]
movss xmm0, dword [rax + 0x1990]
movabs rax, 0x6666666666666667
imul rdx
subss xmm3, xmm10
sar rdx, 4
mov rax, rdx
subss xmm3, xmm12
shr rax, 0x3f
add rdx, rax
mov eax, dword [rbp - 0x69]
dec eax
subss xmm3, xmm11
cmp edx, eax
jle 0x180040a58
movaps xmm1, xmm0
xorps xmm1, xmmword [0x1800559c0]
jmp 0x180040a5c
movaps xmm1, xmm9
movss xmm2, dword [rcx + 0x10]
lea eax, [rdx + 1]
sub r8d, dword [rbp - 0x51]
subss xmm2, xmm10
addss xmm1, xmm2
cmp eax, r8d
jl 0x180040a7e
movss xmm0, dword [0x180055524]
addss xmm2, dword [rcx + 0x14]
movss xmm4, dword [rbx + 0x50]
comiss xmm4, xmm1
mov dword [rbx + 0x54], esi
addss xmm2, xmm0
ja 0x180040ac3
movaps xmm0, xmm2
subss xmm0, xmm1
comiss xmm0, xmm3
jae 0x180040ac3
subss xmm2, xmm3
comiss xmm2, xmm4
jbe 0x180040adb
subss xmm1, xmm3
movss dword [rbx + 0x50], xmm2
subss xmm1, dword [rbx + 0x4c]
maxss xmm1, xmm9
movss dword [rbx + 0x54], xmm1
jmp 0x180040adb
movss xmm0, dword [rbx + 0x4c]
subss xmm0, xmm2
movss dword [rbx + 0x50], xmm1
maxss xmm0, xmm9
movss dword [rbx + 0x54], xmm0
movss xmm5, dword [rbx + 0x2c]
movss xmm0, dword [rbx + 0x34]
movss xmm2, dword [rbx + 0x44]
subss xmm0, xmm5
movss xmm3, dword [rbx + 0x4c]
movaps xmm1, xmm2
movss xmm4, dword [rbx + 0x50]
subss xmm1, xmm0
minss xmm3, xmm1
maxss xmm3, xmm9
movss dword [rbx + 0x4c], xmm3
movss xmm0, dword [rbx + 0x34]
subss xmm0, xmm5
subss xmm2, xmm0
minss xmm4, xmm2
maxss xmm4, xmm9
ucomiss xmm3, xmm4
movss dword [rbx + 0x50], xmm4
jp 0x180040b37
jne 0x180040b37
mov dword [rbx + 0x58], esi
jmp 0x180040bc5
movss xmm0, dword [r13 + 0x1990]
movaps xmm1, xmm4
movss xmm2, dword [rbx + 0x58]
subss xmm1, xmm3
mulss xmm0, dword [0x1800555dc]
mov eax, dword [rbx + 0x28]
inc eax
andps xmm1, xmmword [0x1800559a0]
maxss xmm2, xmm0
divss xmm1, dword [0x1800554d4]
maxss xmm2, xmm1
movss dword [rbx + 0x58], xmm2
cmp eax, dword [r13 + 0x1ba0]
jl 0x180040bbd
movss xmm1, dword [r13 + 0x1990]
mulss xmm1, dword [0x1800555b0]
movss xmm0, dword [rbx + 0x54]
comiss xmm0, xmm1
ja 0x180040bbd
comiss xmm4, xmm3
mulss xmm2, dword [r13 + 0x18]
jbe 0x180040bae
addss xmm3, xmm2
minss xmm3, xmm4
jmp 0x180040bc0
comiss xmm3, xmm4
jbe 0x180040bc0
subss xmm3, xmm2
maxss xmm3, xmm4
jmp 0x180040bc0
movaps xmm3, xmm4
movss dword [rbx + 0x4c], xmm3
test dword [rbx + 0x10], 0x100000
addss xmm10, xmm5
movss xmm0, dword [rbx + 0x34]
subss xmm0, xmm12
addss xmm10, dword [rbp - 0x61]
subss xmm0, xmm11
movss dword [rbx + 0x5c], xmm10
movss dword [rbx + 0x60], xmm0
jne 0x180040c1f
mov ecx, dword [rbx + 0x8c]
test ecx, ecx
jns 0x180040c19
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
lea rcx, [rbx + 0x88]
test eax, eax
cmovg edx, eax
call fcn.18001a500
mov dword [rbx + 0x88], esi
movsd xmm0, qword [rbx + 0x2c]
lea rcx, [rsp + 0x30]
mov r9, qword [r13 + 0x1c20]
movsd qword [r9 + 0xd8], xmm0
movss xmm1, dword [rbx + 0x44]
movss xmm0, dword [rbx + 0x38]
subss xmm0, dword [rbx + 0x30]
movss dword [rsp + 0x30], xmm1
movss xmm1, dword [rbx + 0x7c]
movss dword [rsp + 0x34], xmm0
call fcn.1800120f0
movss xmm1, dword [rbx + 0x48]
addss xmm1, dword [rbx + 0x2c]
movss xmm0, dword [r9 + 0xf8]
maxss xmm0, xmm1
movss dword [r9 + 0xf8], xmm0
mov rcx, qword [rbp - 0x41]
xor rcx, rsp
call fcn.18004ca20
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret