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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor ebp, ebp
mov r12, rdx
mov rdi, rcx
mov ebx, ebp
test rdx, rdx
je 0x1800dc28e
mov esi, dword [rdx + 0x18]
mov ecx, 0x200
call fcn.18011da50
mov r15, rax
test rax, rax
je 0x1800dc284
lea rcx, [rax + 4]
xor edx, edx
mov r8d, 0x1fc
call fcn.180162c50
mov dword [r15], esi
lea r14, [rdi + 0x60]
mov eax, dword [r12 + 0x18]
mov dword [rdi + 0x20], eax
movzx eax, byte [rdi + 0x11]
mov byte [rdi + 0x17], al
mov rax, qword [r14]
mov qword [rsp + 0x30], rax
mov r13, rax
jmp 0x1800dc399
mov eax, 7
jmp 0x1800dc69b
mov eax, dword [rcx + 0x24]
mov r15, rbp
mov rsi, qword [rcx + 0x138]
mov dword [rcx + 0x20], eax
movzx eax, byte [rcx + 0x11]
mov byte [rcx + 0x17], al
test rsi, rsi
je 0x1800dc384
mov eax, dword [rcx + 0x24]
mov dword [rcx + 0x20], eax
cmp byte [rsi + 0x40], bl
je 0x1800dc34d
mov r15d, dword [rsi + 0x58]
mov rax, qword [rsi + 0x30]
mov rcx, qword [rax]
movups xmm0, xmmword [rcx]
movups xmmword [rsi + 0x48], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rsi + 0x58], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rsi + 0x68], xmm0
mov ebx, dword [rsi + 0x58]
inc ebx
lea r14d, [rbx + 0x1000]
nop dword [rax + rax]
cmp ebx, r15d
ja 0x1800dc33f
mov r8, qword [rsi + 0x30]
mov eax, r14d
sub rax, 0xfdf
shr rax, 0xc
test eax, eax
jne 0x1800dc316
mov rax, qword [r8]
mov edx, dword [rax + rbx*4 + 0x84]
jmp 0x1800dc32c
cdqe
lea edx, [rbx - 1]
add rdx, 0x22
and edx, 0xfff
mov rcx, qword [r8 + rax*8]
mov edx, dword [rcx + rdx*4]
mov rcx, rdi
call fcn.1800dc7e0
inc ebx
inc r14d
mov ebp, eax
test eax, eax
je 0x1800dc2f0
cmp r15d, dword [rsi + 0x58]
je 0x1800dc34d
mov rcx, rsi
call fcn.1801538a0
mov rcx, qword [rdi + 0x130]
call fcn.180121870
test rax, rax
je 0x1800dc37d
nop
test ebp, ebp
jne 0x1800dc37d
mov edx, dword [rax + 0x28]
mov rcx, rdi
mov rbx, qword [rax + 0x18]
call fcn.1800dc7e0
mov ebp, eax
mov rax, rbx
test rbx, rbx
jne 0x1800dc360
mov eax, ebp
jmp 0x1800dc69b
mov rax, qword [rcx + 0x60]
lea r14, [rcx + 0x60]
mov qword [rsp + 0x30], rax
mov r13, rax
test r12, r12
je 0x1800dc3e1
cmp qword [rdi + 0x138], rbx
jne 0x1800dc3e1
mov rsi, qword [r12 + 8]
test rsi, rsi
cmove rsi, rax
mov rax, qword [r12]
mov qword [r14], rax
cmp qword [r14], rsi
jge 0x1800dc3e4
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r15
mov rdx, r14
mov rcx, rdi
call fcn.1800dd6c0
mov ebx, eax
test eax, eax
je 0x1800dc3b5
jmp 0x1800dc4a3
mov qword [r14], rbp
cmp qword [r14], r13
jge 0x1800dc492
lea rax, [rsp + 0xa8]
mov dword [rsp + 0xa0], ebp
lea r9, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
mov r8, r13
xor edx, edx
mov rcx, rdi
call fcn.1800e1dc0
mov r12d, dword [rsp + 0xa0]
mov ebx, eax
test r12d, r12d
jne 0x1800dc45a
mov eax, dword [rdi + 0xb8]
add rax, qword [rdi + 0x68]
mov rdx, qword [r14]
cmp rax, rdx
jne 0x1800dc45a
mov eax, dword [rdi + 0xbc]
add eax, 8
movsxd rcx, eax
mov rax, qword [rsp + 0x30]
sub rax, rdx
cqo
idiv rcx
mov r12, rax
mov dword [rsp + 0xa0], eax
mov esi, ebp
test ebx, ebx
jne 0x1800dc492
cmp esi, r12d
jae 0x1800dc3e4
cmp qword [r14], r13
jge 0x1800dc492
mov r9d, 1
mov dword [rsp + 0x20], 1
mov r8, r15
mov rdx, r14
mov rcx, rdi
call fcn.1800dd6c0
inc esi
mov ebx, eax
test eax, eax
je 0x1800dc460
mov r12, qword [rsp + 0x98]
test r12, r12
je 0x1800dc60e
mov esi, dword [r12 + 0x1c]
mov eax, dword [rdi + 0xbc]
mov r12, qword [rdi + 0x138]
add eax, 4
movsxd rcx, eax
imul rcx, rsi
mov qword [rsp + 0x40], rcx
test r12, r12
je 0x1800dc5e2
mov rdx, qword [rsp + 0x98]
mov eax, dword [r12 + 0x88]
cmp dword [rdx + 0x2c], eax
je 0x1800dc4f4
mov dword [rdx + 0x20], ebp
mov ecx, ebp
mov eax, dword [r12 + 0x88]
mov dword [rdx + 0x2c], eax
jmp 0x1800dc4f7
mov ecx, dword [rdx + 0x20]
cmp ecx, dword [r12 + 0x58]
jae 0x1800dc5db
mov dword [r12 + 0x58], ecx
mov rsi, rbp
mov eax, dword [rdx + 0x24]
mov ebx, ebp
mov dword [r12 + 0x60], eax
mov eax, dword [rdx + 0x28]
mov dword [r12 + 0x64], eax
test ecx, ecx
je 0x1800dc5db
lea eax, [rcx + 0x1000]
mov rcx, r12
sub rax, 0xfdf
lea r8, [rsp + 0x30]
shr rax, 0xc
mov edx, eax
mov qword [rsp + 0x38], rax
call fcn.180153c70
test eax, eax
jne 0x1800dc580
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
lea rsi, [rax + 0x4000]
test ecx, ecx
jne 0x1800dc572
add rax, 0x88
mov qword [rsp + 0x30], rax
lea r11, [rax - 4]
jmp 0x1800dc583
mov ebx, ecx
lea r11, [rax - 4]
shl ebx, 0xc
sub ebx, 0x22
jmp 0x1800dc583
mov r11, rbp
mov r10d, dword [r12 + 0x58]
mov r8, rsi
sub r10d, ebx
mov rdx, rsi
mov r9d, 0x2000
movzx eax, word [r8]
cmp eax, r10d
jle 0x1800dc5a3
mov word [rdx], bp
add rdx, 2
add r8, 2
sub r9, 1
jne 0x1800dc597
lea eax, [r10*4 + 4]
xor edx, edx
sub esi, eax
lea eax, [r10 + 1]
movsxd rcx, eax
sub esi, r11d
movsxd r8, esi
lea rcx, [r11 + rcx*4]
call fcn.180162c50
mov rdx, qword [rsp + 0x98]
mov esi, dword [rdx + 0x1c]
mov ebx, ebp
jmp 0x1800dc5e6
test ebx, ebx
jne 0x1800dc60e
cmp esi, dword [rdi + 0x3c]
jae 0x1800dc60e
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov r8, r15
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1800dd6c0
inc esi
mov ebx, eax
test eax, eax
je 0x1800dc5e6
test r15, r15
je 0x1800dc692
cmp dword [r15 + 8], ebp
je 0x1800dc638
lea rdi, [r15 + 0x10]
mov esi, 0x3e
mov rcx, qword [rdi]
call fcn.1800ef650
lea rdi, [rdi + 8]
sub rsi, 1
jne 0x1800dc626
cmp dword [0x1801e5920], ebp
je 0x1800dc689
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800dc652
call qword [0x1801e59a8]
mov rcx, r15
call qword [0x1801e5960]
dec qword [0x1801ee598]
mov rcx, r15
movsxd rdx, eax
sub qword [0x1801ee550], rdx
call qword [0x1801e5950]
mov rcx, qword [0x1801ee840]
test rcx, rcx
je 0x1800dc692
call qword [0x1801e59b8]
jmp 0x1800dc692
mov rcx, r15
call qword [0x1801e5950]
test ebx, ebx
jne 0x1800dc699
mov qword [r14], r13
mov eax, ebx
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret