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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x300
lea rbp, [rsp + 0xc0]
mov qword [rbp + 0x270], rbx
mov qword [rbp + 0x278], rsi
mov qword [rbp + 0x280], rdi
movaps xmmword [rbp + 0x230], xmm6
movaps xmmword [rbp + 0x220], xmm7
movaps xmmword [rbp + 0x210], xmm8
movaps xmmword [rbp + 0x200], xmm9
movaps xmmword [rbp + 0x1f0], xmm10
movaps xmmword [rbp + 0x1e0], xmm11
movaps xmmword [rbp + 0x1d0], xmm12
movaps xmmword [rbp + 0x1c0], xmm13
movaps xmmword [rbp + 0x1b0], xmm14
movaps xmmword [rbp + 0x1a0], xmm15
mov rax, qword [0x180128180]
xor rax, rbp
mov qword [rbp + 0x190], rax
and dword [rbp + 0xb0], 0
mov rsi, rcx
mov edi, dword [rbp + 0x290]
xor r11d, r11d
mov qword [rbp + 0x100], rcx
mov r12, r9
mov r9d, dword [rcx + 8]
mov ebx, r8d
mov ecx, dword [rcx + 0xc]
xorps xmm14, xmm14
mov r8, qword [rsi]
mov rax, rdx
mov dword [rbp], ecx
xorps xmm10, xmm10
mov ecx, r11d
mov dword [rbp + 0xac], r11d
mov dword [rbp + 0x48], ecx
xorps xmm15, xmm15
mov r10d, dword [r8 + 8]
xorps xmm13, xmm13
movsxd r13, dword [r8 + 4]
mov dword [rbp + 0x80], ecx
mov rcx, qword [r8 + 0x20]
mov qword [rbp + 0xe8], rcx
mov ecx, dword [rsi + 0x24]
mov dword [rbp + 0xc], ecx
mov ecx, dword [rsi + 0x28]
mov dword [rbp + 0x10], ecx
lea ecx, [r11 + 2]
movss dword [rbp + 0x54], xmm14
mov qword [rbp + 0x90], rdx
mov dword [rbp + 0x20], r9d
mov dword [rbp + 8], 0xf
mov dword [rbp + 0xf0], r11d
mov dword [rbp + 0x108], r11d
mov dword [rbp + 0x44], r11d
mov qword [rbp + 0x28], r8
mov dword [rbp + 0x3c], r10d
cmp edi, ecx
jl 0x1800b7667
test rax, rax
je 0x1800b7667
imul ebx, dword [rsi + 0x20]
lea r15d, [r11 + 1]
mov edx, dword [r8 + 0x28]
mov ecx, r11d
mov dword [rbp + 4], ecx
test edx, edx
js 0x1800b5278
mov eax, dword [r8 + 0x30]
shl eax, cl
cmp eax, ebx
je 0x1800b5275
add ecx, r15d
cmp ecx, edx
jle 0x1800b5264
mov dword [rbp + 4], ecx
cmp ecx, edx
jg 0x1800b7667
mov r14, qword [rbp + 0x298]
mov eax, r15d
shl eax, cl
mov ecx, dword [r8 + 0x30]
imul ecx, eax
mov dword [rbp + 0x40], eax
mov eax, r13d
imul eax, r9d
mov dword [rbp + 0x34], ecx
cdqe
add rax, 0x3f
lea rax, [rsi + rax*4]
mov qword [rbp + 0xd8], rax
lea eax, [r13 + 0x400]
imul eax, r9d
movsxd rcx, eax
mov eax, r10d
imul eax, r9d
add rcx, 0x3f
lea rcx, [rsi + rcx*4]
cdqe
mov qword [rbp + 0x148], rax
shl rax, 2
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0x110], rax
lea rdx, [rax + rcx]
lea rcx, [rcx + rax*2]
mov qword [rbp + 0x140], rdx
add rax, rcx
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x138], rax
test r14, r14
jne 0x1800b5321
mov r14d, r15d
mov dword [rbp + 0x1c], r15d
mov dword [rbp + 0xe0], r15d
mov r15d, r11d
jmp 0x1800b534d
mov rcx, r14
call fcn.1800be950
bsr ecx, dword [r14 + 0x20]
mov r14d, dword [r14 + 0x18]
sub r14d, ecx
mov dword [rbp + 0xe0], eax
sub r14d, r15d
mov dword [rbp + 0x1c], r14d
lea r15d, [r14 + 4]
sar r15d, 3
xor r11d, r11d
cmp dword [rsi + 0x34], r11d
je 0x1800b536c
mov r8d, 0x60b
lea rdx, str..._.._.._third_party_opus_src_celt_celt_encoder.c
lea rcx, str.assertion_failed:_st__signalling0
call fcn.1800b02e4
mov r11d, 0x4fb
cmp edi, r11d
mov eax, r11d
cmovl eax, edi
xor r10d, r10d
mov edi, eax
mov dword [rbp + 0x18], eax
sub edi, r15d
mov dword [rbp + 0x50], edi
cmp dword [rsi + 0x30], r10d
je 0x1800b53c7
mov r8d, dword [rsi + 0x2c]
cmp r8d, 0xffffffff
je 0x1800b53c7
mov rax, qword [rbp + 0x28]
mov edi, dword [rax]
mov eax, r8d
imul eax, ebx
mov ebx, dword [rbp + 0x18]
sar edi, 3
mov ecx, edi
sar ecx, 1
add eax, ecx
cdq
idiv edi
mov edi, dword [rbp + 0x50]
mov r9d, eax
mov dword [rbp + 0x5c], eax
sar r9d, 6
mov dword [rbp + 0x14], r9d
jmp 0x1800b5433
mov r8d, dword [rsi + 0x2c]
mov edx, r8d
imul edx, ebx
mov dword [rbp + 0x5c], r10d
cmp r8d, 0xffffffff
je 0x1800b5429
mov rax, qword [rbp + 0x28]
mov r9d, 1
mov ebx, dword [rbp + 0x18]
cmp r14d, r9d
mov ecx, dword [rax]
lea eax, [rdx + r14]
cmovle eax, edx
lea eax, [rax + rcx*4]
shl ecx, 3
cdq
idiv ecx
cmp dword [rsi + 0x34], r10d
lea edx, [r9 + 1]
mov ecx, r10d
setne cl
sub eax, ecx
mov ecx, ebx
cmp ebx, eax
cmovge ecx, eax
cmp ecx, edx
jge 0x1800b541f
mov ebx, edx
mov dword [rbp + 0x18], edx
jmp 0x1800b542b
cmp ebx, eax
cmovge ebx, eax
mov dword [rbp + 0x18], ebx
jmp 0x1800b542b
mov ebx, eax
mov eax, ebx
sub eax, r15d
mov dword [rbp + 0x14], eax
mov ecx, dword [rbp + 4]
mov edx, 0x190
mov eax, dword [rbp]
mov r9d, 3
sar edx, cl
sub r9d, ecx
sub edx, 0x32
mov dword [rbp + 0xa8], r9d
mov ecx, r9d
lea eax, [rax + rax*4]
lea eax, [rax*8 + 0x14]
imul edx, eax
imul eax, ebx, 0x190
sar eax, cl
sub eax, edx
mov dword [rbp + 0x60], eax
cmp r8d, 0xffffffff
je 0x1800b5483
sub r8d, edx
cmp eax, r8d
cmovge eax, r8d
mov dword [rbp + 0x60], eax
cmp qword [rbp + 0x298], r10
jne 0x1800b54b1
mov r8d, ebx
lea rcx, [rbp + 0x158]
mov rdx, r12
call fcn.1800ba338
lea r12, [rbp + 0x158]
xor r10d, r10d
mov qword [rbp + 0x298], r12
jmp 0x1800b54b8
mov r12, qword [rbp + 0x298]
mov eax, dword [rbp + 0x5c]
test eax, eax
jle 0x1800b5510
cmp dword [rsi + 0x38], r10d
je 0x1800b5510
lea edx, [rax + rax]
mov ecx, r10d
sub edx, dword [rsi + 0xd4]
mov eax, 1
sar edx, 6
cmp r14d, eax
mov eax, 2
cmove ecx, eax
mov eax, edx
cmp ecx, edx
cmovg eax, ecx
cmp eax, edi
jge 0x1800b54f6
cmp ecx, edx
cmovle ecx, edx
jmp 0x1800b54f8
mov ecx, edi
cmp ecx, edi
jge 0x1800b5510
lea ebx, [rcx + r15]
mov dword [rbp + 0x50], ecx
mov edx, ebx
mov dword [rbp + 0x18], ebx
mov rcx, r12
call fcn.1800ba428
mov rax, qword [rbp + 0x28]
mov edi, ebx
mov edx, dword [rbp + 0x34]
movabs r8, 0xffffffffffffff0
shl edi, 3
mov dword [rbp + 0x38], edi
mov eax, dword [rax + 0xc]
cmp dword [rbp + 0x10], eax
cmovle eax, dword [rbp + 0x10]
mov dword [rbp + 0x30], eax
lea eax, [rdx + r13]
mov dword [rbp + 0x58], eax
imul eax, dword [rbp + 0x20]
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800b5554
mov rax, r8
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
mov r9d, dword [rbp]
sub rsp, rax
mov r8, qword [rbp + 0x90]
xor r10d, r10d
movaps xmm0, xmm10
movaps xmm1, xmm10
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x88], rax
lea r11d, [r10 + 1]
mov eax, edx
sub eax, r13d
imul eax, r9d
cdq
idiv dword [rsi + 0x20]
test eax, eax
jle 0x1800b55b0
mov rcx, r8
mov edx, eax
maxss xmm0, dword [rcx]
minss xmm1, dword [rcx]
lea rcx, [rcx + 4]
sub rdx, r11
jne 0x1800b559f
movss xmm2, dword [0x1800f1cf0]
movss xmm6, dword [rsi + 0xe4]
xorps xmm1, xmm2
maxss xmm0, xmm1
comiss xmm6, xmm0
ja 0x1800b55f5
movaps xmm6, xmm10
movaps xmm0, xmm10
test eax, eax
jle 0x1800b55ee
mov rcx, r8
mov edx, eax
maxss xmm6, dword [rcx]
minss xmm0, dword [rcx]
lea rcx, [rcx + 4]
sub rdx, r11
jne 0x1800b55dd
xorps xmm0, xmm2
maxss xmm6, xmm0
cdqe
movaps xmm0, xmm10
movaps xmm1, xmm10
lea rcx, [r8 + rax*4]
mov eax, r13d
imul eax, r9d
cdq
idiv dword [rsi + 0x20]
test eax, eax
jle 0x1800b5625
mov edx, eax
maxss xmm0, dword [rcx]
minss xmm1, dword [rcx]
lea rcx, [rcx + 4]
sub rdx, r11
jne 0x1800b5614
mov ecx, dword [rsi + 0x40]
xorps xmm1, xmm2
movss xmm12, dword [0x1800f1ac4]
maxss xmm0, xmm1
mov eax, r11d
movaps xmm1, xmm12
shl eax, cl
maxss xmm6, xmm0
movss dword [rsi + 0xe4], xmm0
movd xmm0, eax
mov eax, r10d
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, xmm6
setae al
mov dword [rbp + 0x64], eax
cmp r14d, r11d
jne 0x1800b5681
mov r8d, 0xf
mov edx, eax
mov rcx, r12
call fcn.1800b9f74
mov eax, dword [rbp + 0x64]
xor r10d, r10d
jmp 0x1800b5687
mov eax, r10d
mov dword [rbp + 0x64], eax
test eax, eax
je 0x1800b56d1
mov r9d, dword [rbp + 0x5c]
test r9d, r9d
jle 0x1800b56bf
lea eax, [r15 + 2]
mov dword [rbp + 0x50], 2
cmp ebx, eax
mov rcx, r12
cmovl eax, ebx
mov edi, eax
mov dword [rbp + 0x18], eax
shl edi, 3
mov edx, eax
mov dword [rbp + 0x38], edi
mov dword [rbp + 0x14], eax
call fcn.1800ba428
xor r10d, r10d
bsr eax, dword [r12 + 0x20]
mov dword [rbp + 0x1c], edi
inc eax
add eax, edi
mov dword [r12 + 0x18], eax
mov r12, qword [rbp + 0x28]
mov ebx, r10d
mov r14, qword [rbp + 0x90]
add r12, 0x10
mov r15d, r10d
mov r9d, 1
cmp dword [rsi + 0x14], r10d
je 0x1800b56fe
comiss xmm6, dword [0x1800f6e80]
mov r8d, r9d
ja 0x1800b5701
mov r8d, r10d
mov rdx, qword [rbp + 0x88]
lea rdi, [rsi + 0xc4]
mov r9d, dword [rbp + 0x20]
mov dword [rsp + 0x38], r8d
mov r8d, dword [rbp + 0x34]
movsxd rcx, ebx
movsxd rax, r15d
add rax, r13
lea rdi, [rdi + rcx*4]
mov qword [rsp + 0x30], rdi
lea rcx, [r14 + rcx*4]
lea rdx, [rdx + rax*4]
mov qword [rsp + 0x28], r12
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x20], eax
call fcn.1800b783c
mov edi, dword [rbp + 0x58]
mov r9d, 1
mov r8d, dword [rbp + 0x20]
add ebx, r9d
add r15d, edi
lea r10d, [r9 - 1]
cmp ebx, r8d
jl 0x1800b56ec
mov r14d, dword [rbp + 0x1c]
lea eax, [r9 + 4]
mov ecx, dword [rbp + 0x50]
xor edx, edx
mov dword [rbp + 0xc0], eax
cmp dword [rsi + 0x44], edx
je 0x1800b5780
cmp ecx, 3
jg 0x1800b5792
mov eax, dword [rbp]
lea eax, [rax + rax*2]
shl eax, 2
cmp ecx, eax
jle 0x1800b57af
mov eax, 5
mov r13d, dword [rbp + 0xc]
test r13d, r13d
jne 0x1800b57b3
cmp dword [rbp + 0x64], edx
jne 0x1800b57b3
cmp dword [rsi + 0x18], edx
jne 0x1800b57b3
cmp dword [rsi + 0x1c], eax
jl 0x1800b57b3
mov eax, r9d
jmp 0x1800b57b5
mov r13d, dword [rbp + 0xc]
mov eax, edx
mov edx, dword [rsi + 0x68]
lea rbx, [rsi + 0x7c]
mov r15, qword [rbp + 0x88]
mov r9d, r8d
mov r8, qword [rbp + 0xd8]
mov qword [rsp + 0x58], rbx
mov dword [rsp + 0x50], ecx
mov rcx, rsi
mov dword [rsp + 0x48], eax
lea rax, [rbp + 0x1c]
mov qword [rsp + 0x40], rax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x34]
mov dword [rsp + 0x28], edx
mov dword [rbp + 0xf8], edx
mov rdx, r15
mov dword [rsp + 0x20], eax
call fcn.1800b8e18
movss xmm1, dword [0x1800f6e14]
movss xmm0, dword [rbp + 0xb0]
comiss xmm0, xmm1
mov ecx, dword [rbp + 8]
mov dword [rbp + 0xc4], eax
mov dword [rbp + 0xf4], ecx
ja 0x1800b5842
movss xmm0, dword [rsi + 0x70]
comiss xmm0, xmm1
jbe 0x1800b589c
xor r10d, r10d
cmp dword [rbx], r10d
je 0x1800b585f
movss xmm0, dword [rsi + 0x80]
cvtps2pd xmm0, xmm0
comisd xmm0, xmmword [0x1800f6e38]
jbe 0x1800b589f
movd xmm1, dword [rsi + 0x6c]
cvtdq2pd xmm1, xmm1
movd xmm2, ecx
movaps xmm0, xmm1
mulsd xmm0, qword [0x1800f6e50]
cvtdq2pd xmm2, xmm2
comisd xmm2, xmm0
ja 0x1800b588f
mulsd xmm1, qword [0x1800f6e48]
comisd xmm1, xmm2
jbe 0x1800b589f
mov ecx, 1
mov dword [rbp + 0xf0], ecx
jmp 0x1800b58a4
xor r10d, r10d
mov ecx, 1
mov r12d, 6
mov dword [rbp + 0xc8], r12d
test eax, eax
jne 0x1800b58e9
mov ebx, dword [rbp + 0x38]
test r13d, r13d
jne 0x1800b596f
lea eax, [r14 + 0x10]
mov r14, qword [rbp + 0x298]
cmp eax, ebx
jg 0x1800b5976
mov r8d, ecx
xor edx, edx
mov rcx, r14
call fcn.1800b9f74
xor r10d, r10d
jmp 0x1800b5976
mov r14, qword [rbp + 0x298]
mov r8d, ecx
mov edx, ecx
mov rcx, r14
call fcn.1800b9f74
mov ebx, dword [rbp + 8]
mov r8d, r12d
inc ebx
mov rcx, r14
bsr edi, ebx
lea edx, [rdi - 4]
call fcn.1800ba490
lea ecx, [rdi - 4]
mov eax, 0x10
shl eax, cl
mov edx, ebx
sub edx, eax
mov r8d, edi
mov rcx, r14
call fcn.1800b9fdc
mov edx, dword [rbp + 0x1c]
lea eax, [rbx - 1]
mov r8d, 3
mov dword [rbp + 0xf4], eax
mov rcx, r14
call fcn.1800b9fdc
mov edx, dword [rbp + 0xf8]
lea r8, [0x1800f6b80]
mov r12d, 2
mov rcx, r14
mov r9d, r12d
call fcn.1800ba2a8
mov edi, dword [rbp + 0x58]
xor r10d, r10d
mov ebx, dword [rbp + 0x38]
jmp 0x1800b597c
mov r14, qword [rbp + 0x298]
mov r12d, 2
mov edx, dword [rsi + 0x1c]
mov r11d, 1
mov dword [rbp + 8], r10d
mov r9d, r10d
mov dword [rbp + 0x1c], r10d
cmp edx, r11d
jl 0x1800b5a06
cmp dword [rsi + 0x44], r10d
jne 0x1800b5a06
test r13d, r13d
je 0x1800b59b2
cmp dword [rbp + 0x14], 0xf
jge 0x1800b59b2
mov eax, r11d
cmp dword [rsi + 0xbc], r12d
jne 0x1800b59b5
mov eax, r10d
mov r12d, dword [rbp + 0x20]
lea rcx, [rbp + 0x44]
mov qword [rsp + 0x30], rcx
lea r9, [rbp + 0x54]
mov dword [rsp + 0x28], eax
mov r8d, r12d
lea rax, [rbp + 0x80]
mov edx, edi
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1800b9b68
mov r13d, dword [rbp + 0x80]
xor r10d, r10d
mov edx, dword [rsi + 0x1c]
mov r9d, eax
movss xmm14, dword [rbp + 0x54]
mov dword [rbp + 8], eax
lea r11d, [r10 + 1]
mov dword [rbp + 0x48], r13d
jmp 0x1800b5a0e
mov r12d, dword [rbp + 0x20]
mov r13d, dword [rbp + 0x48]
mov r8d, dword [rbp + 4]
mov edi, edx
test r8d, r8d
jle 0x1800b5a3a
bsr ecx, dword [r14 + 0x20]
mov eax, dword [r14 + 0x18]
sub eax, ecx
add eax, 2
cmp eax, ebx
jg 0x1800b5a3a
mov eax, r9d
neg eax
sbb edi, edi
and edi, dword [rbp + 0x40]
mov dword [rbp + 0x1c], edi
jmp 0x1800b5a4a
mov edx, edi
mov dword [rbp + 8], r10d
mov edi, dword [rbp + 0x1c]
mov dword [rbp + 0x108], r11d
mov eax, dword [rbp + 0x34]
movabs rbx, 0xffffffffffffff0
imul eax, r12d
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800b5a6e
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
mov rcx, qword [rbp + 0x110]
sub rsp, rax
lea rax, [rcx + 0xf]
lea r12, [rsp + 0xc0]
mov qword [rbp + 0xd8], r12
cmp rax, rcx
ja 0x1800b5a9c
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x70], rax
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800b5ac0
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
xor ecx, ecx
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x98], rax
mov eax, 8
mov dword [rbp + 0x58], eax
test edi, edi
je 0x1800b5af2
cmp edx, eax
jl 0x1800b5af2
lea edi, [rax - 7]
jmp 0x1800b5af4
mov edi, ecx
mov eax, dword [rbp + 0x3c]
mov r14d, dword [rbp]
imul eax, r14d
mov dword [rbp + 0x54], edi
mov dword [rbp + 0x80], eax
cdqe
mov rcx, rax
mov qword [rbp + 0xb8], rax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800b5b24
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
movss xmm11, dword [0x1800f1aa8]
sub rsp, rax
lea rbx, [rsp + 0xc0]
mov qword [rbp + 0xd0], rbx
test edi, edi
je 0x1800b5bf8
mov eax, dword [rsi + 0x4c]
mov r9, r12
mov rcx, qword [rbp + 0x28]
xor edx, edx
mov dword [rsp + 0x40], eax
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0x30], r8d
mov r8, r15
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
call fcn.1800b79e0
mov eax, dword [rsi + 0x4c]
mov rdx, r12
mov r9d, dword [rbp + 0x30]
mov r8, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
call fcn.1800c0978
mov r9, qword [rbp + 0x70]
mov r8d, dword [rbp + 0x10]
mov edx, dword [rbp + 0x30]
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rbx
call fcn.1800c3cc4
mov rdx, qword [rbp + 0xb8]
xor eax, eax
test rdx, rdx
jle 0x1800b5bf8
movd xmm1, dword [rbp + 4]
lea ecx, [rax + 1]
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm11
movaps xmm0, xmm1
addss xmm0, dword [rbx + rax*4]
movss dword [rbx + rax*4], xmm0
add rax, rcx
cmp rax, rdx
jl 0x1800b5be3
mov eax, dword [rsi + 0x4c]
mov r9, r12
mov edx, dword [rbp + 0x1c]
mov r8, r15
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x40], eax
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
call fcn.1800b79e0
movss xmm0, dword [r12]
ucomiss xmm0, xmm0
jp 0x1800b5c53
jne 0x1800b5c53
mov eax, 1
cmp r14d, eax
je 0x1800b5c71
movsxd rax, dword [rbp + 0x34]
movss xmm0, dword [r12 + rax*4]
ucomiss xmm0, xmm0
jp 0x1800b5c53
je 0x1800b5c6c
mov r8d, 0x6c1
lea rdx, str..._.._.._third_party_opus_src_celt_celt_encoder.c
lea rcx, str.assertion_failed:__celt_isnan_freq_0_____C1___celt_isnan_freq_N___
call fcn.1800b02e4
mov eax, 1
mov ecx, 2
cmp dword [rbp + 0x20], ecx
jne 0x1800b5c89
cmp r14d, eax
lea eax, [rcx - 2]
cmove r13d, eax
mov dword [rbp + 0x48], r13d
mov eax, dword [rsi + 0x4c]
mov rdx, r12
mov r15d, dword [rbp + 0x30]
mov r9d, r15d
mov r8, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
call fcn.1800c0978
movsxd rdx, dword [rbp + 0x10]
xor eax, eax
mov r13, rdx
movss xmm8, dword [0x1800f6b18]
mov rcx, qword [rbp + 0x70]
mov qword [rbp + 0x68], rdx
cmp dword [rsi + 0x44], eax
je 0x1800b5d07
mov eax, 2
cmp rdx, rax
jle 0x1800b5d07
lea r8d, [rax - 1]
movss xmm1, dword [rcx + rax*4]
movss xmm0, dword [rcx]
mulss xmm0, dword [0x1800f1a1c]
minss xmm1, xmm0
maxss xmm1, xmm8
movss dword [rcx + rax*4], xmm1
add rax, r8
cmp rax, r13
jl 0x1800b5ce0
mov rax, qword [rbp + 0x98]
mov r9, rcx
mov rcx, qword [rbp + 0x28]
mov r8d, edx
mov edx, r15d
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call fcn.1800c3cc4
mov rcx, qword [rbp + 0xb8]
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800b5d48
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
shl r13, 2
mov r8, r13
xor edx, edx
lea r15, [rsp + 0xc0]
mov rcx, r15
mov qword [rbp + 0x78], r15
call fcn.1800e7d46
movsxd r8, dword [rbp + 0x3c]
xor r11d, r11d
mov r9d, dword [rbp + 0xc]
movss xmm9, dword [0x1800f1a84]
movss xmm6, dword [0x1800f5dbc]
mov qword [rbp + 0x90], r8
test r9d, r9d
jne 0x1800b602d
mov r15, qword [rsi + 0xf0]
test r15, r15
je 0x1800b6029
cmp dword [rsi + 0x44], r11d
jne 0x1800b6029
mov ebx, dword [rsi + 0x60]
lea eax, [r9 + 2]
cmp ebx, eax
movaps xmm15, xmm10
movaps xmm13, xmm10
mov r12d, r11d
cmovl ebx, eax
test r14d, r14d
jle 0x1800b5e90
movss xmm3, dword [0x1800f1b80]
mov r14, r8
mov rsi, qword [rbp + 0xe8]
mov r10d, r11d
mov r11d, dword [rbp]
shl r14, 2
xor eax, eax
lea ecx, [rax + 1]
test ebx, ebx
jle 0x1800b5e78
mov edi, ecx
mov r9d, ebx
mov rax, rsi
lea r8, [r15 + r10]
sub edi, ebx
mov esi, 2
movss xmm2, dword [r8]
minss xmm2, xmm9
comiss xmm2, xmm3
ja 0x1800b5e22
movaps xmm2, xmm3
comiss xmm2, xmm10
jbe 0x1800b5e2d
mulss xmm2, xmm11
lea rdx, [rax + 2]
movd xmm1, edi
movsx ecx, word [rdx]
add edi, esi
movsx eax, word [rax]
add r8, 4
sub ecx, eax
mov rax, rdx
add r12d, ecx
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mov ecx, 1
mulss xmm1, xmm2
cvtdq2ps xmm0, xmm0
addss xmm13, xmm1
mulss xmm0, xmm2
addss xmm15, xmm0
sub r9, rcx
jne 0x1800b5e10
mov rsi, qword [rbp + 0xe8]
xor eax, eax
add r10, r14
sub r11, rcx
jne 0x1800b5df9
mov rsi, qword [rbp + 0x100]
test r12d, r12d
jg 0x1800b5eac
mov r8d, 0x6ea
lea rdx, str..._.._.._third_party_opus_src_celt_celt_encoder.c
lea rcx, str.assertion_failed:_count_0
call fcn.1800b02e4
xor r11d, r11d
mulss xmm13, dword [0x1800f5e50]
lea ecx, [rbx - 1]
mov r10d, dword [rbp]
lea eax, [rbx + 1]
xorps xmm0, xmm0
imul ecx, eax
cvtsi2ss xmm0, r12d
imul ecx, ebx
divss xmm15, xmm0
imul ecx, r10d
xorps xmm0, xmm0
addss xmm15, xmm6
cvtsi2ss xmm0, ecx
divss xmm13, xmm0
movss xmm0, dword [0x1800f6e84]
mulss xmm13, xmm11
minss xmm13, dword [0x1800f6e00]
comiss xmm13, xmm0
ja 0x1800b5f07
movaps xmm13, xmm0
mov rcx, qword [rbp + 0xe8]
mov edi, r11d
movsxd r9, ebx
mov ebx, 1
movsx eax, word [rcx + r9*2]
lea r14d, [rbx + 1]
cdq
sub eax, edx
lea rdx, [rcx + 2]
sar eax, 1
movsx ecx, word [rdx]
cmp ecx, eax
jge 0x1800b5f39
add edi, ebx
add rdx, r14
jmp 0x1800b5f2b
mov r15, qword [rbp + 0x78]
mov edx, r11d
test r9, r9
jle 0x1800b5fd4
mov rax, qword [rsi + 0xf0]
neg edi
mov r11, qword [rbp + 0x90]
mov rcx, r15
sub rcx, rax
mov r8, r9
movss xmm0, dword [rax]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm13
addss xmm1, xmm15
cmp r10d, r14d
jne 0x1800b5f82
maxss xmm0, dword [rax + r11*4]
minss xmm0, xmm10
subss xmm0, xmm1
comiss xmm0, xmm9
jbe 0x1800b5f9d
subss xmm0, xmm9
add edx, ebx
movss dword [rcx + rax], xmm0
add edi, ebx
add rax, 4
sub r8, rbx
jne 0x1800b5f62
cmp edx, 3
jl 0x1800b5fd1
addss xmm15, xmm9
comiss xmm15, xmm10
jbe 0x1800b6000
mov r8, r9
xor edx, edx
shl r8, 2
mov rcx, r15
movaps xmm15, xmm10
movaps xmm13, xmm10
call fcn.1800e7d46
xor r11d, r11d
mulss xmm13, dword [0x1800f6e74]
addss xmm15, xmm6
mov edi, dword [rbp + 0x54]
mov r12, qword [rbp + 0xd8]
mov rbx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0x90]
mov r9d, dword [rbp + 0xc]
jmp 0x1800b602d
xor r11d, r11d
mov eax, r11d
movss xmm1, dword [r15 + rax*4]
movaps xmm0, xmm10
subss xmm1, xmm9
maxss xmm0, xmm1
movss dword [r15 + rax*4], xmm0
add rax, rbx
cmp rax, r9
jl 0x1800b6006
jmp 0x1800b5fd4
mov r15, qword [rbp + 0x78]
mov r14d, dword [rsi + 0x44]
test r14d, r14d
jne 0x1800b6107
movss xmm1, dword [0x1800f6e98]
cmp dword [rbp + 0x1c], r11d
je 0x1800b6057
movd xmm2, dword [rbp + 4]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm11
jmp 0x1800b605b
movaps xmm2, xmm10
mov rdx, qword [rbp + 0x68]
movsxd rax, r9d
cmp rax, rdx
jge 0x1800b60b0
mov rcx, qword [rbp + 0x98]
sub rdx, rax
mov r10d, 1
lea rcx, [rcx + rax*4]
mov eax, dword [rbp]
movss xmm0, dword [rcx]
subss xmm1, xmm12
subss xmm0, xmm2
maxss xmm1, xmm0
cmp eax, 2
jne 0x1800b60a2
movss xmm0, dword [rcx + r8*4]
subss xmm0, xmm2
maxss xmm1, xmm0
add rcx, 4
addss xmm10, xmm1
sub rdx, r10
jne 0x1800b607e
mov eax, dword [rbp + 0x10]
movss xmm1, dword [rsi + 0xf8]
sub eax, r9d
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm10, xmm0
movss xmm0, dword [0x1800f6e90]
subss xmm10, xmm1
maxss xmm0, xmm10
movss xmm10, dword [0x1800f1b08]
comiss xmm0, xmm10
ja 0x1800b60ef
movaps xmm10, xmm0
movaps xmm0, xmm10
mulss xmm0, dword [0x1800f5d48]
addss xmm0, xmm1
movss dword [rsi + 0xf8], xmm0
test edi, edi
jne 0x1800b6128
mov r8, qword [rbp + 0xb8]
mov rcx, rbx
mov rdx, qword [rbp + 0x98]
shl r8, 2
call sub.VCRUNTIME140.dll_memcpy
xor r11d, r11d
cmp dword [rbp + 4], r11d
jle 0x1800b62bf
mov r9, qword [rbp + 0x298]
mov edx, dword [r9 + 0x20]
mov ebx, edx
mov r8d, dword [r9 + 0x18]
mov edi, r8d
bsr ecx, edx
mov eax, r8d
sub eax, ecx
mov ecx, dword [rbp + 8]
add eax, 2
cmp eax, dword [rbp + 0x38]
jg 0x1800b629e
test ecx, ecx
jne 0x1800b629e
cmp dword [rsi + 0x1c], 5
jl 0x1800b629e
test r14d, r14d
jne 0x1800b629e
mov eax, dword [rbp + 0xc]
test eax, eax
jne 0x1800b629e
mov ecx, dword [rbp + 0x10]
mov r9d, eax
mov r14d, dword [rbp]
mov r8d, dword [rbp + 0x3c]
mov rdx, qword [rbp + 0xa0]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp + 0x98]
call fcn.1800b8c38
test eax, eax
je 0x1800b6294
mov eax, dword [rsi + 0x4c]
mov r9, r12
mov ecx, dword [rbp + 0x40]
mov edx, ecx
mov ebx, dword [rbp + 4]
mov r8, qword [rbp + 0x88]
mov dword [rsp + 0x40], eax
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x20]
mov dword [rsp + 0x30], ebx
mov dword [rbp + 0x1c], ecx
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
mov dword [rbp + 8], 1
call fcn.1800b79e0
mov eax, dword [rsi + 0x4c]
mov rdx, r12
mov r9d, dword [rbp + 0x30]
mov r8, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r14d
call fcn.1800c0978
mov rax, qword [rbp + 0x98]
mov r9, qword [rbp + 0x70]
mov r8d, dword [rbp + 0x10]
mov edx, dword [rbp + 0x30]
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
call fcn.1800c3cc4
mov rdx, qword [rbp + 0xb8]
xor r11d, r11d
test rdx, rdx
jle 0x1800b627f
mov rcx, qword [rbp + 0xd0]
lea edi, [r11 + 1]
movd xmm1, ebx
mov eax, r11d
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm11
movaps xmm0, xmm1
addss xmm0, dword [rcx + rax*4]
movss dword [rcx + rax*4], xmm0
add rax, rdi
cmp rax, rdx
jl 0x1800b626a
mov r9, qword [rbp + 0x298]
movaps xmm14, xmm6
mov ebx, dword [r9 + 0x20]
mov edi, dword [r9 + 0x18]
jmp 0x1800b629b
mov r9, qword [rbp + 0x298]
mov ecx, dword [rbp + 8]
bsr eax, ebx
mov ebx, 2
sub edi, eax
add edi, ebx
cmp edi, dword [rbp + 0x38]
jg 0x1800b62c4
mov edx, ecx
lea r8d, [rbx + 1]
mov rcx, r9
call fcn.1800b9f74
jmp 0x1800b62c4
mov ebx, 2
mov eax, dword [rbp + 0x34]
mov edx, dword [rbp]
imul eax, edx
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800b62e7
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
mov ecx, dword [rbp + 0x40]
sub rsp, rax
mov r9, qword [rbp + 0x70]
mov dword [rsp + 0x30], ecx
lea rax, [rsp + 0xc0]
mov rcx, qword [rbp + 0x28]
mov r8, rax
mov dword [rsp + 0x28], edx
mov edx, dword [rbp + 0x30]
mov dword [rsp + 0x20], edx
mov rdx, r12
mov qword [rbp + 0x88], rax
call fcn.1800c1904
mov r12d, dword [rbp]
mov r8d, dword [rbp + 0x14]
mov r9d, dword [rbp + 0xc]
imul eax, r12d, 0xf
cmp r8d, eax
jl 0x1800b6355
xor eax, eax
test r9d, r9d
jne 0x1800b6357
cmp dword [rsi + 0x1c], ebx
jl 0x1800b6357
mov ecx, dword [rsi + 0x44]
test ecx, ecx
jne 0x1800b6357
lea r14d, [r9 + 1]
jmp 0x1800b635d
xor eax, eax
mov ecx, dword [rsi + 0x44]
mov r14d, eax
mov rdi, qword [rbp + 0x90]
movabs rbx, 0xffffffffffffff0
shl rdi, 2
lea rax, [rdi + 0xf]
cmp rax, rdi
ja 0x1800b637e
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
lea rax, [rdi + 0xf]
lea rdx, [rsp + 0xc0]
mov qword [rbp + 0x120], rdx
cmp rax, rdi
ja 0x1800b63a5
mov rax, rbx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
lea rax, [rdi + 0xf]
lea rbx, [rsp + 0xc0]
cmp rax, rdi
ja 0x1800b63cc
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x98], rbx
mov qword [rbp + 0x130], rax
lea rax, [rsi + 0x7c]
mov qword [rsp + 0x90], rax
lea rax, [rbp + 0x54]
mov qword [rsp + 0x88], r15
mov dword [rsp + 0x80], ecx
mov rcx, qword [rbp + 0x98]
mov qword [rsp + 0x78], rax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x70], r8d
mov r8d, dword [rbp + 0x3c]
mov dword [rsp + 0x68], eax
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x60], rax
mov eax, dword [rsi + 0x38]
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x30]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 8]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x28]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x40], rax
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x10]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0xd0]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.1800b7ef8
lea rax, [rdi + 0xf]
movaps xmm7, xmm0
cmp rax, rdi
ja 0x1800b649a
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
xor edx, edx
lea r15, [rsp + 0xc0]
mov qword [rbp + 0x128], r15
test r14d, r14d
je 0x1800b6547
movsxd r14, dword [rbp + 0x30]
mov ecx, 0x50
mov r8d, dword [rbp + 8]
mov eax, 0x5000
cdq
mov qword [rsp + 0x50], rbx
idiv dword [rbp + 0x14]
mov r9, r15
mov edx, r14d
add eax, 2
cmp eax, ecx
cmovl eax, ecx
mov ecx, dword [rbp + 0x48]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rbp + 4]
movss dword [rsp + 0x40], xmm14
mov dword [rsp + 0x38], ecx
mov ecx, dword [rbp + 0x34]
mov dword [rsp + 0x30], ecx
mov rcx, qword [rbp + 0x88]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x20], eax
call fcn.1800b9400
mov rbx, qword [rbp + 0x68]
mov rdx, r14
mov dword [rbp + 0x48], eax
cmp r14, rbx
jge 0x1800b65aa
lea rdi, [r15 + r14*4]
mov eax, 1
mov ecx, dword [rdi - 4]
mov dword [r15 + rdx*4], ecx
add rdx, rax
cmp rdx, rbx
jl 0x1800b6536
jmp 0x1800b65aa
cmp dword [rbp + 0xc], edx
je 0x1800b658e
cmp dword [rbp + 0x44], edx
je 0x1800b655d
cmp dword [rbp + 0x10], edx
jle 0x1800b65a3
mov eax, 1
jmp 0x1800b6597
cmp dword [rbp + 0x14], 0xf
jge 0x1800b658e
mov eax, 2
cmp dword [rsi + 0xbc], eax
je 0x1800b658e
cmp dword [rbp + 0x10], edx
jle 0x1800b6584
and r13, 0xfffffffffffffffc
mov rcx, r15
mov r8, r13
call fcn.1800e7d46
mov r13d, dword [rbp + 8]
mov dword [rbp + 0x48], r13d
jmp 0x1800b65a6
cmp dword [rbp + 0x10], edx
jle 0x1800b65a3
movsxd rax, dword [rbp + 8]
shr r13, 2
mov rdi, r15
mov rcx, r13
rep stosd dword [rdi], eax
mov dword [rbp + 0x48], edx
mov rbx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0xb8]
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800b65c8
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
movsxd rsi, dword [rbp + 0xc]
sub rsp, rax
movsd xmm6, qword [0x1800f6b60]
xor eax, eax
movss xmm4, dword [0x1800f1af0]
mov r10d, eax
mov r13, qword [rbp + 0x98]
mov r9d, eax
mov r15, qword [rbp + 0xa0]
lea r11, [rsp + 0xc0]
mov eax, dword [rbp + 0x3c]
mov ecx, 1
mov r14, qword [rbp + 0x138]
mov qword [rbp + 0xd8], r11
mov qword [rbp + 0x78], rsi
cmp rsi, rbx
jge 0x1800b6693
movsxd rcx, r9d
mov rdi, r15
add rcx, rsi
mov r8, r14
sub rdi, r14
sub r8, r13
mov r12d, 1
lea rax, [rcx*4]
mov rcx, rbx
add rax, r13
sub rcx, rsi
movss xmm3, dword [rax]
lea rdx, [r8 + rax]
movaps xmm0, xmm3
subss xmm0, dword [rdx + rdi]
cvtps2pd xmm1, xmm0
andps xmm1, xmm6
cvtpd2ps xmm2, xmm1
comiss xmm4, xmm2
jbe 0x1800b667e
movss xmm0, dword [rdx]
mulss xmm0, xmm9
subss xmm3, xmm0
movss dword [rax], xmm3
add rax, 4
sub rcx, r12
jne 0x1800b664e
mov r12d, dword [rbp]
mov ecx, 1
mov eax, dword [rbp + 0x3c]
add r10d, ecx
add r9d, eax
cmp r10d, r12d
jl 0x1800b6620
mov rsi, qword [rbp + 0x100]
xor eax, eax
mov r15d, dword [rbp + 4]
mov edx, eax
mov rdi, qword [rbp + 0x298]
mov r9d, dword [rbp + 0x30]
mov eax, dword [rsi + 0x44]
lea rcx, [rsi + 0x58]
cmp dword [rsi + 0x1c], 4
mov r8d, dword [rbp + 0x10]
mov dword [rsp + 0x80], eax
setge dl
mov eax, dword [rsi + 0x3c]
mov dword [rsp + 0x78], eax
mov eax, dword [rsi + 0x10]
mov dword [rsp + 0x70], edx
mov edx, dword [rbp + 0xc]
mov qword [rsp + 0x68], rcx
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x50]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x38]
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0xa0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
call fcn.1800c3db4
bsr eax, dword [rdi + 0x20]
mov ecx, dword [rdi + 0x18]
mov r14d, dword [rdi + 8]
sub ecx, eax
mov r9d, dword [rbp + 8]
mov eax, r9d
mov r13d, dword [rbp + 0x48]
shl r14d, 3
neg eax
lea edx, [rcx - 1]
sbb r8d, r8d
xor edi, edi
and r8d, 0xfffffffe
add r8d, 4
test r15d, r15d
jle 0x1800b6770
lea eax, [r8 + rcx]
cmp eax, r14d
ja 0x1800b6770
lea r10d, [rdi + 1]
mov r15d, r10d
mov dword [rbp + 0x44], r10d
jmp 0x1800b677c
mov r15d, edi
mov dword [rbp + 0x44], edi
mov r10d, 1
mov r12d, edi
mov ecx, edi
mov rdi, qword [rbp + 0x78]
sub r14d, r15d
cmp rdi, rbx
jge 0x1800b67fe
mov rsi, qword [rbp + 0x128]
mov eax, r9d
mov r15, qword [rbp + 0x298]
neg eax
mov r13, qword [rbp + 0x68]
sbb ebx, ebx
lea eax, [r8 + rdx]
cmp eax, r14d
ja 0x1800b67d8
xor ecx, dword [rsi + rdi*4]
mov edx, ecx
mov rcx, r15
call fcn.1800b9f74
bsr eax, dword [r15 + 0x20]
mov edx, dword [r15 + 0x18]
mov r10d, 1
mov ecx, dword [rsi + rdi*4]
sub edx, eax
sub edx, r10d
or r12d, ecx
jmp 0x1800b67db
mov dword [rsi + rdi*4], ecx
add rdi, r10
lea r8d, [rbx + 5]
cmp rdi, r13
jl 0x1800b67a6
mov rsi, qword [rbp + 0x100]
mov r15d, dword [rbp + 0x44]
mov r13d, dword [rbp + 0x48]
mov rdi, qword [rbp + 0x78]
mov r9d, dword [rbp + 8]
movsxd rbx, dword [rbp + 4]
lea r8, [0x1800f67c8]
xor r14d, r14d
test r15d, r15d
je 0x1800b683e
lea eax, [r12 + r9*4]
movsxd rcx, eax
lea rdx, [rcx + rbx*8]
mov al, byte [rdx + r8 + 2]
cmp byte [rdx + r8], al
je 0x1800b683e
mov r15, qword [rbp + 0x298]
mov r8d, r10d
mov rcx, r15
mov edx, r13d
call fcn.1800b9f74
jmp 0x1800b6848
mov r15, qword [rbp + 0x298]
mov r13d, r14d
mov r10, qword [rbp + 0x68]
mov r11d, dword [rbp + 8]
cmp rdi, r10
jge 0x1800b68a3
mov r9, qword [rbp + 0x128]
lea eax, [r11*2]
add eax, r13d
mov r8, rbx
mov rdx, rdi
shl r8, 3
lea rbx, [0x1800f67c8]
mov r14d, 1
lea edi, [rax + rax]
mov eax, dword [r9 + rdx*4]
add eax, edi
cdqe
add rax, r8
movsx eax, byte [rax + rbx]
mov dword [r9 + rdx*4], eax
add rdx, r14
cmp rdx, r10
jl 0x1800b6881
mov rdi, qword [rbp + 0x78]
xor r14d, r14d
bsr eax, dword [r15 + 0x20]
mov ecx, dword [r15 + 0x18]
mov ebx, dword [rbp + 0x38]
sub ecx, eax
mov eax, 3
add ecx, eax
cmp ecx, ebx
jg 0x1800b690b
cmp dword [rsi + 0x44], r14d
je 0x1800b68d3
lea r12d, [rax - 1]
mov dword [rsi + 0x68], r14d
mov dword [rsi + 0x54], r12d
mov eax, r12d
jmp 0x1800b68f4
cmp dword [rbp + 0xc], r14d
je 0x1800b6c6b
cmp dword [rsi + 0x1c], r14d
je 0x1800b6cee
test r11d, r11d
je 0x1800b68f1
mov eax, 2
mov dword [rsi + 0x54], eax
mov r9d, 5
lea r8, [0x1800f6b7c]
mov edx, eax
mov rcx, r15
call fcn.1800ba2a8
cmp dword [rsi + 0x44], r14d
je 0x1800b6933
mov eax, 0x55555556
imul dword [rbp + 0x14]
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 8
cmp edx, eax
cmovg edx, eax
mov rax, qword [rbp + 0x120]
mov dword [rax], edx
mov r13, qword [rbp + 0x90]
shl r13, 2
mov qword [rbp + 0x48], r13
lea rax, [r13 + 0xf]
cmp rax, r13
ja 0x1800b6955
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
mov r9d, dword [rbp]
sub rsp, rax
mov r8d, dword [rbp + 4]
mov rcx, qword [rbp + 0x28]
lea r14, [rsp + 0xc0]
mov rdx, r14
mov qword [rbp + 0x130], r14
call fcn.1800b06d0
xor eax, eax
shl ebx, 3
mov rcx, r15
mov dword [rbp + 0x14], eax
mov r12d, eax
mov dword [rbp + 0x44], ebx
call fcn.1800be950
mov r11, qword [rbp + 0x68]
mov r15d, eax
mov dword [rbp + 0x40], eax
cmp rdi, r11
jge 0x1800b6ae0
mov rcx, qword [rbp + 0x120]
mov rsi, r14
mov rax, qword [rbp + 0x78]
sub rsi, rcx
mov r9d, dword [rbp + 0x40]
mov r8d, 0x30
mov qword [rbp + 0xd0], rdi
mov r10d, r12d
lea r15, [rcx + rax*4]
mov rax, qword [rbp + 0xe8]
mov ecx, dword [rbp + 4]
movsx edx, word [rax + rdi*2 + 2]
movsx eax, word [rax + rdi*2]
sub edx, eax
imul edx, dword [rbp]
shl edx, cl
mov ecx, dword [rbp + 0xc8]
cmp edx, r8d
mov r12d, edx
mov eax, edx
cmovl r12d, r8d
shl eax, 3
cmp eax, r12d
mov r8d, ecx
cmovl r12d, eax
xor edx, edx
sub ebx, r10d
lea eax, [r9 + rcx*8]
mov r13d, edx
mov r14d, edx
cmp eax, ebx
jge 0x1800b6aaa
cmp r13d, dword [rsi + r15]
jge 0x1800b6a78
mov edi, dword [r15]
cmp r14d, edi
mov rcx, qword [rbp + 0x298]
setl dl
call fcn.1800b9f74
mov rcx, qword [rbp + 0x298]
call fcn.1800be950
mov r9d, eax
cmp r14d, edi
jge 0x1800b6a78
add dword [rbp + 0x14], r12d
mov eax, 1
add r14d, eax
mov r8d, eax
lea eax, [r9 + 8]
add r13d, r12d
sub ebx, r12d
mov edx, 0
cmp eax, ebx
jl 0x1800b6a27
mov r10d, dword [rbp + 0x14]
mov r11, qword [rbp + 0x68]
mov dword [rbp + 0x40], r9d
test r14d, r14d
je 0x1800b6aa3
mov eax, dword [rbp + 0xc8]
mov edi, 2
dec eax
cmp eax, edi
mov ecx, eax
cmovl ecx, edi
mov dword [rbp + 0xc8], ecx
mov rdi, qword [rbp + 0xd0]
mov ebx, dword [rbp + 0x44]
inc rdi
mov dword [r15], r13d
mov r8d, 0x30
add r15, 4
mov qword [rbp + 0xd0], rdi
cmp rdi, r11
jl 0x1800b69d6
mov rsi, qword [rbp + 0x100]
mov r15d, dword [rbp + 0x40]
mov r12d, dword [rbp + 0x14]
mov r13, qword [rbp + 0x48]
mov r8d, dword [rbp]
mov ecx, 0xd
mov r14d, dword [rbp + 4]
lea eax, [rcx - 0xb]
cmp r8d, eax
jne 0x1800b6d09
test r14d, r14d
je 0x1800b6c08
mov rax, qword [rbp + 0x28]
lea r8d, [rcx - 0xc]
mov r13, qword [rbp + 0x88]
movaps xmm4, xmm8
movsxd r11, dword [rbp + 0x34]
mov r9d, ecx
mov r10, qword [rax + 0x20]
mov rdi, r10
movsx eax, word [rdi]
mov ecx, r14d
shl eax, cl
lea rdi, [rdi + 2]
movsxd rdx, eax
movsx eax, word [rdi]
shl eax, cl
movsxd rcx, eax
cmp rdx, rcx
jge 0x1800b6bb4
lea rax, [rdx*4]
add rax, r13
sub rcx, rdx
mov edx, 1
movss xmm3, dword [rax + r11*4]
movss xmm1, dword [rax]
cvtps2pd xmm0, xmm3
cvtps2pd xmm1, xmm1
andps xmm0, xmm6
cvtpd2ps xmm2, xmm0
andps xmm1, xmm6
cvtpd2ps xmm0, xmm1
addss xmm2, xmm0
movss xmm0, dword [rax]
subss xmm0, xmm3
addss xmm3, dword [rax]
add rax, 4
addss xmm2, xmm8
cvtps2pd xmm1, xmm0
movaps xmm8, xmm2
andps xmm1, xmm6
cvtps2pd xmm0, xmm3
cvtpd2ps xmm2, xmm1
andps xmm0, xmm6
cvtpd2ps xmm0, xmm0
addss xmm2, xmm0
addss xmm2, xmm4
movaps xmm4, xmm2
sub rcx, rdx
jne 0x1800b6b52
mov r8, rdx
sub r9, r8
jne 0x1800b6b23
movsx edx, word [r10 + 0x1a]
lea eax, [r9 + 5]
mulss xmm4, dword [0x1800f6e20]
lea ecx, [r14 + 1]
mov r13, qword [rbp + 0x48]
shl edx, cl
lea ecx, [rax + 8]
cmp r14d, r8d
cmovg eax, ecx
add eax, edx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
xor eax, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm8
mulss xmm1, xmm4
comiss xmm1, xmm0
seta al
mov dword [rbp + 0xac], eax
mov eax, 0x10624dd3
lea rdi, [rsi + 0xec]
imul dword [rbp + 0x60]
mov r9d, 0x15
lea r8, [0x1800f6bf0]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [rdi]
mov dword [rsp + 0x20], eax
movd xmm0, edx
lea rdx, [0x1800f6b90]
cvtdq2ps xmm0, xmm0
call fcn.1800c168c
mov r9d, dword [rbp + 0xc]
mov edx, eax
mov r10d, dword [rbp + 0x10]
cmp r9d, eax
mov ecx, r9d
cmovle ecx, eax
cmp r10d, ecx
jge 0x1800b6cfa
mov edx, r10d
jmp 0x1800b6d01
cmp dword [rbp + 0x1c], r14d
jne 0x1800b6ce4
cmp dword [rsi + 0x1c], eax
jl 0x1800b6ce4
mov r9d, dword [rbp]
lea eax, [r9 + r9*4]
add eax, eax
cmp dword [rbp + 0x50], eax
jl 0x1800b6ce4
mov rdx, qword [rbp + 0x130]
lea rax, [rsi + 0x64]
cmp dword [rbp + 0xc4], r14d
lea r8, [rsi + 0x5c]
mov qword [rsp + 0x50], rdx
mov ecx, r14d
mov edx, dword [rbp + 0x40]
setne cl
mov dword [rsp + 0x48], edx
mov edx, dword [rbp + 0x30]
mov dword [rsp + 0x40], r9d
mov r9d, dword [rsi + 0x54]
mov dword [rsp + 0x38], edx
mov rdx, qword [rbp + 0x88]
mov dword [rsp + 0x30], ecx
lea rcx, [rsi + 0x68]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x28]
mov qword [rsp + 0x20], rax
call fcn.1800c3864
jmp 0x1800b68f1
cmp dword [rsi + 0x1c], r14d
jne 0x1800b68ec
mov dword [rsi + 0x54], r14d
mov eax, r14d
jmp 0x1800b68f4
cmp r9d, edx
cmovg edx, r9d
mov r8d, dword [rbp]
mov dword [rdi], edx
jmp 0x1800b6d1a
mov r9d, dword [rbp + 0xc]
lea rdi, [rsi + 0xec]
mov edx, dword [rdi]
mov r10d, dword [rbp + 0x10]
sub ebx, r12d
lea eax, [r15 + 0x30]
cmp eax, ebx
jg 0x1800b6dd3
xor eax, eax
test r9d, r9d
jg 0x1800b6d97
cmp dword [rsi + 0x44], eax
jne 0x1800b6d97
mov eax, dword [rsi + 0x4c]
lea rcx, [rsi + 0xe8]
mov dword [rsp + 0x68], eax
mov r9d, r10d
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x60], eax
lea rax, [rsi + 0x7c]
movss dword [rsp + 0x58], xmm13
mov dword [rsp + 0x50], edx
mov rdx, qword [rbp + 0x88]
movss dword [rsp + 0x48], xmm14
mov qword [rsp + 0x40], rcx
mov rcx, qword [rbp + 0x28]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x34]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r8d
mov r8, qword [rbp + 0x98]
mov dword [rsp + 0x20], r14d
call fcn.1800b4d3c
jmp 0x1800b6da2
mov dword [rsi + 0xe8], eax
mov eax, 5
mov r14, qword [rbp + 0x298]
lea r8, [0x1800f6b70]
mov rcx, r14
mov dword [rbp + 0xc0], eax
mov r9d, 7
mov edx, eax
call fcn.1800ba2a8
mov rcx, r14
call fcn.1800be950
mov r15d, eax
jmp 0x1800b6dda
mov r14, qword [rbp + 0x298]
mov edx, dword [rbp + 0x5c]
test edx, edx
jle 0x1800b706e
mov ecx, dword [rbp + 0xa8]
mov eax, 0x4fb
mov r10, qword [rbp + 0x28]
mov r9d, dword [rbp + 4]
mov r11d, dword [rbp + 0xc]
mov r8d, dword [rbp]
mov r14d, dword [r10 + 0x28]
sar eax, cl
sub r14d, r9d
cmp dword [rbp + 0x18], eax
cmovl eax, dword [rbp + 0x18]
xor ecx, ecx
mov dword [rbp + 0xc4], eax
test r11d, r11d
jne 0x1800b6e2e
lea eax, [r8 + r8*4]
shl eax, 6
sub edx, eax
sub edx, 0xa0
jmp 0x1800b6e3f
lea ecx, [r8 + r8*8]
shl ecx, 3
sub edx, ecx
xor ecx, ecx
add edx, 0xffffffe0
cmovs edx, ecx
mov ebx, dword [rsi + 0x38]
test ebx, ebx
je 0x1800b6e55
mov eax, dword [rsi + 0xdc]
mov ecx, r14d
sar eax, cl
add edx, eax
xor ecx, ecx
test r11d, r11d
jne 0x1800b6ee7
cmp qword [rsi + 0xf0], rcx
mov eax, ecx
movss xmm0, dword [rsi + 0xe8]
mov rcx, r10
movss dword [rsp + 0x88], xmm10
setne al
movss dword [rsp + 0x80], xmm15
mov dword [rsp + 0x78], eax
mov eax, dword [rsi + 0x44]
mov dword [rsp + 0x70], eax
mov eax, dword [rbp + 0xf0]
movss dword [rsp + 0x68], xmm7
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x54]
movss dword [rsp + 0x58], xmm14
mov dword [rsp + 0x50], eax
mov eax, dword [rdi]
movss dword [rsp + 0x48], xmm0
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x38], eax
mov eax, dword [rsi + 0x60]
mov dword [rsp + 0x30], r8d
mov r8d, edx
mov dword [rsp + 0x28], eax
lea rdx, [rsi + 0x7c]
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x20], eax
call fcn.1800b7c08
mov r11d, dword [rbp + 0xc]
jmp 0x1800b6f3a
mov edi, dword [rsi + 0xc0]
mov ecx, dword [rbp + 0xa8]
cmp edi, 0x64
jge 0x1800b6f04
mov eax, 0x60
sar eax, cl
add edx, eax
cmp edi, 0x64
jle 0x1800b6f0f
mov eax, 0x90
sar eax, cl
sub edx, eax
movaps xmm0, xmm14
subss xmm0, xmm9
mulss xmm0, dword [0x1800f6e7c]
cvttss2si eax, xmm0
add edx, eax
comiss xmm14, dword [0x1800f6e1c]
jbe 0x1800b6f3c
mov eax, 0x190
cmp edx, eax
cmovg eax, edx
mov edx, eax
lea ecx, [r15 + 0x3f]
add edx, r15d
add ecx, r12d
mov eax, 2
sar ecx, 6
xor r15d, r15d
add ecx, eax
test r11d, r11d
je 0x1800b6f74
mov eax, dword [rbp + 0xe0]
add eax, 0x167
add eax, r12d
sar eax, 6
cmp ecx, eax
cmovg eax, ecx
mov ecx, eax
lea eax, [r15 + 2]
mov r11d, dword [rbp + 0xc4]
lea r8d, [rdx + 0x20]
mov r9d, dword [rbp + 0x5c]
mov r10d, dword [rbp + 0x64]
sar r8d, 6
cmp ecx, r8d
cmovg r8d, ecx
cmp r11d, r8d
cmovl r8d, r11d
sub edx, r9d
mov ecx, r8d
shl ecx, 6
test r10d, r10d
je 0x1800b6faf
mov r8d, eax
mov ecx, 0x80
mov eax, dword [rsi + 0xe0]
test r10d, r10d
mov edi, r15d
cmove edi, edx
cmp eax, 0x3ca
jge 0x1800b6fde
inc eax
mov dword [rsi + 0xe0], eax
add eax, 0x14
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm12, xmm0
jmp 0x1800b6fe7
movss xmm12, dword [0x1800f1a20]
test ebx, ebx
je 0x1800b7051
sub ecx, r9d
add dword [rsi + 0xd4], ecx
test ebx, ebx
je 0x1800b7051
mov edx, dword [rsi + 0xd8]
mov ecx, r14d
mov eax, dword [rsi + 0xd4]
shl edi, cl
sub edi, edx
sub edi, dword [rsi + 0xdc]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm12
cvttss2si ecx, xmm0
add ecx, edx
mov dword [rsi + 0xd8], ecx
neg ecx
mov dword [rsi + 0xdc], ecx
test eax, eax
jns 0x1800b7051
cdq
mov dword [rsi + 0xd4], r15d
and edx, 0x3f
add eax, edx
sar eax, 6
neg eax
test r10d, r10d
cmovne eax, r15d
add r8d, eax
mov r14, qword [rbp + 0x298]
cmp r11d, r8d
mov rcx, r14
cmovl r8d, r11d
mov edx, r8d
mov dword [rbp + 0x18], r8d
call fcn.1800ba428
lea rax, [r13 + 0xf]
movabs rdx, 0xffffffffffffff0
cmp rax, r13
ja 0x1800b7084
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
lea rax, [r13 + 0xf]
lea r15, [rsp + 0xc0]
cmp rax, r13
ja 0x1800b70a4
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
mov rcx, qword [rbp + 0x48]
sub rsp, rax
lea rax, [rcx + 0xf]
lea r13, [rsp + 0xc0]
cmp rax, rcx
ja 0x1800b70c8
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
mov ebx, dword [rbp + 0x18]
sub rsp, rax
mov rcx, r14
shl ebx, 6
lea r12, [rsp + 0xc0]
call fcn.1800be950
mov edi, dword [rbp + 4]
mov ecx, ebx
sub ecx, eax
xor r9d, r9d
lea edx, [rcx - 1]
cmp dword [rbp + 8], r9d
je 0x1800b7116
lea eax, [r9 + 2]
cmp edi, eax
jl 0x1800b7116
lea eax, [rdi*8 + 0x10]
cmp ecx, eax
jle 0x1800b7116
lea eax, [r9 + 8]
jmp 0x1800b711c
mov eax, r9d
mov dword [rbp + 0x58], eax
mov r10d, dword [rbp + 0x10]
sub edx, eax
lea ecx, [r10 - 1]
cmp dword [rsi + 0x7c], r9d
je 0x1800b7186
mov ecx, dword [rbp]
mov r8d, dword [rbp + 0x60]
imul eax, ecx, 0x7d00
cmp r8d, eax
jge 0x1800b7145
mov ecx, 0xd
jmp 0x1800b717b
imul eax, ecx, 0xbb80
cmp r8d, eax
jge 0x1800b7157
mov ecx, 0x10
jmp 0x1800b717b
imul eax, ecx, 0xea60
cmp r8d, eax
jge 0x1800b7169
mov ecx, 0x12
jmp 0x1800b717b
imul eax, ecx, 0x13880
mov ecx, r9d
cmp r8d, eax
setge cl
add ecx, 0x13
mov eax, dword [rsi + 0x9c]
cmp eax, ecx
cmovg ecx, eax
mov eax, dword [rsi + 0x60]
mov r8d, 1
cmp dword [rsi + 0x44], r9d
mov r9, qword [rbp + 0x120]
cmovne ecx, r8d
mov dword [rsp + 0x90], ecx
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x88], eax
mov eax, dword [rbp]
mov dword [rsp + 0x80], r8d
mov r8d, r10d
mov qword [rsp + 0x78], r14
mov dword [rsp + 0x70], edi
mov dword [rsp + 0x68], eax
lea rax, [rbp + 0x118]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0xac]
mov dword [rsp + 0x40], edx
mov edx, dword [rbp + 0xc]
mov qword [rsp + 0x38], rax
lea rax, [rsi + 0xec]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0xc0]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x20], rax
call fcn.1800bf62c
mov edx, dword [rsi + 0x60]
mov edi, eax
test edx, edx
je 0x1800b7242
lea eax, [rdx - 1]
mov ecx, edi
cmp eax, edi
cmovg ecx, eax
inc edx
cmp edx, ecx
jl 0x1800b7244
cmp eax, edi
mov edx, edi
cmovg edx, eax
jmp 0x1800b7244
mov edx, edi
mov eax, dword [rbp]
mov r9, qword [rbp + 0xa0]
mov r8d, dword [rbp + 0x10]
mov rcx, qword [rbp + 0x28]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x30], r14
mov dword [rsi + 0x60], edx
mov edx, dword [rbp + 0xc]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.1800c48e8
mov rcx, qword [rbp + 0xb8]
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800b7295
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
mov r8, qword [rbp + 0x88]
lea r14, [rsi + 0x50]
sub rsp, rax
sub ebx, dword [rbp + 0x58]
movsxd rax, dword [rbp + 0x34]
xor ecx, ecx
lea rdx, [rsp + 0xc0]
lea rax, [r8 + rax*4]
lea r9d, [rcx + 2]
cmp dword [rbp], r9d
mov r9d, dword [rbp + 0x10]
cmove rcx, rax
mov eax, dword [rsi + 0x48]
mov dword [rsp + 0xb0], eax
mov eax, dword [rsi + 0x4c]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsi + 0x1c]
mov dword [rsp + 0xa0], eax
mov eax, dword [rbp + 4]
mov qword [rsp + 0x98], r14
mov dword [rsp + 0x90], edi
mov rdi, qword [rbp + 0x298]
mov dword [rsp + 0x88], eax
mov eax, dword [rbp + 0x118]
mov qword [rsp + 0x80], rdi
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x70], ebx
mov rbx, qword [rbp + 0x28]
mov qword [rsp + 0x68], rax
mov eax, dword [rsi + 0xec]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0xac]
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x54]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x1c]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x40], r13
mov r13d, 1
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdx
mov rdx, rbx
mov qword [rsp + 0x28], rcx
mov ecx, r13d
mov qword [rsp + 0x20], r8
mov r8d, dword [rbp + 0xc]
call fcn.1800c19f8
xor eax, eax
cmp dword [rbp + 0x58], eax
jbe 0x1800b73a7
mov edx, eax
mov r8d, r13d
lea eax, [r13 + 1]
mov rcx, rdi
cmp dword [rsi + 0x78], eax
setl dl
call fcn.1800b9fdc
mov edx, dword [rbp]
mov rcx, rdi
mov eax, dword [rbp + 0x18]
mov r9, qword [rbp + 0xa0]
mov r8d, dword [rbp + 0x10]
bsr edi, dword [rcx + 0x20]
mov dword [rsp + 0x48], edx
mov edx, dword [rbp + 0xc]
inc edi
mov qword [rsp + 0x40], rcx
shl eax, 3
sub eax, dword [rcx + 0x18]
mov rcx, rbx
add eax, edi
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r15
mov r15, qword [rbp + 0xd8]
mov qword [rsp + 0x20], r15
call fcn.1800c470c
mov r13, qword [rbp + 0x138]
xor edx, edx
mov r8, qword [rbp + 0x110]
mov rcx, r13
call fcn.1800e7d46
movss xmm1, dword [0x1800f1b78]
xor r11d, r11d
mov rbx, qword [rbp + 0x78]
mov edi, r11d
mov eax, dword [rbp]
mov r8d, r11d
mov r12, qword [rbp + 0x68]
mov r9d, dword [rbp + 0x3c]
lea edx, [r11 + 1]
cmp rbx, r12
jge 0x1800b747f
movsxd rcx, r8d
mov rdx, r15
add rcx, rbx
sub rdx, r13
mov r10d, 1
lea rax, [rcx*4]
mov rcx, r12
add rax, r13
sub rcx, rbx
movaps xmm0, xmm11
minss xmm0, dword [rdx + rax]
comiss xmm1, xmm0
jbe 0x1800b746c
movaps xmm0, xmm1
movss dword [rax], xmm0
add rax, 4
sub rcx, r10
jne 0x1800b745b
mov eax, dword [rbp]
mov rdx, r10
add edi, edx
add r8d, r9d
cmp edi, eax
jl 0x1800b7433
mov r15, qword [rbp + 0xa0]
cmp dword [rbp + 0x64], r11d
je 0x1800b74bc
cmp dword [rbp + 0x80], r11d
jle 0x1800b74bc
mov rcx, qword [rbp + 0xb8]
mov rax, 0xffffffffc1e00000
shl rcx, 2
mov rdi, r15
shr rcx, 2
rep stosd dword [rdi], eax
mov eax, dword [rbp]
mov ecx, dword [rbp + 0xf4]
movss xmm0, dword [rbp + 0xb0]
mov dword [rsi + 0x6c], ecx
mov ecx, dword [rbp + 0xf8]
mov dword [rsi + 0x74], ecx
mov ecx, 2
movss dword [rsi + 0x70], xmm0
cmp dword [rbp + 0x20], ecx
jne 0x1800b74ff
cmp eax, edx
jne 0x1800b74ff
mov rax, qword [rbp + 0x48]
mov rdx, r15
mov r8, rax
lea rcx, [rax + r15]
call sub.VCRUNTIME140.dll_memcpy
xor r11d, r11d
cmp dword [rbp + 8], 0
jne 0x1800b752d
mov rdi, qword [rbp + 0x110]
mov r8, rdi
lea rdx, [rdi + r15]
lea rcx, [r15 + rdi*2]
call sub.VCRUNTIME140.dll_memcpy
mov r8, rdi
lea rcx, [rdi + r15]
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
jmp 0x1800b7568
mov rdi, qword [rbp + 0x148]
test rdi, rdi
jle 0x1800b756b
mov rcx, qword [rbp + 0x140]
mov r11d, 1
mov rdx, qword [rbp + 0x110]
movss xmm0, dword [rcx]
mov rax, rcx
sub rax, rdx
minss xmm0, dword [rax]
movss dword [rcx], xmm0
add rcx, 4
sub rdi, r11
jne 0x1800b754d
xor r11d, r11d
mov r13, qword [rbp + 0x150]
mov r8d, r11d
mov rsi, qword [rbp + 0x140]
mov edx, r11d
mov r11, qword [rbp + 0x90]
xor r10d, r10d
test rbx, rbx
jle 0x1800b75c6
movsxd rax, edx
mov rdi, rsi
mov r9, rbx
lea rcx, [rax*4]
mov rax, r15
sub rax, r13
add rcx, r13
sub rdi, r13
mov dword [rax + rcx], r10d
mov dword [rcx], 0xc1e00000
mov dword [rdi + rcx], 0xc1e00000
lea rcx, [rcx + 4]
sub r9, 1
jne 0x1800b75ab
cmp r12, r11
jge 0x1800b760a
movsxd rcx, edx
mov rdi, r15
add rcx, r12
mov r9, rsi
sub rdi, r13
sub r9, r13
lea rax, [rcx*4]
mov rcx, r11
add rax, r13
sub rcx, r12
mov dword [rax + rdi], r10d
mov dword [rax], 0xc1e00000
mov dword [rax + r9], 0xc1e00000
lea rax, [rax + 4]
sub rcx, 1
jne 0x1800b75ee
add edx, dword [rbp + 0x3c]
mov eax, 1
add r8d, eax
cmp r8d, dword [rbp + 0x20]
jl 0x1800b7589
mov rsi, qword [rbp + 0x100]
xor ebx, ebx
mov r13d, dword [rbp + 0x18]
cmp dword [rbp + 8], ebx
jne 0x1800b763e
cmp dword [rbp + 0x108], ebx
jne 0x1800b763e
mov dword [rsi + 0x78], ebx
jmp 0x1800b7641
add dword [rsi + 0x78], eax
mov rdi, qword [rbp + 0x298]
mov ecx, dword [rdi + 0x20]
mov dword [r14], ecx
mov rcx, rdi
call fcn.1800ba130
cmp dword [rdi + 0x30], ebx
mov eax, 0xfffffffd
cmovne r13d, eax
mov eax, r13d
jmp 0x1800b766a
or eax, 0xffffffff
mov rcx, qword [rbp + 0x190]
xor rcx, rbp
call fcn.1800e3250
mov rbx, qword [rbp + 0x270]
mov rsi, qword [rbp + 0x278]
mov rdi, qword [rbp + 0x280]
movaps xmm6, xmmword [rbp + 0x230]
movaps xmm7, xmmword [rbp + 0x220]
movaps xmm8, xmmword [rbp + 0x210]
movaps xmm9, xmmword [rbp + 0x200]
movaps xmm10, xmmword [rbp + 0x1f0]
movaps xmm11, xmmword [rbp + 0x1e0]
movaps xmm12, xmmword [rbp + 0x1d0]
movaps xmm13, xmmword [rbp + 0x1c0]
movaps xmm14, xmmword [rbp + 0x1b0]
movaps xmm15, xmmword [rbp + 0x1a0]
lea rsp, [rbp + 0x240]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret