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

Disassembly:
push rbx
push rsi
push rdi
push r12
push r14
sub rsp, 0x50
xor ebx, ebx
mov rdi, rdx
mov rdx, qword [rdx]
mov rsi, rcx
mov qword [rsp + 0x88], rbx
test rdx, rdx
je 0x1800fbe08
mov ecx, dword [rdx + 0x54]
test ecx, ecx
jne 0x1800fbdff
nop dword [rax + rax]
mov ecx, 2
lock xadd dword [0x18029d6cc], ecx
add ecx, 2
je 0x1800fbde0
or ecx, 1
xor eax, eax
lock cmpxchg dword [rdx + 0x54], ecx
cmovne ecx, eax
and ecx, 0xfffffffe
mov dword [rsp + 0x20], ecx
jmp 0x1800fbe0c
mov dword [rsp + 0x20], ebx
mov rax, qword [rdi + 0x20]
lea r8, [rsp + 0x88]
mov qword [rsp + 0x24], rax
lea rdx, [rsp + 0x20]
mov eax, dword [rdi + 0x28]
xorps xmm0, xmm0
mov dword [rsp + 0x2c], eax
mov rcx, rsi
mov eax, dword [rdi + 0x2c]
mov dword [rsp + 0x30], eax
movdqu xmmword [rsp + 0x38], xmm0
call fcn.1800fbc10
mov r14, qword [rsp + 0x88]
movsxd r12, eax
test r14, r14
je 0x1800fbee7
mov ecx, dword [rsi + 0x5c]
cmp ecx, 0xffffffff
je 0x1800fbe98
cmp byte [rsi + 0x68], bl
je 0x1800fbe7e
movsxd rbx, dword [rsi + 0x7c]
lea rcx, [rsi + 0x70]
lea edx, [rbx + 1]
call fcn.1800e0890
mov rcx, qword [rsi + 0x70]
mov eax, dword [r14]
mov dword [rcx + rbx*4], eax
jmp 0x1800fbe98
cmp dword [r14 + 4], ebx
jne 0x1800fbe8a
mov dword [r14 + 4], ecx
jmp 0x1800fbe98
lock xadd dword [r14 + 4], ecx
mov r14, qword [rsp + 0x88]
cmp dword [rsi + 0x58], 0xffffffff
je 0x1800fbed8
mov rax, qword [rsi + 0x10]
mov rdx, qword [rax + r12*8]
cmp rdx, qword [rsi + 0x48]
je 0x1800fbed8
mov rcx, rsi
call fcn.1800fbbb0
mov r9, qword [rsi + 0x48]
test r9, r9
je 0x1800fbec9
mov qword [r9 + 0x18], rdx
mov rcx, qword [rsi + 0x48]
mov qword [rdx + 0x20], rcx
cmp qword [rsi + 0x50], 0
mov qword [rsi + 0x48], rdx
jne 0x1800fbed8
mov qword [rsi + 0x50], rdx
mov eax, dword [r14]
add rsp, 0x50
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
mov eax, dword [rsi + 0x58]
mov qword [rsp + 0x80], rbp
mov qword [rsp + 0x90], r15
cmp eax, 0xffffffff
je 0x1800fbfbb
cmp dword [rsi + 0x2c], eax
jl 0x1800fbfbb
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x1800fbfbb
nop dword [rax]
movsxd rcx, dword [rdx + 0x28]
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + rcx*8]
cmp dword [rcx + 4], ebx
jg 0x1800fbfbb
mov r8, qword [rdi]
test r8, r8
je 0x1800fbf75
mov ecx, dword [r8 + 0x54]
test ecx, ecx
jne 0x1800fbf70
nop word [rax + rax]
mov ecx, 2
lock xadd dword [0x18029d6cc], ecx
add ecx, 2
je 0x1800fbf50
or ecx, 1
xor eax, eax
lock cmpxchg dword [r8 + 0x54], ecx
cmovne ecx, eax
and ecx, 0xfffffffe
jmp 0x1800fbf77
mov ecx, ebx
cmp ecx, dword [rdx]
jne 0x1800fbf86
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x1800fbf20
jmp 0x1800fbfbb
movsxd rcx, dword [rdx + 0x28]
mov rax, qword [rsi + 0x20]
mov r14, qword [rax + rcx*8]
mov rcx, rsi
mov qword [rsp + 0x88], r14
call fcn.1800fbbb0
mov rcx, rsi
call fcn.1800fbd30
cmp eax, r12d
jge 0x1800fbfb2
dec r12d
test r14, r14
jne 0x1800fc0a9
cmp dword [rsi + 0x58], 0xffffffff
je 0x1800fbfee
cmp dword [rsi + 0x3c], ebx
jle 0x1800fbfee
movsxd rdx, dword [rsi + 0x3c]
mov rax, qword [rsi + 0x30]
movsxd r8, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [rsi + 0x3c], eax
mov rax, qword [rsi + 0x20]
mov r14, qword [rax + r8*8]
mov qword [rsp + 0x88], r14
jmp 0x1800fc0a9
mov ecx, 0x58
call fcn.1801cd4e0
mov r14, rax
mov qword [rsp + 0x88], r14
mov dword [rax], 0xffffffff
mov dword [rax + 4], ebx
mov qword [rax + 0x30], rbx
mov qword [rax + 0x38], rbx
mov dword [rax + 0x40], ebx
xor eax, eax
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], rax
mov qword [r14 + 0x20], rax
mov qword [r14 + 0x28], rax
mov qword [r14 + 0x30], rax
mov qword [r14 + 0x38], rax
mov qword [r14 + 0x40], rax
mov qword [r14 + 0x48], rax
mov qword [r14 + 0x50], rbx
movsxd r15, dword [rsi + 0x2c]
lea ebp, [r15 + 1]
cmp ebp, dword [rsi + 0x28]
jle 0x1800fc086
lea ecx, [rbp + 4]
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
movsxd rbx, ecx
mov dword [rsi + 0x28], ecx
mov rcx, qword [rsi + 0x20]
shl rbx, 3
mov rdx, rbx
call fcn.1801d206c
test rbx, rbx
je 0x1800fc082
test rax, rax
je 0x1800fc288
mov qword [rsi + 0x20], rax
mov rax, qword [rsi + 0x20]
movsd xmm0, qword [rsp + 0x88]
mov dword [rsi + 0x2c], ebp
movsd qword [rax + r15*8], xmm0
mov eax, dword [rsi + 0x2c]
dec eax
mov dword [r14], eax
add qword [rsi + 0x60], 0x58
mov rcx, qword [rsi + 0x40]
test rcx, rcx
je 0x1800fc14b
mov rax, qword [rcx]
mov rdx, rdi
mov r8d, dword [r14]
call qword [rax + 0x10]
test al, al
jne 0x1800fc1a9
mov rcx, qword [rsi + 0x10]
mov edx, 0x30
movsxd rax, r12d
lea rbx, [rax*8]
mov rcx, qword [rcx + rbx]
call fcn.1801ccd54
mov rcx, qword [rsi + 0x10]
dec dword [rsi + 0x1c]
add rcx, rbx
mov edx, dword [rsi + 0x1c]
sub edx, r12d
movsxd r8, edx
lea rdx, [rcx + 8]
shl r8, 3
call fcn.1801ceec0
mov eax, dword [rsi + 0x2c]
movsxd r8, dword [r14]
dec eax
cmp eax, r8d
jne 0x1800fc24d
mov rax, qword [rsi + 0x20]
dec dword [rsi + 0x2c]
mov edx, dword [rsi + 0x2c]
sub edx, r8d
lea rcx, [rax + r8*8]
movsxd r8, edx
shl r8, 3
lea rdx, [rcx + 8]
call fcn.1801ceec0
add qword [rsi + 0x60], 0xffffffffffffffa8
mov rcx, r14
call fcn.1800fc290
jmp 0x1800fc267
mov rax, qword [rdi]
test rax, rax
je 0x1800fc167
cmp byte [rax + 0x74], 0
je 0x1800fc167
mov rdx, rdi
lea rcx, [r14 + 8]
call fcn.1800a3bc0
jmp 0x1800fc19c
cmp dword [rdi + 0x28], 0
jle 0x1800fc177
cmp dword [rdi + 0x2c], 0
jle 0x1800fc177
xor al, al
jmp 0x1800fc179
mov al, 1
test al, al
je 0x1800fc188
lea rcx, [r14 + 8]
call fcn.1800a3c40
jmp 0x1800fc19c
lea rdx, [r14 + 8]
mov rcx, rdi
call fcn.1800a4d10
test al, al
je 0x1800fc0ca
mov rax, qword [r14 + 8]
test rax, rax
je 0x1800fc1a9
mov byte [rax + 0x74], 2
movsxd rax, r12d
lea r15, [rax*8]
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax + r15]
mov eax, dword [r14]
mov dword [rcx + 0x28], eax
mov ecx, dword [rdi + 0x3c]
imul ecx, dword [rdi + 0x2c]
mov qword [r14 + 0x50], rcx
add qword [rsi + 0x60], rcx
mov eax, dword [rsi + 0x5c]
cmp eax, 0xffffffff
je 0x1800fc216
cmp byte [rsi + 0x68], 0
je 0x1800fc1fb
movsxd rbx, dword [rsi + 0x7c]
lea rcx, [rsi + 0x70]
lea edx, [rbx + 1]
call fcn.1800e0890
mov rcx, qword [rsi + 0x70]
mov eax, dword [r14]
mov dword [rcx + rbx*4], eax
jmp 0x1800fc216
cmp dword [r14 + 4], 0
jne 0x1800fc208
mov dword [r14 + 4], eax
jmp 0x1800fc216
lock xadd dword [r14 + 4], eax
mov r14, qword [rsp + 0x88]
cmp dword [rsi + 0x58], 0xffffffff
je 0x1800fc248
mov rax, qword [rsi + 0x10]
mov rdx, qword [r15 + rax]
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x1800fc239
mov qword [rax + 0x18], rdx
mov rcx, qword [rsi + 0x48]
mov qword [rdx + 0x20], rcx
cmp qword [rsi + 0x50], 0
mov qword [rsi + 0x48], rdx
jne 0x1800fc248
mov qword [rsi + 0x50], rdx
mov eax, dword [r14]
jmp 0x1800fc26c
movsxd rbx, dword [rsi + 0x3c]
lea rcx, [rsi + 0x30]
lea edx, [rbx + 1]
call fcn.1800e0890
mov rdx, qword [rsi + 0x30]
mov ecx, dword [r14]
mov dword [rdx + rbx*4], ecx
mov eax, 0xffffffff
mov rbp, qword [rsp + 0x80]
mov r15, qword [rsp + 0x90]
add rsp, 0x50
pop r14
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.1800bea50
int3