Function at 0x1401904c8
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, 0x98
mov rsi, qword [rcx + 0x10]
xor eax, eax
mov rbp, r8
mov qword [rsp + 0x50], rax
mov rdi, rdx
mov dword [rsp + 0x5c], eax
mov rbx, rcx
mov dword [rsp + 0x60], eax
lea edx, [rax + 0xf]
mov qword [rsp + 0x88], rsi
xor r9d, r9d
mov dword [rsp + 0x20], eax
xor r8d, r8d
mov rcx, rsi
mov r15b, al
mov r13d, eax
call fcn.140204cb0
mov r8, qword [rsp + 0x100]
lea r10d, [r13 + 1]
mov r14, qword [rdi + 0x20]
xor r11d, r11d
mov rcx, qword [rbp + 0x20]
mov r12d, r11d
mov dword [rsp + 0x70], eax
mov r9d, r11d
mov rdx, qword [r8 + 0x60]
movabs r8, 0x8000000000000000
movsxd rax, dword [rdi + 0x14]
imul rax, rax, 0x38
mov dword [rsp + 0xe0], r11d
add rax, r14
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x48], r11
cmp r14, rax
jae 0x140190799
test byte [r14 + 0x12], 2
mov rdi, qword [r14]
jne 0x140190698
test byte [rbp + 0x3c], 0x40
jne 0x140190698
mov eax, dword [rdi + 4]
and eax, r10d
test byte [rbp + 0x3c], 8
je 0x1401905bf
test eax, eax
je 0x140190698
mov eax, dword [rbp + 0x44]
cmp dword [rdi + 0x34], eax
jmp 0x1401905c1
test eax, eax
jne 0x140190698
mov r8d, dword [rbp + 0x44]
mov edx, 3
mov rcx, rdi
call fcn.140195890
xor ecx, ecx
test eax, eax
je 0x140190698
test rdi, rdi
je 0x1401905fd
mov rcx, qword [rbx]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
call fcn.1401952b8
mov rdi, rax
jmp 0x140190600
mov rdi, rcx
mov rbp, qword [rbx]
test r13, r13
jne 0x140190612
mov r13, rdi
mov qword [rsp + 0x50], rdi
jmp 0x140190690
test rdi, rdi
je 0x140190690
mov eax, dword [r13 + 4]
mov ecx, 0x20000001
and eax, ecx
lea edx, [rcx - 1]
cmp eax, edx
je 0x140190632
mov eax, dword [rdi + 4]
and eax, ecx
cmp eax, edx
jne 0x140190675
cmp byte [rbx + 0x134], 2
jae 0x140190675
mov r8, r13
lea rdx, [0x1401e0fdc]
mov rcx, rbx
call fcn.1401f6de4
mov r8, rdi
lea rdx, [0x1401e0fdc]
mov rcx, rbx
call fcn.1401f6de4
lea r8, [0x14030c234]
mov edx, 0x9b
mov rcx, rbp
call fcn.1401de110
jmp 0x140190688
mov r9, rdi
mov r8, r13
mov edx, 0x2c
mov rcx, rbx
call fcn.1401f4bc0
mov qword [rsp + 0x50], rax
mov r13, rax
mov rbp, qword [rsp + 0xf0]
mov r8, qword [rsp + 0xf8]
mov rdx, rbp
mov rcx, r14
call fcn.140219f9c
xor r11d, r11d
test eax, eax
je 0x140190760
movsxd rcx, dword [r14 + 0x20]
lea edi, [r11 + 1]
shl rdi, cl
movabs rax, 0x8000000000000000
cmp ecx, 0x40
cmovge rdi, rax
test r15b, r15b
jne 0x140190705
mov rax, qword [rsp + 0x68]
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.140171360
xor r11d, r11d
mov r15d, 1
mov r9, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
test r9, rdi
jne 0x14019076a
mov rcx, qword [rbx]
lea ebp, [r12 + 1]
mov r8d, ebp
call fcn.140224c7c
xor r11d, r11d
test eax, eax
jne 0x140190d08
mov r9, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
or r9, rdi
movsxd rcx, r12d
mov r12d, ebp
mov dword [rsp + 0xe0], ebp
mov rbp, qword [rsp + 0xf0]
mov rax, qword [rdx + 0x48]
mov qword [rsp + 0x48], r9
mov qword [rax + rcx*8], r14
jmp 0x14019076a
mov r9, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
add r14, 0x38
mov r10d, 1
cmp r14, qword [rsp + 0x80]
jb 0x14019058b
mov rcx, qword [rsp + 0x68]
movabs r8, 0x8000000000000000
mov rdi, qword [rsp + 0xe8]
mov word [rdx + 0x3c], r12w
not r9
or r9, r8
mov word [rdx + 0x18], r12w
mov dword [rdx + 0x38], 0x4241
mov r14d, 0x3f
and r9, qword [rbp + 0x50]
mov edx, r11d
movsx r8d, word [rcx + 0x36]
mov qword [rsp + 0x48], r9
cmp r14w, r8w
jge 0x1401907d2
mov ebp, r14d
jmp 0x1401907e0
mov dword [rsp + 0x58], r8d
mov ebp, r8d
cmp r11w, r8w
jge 0x140190803
mov ecx, r12d
mov eax, edx
inc r12d
bt r9, rax
cmovae r12d, ecx
add edx, r10d
cmp edx, ebp
jl 0x1401907e0
mov dword [rsp + 0xe0], r12d
mov dword [rsp + 0x58], ebp
mov r15, qword [rsp + 0xf0]
cmp qword [r15 + 0x50], r11
jge 0x140190820
add r12d, 0xffffffc1
add r12d, r8d
mov dword [rsp + 0xe0], r12d
mov rcx, qword [rbx]
lea edx, [r10 + r12]
lea r9, [rsp + 0x78]
xor r8d, r8d
call fcn.1401d1f5c
xor r11d, r11d
mov r12, rax
test rax, rax
je 0x140190d08
mov rax, qword [rsp + 0x40]
mov r13d, r11d
mov r10, qword [rsp + 0x68]
mov qword [rax + 0x20], r12
lea rax, str.auto_index
mov qword [r12], rax
mov qword [r12 + 0x18], r10
mov rdi, qword [rdi + 0x20]
cmp rdi, qword [rsp + 0x80]
jae 0x140190958
mov rbp, qword [rsp + 0xf0]
mov r14d, r11d
mov r15d, r11d
mov esi, r11d
mov r8, qword [rsp + 0xf8]
mov rdx, rbp
mov rcx, rdi
call fcn.140219f9c
xor r11d, r11d
test eax, eax
je 0x140190927
mov ecx, dword [rdi + 0x20]
lea eax, [r11 + 1]
shl rax, cl
cmp ecx, 0x40
movabs rcx, 0x8000000000000000
cmovge rax, rcx
test rsi, rax
jne 0x140190927
mov rdx, qword [rdi]
or rsi, rax
mov rcx, qword [r12 + 8]
movzx eax, word [rdi + 0x20]
mov word [r15 + rcx], ax
test dword [rdx + 4], 0x400
je 0x1401908ec
mov rax, qword [rdx + 0x18]
mov r8, qword [rdx + 0x10]
jmp 0x1401908f4
mov rax, qword [rdx + 0x10]
mov r8, qword [rdx + 0x18]
mov rdx, rax
mov rcx, rbx
call fcn.1401d46b0
xor r11d, r11d
test rax, rax
je 0x14019090c
mov rcx, qword [rax]
jmp 0x140190913
lea rcx, [0x1403060fc]
mov rax, qword [r12 + 0x40]
inc r13d
add r15, 2
mov qword [r14 + rax], rcx
add r14, 8
add rdi, 0x38
cmp rdi, qword [rsp + 0x80]
jb 0x140190887
mov rsi, qword [rsp + 0x88]
mov r14d, 0x3f
mov ebp, dword [rsp + 0x58]
mov r15, qword [rsp + 0xf0]
mov r10, qword [rsp + 0x68]
lea rdi, [0x1403060fc]
mov ecx, r11d
test ebp, ebp
jle 0x1401909b3
mov r9, qword [rsp + 0x48]
mov esi, 1
movsxd rax, r13d
lea rdx, [rax*8]
lea r8, [rax + rax]
mov eax, ecx
bt r9, rax
jae 0x1401909a5
mov rax, qword [r12 + 8]
add r13d, esi
mov word [r8 + rax], cx
add r8, 2
mov rax, qword [r12 + 0x40]
mov qword [rdx + rax], rdi
add rdx, 8
add ecx, esi
cmp ecx, ebp
jl 0x14019097f
mov rsi, qword [rsp + 0x88]
cmp qword [r15 + 0x50], r11
jge 0x140190a07
cmp r14w, word [r10 + 0x36]
jge 0x140190a07
movsxd rax, r13d
mov esi, 1
lea rcx, [rax*8]
lea rdx, [rax + rax]
mov rax, qword [r12 + 8]
add r13d, esi
mov word [rdx + rax], r14w
add r14d, esi
mov rax, qword [r12 + 0x40]
lea rdx, [rdx + 2]
mov qword [rcx + rax], rdi
lea rcx, [rcx + 8]
movsx eax, word [r10 + 0x36]
cmp r14d, eax
jl 0x1401909d4
mov rsi, qword [rsp + 0x88]
mov rax, qword [r12 + 8]
mov r9d, dword [rsp + 0xe0]
movsxd rcx, r13d
mov dword [rsp + 0x20], r11d
or word [rax + rcx*2], 0xffff
mov rax, qword [r12 + 0x40]
mov qword [rax + rcx*8], rdi
mov rcx, rsi
mov eax, dword [rbx + 0x34]
mov rdi, qword [rsp + 0x100]
mov dword [rdi + 8], eax
mov eax, 1
add dword [rbx + 0x34], eax
mov r8d, dword [rdi + 8]
inc r9d
lea edx, [rax + 0x73]
call fcn.140204cb0
mov rdx, r12
mov rcx, rbx
call fcn.14020f888
mov rax, qword [rbx]
test dword [rax + 0x60], 0x80000
jne 0x140190a90
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, rsi
mov dword [rdi + 0x34], r9d
call fcn.140204cb0
movzx eax, byte [rdi + 0x40]
imul rbp, rax, 0x68
mov rax, qword [rsp + 0xe8]
mov rax, qword [rax]
mov r14, qword [rax + 8]
test byte [r14 + rbp + 0x48], 0x20
je 0x140190af1
mov edi, dword [r14 + rbp + 0x3c]
xor r9d, r9d
and dword [rsp + 0x20], 0
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x47]
call fcn.140204cb0
mov ecx, dword [r14 + rbp + 0x38]
xor r9d, r9d
mov dword [rsp + 0x20], ecx
mov r8d, edi
mov rcx, rsi
mov dword [rsp + 0x60], eax
lea edx, [r9 + 0xb]
call fcn.140204cb0
mov edx, 0xc
jmp 0x140190af9
mov edi, dword [rdi + 4]
mov edx, 0x24
and dword [rsp + 0x20], 0
xor r9d, r9d
mov r8d, edi
mov rcx, rsi
call fcn.140204cb0
mov r15d, eax
xor ecx, ecx
mov rax, qword [rsp + 0x50]
mov edx, 0x10
test rax, rax
je 0x140190b47
dec dword [rbx + 0x44]
mov r9d, edx
mov ecx, dword [rbx + 0x44]
mov rdx, rax
mov dword [rsp + 0x5c], ecx
mov r8d, ecx
mov rcx, rbx
call fcn.1401e1254
mov rax, qword [rsp + 0x40]
bts dword [rax + 0x38], 0x11
xor ecx, ecx
mov al, byte [rbx + 0x1f]
test al, al
jne 0x140190b5b
mov eax, 1
add dword [rbx + 0x38], eax
mov edi, dword [rbx + 0x38]
jmp 0x140190b6a
sub al, 1
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0xe4]
mov r8, qword [rsp + 0x100]
mov r9d, edi
mov dword [rsp + 0x38], ecx
mov rdx, r12
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rcx
mov r8d, dword [r8 + 4]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1401ef344
mov r12d, eax
mov rax, qword [rsp + 0x100]
mov r8d, dword [rax + 0x34]
test r8d, r8d
je 0x140190bd4
mov rax, qword [rsp + 0x40]
xor r9d, r9d
mov edx, 0xb4
movzx ecx, word [rax + 0x18]
mov dword [rsp + 0x28], ecx
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140204dc4
mov rax, qword [rsp + 0x100]
mov r8d, dword [rax + 8]
mov r9d, edi
and dword [rsp + 0x20], 0
mov edx, 0x8a
mov rcx, rsi
call fcn.140204cb0
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x140190c0a
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], 0x10
cmp qword [rsp + 0x50], 0
je 0x140190c1e
mov edx, dword [rsp + 0x5c]
mov rcx, rsi
call fcn.14020f610
test byte [r14 + rbp + 0x48], 0x20
je 0x140190c95
mov rax, qword [rsi]
cmp byte [rax + 0x67], 0
je 0x140190c38
lea rcx, [0x14036f6b8]
jmp 0x140190c4c
movsxd rax, dword [rsp + 0x60]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rcx, [rax + rcx*8]
lea eax, [r12 + r13]
mov edx, r15d
mov dword [rcx + 8], eax
mov rcx, qword [rsp + 0x100]
mov r9d, dword [r14 + rbp + 0x40]
mov eax, dword [rcx + 8]
mov r8d, dword [rcx + 4]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.14021a438
and dword [rsp + 0x20], 0
xor r8d, r8d
mov r9d, r15d
mov rcx, rsi
lea edx, [r8 + 9]
call fcn.140204cb0
and dword [r14 + rbp + 0x48], 0xffffffdf
jmp 0x140190cd4
mov rax, qword [rsp + 0x100]
lea r9d, [r15 + 1]
and dword [rsp + 0x20], 0
mov edx, 0x27
mov rcx, rsi
mov r8d, dword [rax + 4]
call fcn.140204cb0
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x140190cd4
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], 3
mov edx, r15d
mov rcx, rsi
call fcn.14020d394
test edi, edi
je 0x140190cfc
cmp byte [rbx + 0x1f], 8
jae 0x140190cfc
movzx eax, byte [rbx + 0x1f]
mov dword [rbx + rax*4 + 0xe4], edi
mov eax, 1
add byte [rbx + 0x1f], al
mov edx, dword [rsp + 0x70]
mov rcx, rsi
call fcn.14020d394
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140190d1d
mov rcx, qword [rbx]
mov rdx, rax
call fcn.1401e0ff0
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret