Function at 0x140089e40
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 [0x1402a87c0]
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 0x140089f1a
lea rcx, [0x14006f980]
mov edx, 0x240
mov qword [rax + 0x1070], rcx
lea r8, [rsp + 0x20]
mov rcx, rsi
call fcn.14006dbc0
mov rcx, qword [rdi + 0x70]
mov qword [rcx + 0x1068], rax
cmp dword [rsp + 0x20], ebx
je 0x140089ec2
lea eax, [rbx + 0x40]
jmp 0x14008a0ac
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, [0x140089c10]
mov qword [rbx + 0x68], rax
lea rax, [0x140089b70]
mov qword [rbx + 0x70], rax
lea rax, [0x140089a00]
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 0x140089fab
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 0x140089fba
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 0x140089fe1
cmp byte [rcx + 0x3c], 0
jne 0x140089fe1
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 0x14008a06c
test esi, esi
jle 0x14008a065
test ebp, ebp
jle 0x14008a065
cmp edx, 0x7fff
jg 0x14008a05e
shl edx, 0x10
mov ecx, 0x7d00000
call fcn.140066d40
cmp esi, eax
jg 0x14008a05e
cmp ebp, eax
jle 0x14008a06c
mov eax, 0xa4
jmp 0x14008a0ac
mov eax, 0x24
jmp 0x14008a0ac
lea r9, [rsp + 0x24]
mov rcx, rbx
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x28]
call fcn.14008a930
test eax, eax
je 0x14008a08e
mov eax, 3
jmp 0x14008a0ac
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.1400bae50
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret