Function at 0x14012c610
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 [0x1402345c0]
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 0x14012c6ea
lea rcx, [fcn.140112150]
mov edx, 0x240
mov qword [rax + 0x1070], rcx
lea r8, [rsp + 0x20]
mov rcx, rsi
call fcn.1401107a0
mov rcx, qword [rdi + 0x70]
mov qword [rcx + 0x1068], rax
cmp dword [rsp + 0x20], ebx
je 0x14012c692
lea eax, [rbx + 0x40]
jmp 0x14012c87c
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, [0x14012c3e0]
mov qword [rbx + 0x68], rax
lea rax, [0x14012c340]
mov qword [rbx + 0x70], rax
lea rax, [0x14012c1d0]
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 0x14012c77b
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 0x14012c78a
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 0x14012c7b1
cmp byte [rcx + 0x3c], 0
jne 0x14012c7b1
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 0x14012c83c
test esi, esi
jle 0x14012c835
test ebp, ebp
jle 0x14012c835
cmp edx, 0x7fff
jg 0x14012c82e
shl edx, 0x10
mov ecx, 0x7d00000
call fcn.14010a7d0
cmp esi, eax
jg 0x14012c82e
cmp ebp, eax
jle 0x14012c83c
mov eax, 0xa4
jmp 0x14012c87c
mov eax, 0x24
jmp 0x14012c87c
lea r9, [rsp + 0x24]
mov rcx, rbx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x28]
call fcn.14012d100
test eax, eax
je 0x14012c85e
mov eax, 3
jmp 0x14012c87c
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.1401b6160
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret