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

Disassembly:
mov dword [rsp + 0x20], r9d
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r15, qword [rcx + 0x10]
xor eax, eax
mov r13d, r9d
mov rbx, qword [r15 + 0x30]
mov r14d, eax
mov rdi, r8
movsxd r12, dword [rbx + 0x78]
mov qword [rsp + 0x90], r8
mov rsi, rdx
lea eax, [r12 + 1]
mov rbp, rcx
mov dword [rbx + 0x78], eax
lea eax, [r12 - 1]
test r12d, eax
jne 0x1800b543e
mov rdx, qword [rbx + 0x80]
mov rcx, qword [rbx]
lea eax, [r12 + r12 + 1]
movsxd r8, eax
shl r8, 2
call fcn.18003bc90
mov qword [rbx + 0x80], rax
mov rcx, qword [rbx + 0x80]
or edx, 0xffffffff
test rcx, rcx
je 0x1800b5451
mov dword [rcx + r12*4], edx
movzx ecx, byte [rsi + 0x48]
mov r8d, edx
shr cl, 4
sub r8d, r12d
not cl
mov dword [rsp + 0x88], r8d
and cl, 2
or cl, 0x44
mov byte [rsp + 0x80], cl
cmp byte [rsp + 0xc8], r14b
jne 0x1800b54a7
movsx eax, word [rsp + 0xb0]
movzx edx, cl
mov r9d, r8d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xa8]
mov r8d, r13d
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.18004d7b0
mov rax, qword [rbp]
bt dword [rax + 0x2c], 0x13
jae 0x1800b54db
mov rcx, qword [rsi + 0x70]
mov rdx, qword [rsi]
lea r8, [rsp + 0xc8]
add rcx, 0x50
call fcn.18001e560
test rax, rax
je 0x1800b54d5
cmp qword [rax + 0x10], r14
jne 0x1800b54e4
cmp qword [rsi + 0x20], r14
jne 0x1800b54e4
test rdi, rdi
je 0x1800b5695
movzx r12d, byte [rsp + 0xc0]
mov rbx, rdi
test rdi, rdi
je 0x1800b5557
cmp byte [rbx + 0x10], 0x6d
jne 0x1800b554e
test byte [rbx + 0x11], 3
je 0x1800b554e
mov rax, qword [rbp + 0x1c0]
mov rcx, rbp
test rax, rax
cmovne rcx, rax
mov rax, qword [rcx + 0x278]
test rax, rax
je 0x1800b5534
nop
cmp qword [rax], rbx
jne 0x1800b552b
cmp dword [rax + 0x18], r12d
je 0x1800b5545
mov rax, qword [rax + 8]
test rax, rax
jne 0x1800b5520
mov r9d, r12d
mov r8, rsi
mov rdx, rbx
mov rcx, rbp
call fcn.1800b44d0
test rax, rax
je 0x1800b554e
or r14d, dword [rax + 0x1c]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1800b54f5
mov rdx, rsi
mov rcx, rbp
call fcn.180044db0
mov edx, dword [rbp + 0x54]
movsx ecx, word [rsi + 0x42]
mov r8d, dword [rsp + 0xa8]
mov r13d, eax
mov dword [rsp + 0x20], 0
or r13d, r14d
lea r14d, [rdx + 1]
lea edx, [rcx + rdx + 1]
mov dword [rbp + 0x54], edx
mov edx, 0x21
mov r9d, r14d
mov rcx, r15
call fcn.180042780
xor eax, eax
cmp ax, word [rsi + 0x42]
mov ebx, eax
jge 0x1800b55ed
mov edi, dword [rsp + 0x98]
nop dword [rax + rax]
cmp r13d, 0xffffffff
je 0x1800b55c1
cmp ebx, 0x1f
jg 0x1800b55db
bt r13d, ebx
jae 0x1800b55db
lea eax, [rbx + r14 + 1]
mov r9d, ebx
mov r8d, edi
mov rdx, rsi
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.180072570
movsx eax, word [rsi + 0x42]
inc ebx
cmp ebx, eax
jl 0x1800b55b0
mov rdi, qword [rsp + 0x90]
mov r13d, dword [r15 + 0x3c]
mov rbx, rdi
test rdi, rdi
je 0x1800b5637
mov edi, dword [rsp + 0x88]
cmp byte [rbx + 0x10], 0x6d
jne 0x1800b5626
cmp byte [rbx + 0x11], 1
jne 0x1800b5626
mov r9d, r14d
mov r8, rsi
mov rdx, rbx
mov rcx, rbp
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r12d
call fcn.1800b4ea0
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1800b5600
mov rdi, qword [rsp + 0x90]
cmp r13d, dword [r15 + 0x3c]
mov r13d, dword [rsp + 0x98]
jge 0x1800b5677
movsx eax, word [rsp + 0xb0]
movzx edx, byte [rsp + 0x80]
mov r9d, dword [rsp + 0x88]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xa8]
mov r8d, r13d
mov rcx, r15
mov dword [rsp + 0x20], eax
call fcn.18004d7b0
xor ebx, ebx
xor r9d, r9d
mov r8d, r14d
mov rdx, rsi
mov rcx, rbp
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
call fcn.18009fd30
jmp 0x1800b5697
xor ebx, ebx
cmp qword [rsi + 0x18], 0
jne 0x1800b57ac
mov r9d, dword [rsp + 0xa0]
mov r8d, r13d
mov rdx, rsi
mov rcx, rbp
mov qword [rsp + 0x20], rbx
call fcn.1800757f0
mov rax, qword [r15 + 0x30]
movsxd r12, dword [r15 + 0x3c]
cmp dword [rax + 0x60], r12d
movzx ebx, byte [rsp + 0xb8]
jg 0x1800b56e4
mov edx, 1
mov rcx, r15
call fcn.18003af10
test eax, eax
jne 0x1800b571c
inc dword [r15 + 0x3c]
mov rcx, qword [r15 + 8]
lea rdx, [r12 + r12*2]
xor r8d, r8d
test bl, bl
mov byte [rcx + rdx*8], 0x5f
mov eax, r8d
setne al
mov byte [rcx + rdx*8 + 3], 0
mov dword [rcx + rdx*8 + 4], r13d
mov dword [rcx + rdx*8 + 0xc], r8d
mov qword [rcx + rdx*8 + 0x10], r8
mov dword [rcx + rdx*8 + 8], eax
mov byte [rcx + rdx*8 + 1], r8b
test bl, bl
je 0x1800b57ac
mov rbx, qword [r15 + 8]
mov r12, qword [rsi]
mov rcx, qword [r15]
test rbx, rbx
je 0x1800b57a2
cmp byte [rcx + 0x51], 0
jne 0x1800b57a2
mov eax, dword [r15 + 0x3c]
dec eax
cdqe
lea r13, [rax + rax*2]
movsx edx, byte [rbx + r13*8 + 1]
mov r8, qword [rbx + r13*8 + 0x10]
call fcn.180046990
xor eax, eax
mov qword [rbx + r13*8 + 0x10], rax
test r12, r12
jne 0x1800b576d
mov qword [rbx + r13*8 + 0x10], r12
mov byte [rbx + r13*8 + 1], al
jmp 0x1800b57af
cmp byte [r12], 0
mov rax, r12
je 0x1800b577f
inc rax
cmp byte [rax], 0
jne 0x1800b5777
mov rcx, qword [r15]
sub eax, r12d
mov rdx, r12
and eax, 0x3fffffff
movsxd r8, eax
call fcn.180034f20
mov byte [rbx + r13*8 + 1], 0xff
mov qword [rbx + r13*8 + 0x10], rax
jmp 0x1800b57ac
mov r8, r12
xor edx, edx
call fcn.180046990
xor r12d, r12d
mov rax, qword [rbp]
bt dword [rax + 0x2c], 0x13
jae 0x1800b581d
mov rcx, qword [rsi + 0x70]
mov rdx, qword [rsi]
lea r8, [rsp + 0xc8]
add rcx, 0x50
call fcn.18001e560
test rax, rax
je 0x1800b581d
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1800b581d
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
mov rcx, rbp
call fcn.180049df0
test rax, rax
je 0x1800b5814
mov r9d, r14d
mov r8, rsi
mov rdx, rax
mov rcx, rbp
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 2
call fcn.1800b4ea0
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x1800b57e0
test rdi, rdi
je 0x1800b5864
mov ebx, dword [rsp + 0x88]
movzx r12d, byte [rsp + 0xc0]
cmp byte [rdi + 0x10], 0x6d
jne 0x1800b585b
cmp byte [rdi + 0x11], 2
jne 0x1800b585b
movzx eax, r12b
mov r9d, r14d
mov r8, rsi
mov rdx, rdi
mov rcx, rbp
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.1800b4ea0
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1800b5832
mov r8, qword [r15 + 0x30]
or eax, 0xffffffff
sub eax, dword [rsp + 0x88]
js 0x1800b588a
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1800b588a
movsxd rcx, eax
mov eax, dword [r15 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r15 + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret