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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
xor ebx, ebx
mov rax, r9
mov r14, rcx
mov rcx, qword [rdx + 0x20]
mov r9, r8
mov r12, rdx
lea r11d, [rbx + 1]
lea r10d, [rbx + 0x40]
mov word [rsp + 0x80], bx
mov ebp, ebx
cmp dword [rdx + 0x14], ebx
jle 0x1800c0587
mov r8d, dword [rax + 0x44]
mov edx, dword [rdx + 0x14]
add rcx, 0x30
cmp dword [rcx - 0x14], r8d
jne 0x1800c057f
test qword [rcx], r9
jne 0x1800c057f
movzx eax, word [rcx - 0x1c]
test eax, 0xfffff7ff
je 0x1800c057f
add ebp, r11d
add rcx, r10
sub rdx, r11
jne 0x1800c0566
mov r13, qword [rsp + 0xa0]
mov edi, ebx
test r13, r13
je 0x1800c05ea
mov edx, ebx
cmp dword [r13], ebx
jle 0x1800c05e1
movsxd r10, dword [r13]
lea rcx, [r13 + 0x20]
mov r13, qword [rsp + 0x98]
mov r8, rbx
mov r9, qword [rcx - 0x18]
cmp byte [r9], 0xa2
jne 0x1800c05d9
mov eax, dword [r13 + 0x44]
cmp dword [r9 + 0x2c], eax
jne 0x1800c05d9
test byte [rcx], 2
jne 0x1800c05d9
add r8, r11
add edx, r11d
add rcx, 0x28
cmp r8, r10
jl 0x1800c05b1
mov r13, qword [rsp + 0xa0]
cmp edx, dword [r13]
cmove edi, dword [r13]
mov rcx, qword [r14]
movsxd rsi, ebp
movsxd r15, edi
lea rdx, [rsi + rsi*4]
shl rdx, 2
add rdx, 0x70
lea rdx, [rdx + r15*8]
call fcn.180068678
mov r10, rax
mov qword [rsp + 0x88], rax
test rax, rax
jne 0x1800c062e
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.180068e38
xor eax, eax
jmp 0x1800c07dc
lea r8, [rax + 0x70]
mov dword [r10], ebp
mov dword [r10 + 0x10], edi
mov qword [r10 + 8], r8
lea rax, [rsi + rsi*2]
mov r11d, ebx
lea rsi, [r8 + rax*4]
mov qword [r10 + 0x18], rsi
mov qword [rsp + 0x20], rsi
lea rax, [rsi + r15*8]
mov qword [r10 + 0x20], rax
mov qword [r10 + 0x68], r14
mov qword [r10 + 0x60], r12
mov r9, qword [r12 + 0x20]
mov r14d, 1
cmp dword [r12 + 0x14], ebx
jle 0x1800c079d
mov rdi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x90]
add r8, 4
mov edx, 0x180
movzx r13d, bx
lea esi, [r14 + 0x3f]
lea r10d, [r14 + 0xf]
mov eax, dword [rdi + 0x44]
cmp dword [r9 + 0x1c], eax
jne 0x1800c076e
test qword [r9 + 0x30], rbp
jne 0x1800c076e
movzx ecx, word [r9 + 0x14]
test ecx, 0xfffff7ff
je 0x1800c076e
test byte [rdi + 0x3c], 8
je 0x1800c06dc
mov rax, qword [r9]
test byte [rax + 4], r14b
jne 0x1800c06dc
test dx, cx
jne 0x1800c076e
mov eax, dword [r9 + 0x28]
mov dword [r8 + 4], r11d
mov dword [r8 - 4], eax
movzx edx, word [r9 + 0x14]
mov eax, 0x1fff
and dx, ax
cmp dx, r14w
jne 0x1800c0700
mov edx, 2
cmp dx, si
jne 0x1800c070b
mov al, byte [r9 + 0x17]
jmp 0x1800c0722
mov eax, 0x180
test ax, dx
je 0x1800c0727
mov eax, 0x100
cmp dx, ax
setne al
add al, 0x47
mov byte [r8], al
jmp 0x1800c0765
mov byte [r8], dl
test dl, 0x3c
je 0x1800c0765
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.1800862b0
test eax, eax
je 0x1800c0765
cmp r11d, r10d
jge 0x1800c0751
mov eax, r14d
mov ecx, r11d
shl ax, cl
or r13w, ax
cmp dx, r10w
jne 0x1800c075b
mov byte [r8], 8
cmp dx, 4
jne 0x1800c0765
mov byte [r8], 0x20
add r8, 0xc
mov edx, 0x180
add r11d, r14d
add r9, rsi
cmp r11d, dword [r12 + 0x14]
jl 0x1800c069c
mov r10, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x20]
mov word [rsp + 0x80], r13w
mov r13, qword [rsp + 0xa0]
test r15, r15
jle 0x1800c07c6
lea rdx, [r13 + 0x20]
mov rax, qword [rdx - 0x18]
movsx ecx, word [rax + 0x30]
mov dword [rsi + rbx*8], ecx
mov al, byte [rdx]
lea rdx, [rdx + 0x28]
and al, r14b
mov byte [rsi + rbx*8 + 4], al
add rbx, r14
cmp rbx, r15
jl 0x1800c07a6
mov rax, qword [rsp + 0xa8]
movzx ecx, word [rsp + 0x80]
mov word [rax], cx
mov rax, r10
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret