Function at 0x1800d1ae8
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 [0x180128180]
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.1800d3548
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 0x1800d1c2d
mov eax, dword [r12 + 0x30]
mov ecx, r14d
shl eax, cl
cmp eax, r8d
je 0x1800d1c29
inc r14d
cmp r14d, edx
jle 0x1800d1c12
mov dword [rbp + 0x48], r14d
cmp r14d, edx
jg 0x1800d28b4
mov ecx, r14d
mov eax, 1
shl eax, cl
mov dword [rbp + 0x5c], eax
cmp r13d, 0x4fb
ja 0x1800d28b4
test rsi, rsi
je 0x1800d28b4
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 0x1800d1c8d
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 0x1800d285d
cmp r13d, 1
jle 0x1800d285d
mov rsi, qword [rbp + 0x1e8]
xor eax, eax
cmp dword [rbx + 0x38], eax
setne al
mov dword [rbx + 0x3c], eax
test rsi, rsi
jne 0x1800d1d1b
mov r8d, r13d
lea rcx, [rbp + 0x138]
mov rdx, r15
call fcn.1800cbeb0
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 0x1800d1d4e
test rdx, rdx
jle 0x1800d1d4e
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 0x1800d1d37
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 0x1800d1d77
mov dword [rbp + 0x2c], 1
jmp 0x1800d1d9a
cmp edi, 1
jne 0x1800d1d91
lea edx, [rdi + 0xe]
mov rcx, rsi
call fcn.1800cbd90
mov ecx, dword [rsi + 0x20]
mov edx, eax
mov r8d, r13d
jmp 0x1800d1d93
xor edx, edx
mov dword [rbp + 0x2c], edx
test edx, edx
je 0x1800d1da8
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 0x1800d1e62
lea eax, [rdi + 0x10]
cmp eax, r13d
jg 0x1800d1e62
lea edx, [r15 - 5]
mov rcx, rsi
call fcn.1800cbd90
test eax, eax
je 0x1800d1e57
mov edx, r15d
mov rcx, rsi
call fcn.1800cbf8c
mov rcx, rsi
mov edi, eax
lea edx, [rax + 4]
call fcn.1800cbde0
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.1800cbde0
bsr ecx, dword [rsi + 0x20]
mov edi, eax
mov eax, dword [rsi + 0x18]
sub eax, ecx
cmp eax, r13d
jge 0x1800d1e45
lea r8d, [r15 - 4]
mov rcx, rsi
lea rdx, [0x180100018]
call fcn.1800cbe58
mov dword [rbp + 0x38], eax
lea eax, [rdi + 1]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mulss xmm6, dword [0x1800f6e10]
bsr eax, dword [rsi + 0x20]
mov edi, dword [rsi + 0x18]
sub edi, eax
dec edi
test r14d, r14d
jle 0x1800d1e8b
lea eax, [rdi + 3]
cmp eax, r13d
jg 0x1800d1e8b
mov edx, 3
mov rcx, rsi
call fcn.1800cbd90
mov edi, dword [rsi + 0x18]
mov ecx, eax
bsr eax, dword [rsi + 0x20]
sub edi, eax
dec edi
jmp 0x1800d1e8d
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 0x1800d1eb3
mov edx, 3
mov rcx, rsi
call fcn.1800cbd90
jmp 0x1800d1eb5
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.1800c4a60
mov r15, qword [rbp + 0x90]
movabs rcx, 0xffffffffffffff0
shl r15, 2
mov qword [rbp + 0xa0], r15
lea rax, [r15 + 0xf]
cmp rax, r15
ja 0x1800d1f05
mov rax, rcx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
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.1800d33d0
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 0x1800d1f6c
mov r8d, 5
lea rdx, [0x180100014]
mov rcx, rsi
call fcn.1800cbe58
mov dword [rbp + 0x58], eax
lea rax, [r15 + 0xf]
cmp rax, r15
ja 0x1800d1f7f
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
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.1800b06d0
lea rax, [r15 + 0xf]
cmp rax, r15
ja 0x1800d1fbe
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
shl r13d, 3
mov rcx, rsi
lea rax, [rsp + 0xc0]
mov qword [rbp + 0xb0], rax
call fcn.1800be950
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 0x1800d2103
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 0x1800d20c7
mov r15d, dword [rbp + 0x40]
mov r14, qword [rbp + 0x110]
cmp r12d, dword [r14 + rbx]
jge 0x1800d20af
mov rcx, rsi
call fcn.1800cbd90
mov rcx, rsi
mov edi, eax
call fcn.1800be950
mov r8d, eax
test edi, edi
je 0x1800d20af
add r12d, r15d
sub r13d, r15d
add eax, 8
mov edx, 1
cmp eax, r13d
jl 0x1800d207d
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 0x1800d20e1
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 0x1800d2030
mov r15, qword [rbp + 0xa0]
mov r12, qword [rbp + 0xe8]
lea rax, [r15 + 0xf]
cmp rax, r15
ja 0x1800d2116
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
lea rax, [rsp + 0xc0]
mov qword [rbp + 0x60], rax
lea eax, [r8 + 0x30]
cmp eax, r13d
jg 0x1800d2151
mov r8d, 7
lea rdx, str.wmW_
mov rcx, rsi
call fcn.1800cbe58
mov r13d, eax
jmp 0x1800d2157
mov r13d, 5
mov edi, dword [rbp + 0x28]
mov rcx, rsi
shl edi, 6
mov dword [rbp + 0x28], edi
call fcn.1800be950
mov ecx, edi
xor r8d, r8d
sub ecx, eax
lea edi, [rcx - 1]
cmp dword [rbp + 0x10], r8d
je 0x1800d218e
cmp r14d, 2
jl 0x1800d218e
lea eax, [r14*8 + 0x10]
cmp ecx, eax
lea ecx, [r8 + 8]
jg 0x1800d2191
mov ecx, r8d
lea rax, [r15 + 0xf]
mov dword [rbp + 0xc], ecx
movabs r9, 0xffffffffffffff0
cmp rax, r15
ja 0x1800d21aa
mov rax, r9
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
sub rsp, rax
lea rax, [r15 + 0xf]
lea rdx, [rsp + 0xc0]
mov qword [rbp + 0x48], rdx
cmp rax, r15
ja 0x1800d21ce
mov rax, r9
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
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.1800bf62c
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.1800c4dac
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 0x1800d22bb
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 0x1800d2305
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
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 0x1800d2333
mov rax, rdx
and rax, 0xfffffffffffffff0
call fcn.1800e3a10
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.1800c19f8
cmp dword [rbp + 0xc], 0
jbe 0x1800d241f
mov edx, 1
mov rcx, rsi
call fcn.1800cbde0
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.1800c4c48
cmp dword [rbp + 0x68], 0
je 0x1800d24cd
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.1800c055c
mov edx, dword [rbp + 0x2c]
test edx, edx
je 0x1800d24ea
cmp dword [rbp + 0x18], 0
jle 0x1800d24ea
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.1800d2acc
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.1800b0330
test r14d, r14d
je 0x1800d2627
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.1800b0330
jmp 0x1800d262b
mov r15d, dword [rbp + 0x34]
inc rdi
cmp rdi, qword [rbp + 0x88]
jl 0x1800d2546
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 0x1800d2678
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 0x1800d2698
mov r8, r14
mov rdx, r13
shl r8, 2
lea rcx, [r8 + r13]
call sub.VCRUNTIME140.dll_memcpy
cmp dword [rbp + 0x10], 0
jne 0x1800d2719
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 0x1800d26df
movd xmm1, dword [rbp + 0x5c]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x1800f1a20]
jmp 0x1800d26e7
movss xmm1, dword [0x1800f1ac4]
mov rdx, qword [rbp + 0xc8]
test rdx, rdx
jle 0x1800d2753
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 0x1800d26f5
jmp 0x1800d2753
mov rdx, qword [rbp + 0xc8]
test rdx, rdx
jle 0x1800d274f
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 0x1800d2733
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 0x1800d27a4
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 0x1800d2789
cmp r11, r14
jge 0x1800d27db
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 0x1800d27bf
add rdx, r10
sub qword [rbp + 0xe0], 1
jne 0x1800d2772
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.1800d2f44
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 0x1800d284e
mov eax, 0xfffffffd
jmp 0x1800d28b7
cmp dword [rsi + 0x30], 0
je 0x1800d28a8
mov dword [rbx + 0x30], 1
jmp 0x1800d28a8
mov r8d, r14d
mov edx, esi
mov rcx, rbx
call fcn.1800d1148
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.1800d2f44
mov eax, dword [rbp + 0x1e0]
cdq
idiv dword [rbx + 0x14]
jmp 0x1800d28b7
or eax, 0xffffffff
mov rcx, qword [rbp + 0x170]
xor rcx, rbp
call fcn.1800e3250
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