Function at 0x14012ad10
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 [0x1402325c0]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [rcx + 0x70]
mov rbp, rdx
mov rsi, qword [rcx]
mov rdi, rcx
mov dword [rsp + 0x20], 0
mov r14d, r8d
mov rbx, qword [rax + 0x1068]
test rbx, rbx
jne 0x14012adea
lea rcx, [fcn.140110850]
mov edx, 0x240
mov qword [rax + 0x1070], rcx
lea r8, [rsp + 0x20]
mov rcx, rsi
call fcn.14010eea0
mov rcx, qword [rdi + 0x70]
mov qword [rcx + 0x1068], rax
cmp dword [rsp + 0x20], ebx
je 0x14012ad92
lea eax, [rbx + 0x40]
jmp 0x14012af7c
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 + 0x98], rax
lea rax, [0x14012aae0]
mov qword [rbx + 0x68], rax
lea rax, [0x14012aa40]
mov qword [rbx + 0x70], rax
lea rax, [0x14012a8d0]
mov qword [rbx + 0x80], rax
mov qword [rbx + 0x90], rsi
mov qword [rbx + 0xa8], rdi
mov qword [rbx + 0xa0], rdi
mov rax, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x30], rbp
mov rcx, qword [rax + 0x90]
xor eax, eax
movzx r9d, byte [r8 + 0xf8]
movzx r10d, byte [r8 + 0xf9]
mov qword [rsp + 0x28], rax
lea rax, [r14 + 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 0x14012ae7b
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 0x14012ae8a
mov esi, 0x400
mov dword [rsp + 0x48], esi
mov ebp, esi
mov dword [rsp + 0x54], esi
mov dword [rbx + 0xc], 0
test r9b, r9b
mov eax, dword [rbx + 0xc]
mov edx, 1
cmovne eax, edx
mov dword [rbx + 0xc], eax
test r10b, r10b
je 0x14012aeb1
cmp byte [rcx + 0x3c], 0
jne 0x14012aeb1
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 0x14012af3c
test esi, esi
jle 0x14012af35
test ebp, ebp
jle 0x14012af35
cmp edx, 0x7fff
jg 0x14012af2e
shl edx, 0x10
mov ecx, 0x7d00000
call fcn.140108ed0
cmp esi, eax
jg 0x14012af2e
cmp ebp, eax
jle 0x14012af3c
mov eax, 0xa4
jmp 0x14012af7c
mov eax, 0x24
jmp 0x14012af7c
lea r9, [rsp + 0x24]
mov rcx, rbx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x28]
call fcn.14012b800
test eax, eax
je 0x14012af5e
mov eax, 3
jmp 0x14012af7c
mov eax, dword [rsp + 0x24]
add eax, 0x8000
shr eax, 0x10
movsx ecx, ax
mov rax, qword [rbx + 0xa0]
mov dword [rax + 0x328], ecx
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1401b4860
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret