Function at 0x1800db150
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 r15
sub rsp, 0x50
mov r15, qword [rcx]
mov esi, edx
mov r13, qword [rcx + 8]
xor edx, edx
mov rbx, qword [rcx + 0x10]
mov r10d, r8d
mov rdi, rcx
mov dword [rsp + 0x3c], edx
mov ebp, dword [r15 + 0x44]
mov r12d, edx
movzx eax, byte [r13 + 0x20]
dec ebp
mov dword [rsp + 0x38], edx
mov byte [rsp + 0x98], al
mov dword [rsp + 0x90], ebp
mov dword [r15 + 0x44], ebp
mov dword [rsp + 0x34], edx
cmp esi, 2
jne 0x1800db1c1
cmp byte [r13 + 0x21], 0x57
jne 0x1800db1c1
xor eax, eax
add rsp, 0x50
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test r10d, r10d
jle 0x1800db291
cmp byte [r13 + 0x20], 0x56
movsxd rax, dword [rbx + 0x90]
jne 0x1800db23a
mov dword [rsp + 0x34], eax
cmp esi, 2
jne 0x1800db219
movzx ecx, byte [r13 + 0x21]
cmp cl, 0x53
jne 0x1800db1f1
mov r8d, dword [rdi + 0x30]
jmp 0x1800db1f5
mov r8d, dword [rdi + 0x28]
cmp cl, 0x53
mov eax, 0x39
mov edx, 0x37
mov r9d, 0x30
cmovne edx, eax
mov eax, 0x28
cmovne eax, r9d
mov ecx, dword [rax + rdi]
jmp 0x1800db225
mov r8d, dword [rcx + 0x38]
mov edx, 0x36
mov ecx, dword [rcx + 0x30]
mov dword [rsp + 0x28], ebp
mov r9d, r10d
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.1800dade0
jmp 0x1800db291
mov r12, rax
cmp dword [rbx + 0x94], eax
jg 0x1800db261
xor r9d, r9d
mov dword [rsp + 0x20], 1
mov rcx, rbx
lea edx, [r9 + 0x2f]
call fcn.180071c70
mov r12d, eax
jmp 0x1800db291
lea rcx, [r12 + r12*2]
inc eax
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x2f
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], 1
mov qword [rax + rcx*8 + 0x10], rdx
cmp esi, 1
jne 0x1800db2a7
cmp dword [r13 + 0x7c], 0
jne 0x1800db2a7
xor edx, edx
mov rcx, rdi
call fcn.1800d9580
mov eax, dword [rbx + 0x90]
mov ecx, esi
mov qword [rsp + 0xa0], r14
mov dword [rsp + 0x40], eax
sub ecx, 1
je 0x1800db34f
cmp ecx, 1
je 0x1800db310
cmp dword [r13 + 0x7c], 0
mov eax, dword [rdi + 0x3c]
mov r14d, dword [rdi + 0x38]
mov dword [rsp + 0x30], eax
je 0x1800db2f6
mov r8d, dword [r13 + 0x80]
mov r9d, 1
mov rcx, rbx
lea edx, [r9 + 0x52]
call fcn.180071e20
jmp 0x1800db362
mov eax, dword [rdi + 0x20]
xor r9d, r9d
mov r8d, r14d
mov dword [rsp + 0x20], eax
mov rdx, r13
mov rcx, r15
call fcn.1800d8bb0
jmp 0x1800db362
mov r8d, dword [r13 + 0x7c]
mov r9d, 1
mov eax, dword [rdi + 0x2c]
mov r14d, dword [rdi + 0x28]
mov dword [rsp + 0x30], eax
test r8d, r8d
je 0x1800db338
lea edx, [r9 + 0x52]
mov rcx, rbx
call fcn.180071e20
jmp 0x1800db362
mov eax, dword [rdi + 0x20]
mov r8d, r14d
mov rdx, r13
mov dword [rsp + 0x20], eax
mov rcx, r15
call fcn.1800d8bb0
jmp 0x1800db362
mov eax, dword [rdi + 0x34]
mov rcx, rdi
mov r14d, dword [rdi + 0x30]
mov dword [rsp + 0x30], eax
call fcn.1800da190
cmp esi, dword [rdi + 0x24]
jne 0x1800db3df
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800db38f
xor esi, esi
xor r9d, r9d
mov r8d, r14d
mov dword [rsp + 0x20], esi
mov rcx, rbx
lea edx, [rsi + 0x7b]
call fcn.180071c70
jmp 0x1800db3bd
lea eax, [rcx + 1]
xor edx, edx
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
xor esi, esi
mov dword [rax + rcx*8], 0x7b
mov dword [rax + rcx*8 + 4], r14d
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x1800db3e1
lea rcx, [rax + rax*2]
mov edx, 2
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x1800db3e1
xor esi, esi
cmp dword [rsp + 0xa8], 0
movsxd rcx, dword [rbx + 0x90]
mov eax, dword [rbx + 0x94]
je 0x1800db467
lea edx, [rcx + 2]
cmp eax, ecx
jg 0x1800db418
mov r9d, edx
mov dword [rsp + 0x20], esi
mov edx, 5
mov r8d, r14d
mov rcx, rbx
call fcn.180071c70
jmp 0x1800db449
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 5
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov edx, 0xb
mov rcx, rbx
call fcn.180071d40
movzx esi, byte [rsp + 0x98]
mov dword [rsp + 0x3c], eax
jmp 0x1800db4e7
movzx esi, byte [rsp + 0x98]
xor r8d, r8d
cmp sil, 0x4c
mov edx, r8d
setne dl
inc edx
add edx, ecx
cmp eax, ecx
jg 0x1800db49e
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r14d
mov edx, 5
mov rcx, rbx
call fcn.180071c70
jmp 0x1800db4cc
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 5
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
cmp sil, 0x4c
je 0x1800db578
mov edx, 0xb
mov rcx, rbx
call fcn.180071d40
mov dword [rsp + 0x38], eax
cmp sil, 0x4c
je 0x1800db578
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x1800db50c
mov esi, dword [rcx]
test esi, esi
je 0x1800db512
mov edx, esi
mov rcx, r15
call fcn.180091080
jmp 0x1800db514
xor eax, eax
mov esi, eax
jmp 0x1800db514
xor eax, eax
mov r8d, eax
mov edx, r14d
mov rcx, rdi
mov ebp, eax
call fcn.1800d9470
mov eax, dword [rsp + 0x40]
mov r8d, ebp
mov r9d, dword [rsp + 0x30]
mov rcx, r15
mov rdx, qword [r13 + 0x18]
mov dword [rsp + 0x20], eax
call fcn.1800dabb0
cmp esi, 1
jne 0x1800db563
test ebp, ebp
je 0x1800db571
movzx eax, byte [r15 + 0x1f]
cmp al, 8
jae 0x1800db571
movzx eax, al
mov dword [r15 + rax*4 + 0xcc], ebp
inc byte [r15 + 0x1f]
jmp 0x1800db571
cmp esi, dword [r15 + 0x28]
jle 0x1800db571
mov dword [r15 + 0x28], esi
mov dword [r15 + 0x2c], ebp
mov ebp, dword [rsp + 0x90]
mov edx, dword [rsp + 0x34]
mov r14, qword [rsp + 0xa0]
test edx, edx
je 0x1800db5dd
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800db5b0
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rbx
lea edx, [rax + 0xb]
call fcn.180071c70
jmp 0x1800db5dd
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0xb
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [rbx + 0x18]
not ebp
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1800db5f8
mov r8d, ebp
mov rdx, rbx
call fcn.180072770
jmp 0x1800db608
mov rcx, qword [rcx + 0x50]
mov eax, dword [rbx + 0x90]
movsxd rdx, ebp
mov dword [rcx + rdx*4], eax
mov ecx, dword [rsp + 0x38]
lea rdx, [0x180196bf0]
test ecx, ecx
je 0x1800db64a
mov rax, qword [rbx]
mov r8d, dword [rbx + 0x90]
cmp byte [rax + 0x61], 0
je 0x1800db62c
mov rax, rdx
jmp 0x1800db646
test ecx, ecx
lea eax, [r8 - 1]
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], r8d
test r12d, r12d
je 0x1800db67f
mov rax, qword [rbx]
mov r8d, dword [rbx + 0x90]
cmp byte [rax + 0x61], 0
jne 0x1800db67b
lea eax, [r8 - 1]
test r12d, r12d
cmovns eax, r12d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rdx, [rax + rcx*8]
mov dword [rdx + 8], r8d
mov eax, dword [rsp + 0x3c]
add rsp, 0x50
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret