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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x70
mov rax, qword [0x1402f7e80]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x70]
mov rsi, qword [rcx]
mov dword [rsp + 0x20], 0
mov rbx, qword [rax + 0x1068]
mov r14d, r8d
mov rbp, rdx
mov rdi, rcx
test rbx, rbx
jne 0x1401c03fa
lea rcx, [fcn.1400d8640]
lea r8, [rsp + 0x20]
mov edx, 0x240
mov qword [rax + 0x1070], rcx
mov rcx, rsi
call fcn.1401edfd0
mov rcx, qword [rdi + 0x70]
mov qword [rcx + 0x1068], rax
cmp dword [rsp + 0x20], ebx
je 0x1401c03a2
lea eax, [rbx + 0x40]
jmp 0x1401c059b
mov rax, qword [rdi + 0x70]
mov rbx, qword [rax + 0x1068]
xor eax, eax
mov qword [rbx], rsi
mov qword [rbx + 0x78], rax
mov qword [rbx + 0x88], rax
mov qword [rbx + 0xa0], rax
lea rax, [rbx + 8]
mov qword [rbx + 0x90], rsi
mov qword [rbx + 0x98], rax
lea rax, [0x1401c00f0]
mov qword [rbx + 0x68], rax
lea rax, [0x1401c0050]
mov qword [rbx + 0x70], rax
lea rax, [0x1401bfee0]
mov qword [rbx + 0x80], rax
mov qword [rbx + 0xa8], rdi
mov qword [rbx + 0xa0], rdi
mov rax, qword [rdi + 8]
mov rcx, qword [rax + 0x90]
mov r8, qword [rdi + 0x10]
xor eax, eax
movzx r9d, byte [r8 + 0xf8]
movzx r10d, byte [r8 + 0xf9]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], rax
lea rax, [r14 + rbp]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x38], rax
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rax
test r9b, r9b
je 0x1401c049a
mov eax, dword [r8 + 0xfc]
add eax, 0x20
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov esi, eax
mov dword [rsp + 0x48], eax
mov eax, dword [r8 + 0x100]
add eax, 0x20
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov ebp, eax
mov dword [rsp + 0x54], eax
jmp 0x1401c04a9
mov esi, 0x400
mov dword [rsp + 0x48], esi
mov ebp, esi
mov dword [rsp + 0x54], esi
mov dword [rbx + 0xc], 0
mov eax, dword [rbx + 0xc]
test r9b, r9b
mov edx, 1
cmovne eax, edx
mov dword [rbx + 0xc], eax
test r10b, r10b
je 0x1401c04d0
cmp byte [rcx + 0x3c], 0
jne 0x1401c04d0
or dword [rbx + 0xc], 2
mov eax, dword [rcx + 0x40]
mov dword [rbx + 0xbc], eax
mov eax, dword [rcx + 0x44]
mov dword [rbx + 0xc0], eax
mov eax, dword [rcx + 0x48]
mov dword [rbx + 0xc4], eax
mov eax, dword [rcx + 0x4c]
mov dword [rbx + 0xc8], eax
mov eax, dword [rcx + 0x50]
mov dword [rbx + 0xcc], eax
mov eax, dword [rcx + 0x54]
mov dword [rbx + 0xd0], eax
mov eax, dword [rcx + 0x58]
mov dword [rbx + 0xd4], eax
mov eax, dword [rcx + 0x5c]
mov dword [rbx + 0xd8], eax
mov rax, qword [rdi + 8]
movzx edx, word [rax + 0x68]
mov dword [rbx + 0x5c], edx
test r10b, r10b
je 0x1401c055b
test esi, esi
jle 0x1401c0554
test ebp, ebp
jle 0x1401c0554
cmp edx, 0x7fff
jg 0x1401c054d
shl edx, 0x10
mov ecx, 0x7d00000
call fcn.1401ec8c0
cmp esi, eax
jg 0x1401c054d
cmp ebp, eax
jle 0x1401c055b
mov eax, 0xa4
jmp 0x1401c059b
mov eax, 0x24
jmp 0x1401c059b
lea r9, [rsp + 0x24]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.1401c0e20
test eax, eax
je 0x1401c057d
mov eax, 3
jmp 0x1401c059b
mov eax, dword [rsp + 0x24]
add eax, 0x8000
shr eax, 0x10
movsx ecx, ax
mov rax, qword [rbx + 0xa0]
mov dword [rax + 0x4a8], ecx
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.140173d40
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret