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

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x250
lea rbp, [rsp + 0xc0]
mov qword [rbp + 0x1c0], rbx
mov qword [rbp + 0x1c8], rsi
mov qword [rbp + 0x1d0], rdi
movaps xmmword [rbp + 0x180], xmm6
mov rax, qword [0x180123180]
xor rax, rbp
mov qword [rbp + 0x170], rax
movsxd rdi, dword [rcx + 0xc]
xor r14d, r14d
mov eax, dword [rcx + 0x10]
mov rsi, r9
mov dword [rbp + 0x3c], edi
mov r13d, r8d
mov dword [rbp + 0x50], r14d
mov r15, rdx
mov dword [rbp + 0x54], r14d
mov rbx, rcx
mov dword [rbp + 0x68], r14d
mov qword [rbp + 0xf0], r9
mov dword [rbp + 0x28], r8d
mov qword [rbp + 0xb8], rcx
mov dword [rbp], eax
call fcn.1800cea28
mov r12, qword [rbx]
mov r8d, dword [rbp + 0x1e0]
imul r8d, dword [rbx + 0x14]
mov r11d, dword [rbx + 0x1c]
mov ecx, dword [r12 + 4]
mov rax, qword [r12 + 0x20]
mov edx, dword [r12 + 8]
mov qword [rbp + 0x108], rax
mov eax, dword [rbx + 0x18]
lea r9d, [rcx + 0x800]
mov dword [rbp + 4], eax
mov eax, r9d
imul eax, edi
mov dword [rbp + 0x30], ecx
mov dword [rbp + 0x18], edx
mov qword [rbp + 0xe8], r12
mov dword [rbp + 8], r11d
movsxd rcx, eax
lea eax, [rdi + rdi*2]
shl eax, 3
cdqe
add rax, 0x18
mov dword [rbp + 0x1e0], r8d
add rcx, rax
mov dword [rbp + 0x48], r14d
lea eax, [rdx + rdx]
mov edx, dword [r12 + 0x28]
cdqe
mov qword [rbp + 0xc8], rax
shl rax, 2
lea r10, [rbx + rcx*4]
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0x20], r10
lea rcx, [rax + r10]
mov qword [rbp + 0x98], rcx
lea rax, [r10 + rax*2]
mov qword [rbp + 0x70], rax
test edx, edx
js 0x1800cd10d
mov eax, dword [r12 + 0x30]
mov ecx, r14d
shl eax, cl
cmp eax, r8d
je 0x1800cd109
inc r14d
cmp r14d, edx
jle 0x1800cd0f2
mov dword [rbp + 0x48], r14d
cmp r14d, edx
jg 0x1800cdd94
mov ecx, r14d
mov eax, 1
shl eax, cl
mov dword [rbp + 0x5c], eax
cmp r13d, 0x4fb
ja 0x1800cdd94
test rsi, rsi
je 0x1800cdd94
mov esi, dword [r12 + 0x30]
xor edx, edx
imul esi, eax
mov qword [rbp + 0x88], rdi
mov edi, 0x2000
mov r14, qword [rbp + 0x88]
movsxd rax, esi
shl rax, 2
sub rdi, rax
mov dword [rbp + 0x14], esi
xor r8d, r8d
mov qword [rbp + 0xc0], rax
movsxd rax, r8d
add r8d, r9d
add rax, 0x18
lea rcx, [rbx + rax*4]
lea rax, [rcx + rdi]
mov qword [rbp + rdx*8 + 0x128], rcx
mov qword [rbp + rdx*8 + 0xf8], rax
inc rdx
cmp rdx, r14
jl 0x1800cd16d
mov eax, dword [r12 + 0xc]
cmp r11d, eax
mov r14d, dword [rbp + 0x48]
cmovle eax, r11d
mov dword [rbp + 0x80], eax
test r15, r15
je 0x1800cdd3d
cmp r13d, 1
jle 0x1800cdd3d
mov rsi, qword [rbp + 0x1e8]
xor eax, eax
cmp dword [rbx + 0x38], eax
setne al
mov dword [rbx + 0x3c], eax
test rsi, rsi
jne 0x1800cd1fb
mov r8d, r13d
lea rcx, [rbp + 0x138]
mov rdx, r15
call fcn.1800c7390
mov r10, qword [rbp + 0x20]
lea rsi, [rbp + 0x138]
mov qword [rbp + 0x1e8], rsi
cmp dword [rbp], 1
movsxd rdx, dword [rbp + 0x18]
mov qword [rbp + 0x90], rdx
jne 0x1800cd22e
test rdx, rdx
jle 0x1800cd22e
mov rax, r10
mov rcx, rdx
movss xmm0, dword [rax]
maxss xmm0, dword [rax + rdx*4]
movss dword [rax], xmm0
lea rax, [rax + 4]
sub rcx, 1
jne 0x1800cd217
mov ecx, dword [rsi + 0x20]
mov r8d, r13d
mov edi, dword [rsi + 0x18]
shl r8d, 3
bsr eax, ecx
mov dword [rbp + 0x1c], r8d
mov r13d, r8d
sub edi, eax
dec edi
cmp edi, r8d
jl 0x1800cd257
mov dword [rbp + 0x2c], 1
jmp 0x1800cd27a
cmp edi, 1
jne 0x1800cd271
lea edx, [rdi + 0xe]
mov rcx, rsi
call fcn.1800c7270
mov ecx, dword [rsi + 0x20]
mov edx, eax
mov r8d, r13d
jmp 0x1800cd273
xor edx, edx
mov dword [rbp + 0x2c], edx
test edx, edx
je 0x1800cd288
bsr eax, ecx
mov edi, r8d
inc eax
add eax, r8d
mov dword [rsi + 0x18], eax
xor eax, eax
mov qword [rbp + 0xe0], 2
xorps xmm6, xmm6
mov dword [rbp + 0x34], eax
mov dword [rbp + 0x38], eax
lea r15d, [rax + 6]
mov dword [rbp + 0xc], r15d
cmp dword [rbp + 4], eax
jne 0x1800cd342
lea eax, [rdi + 0x10]
cmp eax, r13d
jg 0x1800cd342
lea edx, [r15 - 5]
mov rcx, rsi
call fcn.1800c7270
test eax, eax
je 0x1800cd337
mov edx, r15d
mov rcx, rsi
call fcn.1800c746c
mov rcx, rsi
mov edi, eax
lea edx, [rax + 4]
call fcn.1800c72c0
mov ecx, edi
lea edx, [rax - 1]
lea eax, [r15 + 0xa]
shl eax, cl
mov rcx, rsi
add eax, edx
lea edx, [r15 - 3]
mov dword [rbp + 0x34], eax
call fcn.1800c72c0
bsr ecx, dword [rsi + 0x20]
mov edi, eax
mov eax, dword [rsi + 0x18]
sub eax, ecx
cmp eax, r13d
jge 0x1800cd325
lea r8d, [r15 - 4]
mov rcx, rsi
lea rdx, [0x1800fb018]
call fcn.1800c7338
mov dword [rbp + 0x38], eax
lea eax, [rdi + 1]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [0x1800f1e10]
bsr eax, dword [rsi + 0x20]
mov edi, dword [rsi + 0x18]
sub edi, eax
dec edi
test r14d, r14d
jle 0x1800cd36b
lea eax, [rdi + 3]
cmp eax, r13d
jg 0x1800cd36b
mov edx, 3
mov rcx, rsi
call fcn.1800c7270
mov edi, dword [rsi + 0x18]
mov ecx, eax
bsr eax, dword [rsi + 0x20]
sub edi, eax
dec edi
jmp 0x1800cd36d
xor ecx, ecx
mov eax, ecx
mov dword [rbp + 0x10], ecx
neg eax
sbb eax, eax
and eax, dword [rbp + 0x5c]
mov dword [rbp + 0x7c], eax
lea eax, [rdi + 3]
cmp eax, r13d
jg 0x1800cd393
mov edx, 3
mov rcx, rsi
call fcn.1800c7270
jmp 0x1800cd395
xor eax, eax
mov edi, dword [rbp]
mov rcx, r12
mov r9, qword [rbp + 0x20]
mov r8d, dword [rbp + 8]
mov edx, dword [rbp + 4]
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.1800bff40
mov r15, qword [rbp + 0x90]
movabs rcx, 0xffffffffffffff0
shl r15, 2
mov qword [rbp + 0xa0], r15
lea rax, [r15 + 0xf]
cmp rax, r15
ja 0x1800cd3e5
mov rax, rcx
and rax, 0xfffffffffffffff0
call fcn.1800df0f0
mov r8d, dword [rbp + 0x10]
sub rsp, rax
mov edx, dword [rbp + 8]
mov ecx, dword [rbp + 4]
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x28], rsi
mov r9, rax
mov qword [rbp + 0x118], rax
mov dword [rsp + 0x20], r14d
call fcn.1800ce8b0
bsr eax, dword [rsi + 0x20]
mov ecx, dword [rsi + 0x18]
sub ecx, eax
mov dword [rbp + 0x58], 2
add ecx, 3
cmp ecx, r13d
jg 0x1800cd44c
mov r8d, 5
lea rdx, [0x1800fb014]
mov rcx, rsi
call fcn.1800c7338
mov dword [rbp + 0x58], eax
lea rax, [r15 + 0xf]
cmp rax, r15
ja 0x1800cd45f
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800df0f0
sub rsp, rax
mov r9d, edi
mov r8d, r14d
mov rcx, r12
lea rax, [rsp + 0xc0]
mov rdx, rax
mov qword [rbp + 0xa8], rax
call fcn.1800abbb0
lea rax, [r15 + 0xf]
cmp rax, r15
ja 0x1800cd49e
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800df0f0
sub rsp, rax
shl r13d, 3
mov rcx, rsi
lea rax, [rsp + 0xc0]
mov qword [rbp + 0xb0], rax
call fcn.1800b9e30
movsxd r9, dword [rbp + 8]
mov r8d, eax
movsxd rax, dword [rbp + 4]
mov qword [rbp + 0x120], rax
mov rdi, rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0xd8], r9
cmp rax, r9
jge 0x1800cd5e3
mov rcx, qword [rbp + 0xb0]
mov r10d, 0x30
lea rbx, [rcx + rax*4]
mov rax, qword [rbp + 0xa8]
sub rax, rcx
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0x108]
mov ecx, r14d
movsx edx, word [rax + rdi*2 + 2]
movsx eax, word [rax + rdi*2]
sub edx, eax
imul edx, dword [rbp]
shl edx, cl
cmp edx, r10d
mov ecx, edx
mov eax, edx
cmovl ecx, r10d
shl eax, 3
cmp eax, ecx
cmovl ecx, eax
xor r12d, r12d
mov dword [rbp + 0x40], ecx
mov ecx, dword [rbp + 0xc]
mov edx, ecx
lea eax, [r8 + rcx*8]
cmp eax, r13d
jge 0x1800cd5a7
mov r15d, dword [rbp + 0x40]
mov r14, qword [rbp + 0x110]
cmp r12d, dword [r14 + rbx]
jge 0x1800cd58f
mov rcx, rsi
call fcn.1800c7270
mov rcx, rsi
mov edi, eax
call fcn.1800b9e30
mov r8d, eax
test edi, edi
je 0x1800cd58f
add r12d, r15d
sub r13d, r15d
add eax, 8
mov edx, 1
cmp eax, r13d
jl 0x1800cd55d
mov r14d, dword [rbp + 0x48]
mov r10d, 0x30
mov rdi, qword [rbp + 0x60]
mov ecx, dword [rbp + 0xc]
mov r9, qword [rbp + 0xd8]
mov dword [rbx], r12d
test r12d, r12d
jle 0x1800cd5c1
lea eax, [rcx - 1]
mov edx, 2
cmp eax, edx
mov ecx, eax
cmovl ecx, edx
mov dword [rbp + 0xc], ecx
inc rdi
add rbx, 4
mov qword [rbp + 0x60], rdi
cmp rdi, r9
jl 0x1800cd510
mov r15, qword [rbp + 0xa0]
mov r12, qword [rbp + 0xe8]
lea rax, [r15 + 0xf]
cmp rax, r15
ja 0x1800cd5f6
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800df0f0
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x60], rax
lea eax, [r8 + 0x30]
cmp eax, r13d
jg 0x1800cd631
mov r8d, 7
lea rdx, str.wmW_
mov rcx, rsi
call fcn.1800c7338
mov r13d, eax
jmp 0x1800cd637
mov r13d, 5
mov edi, dword [rbp + 0x28]
mov rcx, rsi
shl edi, 6
mov dword [rbp + 0x28], edi
call fcn.1800b9e30
mov ecx, edi
xor r8d, r8d
sub ecx, eax
lea edi, [rcx - 1]
cmp dword [rbp + 0x10], r8d
je 0x1800cd66e
cmp r14d, 2
jl 0x1800cd66e
lea eax, [r14*8 + 0x10]
cmp ecx, eax
lea ecx, [r8 + 8]
jg 0x1800cd671
mov ecx, r8d
lea rax, [r15 + 0xf]
mov dword [rbp + 0xc], ecx
movabs r9, 0xffffffffffffff0
cmp rax, r15
ja 0x1800cd68a
mov rax, r9
and rax, 0xfffffffffffffff0
call fcn.1800df0f0
sub rsp, rax
lea rax, [r15 + 0xf]
lea rdx, [rsp + 0xc0]
mov qword [rbp + 0x48], rdx
cmp rax, r15
ja 0x1800cd6ae
mov rax, r9
and rax, 0xfffffffffffffff0
call fcn.1800df0f0
mov r15, qword [rbp + 0x60]
sub rsp, rax
mov r9, qword [rbp + 0xb0]
sub edi, ecx
mov ecx, dword [rbp]
mov dword [rsp + 0x90], r8d
lea rax, [rsp + 0xc0]
mov dword [rsp + 0x88], r8d
mov dword [rsp + 0x80], r8d
mov r8d, dword [rbp + 8]
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x70], r14d
mov dword [rsp + 0x68], ecx
mov rcx, r12
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], rdx
mov edx, dword [rbp + 4]
mov qword [rbp + 0xa0], rax
lea rax, [rbp + 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x54]
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0xa8]
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], rax
call fcn.1800bab0c
mov r9, qword [rbp + 0x20]
mov rcx, r12
mov r8d, dword [rbp + 8]
mov edx, dword [rbp + 4]
mov dword [rbp + 0x40], eax
mov eax, dword [rbp]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r15
call fcn.1800c028c
mov eax, dword [rbp + 0x30]
xor edi, edi
mov r13, qword [rbp + 0xc0]
cdq
mov rbx, qword [rbp + 0x88]
sub eax, edx
sar eax, 1
sub eax, dword [rbp + 0x14]
add eax, 0x800
movsxd r15, eax
shl r15, 2
mov rcx, qword [rbp + rdi*8 + 0x128]
mov r8, r15
lea rdx, [rcx + r13]
call sub.VCRUNTIME140.dll_memmove
inc rdi
cmp rdi, rbx
jl 0x1800cd79b
mov eax, dword [rbp + 0x18]
movabs rdx, 0xffffffffffffff0
mov r9d, dword [rbp]
mov rbx, qword [rbp + 0xb8]
imul eax, r9d
movsxd r13, eax
mov dword [rbp + 0x18], eax
lea rax, [r13 + 0xf]
cmp rax, r13
ja 0x1800cd7e5
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800df0f0
sub rsp, rax
mov eax, dword [rbp + 0x14]
imul eax, r9d
lea rdi, [rsp + 0xc0]
movsxd rcx, eax
shl rcx, 2
lea rax, [rcx + 0xf]
cmp rax, rcx
ja 0x1800cd813
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800df0f0
sub rsp, rax
mov r8d, dword [rbp + 0x28]
sub r8d, dword [rbp + 0xc]
lea rdx, [rbx + 0x2c]
mov rax, qword [rbp + 0xc0]
xor ecx, ecx
lea r15, [rsp + 0xc0]
add rax, r15
cmp r9d, 2
mov r9d, dword [rbp + 8]
cmove rcx, rax
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0xb0], eax
mov eax, dword [rbx + 0x28]
mov dword [rsp + 0xa8], eax
and dword [rsp + 0xa0], 0
mov eax, dword [rbp + 0x40]
mov qword [rsp + 0x98], rdx
mov rdx, r12
mov dword [rsp + 0x90], eax
mov eax, dword [rbp + 0x78]
mov dword [rsp + 0x88], r14d
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x78], eax
mov rax, qword [rbp + 0x118]
mov dword [rsp + 0x70], r8d
mov r8d, dword [rbp + 4]
mov qword [rsp + 0x68], rax
mov eax, dword [rbp + 0x50]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp + 0x54]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x58]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x7c]
mov dword [rsp + 0x48], eax
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x40], rax
and qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov qword [rsp + 0x20], r15
call fcn.1800bced8
cmp dword [rbp + 0xc], 0
jbe 0x1800cd8ff
mov edx, 1
mov rcx, rsi
call fcn.1800c72c0
mov dword [rbp + 0x68], eax
bsr edx, dword [rsi + 0x20]
mov ecx, dword [rbp + 0x1c]
sub ecx, dword [rsi + 0x18]
mov eax, dword [rbp]
inc ecx
mov r9, qword [rbp + 0x20]
add edx, ecx
mov rcx, qword [rbp + 0xa0]
mov r8d, dword [rbp + 8]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], edx
mov edx, dword [rbp + 4]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rbp + 0x60]
mov qword [rsp + 0x20], rcx
mov rcx, r12
call fcn.1800c0128
cmp dword [rbp + 0x68], 0
je 0x1800cd9ad
mov eax, dword [rbx + 0x28]
mov r9d, r14d
mov dword [rsp + 0x68], eax
mov r8, rdi
mov eax, dword [rbx + 0x2c]
mov rdx, r15
mov dword [rsp + 0x60], eax
mov rcx, r12
mov rax, qword [rbp + 0x48]
mov qword [rsp + 0x58], rax
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x50], rax
mov rax, qword [rbp + 0x98]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 8]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x14]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp]
mov dword [rsp + 0x20], eax
call fcn.1800bba3c
mov edx, dword [rbp + 0x2c]
test edx, edx
je 0x1800cd9ca
cmp dword [rbp + 0x18], 0
jle 0x1800cd9ca
mov rdi, qword [rbp + 0x20]
mov rax, 0xffffffffc1e00000
mov rcx, r13
rep stosd dword [rdi], eax
mov eax, dword [rbx + 0x28]
lea r8, [rbp + 0xf8]
mov r9, qword [rbp + 0x20]
mov rcx, r12
mov dword [rsp + 0x60], eax
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x58], edx
mov rdx, r15
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x10]
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0x3c]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 4]
mov dword [rsp + 0x20], eax
call fcn.1800cdfac
mov r13d, dword [rbp + 0x14]
xor edi, edi
mov esi, dword [rbp + 0x38]
mov eax, dword [rbx + 0x28]
mov r9d, 0xf
cmp dword [rbx + 0x40], r9d
mov r8d, 0xf
movss xmm0, dword [rbx + 0x48]
cmovg r9d, dword [rbx + 0x40]
cmp dword [rbx + 0x44], r8d
mov r15, qword [rbp + rdi*8 + 0xf8]
movss xmm1, dword [rbx + 0x4c]
mov rdx, r15
cmovg r8d, dword [rbx + 0x44]
mov rcx, r15
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x50], eax
mov rax, qword [r12 + 0x48]
mov qword [rsp + 0x48], rax
mov eax, dword [rbx + 0x50]
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0x54]
mov dword [rsp + 0x38], eax
mov eax, dword [r12 + 0x30]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x28], xmm1
mov dword [rsp + 0x20], eax
mov dword [rbx + 0x40], r9d
mov dword [rbx + 0x44], r8d
call fcn.1800ab810
test r14d, r14d
je 0x1800cdb07
movsxd rax, dword [r12 + 0x30]
mov edx, r13d
sub edx, dword [r12 + 0x30]
movss xmm0, dword [rbx + 0x48]
mov r8d, dword [rbx + 0x40]
lea rcx, [r15 + rax*4]
mov eax, dword [rbx + 0x28]
mov r15d, dword [rbp + 0x34]
mov r9d, r15d
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x50], eax
mov rax, qword [r12 + 0x48]
mov qword [rsp + 0x48], rax
mov eax, dword [rbx + 0x50]
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], eax
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x28], xmm0
mov dword [rsp + 0x20], edx
mov rdx, rcx
call fcn.1800ab810
jmp 0x1800cdb0b
mov r15d, dword [rbp + 0x34]
inc rdi
cmp rdi, qword [rbp + 0x88]
jl 0x1800cda26
mov eax, dword [rbx + 0x40]
mov r13, qword [rbp + 0x20]
mov dword [rbx + 0x44], eax
mov eax, dword [rbx + 0x48]
mov dword [rbx + 0x4c], eax
mov eax, dword [rbx + 0x50]
mov dword [rbx + 0x50], esi
mov rsi, qword [rbp + 0x1e8]
movss dword [rbx + 0x48], xmm6
mov dword [rbx + 0x54], eax
mov dword [rbx + 0x40], r15d
test r14d, r14d
je 0x1800cdb58
mov eax, dword [rbp + 0x38]
mov dword [rbx + 0x54], eax
movss dword [rbx + 0x4c], xmm6
mov dword [rbx + 0x44], r15d
cmp dword [rbp], 1
mov r14, qword [rbp + 0x90]
jne 0x1800cdb78
mov r8, r14
mov rdx, r13
shl r8, 2
lea rcx, [r8 + r13]
call sub.VCRUNTIME140.dll_memcpy
cmp dword [rbp + 0x10], 0
jne 0x1800cdbf9
mov rdi, qword [rbp + 0xd0]
mov r15, qword [rbp + 0x70]
mov r8, rdi
mov rcx, r15
lea rdx, [rdi + r13]
call sub.VCRUNTIME140.dll_memcpy
mov r8, rdi
lea rcx, [rdi + r13]
mov rdx, r13
call sub.VCRUNTIME140.dll_memcpy
cmp dword [rbx + 0x38], 0xa
jge 0x1800cdbbf
movd xmm1, dword [rbp + 0x5c]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x1800eca30]
jmp 0x1800cdbc7
movss xmm1, dword [0x1800ecad4]
mov rdx, qword [rbp + 0xc8]
test rdx, rdx
jle 0x1800cdc33
xor ecx, ecx
lea rax, [rcx + rdx]
movaps xmm0, xmm1
addss xmm0, dword [r15 + rax*4]
minss xmm0, dword [r13 + rcx*4]
inc rcx
movss dword [r15 + rax*4], xmm0
cmp rcx, rdx
jl 0x1800cdbd5
jmp 0x1800cdc33
mov rdx, qword [rbp + 0xc8]
test rdx, rdx
jle 0x1800cdc2f
mov rcx, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xd0]
movss xmm0, dword [rcx]
mov rax, rcx
sub rax, rdi
minss xmm0, dword [rax]
movss dword [rcx], xmm0
add rcx, 4
sub rdx, 1
jne 0x1800cdc13
mov r15, qword [rbp + 0x70]
mov r11, qword [rbp + 0xd8]
mov r10, r14
mov r9, qword [rbp + 0x120]
mov rdx, r15
mov r12, qword [rbp + 0x98]
shl r10, 2
test r9, r9
jle 0x1800cdc84
mov rcx, r13
mov rdi, r12
sub rcx, r15
mov rax, rdx
sub rdi, r15
mov r8, r9
and dword [rcx + rax], 0
mov dword [rax], 0xc1e00000
mov dword [rdi + rax], 0xc1e00000
lea rax, [rax + 4]
sub r8, 1
jne 0x1800cdc69
cmp r11, r14
jge 0x1800cdcbb
mov rdi, r13
lea rax, [rdx + r11*4]
mov r8, r12
sub rdi, r15
sub r8, r15
mov rcx, r14
sub rcx, r11
and dword [rax + rdi], 0
mov dword [rax], 0xc1e00000
mov dword [rax + r8], 0xc1e00000
lea rax, [rax + 4]
sub rcx, 1
jne 0x1800cdc9f
add rdx, r10
sub qword [rbp + 0xe0], 1
jne 0x1800cdc52
mov eax, dword [rsi + 0x20]
lea rcx, [rbx + 0x58]
mov rdx, qword [rbp + 0xe8]
mov r9d, dword [rbp + 0x3c]
add rdx, 0x10
mov r8d, dword [rbp + 0x14]
mov dword [rbx + 0x2c], eax
mov eax, dword [rbp + 0x1f0]
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 0x14]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0xf8]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xf0]
mov dword [rsp + 0x20], eax
call fcn.1800ce424
bsr eax, dword [rsi + 0x20]
mov ecx, dword [rsi + 0x18]
and dword [rbx + 0x38], 0
sub ecx, eax
dec ecx
cmp ecx, dword [rbp + 0x1c]
jle 0x1800cdd2e
mov eax, 0xfffffffd
jmp 0x1800cdd97
cmp dword [rsi + 0x30], 0
je 0x1800cdd88
mov dword [rbx + 0x30], 1
jmp 0x1800cdd88
mov r8d, r14d
mov edx, esi
mov rcx, rbx
call fcn.1800cc628
mov eax, dword [rbp + 0x1f0]
lea rcx, [rbx + 0x58]
mov r9d, dword [rbp + 0x3c]
lea rdx, [r12 + 0x10]
mov dword [rsp + 0x38], eax
mov r8d, esi
mov eax, dword [rbx + 0x14]
mov qword [rsp + 0x30], rcx
lea rcx, [rbp + 0xf8]
mov qword [rsp + 0x28], rdx
mov rdx, qword [rbp + 0xf0]
mov dword [rsp + 0x20], eax
call fcn.1800ce424
mov eax, dword [rbp + 0x1e0]
cdq
idiv dword [rbx + 0x14]
jmp 0x1800cdd97
or eax, 0xffffffff
mov rcx, qword [rbp + 0x170]
xor rcx, rbp
call fcn.1800de930
mov rbx, qword [rbp + 0x1c0]
mov rsi, qword [rbp + 0x1c8]
mov rdi, qword [rbp + 0x1d0]
movaps xmm6, xmmword [rbp + 0x180]
lea rsp, [rbp + 0x190]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret