Function at 0x1800fbdc0
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 0x1800fbe18
mov ecx, dword [rdx + 0x54]
test ecx, ecx
jne 0x1800fbe0f
nop dword [rax + rax]
mov ecx, 2
lock xadd dword [0x18029d6bc], ecx
add ecx, 2
je 0x1800fbdf0
or ecx, 1
xor eax, eax
lock cmpxchg dword [rdx + 0x54], ecx
cmovne ecx, eax
and ecx, 0xfffffffe
mov dword [rsp + 0x20], ecx
jmp 0x1800fbe1c
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.1800fbc20
mov r14, qword [rsp + 0x88]
movsxd r12, eax
test r14, r14
je 0x1800fbef7
mov ecx, dword [rsi + 0x5c]
cmp ecx, 0xffffffff
je 0x1800fbea8
cmp byte [rsi + 0x68], bl
je 0x1800fbe8e
movsxd rbx, dword [rsi + 0x7c]
lea rcx, [rsi + 0x70]
lea edx, [rbx + 1]
call fcn.1800e08a0
mov rcx, qword [rsi + 0x70]
mov eax, dword [r14]
mov dword [rcx + rbx*4], eax
jmp 0x1800fbea8
cmp dword [r14 + 4], ebx
jne 0x1800fbe9a
mov dword [r14 + 4], ecx
jmp 0x1800fbea8
lock xadd dword [r14 + 4], ecx
mov r14, qword [rsp + 0x88]
cmp dword [rsi + 0x58], 0xffffffff
je 0x1800fbee8
mov rax, qword [rsi + 0x10]
mov rdx, qword [rax + r12*8]
cmp rdx, qword [rsi + 0x48]
je 0x1800fbee8
mov rcx, rsi
call fcn.1800fbbc0
mov r9, qword [rsi + 0x48]
test r9, r9
je 0x1800fbed9
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 0x1800fbee8
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 0x1800fbfcb
cmp dword [rsi + 0x2c], eax
jl 0x1800fbfcb
mov rdx, qword [rsi + 0x50]
test rdx, rdx
je 0x1800fbfcb
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 0x1800fbfcb
mov r8, qword [rdi]
test r8, r8
je 0x1800fbf85
mov ecx, dword [r8 + 0x54]
test ecx, ecx
jne 0x1800fbf80
nop word [rax + rax]
mov ecx, 2
lock xadd dword [0x18029d6bc], ecx
add ecx, 2
je 0x1800fbf60
or ecx, 1
xor eax, eax
lock cmpxchg dword [r8 + 0x54], ecx
cmovne ecx, eax
and ecx, 0xfffffffe
jmp 0x1800fbf87
mov ecx, ebx
cmp ecx, dword [rdx]
jne 0x1800fbf96
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x1800fbf30
jmp 0x1800fbfcb
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.1800fbbc0
mov rcx, rsi
call fcn.1800fbd40
cmp eax, r12d
jge 0x1800fbfc2
dec r12d
test r14, r14
jne 0x1800fc0b9
cmp dword [rsi + 0x58], 0xffffffff
je 0x1800fbffe
cmp dword [rsi + 0x3c], ebx
jle 0x1800fbffe
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 0x1800fc0b9
mov ecx, 0x58
call fcn.1801cd4f0
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 0x1800fc096
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.1801d207c
test rbx, rbx
je 0x1800fc092
test rax, rax
je 0x1800fc298
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 0x1800fc15b
mov rax, qword [rcx]
mov rdx, rdi
mov r8d, dword [r14]
call qword [rax + 0x10]
test al, al
jne 0x1800fc1b9
mov rcx, qword [rsi + 0x10]
mov edx, 0x30
movsxd rax, r12d
lea rbx, [rax*8]
mov rcx, qword [rcx + rbx]
call fcn.1801ccd64
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.1801ceed0
mov eax, dword [rsi + 0x2c]
movsxd r8, dword [r14]
dec eax
cmp eax, r8d
jne 0x1800fc25d
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.1801ceed0
add qword [rsi + 0x60], 0xffffffffffffffa8
mov rcx, r14
call fcn.1800fc2a0
jmp 0x1800fc277
mov rax, qword [rdi]
test rax, rax
je 0x1800fc177
cmp byte [rax + 0x74], 0
je 0x1800fc177
mov rdx, rdi
lea rcx, [r14 + 8]
call fcn.1800a3bd0
jmp 0x1800fc1ac
cmp dword [rdi + 0x28], 0
jle 0x1800fc187
cmp dword [rdi + 0x2c], 0
jle 0x1800fc187
xor al, al
jmp 0x1800fc189
mov al, 1
test al, al
je 0x1800fc198
lea rcx, [r14 + 8]
call fcn.1800a3c50
jmp 0x1800fc1ac
lea rdx, [r14 + 8]
mov rcx, rdi
call fcn.1800a4d20
test al, al
je 0x1800fc0da
mov rax, qword [r14 + 8]
test rax, rax
je 0x1800fc1b9
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 0x1800fc226
cmp byte [rsi + 0x68], 0
je 0x1800fc20b
movsxd rbx, dword [rsi + 0x7c]
lea rcx, [rsi + 0x70]
lea edx, [rbx + 1]
call fcn.1800e08a0
mov rcx, qword [rsi + 0x70]
mov eax, dword [r14]
mov dword [rcx + rbx*4], eax
jmp 0x1800fc226
cmp dword [r14 + 4], 0
jne 0x1800fc218
mov dword [r14 + 4], eax
jmp 0x1800fc226
lock xadd dword [r14 + 4], eax
mov r14, qword [rsp + 0x88]
cmp dword [rsi + 0x58], 0xffffffff
je 0x1800fc258
mov rax, qword [rsi + 0x10]
mov rdx, qword [r15 + rax]
mov rax, qword [rsi + 0x48]
test rax, rax
je 0x1800fc249
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 0x1800fc258
mov qword [rsi + 0x50], rdx
mov eax, dword [r14]
jmp 0x1800fc27c
movsxd rbx, dword [rsi + 0x3c]
lea rcx, [rsi + 0x30]
lea edx, [rbx + 1]
call fcn.1800e08a0
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.1800bea60
int3