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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
xor r12d, r12d
xor r14d, r14d
xor esi, esi
mov r15, qword [rcx + 0x10]
mov qword [rsp + 0xe8], rdx
mov rbx, rcx
mov edx, 0xf
mov rcx, r15
mov r13, r8
mov qword [rsp + 0xf8], r9
call fcn.1401f1f40
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x74], eax
mov rax, qword [r13 + 0x20]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0xe8]
mov rdi, qword [rax + 0x20]
movsxd rax, dword [rax + 0x14]
imul rax, rax, 0x38
add rax, rdi
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x100]
mov rbp, qword [rax + 0x60]
cmp rdi, qword [rsp + 0x60]
jae 0x14017aa0c
test byte [rdi + 0x12], 2
jne 0x14017a960
mov r9, qword [rdi]
mov rdx, r13
mov rcx, r9
mov qword [rsp + 0x58], r9
call fcn.1401cbc40
mov r9, qword [rsp + 0x58]
test eax, eax
je 0x14017a960
mov rcx, qword [rbx]
mov rdx, r9
xor r8d, r8d
call fcn.1401cb290
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
mov r8, rax
call fcn.1401c8930
mov qword [rsp + 0x48], rax
mov r8, qword [rsp + 0xf8]
mov rdx, r13
mov rcx, rdi
call fcn.14020f170
test eax, eax
je 0x14017aa03
mov eax, 1
movsxd rcx, dword [rdi + 0x20]
shl rax, 0x3f
mov qword [rsp + 0x58], rax
cmp ecx, 0x3f
jg 0x14017a99f
mov eax, 1
shl rax, cl
mov qword [rsp + 0x58], rax
test r12b, r12b
jne 0x14017a9c8
mov rax, qword [rsp + 0x50]
imul rcx, rcx, 0x18
lea rdx, str.automatic_index_on__s__s_
add rcx, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [rcx]
mov ecx, 0x11c
call fcn.140207610
mov r12b, 1
test qword [rsp + 0x58], r14
jne 0x14017aa03
mov rcx, qword [rbx]
lea r8d, [rsi + 1]
mov rdx, rbp
mov dword [rsp + 0x68], r8d
call fcn.140218b10
test eax, eax
jne 0x14017ae6d
mov rax, qword [rbp + 0x48]
mov r8d, dword [rsp + 0x68]
or r14, qword [rsp + 0x58]
mov qword [rax + rsi*8], rdi
movsxd rsi, r8d
add rdi, 0x38
jmp 0x14017a910
mov rax, qword [rsp + 0x50]
mov r8, qword [r13 + 0x50]
not r14
mov word [rbp + 0x3c], si
bts r14, 0x3f
mov edx, 0x3f
mov word [rbp + 0x18], si
movsx eax, word [rax + 0x36]
and r14, r8
mov dword [rbp + 0x38], 0x4241
mov qword [rsp + 0x68], r14
cmp ax, 0x3f
cmovle edx, eax
xor ecx, ecx
movsx edi, dx
mov dword [rsp + 0x70], edi
cmp ecx, dword [rsp + 0x70]
jge 0x14017aa64
mov rdx, qword [rsp + 0x68]
shr rdx, cl
inc ecx
and edx, 1
add esi, edx
jmp 0x14017aa4d
test r8, r8
jns 0x14017aa6d
lea esi, [rsi + rax - 0x3f]
mov rcx, qword [rbx]
lea edx, [rsi + 1]
lea r9, [rsp + 0x88]
xor r8d, r8d
movsx edx, dx
call fcn.1401be4e0
mov r12, rax
test rax, rax
je 0x14017ae6d
mov qword [rbp + 0x20], rax
lea rax, str.auto_index
xor edi, edi
mov qword [r12], rax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x58], 0
mov qword [r12 + 0x18], rax
mov rax, qword [rsp + 0xe8]
mov r14, qword [rax + 0x20]
cmp r14, qword [rsp + 0x60]
jae 0x14017ab4f
mov r8, qword [rsp + 0xf8]
mov rdx, r13
mov rcx, r14
call fcn.14020f170
test eax, eax
je 0x14017ab46
mov ecx, dword [r14 + 0x20]
mov eax, 1
shl rax, 0x3f
cmp ecx, 0x3f
jg 0x14017aafe
mov eax, 1
shl rax, cl
test qword [rsp + 0x58], rax
jne 0x14017ab46
or qword [rsp + 0x58], rax
mov rax, qword [r12 + 8]
movsxd r8, edi
mov rdx, qword [r14]
mov qword [rsp + 0x78], r8
mov word [rax + r8*2], cx
mov rcx, rbx
call fcn.1401cb080
mov r8, qword [rsp + 0x78]
lea rdx, str.BINARY
test rax, rax
je 0x14017ab3b
mov rdx, qword [rax]
mov rax, qword [r12 + 0x40]
inc edi
mov qword [rax + r8*8], rdx
add r14, 0x38
jmp 0x14017aac2
mov r9, qword [r12 + 8]
mov r8, qword [r12 + 0x40]
xor ecx, ecx
lea rdx, str.BINARY
cmp ecx, dword [rsp + 0x70]
jge 0x14017ab86
mov rax, qword [rsp + 0x68]
shr rax, cl
test al, 1
je 0x14017ab82
movsxd rax, edi
inc edi
mov word [r9 + rax*2], cx
mov qword [r8 + rax*8], rdx
inc ecx
jmp 0x14017ab62
cmp qword [r13 + 0x50], 0
jns 0x14017abbb
movsxd rax, edi
mov edx, 0x3f
lea r10, str.BINARY
mov rcx, qword [rsp + 0x50]
mov edi, eax
movsx ecx, word [rcx + 0x36]
cmp ecx, edx
jle 0x14017abbb
mov word [r9 + rax*2], dx
inc edx
mov qword [r8 + rax*8], r10
inc rax
jmp 0x14017ab9c
movsxd rax, edi
lea rdx, str.BINARY
mov rcx, r15
mov word [r9 + rax*2], 0xffff
lea r9d, [rsi + 1]
mov qword [r8 + rax*8], rdx
mov r8d, dword [rbx + 0x34]
mov edx, 0x74
lea eax, [r8 + 1]
mov dword [rbx + 0x34], eax
mov rax, qword [rsp + 0x100]
mov dword [rax + 8], r8d
call fcn.1401f1f80
mov rdx, r12
mov rcx, rbx
call fcn.1401fc760
mov rax, qword [rbx]
test byte [rax + 0x62], 8
jne 0x14017ac36
mov eax, dword [rbx + 0x38]
mov r8d, 0x2710
mov edx, 0x4d
mov rcx, r15
lea r9d, [rax + 1]
mov rax, qword [rsp + 0x100]
mov dword [rbx + 0x38], r9d
mov dword [rax + 0x34], r9d
call fcn.1401f1f80
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x100]
movzx r14d, byte [rax + 0x40]
mov rsi, r14
imul r14, r14, 0x68
add r14, qword [rsp + 0x58]
test byte [r14 + 0x48], 0x20
je 0x14017acb5
xor r9d, r9d
xor r8d, r8d
mov edx, 0x47
mov rcx, r15
mov r13d, dword [r14 + 0x3c]
call fcn.1401f1f80
xor r9d, r9d
mov edx, 0xb
mov rcx, r15
mov dword [rsp + 0x60], eax
mov eax, dword [r14 + 0x38]
mov r8d, r13d
mov dword [rsp + 0x20], eax
call fcn.1401f1fa0
mov r8d, r13d
mov edx, 0xc
mov rcx, r15
call fcn.1401f1f60
mov r13d, eax
jmp 0x14017acd9
mov rax, qword [rsp + 0x100]
mov edx, 0x24
mov rcx, r15
mov r8d, dword [rax + 4]
call fcn.1401f1f60
mov dword [rsp + 0x60], 0
mov r13d, eax
xor r14d, r14d
cmp qword [rsp + 0x48], 0
je 0x14017ad0c
mov eax, dword [rbx + 0x44]
mov rdx, qword [rsp + 0x48]
mov r9d, 0x10
mov rcx, rbx
lea r14d, [rax - 1]
mov dword [rbx + 0x44], r14d
mov r8d, r14d
call fcn.1401cb450
or dword [rbp + 0x38], 0x20000
mov rcx, rbx
mov rdx, r12
call fcn.1401d81a0
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x50], eax
mov r9d, eax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r8d, dword [rax + 4]
call fcn.1401d7870
mov r12d, eax
mov rax, qword [rsp + 0x100]
mov r8d, dword [rax + 0x34]
test r8d, r8d
je 0x14017ad82
movzx eax, word [rbp + 0x18]
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov rcx, r15
mov edx, 0xb4
mov dword [rsp + 0x28], eax
call fcn.1401f20b0
mov rax, qword [rsp + 0x100]
mov r9d, dword [rsp + 0x50]
mov edx, 0x8a
mov rcx, r15
mov r8d, dword [rax + 8]
call fcn.1401f1f80
mov edx, 0x10
mov rcx, r15
call fcn.1401f2380
cmp qword [rsp + 0x48], 0
je 0x14017adbd
mov edx, r14d
call fcn.1401fc520
imul rsi, rsi, 0x68
mov rbp, qword [rsp + 0x58]
mov rax, qword [rsp + 0x100]
mov r8d, dword [rax + 4]
add rbp, rsi
test byte [rbp + 0x48], 0x20
lea r14, [rbp + 0x30]
je 0x14017ae2c
mov edx, dword [rsp + 0x60]
mov rcx, r15
mov dword [rsp + 0x58], r8d
add r12d, edi
call fcn.1401fa040
mov r8d, dword [rsp + 0x58]
mov edx, r13d
mov rcx, rbx
mov dword [rax + 8], r12d
mov rax, qword [rsp + 0x100]
mov eax, dword [rax + 8]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp + 0x40]
call fcn.14020f620
mov edx, r13d
mov rcx, r15
call fcn.1401fa060
and byte [r14 + 0x18], 0xdf
jmp 0x14017ae4a
mov edx, 0x27
mov rcx, r15
lea r9d, [r13 + 1]
call fcn.1401f1f80
mov edx, 3
mov rcx, r15
call fcn.1401f2380
mov edx, r13d
mov rcx, r15
call fcn.1401faa70
mov edx, dword [rsp + 0x50]
mov rcx, rbx
call fcn.1401e8830
mov edx, dword [rsp + 0x74]
mov rcx, r15
call fcn.1401faa70
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rbx]
call fcn.1401cb1e0
nop
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret