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

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x50
mov rax, qword [0x180268080]
xor rax, rsp
mov qword [rsp + 0x40], rax
movups xmm0, xmmword [rcx + 0xb4]
mov r14, rcx
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
movups xmmword [rsp + 0x20], xmm0
call qword [sym.imp.USER32.dll_CopyRect]
mov ecx, dword [rsp + 0x34]
xor edi, edi
mov r15d, dword [r14 + 0x124]
add ecx, r15d
mov esi, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], ecx
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [r14 + 0xb4], xmm0
cmp dword [r14 + 0x120], edi
jle 0x1800c5ed1
mov rax, qword [r14 + 0xa0]
mov rbx, qword [rax]
mov rcx, qword [rax + 8]
sub rcx, rbx
sar rcx, 3
cmp edi, ecx
jae 0x1800c5ebb
mov rbx, qword [rbx + rdi*8]
test rbx, rbx
je 0x1800c5ebb
cmp byte [rbx + 0xc5], 0
je 0x1800c5ebb
mov rax, qword [rbx]
mov rcx, rbx
mov byte [rbx + 0xc5], 0
call qword [rax + 0x48]
cmp byte [r14 + 0x135], 0
je 0x1800c5ebb
mov ecx, dword [rbx + 0xb8]
mov eax, ecx
mov r8d, dword [rbx + 0xc0]
sub eax, r8d
add eax, dword [r14 + 0x124]
sub r8d, ecx
movups xmm0, xmmword [rbx + 0xb4]
cdq
sub eax, edx
movups xmmword [rsp + 0x20], xmm0
sar eax, 1
add r8d, eax
mov dword [rsp + 0x24], eax
mov dword [rsp + 0x2c], r8d
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rbx + 0xb4], xmm0
inc edi
cmp edi, dword [r14 + 0x120]
jl 0x1800c5e31
mov r15d, dword [r14 + 0x124]
mov rdx, qword [r14 + 0xa0]
xor r12d, r12d
mov r8d, dword [r14 + 0x120]
mov dword [rsp + 0x3c], esi
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [r14 + 0xb4], xmm0
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
sub rax, rcx
sar rax, 3
cmp eax, r8d
je 0x1800c61cf
mov qword [rsp + 0x88], rbp
mov rax, qword [rdx + 8]
add r8d, r12d
sub rax, rcx
sar rax, 3
cmp r8d, eax
jae 0x1800c619c
mov rbx, qword [rcx + r8*8]
test rbx, rbx
je 0x1800c619c
cmp byte [rbx + 0x137], 0
je 0x1800c619c
mov rax, qword [rbx]
mov rcx, rbx
movzx edx, byte [r14 + 0x134]
call qword [rax + 0x68]
cmp byte [r14 + 0x134], 0
je 0x1800c619c
mov ecx, dword [rbx + 0x140]
xor eax, eax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
cmp ecx, 1
jne 0x1800c5f8c
mov eax, dword [r14 + 0xbc]
sub eax, dword [r14 + 0xb4]
jmp 0x1800c611c
cmp byte [rbx + 0x136], al
je 0x1800c6116
mov eax, dword [rbx + 0x124]
mov dword [rbx + 0x128], eax
mov eax, dword [rbx + 0x12c]
mov dword [rbx + 0x130], eax
cmp ecx, 2
jne 0x1800c6026
mov r10d, dword [rbx + 0x120]
xor ecx, ecx
test r10d, r10d
jle 0x1800c6026
mov r9, qword [rbx + 0xa0]
nop
mov rdx, qword [r9]
mov rax, qword [r9 + 8]
sub rax, rdx
sar rax, 3
cmp ecx, eax
jae 0x1800c601f
mov rdx, qword [rdx + rcx*8]
test rdx, rdx
je 0x1800c601f
movups xmm0, xmmword [rdx + 0xb4]
mov r8d, dword [rbx + 0x130]
psrldq xmm0, 8
movd eax, xmm0
cmp r8d, eax
jg 0x1800c6018
movups xmm0, xmmword [rdx + 0xb4]
psrldq xmm0, 8
movd r8d, xmm0
mov dword [rbx + 0x130], r8d
inc ecx
cmp ecx, r10d
jl 0x1800c5fd0
mov r8, qword [rbx + 0xa0]
xor ebp, ebp
mov edx, dword [rbx + 0x120]
mov rcx, qword [r8]
mov rax, qword [r8 + 8]
sub rax, rcx
sar rax, 3
cmp eax, edx
je 0x1800c610f
nop dword [rax + rax]
mov rax, qword [r8 + 8]
add edx, ebp
sub rax, rcx
sar rax, 3
cmp edx, eax
jae 0x1800c60e8
mov rdi, qword [rcx + rdx*8]
test rdi, rdi
je 0x1800c60e8
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x1d8]
test al, al
je 0x1800c608b
mov rdx, rdi
mov rcx, rbx
call fcn.1800c5750
jmp 0x1800c60ea
mov rcx, rdi
call fcn.1800c5b10
cmp byte [rdi + 0x137], 0
jne 0x1800c60a0
xor eax, eax
jmp 0x1800c60b7
cmp byte [rdi + 0x134], 0
je 0x1800c60b1
mov eax, dword [rdi + 0x128]
jmp 0x1800c60b7
mov eax, dword [rdi + 0x124]
add dword [rbx + 0x128], eax
cmp dword [rbx + 0x140], 2
jne 0x1800c60e8
mov esi, dword [rbx + 0x130]
mov rcx, rdi
call fcn.1800c5730
cmp esi, eax
jg 0x1800c60e2
mov rcx, rdi
call fcn.1800c5730
mov esi, eax
mov dword [rbx + 0x130], esi
inc ebp
mov r8, qword [rbx + 0xa0]
mov edx, dword [rbx + 0x120]
mov rcx, qword [r8]
mov rax, qword [r8 + 8]
sub rax, rcx
sar rax, 3
sub eax, edx
cmp ebp, eax
jb 0x1800c6050
mov byte [rbx + 0x136], 0
mov eax, dword [rbx + 0x130]
mov rcx, rbx
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x34], r15d
call fcn.1800c5b10
cmp byte [rbx + 0x137], 0
jne 0x1800c613a
xor eax, eax
jmp 0x1800c6151
cmp byte [rbx + 0x134], 0
je 0x1800c614b
mov eax, dword [rbx + 0x128]
jmp 0x1800c6151
mov eax, dword [rbx + 0x124]
add eax, r15d
mov rcx, rbx
mov dword [rsp + 0x3c], eax
call fcn.1800c5b10
cmp byte [rbx + 0x137], 0
jne 0x1800c616d
xor eax, eax
jmp 0x1800c6184
cmp byte [rbx + 0x134], 0
je 0x1800c617e
mov eax, dword [rbx + 0x128]
jmp 0x1800c6184
mov eax, dword [rbx + 0x124]
movups xmm0, xmmword [rsp + 0x30]
add r15d, eax
mov rcx, rbx
mov rax, qword [rbx]
movups xmmword [rbx + 0xb4], xmm0
call qword [rax + 0x48]
mov rdx, qword [r14 + 0xa0]
inc r12d
mov r8d, dword [r14 + 0x120]
mov rcx, qword [rdx]
mov rax, qword [rdx + 8]
sub rax, rcx
sar rax, 3
sub eax, r8d
cmp r12d, eax
jb 0x1800c5f12
mov rbp, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.18017e6e0
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret