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

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], r9
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rbx, qword [rcx]
mov rax, qword [r9 + 0x20]
mov rsi, rcx
mov r14, qword [rsi + 0x10]
xor ecx, ecx
mov r11, r9
mov r9, qword [rdx + 0x20]
mov r12, rdx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], r14
mov edi, ecx
mov qword [rsp + 0x48], rax
mov r13d, ecx
mov dword [rsp + 0x24], ecx
mov r10d, ecx
lea ebp, [rcx + 1]
cmp dword [rdx + 0x14], ecx
jle 0x1800d2d61
mov eax, 0xffbf
and word [r9 + 0x12], ax
mov edx, dword [r11 + 0x44]
movzx ecx, word [r9 + 0x12]
cmp dword [r9 + 0x1c], edx
jne 0x1800d2d4c
test qword [r9 + 0x28], r8
jne 0x1800d2d4c
movzx eax, word [r9 + 0x14]
test eax, 0xfffff7ff
je 0x1800d2d4c
test cl, cl
js 0x1800d2d4c
test byte [r11 + 0x3c], 0x58
je 0x1800d2d40
mov rax, qword [r9]
test byte [rax + 4], 3
je 0x1800d2d4c
cmp dword [rax + 0x34], edx
jne 0x1800d2d4c
test byte [r11 + 0x3c], 0x18
je 0x1800d2d40
test byte [rax + 4], 2
jne 0x1800d2d4c
add r13d, ebp
or cx, 0x40
mov word [r9 + 0x12], cx
add r10d, ebp
add r9, 0x38
cmp r10d, dword [r12 + 0x14]
jl 0x1800d2cef
mov dword [rsp + 0x24], r13d
xor ecx, ecx
mov r15d, ecx
mov dword [rsp + 0x30], ecx
test r14, r14
je 0x1800d2e94
movsxd rbp, dword [r14]
mov r12d, ecx
mov r13, rcx
mov r14, rbp
test ebp, ebp
jle 0x1800d2e60
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x48]
add rsi, 0x18
xor ebp, ebp
lea eax, [rbp + 1]
mov rbx, qword [rsi - 0x10]
xor r8d, r8d
mov edx, eax
mov rcx, rbx
call fcn.180098de8
test eax, eax
jne 0x1800d2e31
test byte [rsi], 2
jne 0x1800d2e49
cmp byte [rbx], 0xa7
jne 0x1800d2dcb
mov eax, dword [rdi + 0x44]
cmp dword [rbx + 0x2c], eax
je 0x1800d2e31
cmp byte [rbx], 0x71
jne 0x1800d2e49
mov rcx, qword [rbx + 0x10]
cmp byte [rcx], 0xa7
jne 0x1800d2e49
mov eax, dword [rdi + 0x44]
cmp dword [rcx + 0x2c], eax
jne 0x1800d2e49
movzx eax, word [rcx + 0x30]
mov word [rbx + 0x30], ax
cmp word [rcx + 0x30], bp
jl 0x1800d2e31
movsx rax, word [rcx + 0x30]
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 8]
lea rcx, [rax + rcx*8]
call fcn.1800a4758
mov rcx, qword [rbx + 8]
lea rdx, [0x1801032d4]
test rax, rax
cmovne rdx, rax
test rcx, rcx
jne 0x1800d2e23
neg rdx
sbb eax, eax
jmp 0x1800d2e2d
test rdx, rdx
je 0x1800d2e49
call fcn.1800694f8
test eax, eax
jne 0x1800d2e49
mov eax, 1
add rsi, 0x20
add r13, rax
add r12d, eax
cmp r13, r14
jl 0x1800d2da0
mov r15d, dword [rsp + 0x30]
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x90]
mov edi, ebp
mov ebp, r14d
mov r14, qword [rsp + 0x38]
cmp r12d, ebp
mov r12, qword [rsp + 0x98]
jne 0x1800d2e94
movzx eax, word [rsi + 0x3c]
mov r15d, ebp
test al, al
jns 0x1800d2e8a
mov edi, eax
shr edi, 9
and edi, 1
add edi, 2
jmp 0x1800d2e94
test al, 0x40
mov eax, 1
cmovne edi, eax
movsxd rsi, dword [rsp + 0x24]
mov rcx, qword [rbx]
movsxd r13, r15d
mov rax, rsi
imul rax, rax, 0x1c
lea rdx, [rax + r13*8 + 0x88]
call fcn.180067fc4
xor ecx, ecx
mov rbx, rax
test rax, rax
jne 0x1800d2ed5
mov rcx, qword [rsp + 0x40]
lea rdx, str.out_of_memory
call fcn.180069390
xor eax, eax
jmp 0x1800d3058
lea r8, [rax + rsi*8 + 0x80]
lea rax, [rsi + rsi*2]
mov r10d, ecx
mov qword [rbx + 8], r8
lea rbp, [r8 + rax*4]
mov r11d, ecx
mov qword [rbx + 0x18], rbp
lea rax, [rbp + r13*8]
movzx r15d, cx
mov qword [rbx + 0x20], rax
mov rax, qword [rsp + 0x40]
mov qword [rbx + 0x60], r12
mov dword [rbx + 0x70], edi
mov dword [rbx + 0x74], ecx
mov qword [rbx + 0x68], rax
mov r9, qword [r12 + 0x20]
cmp dword [r12 + 0x14], ecx
jle 0x1800d2ffb
mov esi, 0x10
add r8, 4
lea edi, [rsi - 0xf]
test byte [r9 + 0x12], 0x40
je 0x1800d2fe7
mov eax, dword [r9 + 0x20]
mov dword [r8 + 4], r11d
mov dword [r8 - 4], eax
movzx edx, word [r9 + 0x14]
mov eax, 0x3fff
and dx, ax
cmp dx, di
jne 0x1800d2f7c
mov eax, 0x8000
test word [r9 + 0x12], ax
jne 0x1800d2f77
xor eax, eax
mov ecx, r10d
mov edx, edi
shl edx, cl
cmp r10d, 0x1f
cmovle eax, edx
or dword [rbx + 0x74], eax
mov edx, 2
cmp dx, 0x40
jne 0x1800d2f88
mov al, byte [r9 + 0x17]
jmp 0x1800d2f9f
mov eax, 0x180
test ax, dx
je 0x1800d2fa4
mov eax, 0x100
cmp dx, ax
setne al
add al, 0x47
mov byte [r8], al
jmp 0x1800d2fe0
mov byte [r8], dl
test dl, 0x3c
je 0x1800d2fe0
mov rcx, qword [r9]
mov rcx, qword [rcx + 0x18]
call fcn.180096f34
cmp eax, edi
jle 0x1800d2fe0
cmp r10d, esi
jge 0x1800d2fcd
mov eax, edi
mov ecx, r10d
shl ax, cl
or r15w, ax
cmp dx, si
jne 0x1800d2fd6
mov byte [r8], 8
cmp dx, 4
jne 0x1800d2fe0
mov byte [r8], 0x20
add r10d, edi
add r8, 0xc
add r11d, edi
add r9, 0x38
cmp r11d, dword [r12 + 0x14]
jl 0x1800d2f2f
xor ecx, ecx
mov dword [rbx], r10d
mov esi, ecx
test r13, r13
jle 0x1800d3046
lea rdi, [r14 + 0x18]
mov r14d, 1
mov r12, qword [rdi - 0x10]
xor r8d, r8d
mov edx, r14d
mov rcx, r12
call fcn.180098de8
test eax, eax
jne 0x1800d303d
movsx eax, word [r12 + 0x30]
add esi, r14d
mov dword [rbp], eax
mov al, byte [rdi]
and al, r14b
add rbp, 8
mov byte [rbp - 4], al
add rdi, 0x20
sub r13, r14
jne 0x1800d300f
mov rax, qword [rsp + 0xb0]
mov dword [rbx + 0x10], esi
mov word [rax], r15w
mov rax, rbx
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret