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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov rbx, rcx
mov rsi, rdx
xor ecx, ecx
mov rbp, r9
mov byte [rsp + 0xf0], cl
mov r12d, ecx
mov byte [rsp + 0x44], cl
xor r9d, r9d
mov rdi, qword [rbx + 0x10]
xor r8d, r8d
lea edx, [rcx + 0xf]
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x20], ecx
mov rcx, rdi
mov qword [rsp + 0x98], rdi
call fcn.140059768
mov r14, qword [rsi + 0x20]
lea r10d, [r12 + 1]
mov r9, qword [rbp + 0x60]
xor r15d, r15d
mov dword [rsp + 0x78], eax
xor r13d, r13d
mov rax, qword [rsi]
movabs r11, 0x8000000000000000
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x48], r9
mov rdx, qword [rax + 8]
movzx eax, byte [rbp + 0x40]
imul r8, rax, 0x68
movsxd rax, dword [rsi + 0x14]
imul rax, rax, 0x38
add r8, 8
mov qword [rsp + 0x70], rdx
add r8, rdx
add rax, r14
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x90], rax
mov rcx, qword [r8 + 0x20]
mov qword [rsp + 0x60], rcx
cmp r14, rax
jae 0x1400a8b43
test byte [r14 + 0x12], 2
mov rsi, qword [r14]
jne 0x1400a8a55
movzx r8d, byte [rbp + 0x40]
xor r9d, r9d
mov rcx, rsi
call fcn.14006d4a4
test eax, eax
je 0x1400a8a55
test rsi, rsi
je 0x1400a89a0
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
call fcn.14006c368
mov rsi, rax
mov rbp, qword [rbx]
test r12, r12
jne 0x1400a89b5
mov r12, rsi
mov qword [rsp + 0x50], rsi
jmp 0x1400a8a55
test rsi, rsi
jne 0x1400a89c4
mov qword [rsp + 0x50], r12
jmp 0x1400a8a55
mov eax, dword [rsi + 4]
or eax, dword [r12 + 4]
and eax, 0x20000003
cmp eax, 0x20000000
jne 0x1400a8a3a
cmp byte [rbx + 0x134], 2
jae 0x1400a8a3a
mov r8, r12
lea rdx, [fcn.14006c28c]
mov rcx, rbx
call fcn.140090478
mov r8, rsi
lea rdx, [fcn.14006c28c]
mov rcx, rbx
call fcn.140090478
lea rax, [0x14013f1f0]
xor r9d, r9d
mov qword [rsp + 0x80], rax
lea r8, [rsp + 0x80]
mov eax, 1
mov edx, 0x9b
mov rcx, rbp
mov dword [rsp + 0x88], eax
call fcn.14006b940
jmp 0x1400a8a4d
mov r9, rsi
mov r8, r12
mov edx, 0x2c
mov rcx, rbx
call fcn.14006bb30
mov qword [rsp + 0x50], rax
mov r12, rax
mov r8, qword [rsp + 0x100]
mov rcx, r14
mov rdx, qword [rsp + 0x68]
call fcn.1400a8810
test eax, eax
je 0x1400a8b05
movsxd rcx, dword [r14 + 0x20]
mov ebp, 1
mov esi, ebp
movabs rax, 0x8000000000000000
shl rsi, cl
cmp ecx, 0x40
cmovge rsi, rax
cmp byte [rsp + 0xf0], 0
jne 0x1400a8ac8
mov rax, qword [rsp + 0x60]
lea rcx, [rcx + rcx*2]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [r9 + rcx*8]
mov ecx, 0x11c
call fcn.14003c718
mov byte [rsp + 0xf0], bpl
test r13, rsi
jne 0x1400a8b05
mov rdx, qword [rsp + 0x48]
lea ebp, [r15 + 1]
mov rcx, qword [rbx]
mov r8d, ebp
call fcn.1400a99dc
test eax, eax
jne 0x1400a90c5
mov r9, qword [rsp + 0x48]
or r13, rsi
movsxd rcx, r15d
mov r15d, ebp
mov dword [rsp + 0x40], ebp
mov rax, qword [r9 + 0x48]
mov qword [rax + rcx*8], r14
jmp 0x1400a8b0a
mov r9, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x108]
add r14, 0x38
mov rdx, qword [rsp + 0x70]
cmp r14, qword [rsp + 0x90]
jb 0x1400a8961
mov r8, qword [rsp + 0x68]
mov r10d, 1
mov rcx, qword [rsp + 0x60]
movabs r11, 0x8000000000000000
mov word [r9 + 0x3c], r15w
not r13
mov word [r9 + 0x18], r15w
mov dword [r9 + 0x38], 0x4241
cmp byte [rcx + 0x3f], 2
mov qword [rsp + 0x70], r13
je 0x1400a8b6f
or r13, r11
and r13, qword [r8 + 0x50]
mov qword [rsp + 0x70], r13
mov ebp, 0x3f
xor edx, edx
cmp bp, word [rcx + 0x36]
jge 0x1400a8b80
mov esi, ebp
jmp 0x1400a8b8f
movsx esi, word [rcx + 0x36]
mov dword [rsp + 0xf0], esi
test esi, esi
jle 0x1400a8bb7
mov ecx, r15d
mov eax, edx
inc r15d
bt r13, rax
cmovae r15d, ecx
add edx, r10d
cmp edx, esi
jl 0x1400a8b8f
mov rcx, qword [rsp + 0x60]
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0xf0], esi
cmp qword [r8 + 0x50], 0
jge 0x1400a8bce
movsx eax, word [rcx + 0x36]
add r15d, 0xffffffc1
add r15d, eax
mov dword [rsp + 0x40], r15d
mov rcx, qword [rbx]
lea edx, [r10 + r15]
lea r9, [rsp + 0x80]
xor r8d, r8d
call fcn.14007d184
mov r14, rax
test rax, rax
je 0x1400a90c5
mov rax, qword [rsp + 0x48]
lea r11, [0x14013a258]
mov r15, qword [rsp + 0xf8]
xor r12d, r12d
mov r9, qword [rsp + 0x60]
and qword [rsp + 0x80], r12
mov qword [rax + 0x20], r14
lea rax, str.auto_index
mov qword [r14], rax
mov qword [r14 + 0x18], r9
mov r15, qword [r15 + 0x20]
cmp r15, qword [rsp + 0x90]
jae 0x1400a8d47
mov r13, qword [rsp + 0x68]
xor esi, esi
xor edi, edi
mov r8, qword [rsp + 0x100]
mov rdx, r13
mov rcx, r15
call fcn.1400a8810
test eax, eax
je 0x1400a8d10
mov ecx, dword [r15 + 0x20]
mov eax, 1
shl rax, cl
cmp ecx, 0x40
movabs rcx, 0x8000000000000000
cmovge rax, rcx
mov rcx, qword [rsp + 0x80]
test rcx, rax
jne 0x1400a8d10
mov rbp, qword [r15]
or rcx, rax
movzx eax, word [r15 + 0x20]
mov qword [rsp + 0x80], rcx
mov rcx, qword [r14 + 8]
mov word [rdi + rcx], ax
test dword [rbp + 4], 0x400
je 0x1400a8cb9
mov rdx, qword [rbp + 0x18]
mov r8, qword [rbp + 0x10]
jmp 0x1400a8cc1
mov rdx, qword [rbp + 0x10]
mov r8, qword [rbp + 0x18]
mov rcx, rbx
call fcn.14006b1a0
test rax, rax
je 0x1400a8cd3
mov rcx, qword [rax]
jmp 0x1400a8cda
lea rcx, [0x14013a258]
mov rax, qword [r14 + 0x40]
inc r12d
add rdi, 2
mov qword [rsi + rax], rcx
add rsi, 8
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x1400a8d10
call fcn.14006ac5c
mov ecx, dword [rsp + 0x44]
cmp al, 0x42
movzx ecx, cl
mov eax, 1
cmovne ecx, eax
mov dword [rsp + 0x44], ecx
add r15, 0x38
cmp r15, qword [rsp + 0x90]
jb 0x1400a8c42
mov rdi, qword [rsp + 0x98]
lea r11, [0x14013a258]
mov esi, dword [rsp + 0xf0]
mov ebp, 0x3f
mov r13, qword [rsp + 0x70]
mov r9, qword [rsp + 0x60]
xor ecx, ecx
lea r10d, [rcx + 1]
test esi, esi
jle 0x1400a8d8b
movsxd rax, r12d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r13, rax
jae 0x1400a8d84
mov rax, qword [r14 + 8]
add r12d, r10d
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r14 + 0x40]
mov qword [rdx + rax], r11
add rdx, 8
add ecx, r10d
cmp ecx, esi
jl 0x1400a8d60
mov r13, qword [rsp + 0x68]
cmp qword [r13 + 0x50], 0
jge 0x1400a8dd4
cmp bp, word [r9 + 0x36]
jge 0x1400a8dd4
movsxd rax, r12d
lea rcx, [rax*8]
lea rdx, [rax + rax]
mov rax, qword [r14 + 8]
add r12d, r10d
mov word [rdx + rax], bp
add ebp, r10d
mov rax, qword [r14 + 0x40]
lea rdx, [rdx + 2]
mov qword [rcx + rax], r11
lea rcx, [rcx + 8]
movsx eax, word [r9 + 0x36]
cmp ebp, eax
jl 0x1400a8dad
mov rax, qword [r14 + 8]
mov edx, 0x74
mov rsi, qword [rsp + 0x108]
mov r9d, dword [rsp + 0x40]
and dword [rsp + 0x20], 0
movsxd rcx, r12d
or word [rax + rcx*2], 0xffff
mov rax, qword [r14 + 0x40]
mov qword [rax + rcx*8], r11
mov rcx, rdi
mov eax, dword [rbx + 0x34]
mov dword [rsi + 8], eax
add dword [rbx + 0x34], r10d
mov r8d, dword [rsi + 8]
inc r9d
call fcn.140059768
mov rdx, r14
mov rcx, rbx
call fcn.14005a39c
mov rax, qword [rbx]
test dword [rax + 0x60], 0x80000
jne 0x1400a8e73
cmp byte [rsp + 0x44], 0
je 0x1400a8e73
mov rax, qword [rsp + 0xf8]
mov r8, rsi
mov rcx, rbx
mov rdx, qword [rax]
call fcn.1400a23b0
mov r9d, dword [rbx + 0x38]
mov edx, 0x4d
and dword [rsp + 0x20], 0
inc r9d
mov dword [rbx + 0x38], r9d
mov r8d, 0x2710
mov rcx, rdi
mov dword [rsi + 0x34], r9d
call fcn.140059768
test byte [r13 + 0x40], 0x20
je 0x1400a8eba
mov esi, dword [r13 + 0x34]
xor r9d, r9d
and dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x47]
call fcn.140059768
mov ecx, dword [r13 + 0x30]
xor r9d, r9d
mov dword [rsp + 0x20], ecx
mov r8d, esi
mov rcx, rdi
mov dword [rsp + 0x5c], eax
lea edx, [r9 + 0xb]
call fcn.140059768
mov edx, 0xc
jmp 0x1400a8ec2
mov esi, dword [rsi + 4]
mov edx, 0x24
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, esi
mov rcx, rdi
call fcn.140059768
mov r15, qword [rsp + 0x50]
mov ebp, eax
mov ecx, 0x10
test r15, r15
je 0x1400a8f0b
dec dword [rbx + 0x44]
mov r9d, ecx
mov eax, dword [rbx + 0x44]
mov rdx, r15
mov r8d, eax
mov dword [rsp + 0x58], eax
mov rcx, rbx
call fcn.1400714ac
mov rax, qword [rsp + 0x48]
bts dword [rax + 0x38], 0x11
mov al, byte [rbx + 0x1f]
test al, al
jne 0x1400a8f1f
mov eax, 1
add dword [rbx + 0x38], eax
mov esi, dword [rbx + 0x38]
jmp 0x1400a8f2e
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov esi, dword [rbx + rax*4 + 0xe8]
and dword [rsp + 0x38], 0
mov r9d, esi
mov r8, qword [rsp + 0x108]
mov rdx, r14
and qword [rsp + 0x30], 0
mov rcx, rbx
and qword [rsp + 0x28], 0
and dword [rsp + 0x20], 0
mov r8d, dword [r8 + 4]
call fcn.140081490
mov r14d, eax
mov rax, qword [rsp + 0x108]
mov r8d, dword [rax + 0x34]
test r8d, r8d
je 0x1400a8f9c
mov rax, qword [rsp + 0x48]
xor r9d, r9d
mov edx, 0xb7
movzx ecx, word [rax + 0x18]
mov dword [rsp + 0x28], ecx
mov rcx, rdi
mov dword [rsp + 0x20], r14d
call fcn.1400597e4
mov rax, qword [rsp + 0x108]
mov r8d, dword [rax + 8]
mov r9d, esi
and dword [rsp + 0x20], 0
mov edx, 0x8a
mov rcx, rdi
call fcn.140059768
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1400a8fd2
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
test r15, r15
je 0x1400a8fe3
mov edx, dword [rsp + 0x58]
mov rcx, rdi
call fcn.140059d80
test byte [r13 + 0x40], 0x20
je 0x1400a9056
mov rax, qword [rdi]
cmp byte [rax + 0x67], 0
je 0x1400a8ffc
lea rcx, [0x140161ef0]
jmp 0x1400a9010
movsxd rax, dword [rsp + 0x5c]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r14 + r12]
mov edx, ebp
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x108]
mov r9d, dword [r13 + 0x38]
mov eax, dword [rcx + 8]
mov r8d, dword [rcx + 4]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400a875c
and dword [rsp + 0x20], 0
xor r8d, r8d
mov r9d, ebp
mov rcx, rdi
lea edx, [r8 + 9]
call fcn.140059768
and dword [r13 + 0x40], 0xffffffdf
jmp 0x1400a9095
mov rax, qword [rsp + 0x108]
lea r9d, [rbp + 1]
and dword [rsp + 0x20], 0
mov edx, 0x27
mov rcx, rdi
mov r8d, dword [rax + 4]
call fcn.140059768
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x1400a9095
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
mov word [rax + rcx*8 - 0x16], 3
mov edx, ebp
mov rcx, rdi
call fcn.140059fb4
test esi, esi
je 0x1400a90b7
cmp byte [rbx + 0x1f], 8
jae 0x1400a90b7
movzx eax, byte [rbx + 0x1f]
mov dword [rbx + rax*4 + 0xe8], esi
inc byte [rbx + 0x1f]
mov edx, dword [rsp + 0x78]
mov rcx, rdi
call fcn.140059fb4
jmp 0x1400a90ca
mov r15, qword [rsp + 0x50]
test r15, r15
je 0x1400a90da
mov rcx, qword [rbx]
mov rdx, r15
call fcn.14006c198
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret