Function at 0x1401f9730
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, 0x1b8
mov rax, qword [rcx]
mov qword [rsp + 0x210], r8
mov r12, rcx
mov r13, rdx
mov qword [rsp + 0x58], rax
call fcn.1401e81d0
mov qword [rsp + 0x50], rax
test r13, r13
jne 0x1401f9773
mov r14d, 1
jmp 0x1401fcb96
cmp dword [r12 + 0x30], 0
jne 0x1401f9768
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15
mov rcx, r12
mov qword [rsp + 0x20], 0
call fcn.1401cea70
test eax, eax
jne 0x1401f9768
mov rax, qword [rsp + 0x210]
cmp byte [rax], 6
ja 0x1401f97d8
mov r8, qword [r13 + 0x48]
test r8, r8
je 0x1401f97c8
lea rdx, [fcn.1401db7d0]
mov rcx, r12
call fcn.1401f3df0
mov qword [r13 + 0x48], 0
mov eax, dword [r13 + 4]
and eax, 0xfffffffe
or eax, 0x400000
mov dword [r13 + 4], eax
xor r8d, r8d
mov rdx, r13
mov rcx, r12
call fcn.1401fcfd0
mov eax, dword [r12 + 0x30]
mov dword [rsp + 0x78], eax
test eax, eax
jne 0x1401f9831
mov r11d, dword [r13 + 4]
bt r11d, 0x17
jae 0x1401f984a
mov rbx, qword [r13 + 0x28]
lea rcx, [rbx + 8]
mov rdx, rbx
call fcn.1401ca640
test eax, eax
je 0x1401f983f
mov r8, qword [rbx + 0x20]
test r8, r8
jne 0x1401f9822
mov rax, qword [rbx + 0x28]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r12
call fcn.1401d7cf0
mov qword [rsp + 0x60], 0
jmp 0x1401f9f2c
and r11d, 0xff7fffff
mov dword [r13 + 4], r11d
mov rax, qword [rsp + 0x210]
cmp byte [rax], 9
jne 0x1401f9862
mov rdx, r13
mov rcx, r12
call fcn.1401e5990
cmp qword [r13 + 0x70], 0
jne 0x1401f98a7
mov eax, dword [r13 + 4]
lea rdx, [rsp + 0x110]
mov ecx, 0xa
mov r15, qword [r13 + 0x28]
mov rdi, rdx
and eax, 8
setne bpl
mov dword [rsp + 0x70], eax
xor eax, eax
xor ebx, ebx
rep stosd dword [rdi], eax
mov rax, qword [r13 + 0x48]
movzx ebp, bpl
mov qword [rsp + 0x108], rax
jmp 0x1401f9da8
cmp qword [r13 + 0x50], 0
jne 0x1401f9869
mov esi, dword [r13 + 4]
and esi, 0x100000
jne 0x1401f9869
cmp byte [r12 + 0x134], 1
ja 0x1401f9869
mov rcx, r12
call fcn.1401e81d0
mov r14, qword [r12]
mov edx, 0x68
mov qword [rsp + 0x138], 0
mov r15, qword [r13 + 0x28]
mov rbx, qword [r13 + 0x70]
mov qword [rsp + 0x60], rax
mov rax, qword [r13 + 0x30]
mov rcx, r14
mov qword [rsp + 0x68], rax
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x70], rax
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x80], rax
mov eax, dword [r13 + 4]
mov dword [rsp + 0x88], eax
call fcn.1401d5730
mov rbp, rax
test rax, rax
jne 0x1401f993c
mov edx, 7
mov rcx, r14
call fcn.1401d7d90
mov ebx, eax
jmp 0x1401f9d6e
lea rdx, [rsp + 0x180]
mov eax, esi
mov ecx, 6
mov rdi, rdx
lea r8, [rsp + 0x168]
mov rdx, r13
rep stosd dword [rdi], eax
lea rax, [0x1401813b0]
mov rcx, r8
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x170], rax
lea rax, [0x1401fd0f0]
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x178], rax
call fcn.14020d7a0
test byte [r13 + 4], 8
mov r8, qword [rsp + 0x90]
jne 0x1401f99c7
mov rdx, qword [r13 + 0x48]
mov rcx, r8
lea rax, [0x14018bf80]
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x170], rax
call fcn.14020d750
mov eax, dword [r13 + 4]
mov qword [r13 + 0x28], 0
mov r9d, 1
xor edx, edx
mov qword [r13 + 0x30], 0
mov r8, qword [rbx + 0x10]
mov rcx, r12
and eax, 0xfffffff7
mov qword [r13 + 0x38], 0
or eax, 0x100000
mov qword [r13 + 0x40], 0
mov dword [r13 + 4], eax
call fcn.14018e5a0
mov r8, qword [rbx + 0x18]
mov r9d, 1
mov rcx, r12
mov rdx, rax
call fcn.14018e5a0
mov rsi, rax
test rax, rax
je 0x1401f9a61
mov rdx, qword [r13 + 0x48]
test rdx, rdx
je 0x1401f9a61
mov eax, dword [rdx]
mov edi, dword [rsi]
cmp eax, edi
jg 0x1401f9a61
mov dword [rsi], eax
or r8d, 0xffffffff
mov rcx, rsi
call fcn.1401db750
test eax, eax
jne 0x1401f9a5f
mov rdx, qword [r13 + 0x48]
mov rcx, r14
call fcn.1401db7d0
mov qword [r13 + 0x48], 0
mov dword [rsi], edi
mov eax, dword [r12 + 0x34]
mov r9, qword [r13 + 0x20]
mov r8, r15
mov rdx, rbx
lea rdi, [rsp + 0x138]
mov rcx, r12
mov dword [rbx + 0x58], eax
add eax, 4
mov dword [r12 + 0x34], eax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rbp
call fcn.1401cc890
mov qword [rsp + 0x28], rdi
mov rdx, rbx
mov r8, r15
mov qword [rsp + 0x20], rbp
mov r9, qword [r13 + 0x48]
mov rcx, r12
call fcn.1401cc890
mov rdx, qword [rsp + 0x138]
xor eax, eax
test rdx, rdx
je 0x1401f9ac2
mov eax, dword [rdx]
mov dword [rbx + 0x78], eax
mov r8, qword [rbx + 0x10]
xor r9d, r9d
mov rcx, r12
mov rdi, rbx
call fcn.14018e5a0
xor r9d, r9d
mov rcx, r12
mov qword [rsp + 0x138], rax
mov r8, qword [rbx + 0x18]
mov rdx, rax
call fcn.14018e5a0
mov qword [rsp + 0x138], rax
lea rax, [rsp + 0x138]
mov qword [rsp + 0x90], rax
mov rax, qword [rdi + 0x70]
mov r8, qword [rax + 0x20]
mov rax, qword [rdi + 0x50]
test byte [rax + 6], 0x10
je 0x1401f9b5b
mov qword [rsp + 0x20], rbp
mov r9, r8
mov rdx, rbx
mov r8, r15
mov rax, qword [rsp + 0x90]
mov rcx, r12
mov qword [rsp + 0x28], rax
call fcn.1401cc890
mov rdx, qword [rsp + 0x138]
xor eax, eax
test rdx, rdx
je 0x1401f9b4f
mov eax, dword [rdx]
mov dword [rdi + 0x7c], eax
mov byte [rdi + 0x8c], 1
jmp 0x1401f9b82
mov rdx, qword [rsp + 0x138]
xor eax, eax
test rdx, rdx
je 0x1401f9b6c
mov eax, dword [rdx]
mov dword [rdi + 0x7c], eax
xor r9d, r9d
mov rcx, r12
call fcn.14018e5a0
mov qword [rsp + 0x138], rax
mov rdx, qword [rdi + 0x48]
test rdx, rdx
je 0x1401f9bb1
xor r8d, r8d
mov rcx, r14
call fcn.1401daad0
mov rdx, qword [rsp + 0x138]
mov rcx, r12
mov r8, rax
call fcn.1401db4e0
mov qword [rsp + 0x138], rax
mov eax, dword [r12 + 0x38]
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov edx, 0x4b
lea r9d, [rax + 1]
add eax, 2
mov dword [rdi + 0x5c], r9d
mov dword [r12 + 0x38], eax
mov dword [rdi + 0x60], eax
call fcn.1402017c0
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1401f9b09
cmp qword [rsp + 0x138], 0
jne 0x1401f9c1b
lea r8, [0x1402ce57e]
mov edx, 0x9b
mov rcx, r14
call fcn.1401d7e70
mov rcx, qword [r12]
mov rdx, rax
call fcn.1401db530
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x30], rsi
mov r9, qword [rsp + 0x68]
mov r8, r15
mov rcx, r12
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov rdx, qword [rsp + 0x138]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
call fcn.1401fcdf0
xor edx, edx
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov r15, rax
call fcn.1401fd2f0
mov qword [r13 + 0x28], rax
mov rdx, rax
test rax, rax
je 0x1401f9d42
or byte [rax + 0x48], 8
mov rcx, r12
mov ebx, 7
mov r8d, 0x40
mov qword [rax + 0x30], r15
call fcn.1401fd5f0
or dword [r15 + 4], 0x8000040
mov rdx, r15
mov rcx, r12
call fcn.1401f8660
mov r8, rax
mov eax, dword [rsp + 0x88]
and eax, 8
or dword [r15 + 4], eax
test r8, r8
je 0x1401f9d4f
mov rsi, r8
mov rdi, rbp
mov ecx, 0x1a
mov rdx, r15
rep movsd dword [rdi], dword [rsi]
lea r9, [rsp + 0x168]
mov ecx, 0xc
mov qword [rsp + 0x60], r8
mov rdi, r9
mov rax, qword [r13 + 0x28]
or dword [rbp + 0x30], 0x4000
mov qword [rax + 0x28], rbp
xor eax, eax
rep stosd dword [rdi], eax
lea rax, [0x140212120]
mov rcx, r9
mov qword [rsp + 0x170], rax
lea rax, [0x14020d940]
mov qword [rsp + 0x178], rax
lea rax, [0x14020d930]
mov qword [rsp + 0x180], rax
call fcn.14020d7a0
mov r8, qword [rsp + 0x60]
mov rbp, r8
jmp 0x1401f9d4d
mov rdx, r15
mov rcx, r14
call fcn.1401fcbb0
xor ebx, ebx
cmp byte [r14 + 0x67], 0
mov eax, 7
mov r8, rbp
mov rcx, r12
lea rdx, [fcn.1401d5550]
cmovne ebx, eax
call fcn.1401f3df0
test ebx, ebx
jne 0x1401f9831
jmp 0x1401f9869
cmp dword [r15], ebx
jle 0x1401fa2ca
movsxd r14, ebx
imul r14, r14, 0x68
add r14, r15
mov al, byte [r14 + 0x44]
mov rdi, qword [r14 + 0x30]
mov rsi, qword [r14 + 0x28]
and eax, 0x18
cmp al, 8
je 0x1401f9dbb
test rdi, rdi
jne 0x1401f9df3
inc ebx
mov rax, qword [r13 + 0x50]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1401f9d7b
jmp 0x1401fa2a7
mov rcx, qword [r13 + 0x30]
mov edx, dword [r14 + 0x4c]
call fcn.1401db380
test eax, eax
je 0x1401f9da1
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 0x20
jne 0x1401f9da1
and byte [r14 + 0x44], 0xd7
mov r8b, byte [r15 + 0x44]
mov rcx, qword [r13 + 0x30]
mov edx, dword [r14 + 0x4c]
and r8d, 0x40
call fcn.14021fe80
jmp 0x1401f9da1
mov rax, qword [rdi + 0x20]
movsx r8d, word [rsi + 0x36]
mov eax, dword [rax]
cmp r8d, eax
je 0x1401f9e1e
mov dword [rsp + 0x20], eax
mov r9, qword [rsi]
lea rdx, str.expected__d_columns_for__s_but_got__d
mov rcx, r12
call fcn.1401d7cf0
jmp 0x1401f9f2c
mov eax, dword [rdi + 4]
test al, 8
jne 0x1401f9da6
mov r8, qword [rdi + 0x48]
test r8, r8
je 0x1401fcb3d
cmp qword [r13 + 0x48], 0
jne 0x1401f9e3f
cmp dword [r15], 1
jle 0x1401f9e7a
cmp qword [rdi + 0x60], 0
jne 0x1401f9e7a
bt eax, 0x1b
jb 0x1401f9e7a
test byte [r13 + 7], 8
jne 0x1401f9e7a
mov rax, qword [rsp + 0x58]
test byte [rax + 0x62], 4
jne 0x1401f9e7a
lea rdx, [fcn.1401db7d0]
mov rcx, r12
call fcn.1401f3df0
mov qword [rdi + 0x48], 0
jmp 0x1401fcb3d
test ebx, ebx
jne 0x1401fcb3d
test byte [r13 + 6], 4
je 0x1401fcb3d
cmp dword [r15], 1
je 0x1401f9da6
test byte [r15 + 0xac], 0x22
je 0x1401fcb3d
jmp 0x1401f9da6
cmp word [r13 + 2], 0x42
jle 0x1401f9eb9
mov word [r13 + 2], 0x42
mov rdx, qword [rsp + 0x108]
mov dword [rsp + 0x90], 0
test rdx, rdx
jne 0x1401fbb96
mov eax, dword [r12 + 0x44]
mov rcx, qword [rsp + 0x58]
mov edx, 0x38
dec eax
mov dword [r12 + 0x44], eax
mov dword [rsp + 0x80], eax
call fcn.1401d5730
mov r14, rax
test rax, rax
je 0x1401f9f11
mov r8, rax
lea rdx, [0x140181370]
mov rcx, r12
call fcn.1401f3df0
mov rax, qword [rsp + 0x58]
xor ebp, ebp
mov al, byte [rax + 0x67]
mov byte [rsp + 0x70], al
test al, al
je 0x1401fbbf7
mov qword [rsp + 0x60], rbp
mov r14d, 1
jmp 0x1401fa28b
cmp qword [rbp + 0x50], 0
je 0x1401fa417
mov rsi, qword [rbp + 0x28]
test rsi, rsi
jne 0x1401fa446
inc ebx
add rbp, 0x68
cmp dword [r15], ebx
jg 0x1401f9f37
mov rax, qword [r13 + 0x20]
mov rbx, qword [r13 + 0x38]
mov qword [rsp + 0x68], rax
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0xa8], rax
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0xb0], rax
mov eax, dword [r13 + 4]
mov byte [rsp + 0xfc], al
and eax, 9
and byte [rsp + 0xfc], 1
dec eax
je 0x1401fa896
mov rdx, qword [rsp + 0x108]
test rdx, rdx
je 0x1401fa8ef
mov rax, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, r12
mov r9d, dword [rax]
call fcn.1401eb500
mov r8d, dword [r12 + 0x34]
mov rcx, qword [rsp + 0x50]
mov r9, rax
lea eax, [r8 + 1]
mov dword [rsp + 0x114], r8d
mov dword [r12 + 0x34], eax
mov rax, qword [rsp + 0x108]
mov edx, dword [rax]
mov rax, qword [rsp + 0x68]
mov eax, dword [rax]
mov qword [rsp + 0x28], r9
mov dword [rsp + 0x30], 0xfffffff8
mov dword [rsp + 0x20], 0
lea r9d, [rdx + rax + 1]
mov edx, 0x76
call fcn.140201840
mov dword [rsp + 0x120], eax
mov rax, qword [rsp + 0x210]
cmp byte [rax], 0xc
je 0x1401fa8ff
mov eax, dword [r12 + 0x44]
dec eax
mov dword [rsp + 0xd8], eax
mov dword [r12 + 0x44], eax
test byte [r13 + 5], 0x40
jne 0x1401fa04d
mov word [r13 + 2], 0x140
cmp qword [r13 + 0x60], 0
je 0x1401fa067
mov r8d, dword [rsp + 0xd8]
mov rdx, r13
mov rcx, r12
call fcn.140189c50
cmp dword [r13 + 8], 0
je 0x1401fa9c2
test byte [r13 + 4], 1
je 0x1401fa9eb
mov eax, dword [r12 + 0x34]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
lea edx, [rax + 1]
mov dword [rsp + 0x100], eax
mov dword [r12 + 0x34], edx
mov rdx, qword [r13 + 0x20]
call fcn.1401eb500
mov dword [rsp + 0x30], 0xfffffff8
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov r8d, dword [rsp + 0x100]
mov edx, 0x76
mov dword [rsp + 0x20], 0
call fcn.140201840
mov rcx, qword [rsp + 0x50]
mov edx, 8
mov dword [rsp + 0x104], eax
call fcn.140201bc0
mov byte [rsp + 0xfd], 3
cmp dword [rsp + 0x70], 0
jne 0x1401fbb53
test rbx, rbx
jne 0x1401fbb5c
cmp byte [rsp + 0xfc], 1
mov eax, dword [r13 + 4]
sbb ebp, ebp
not ebp
and ax, 0x4000
and bp, 0x100
or eax, ebp
mov rbp, qword [r13 + 0x70]
mov word [rsp + 0x60], ax
test rbp, rbp
jne 0x1401fa9f8
movsx eax, word [r13 + 2]
mov qword [rsp + 0x28], r13
mov rdx, r15
mov rcx, r12
mov r9, qword [rsp + 0x108]
mov r8, qword [rsp + 0xa8]
mov dword [rsp + 0x38], eax
movzx eax, word [rsp + 0x60]
mov dword [rsp + 0x30], eax
mov rax, qword [r13 + 0x20]
mov qword [rsp + 0x20], rax
call fcn.14020da50
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1401f9831
mov eax, dword [rax + 0x48]
cmp word [r13 + 2], ax
jle 0x1401fa189
mov word [r13 + 2], ax
cmp byte [rsp + 0xfc], 0
jne 0x1401fac96
mov rcx, qword [rsp + 0x108]
test rcx, rcx
jne 0x1401facb2
mov edx, dword [rsp + 0x120]
test edx, edx
jns 0x1401fad27
test rbp, rbp
jne 0x1401fad45
mov rax, qword [rsp + 0x70]
mov rcx, r12
or r8d, 0xffffffff
mov rdx, r13
lea r9, [rsp + 0x108]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xfc]
mov qword [rsp + 0x20], rax
call fcn.1401cc000
mov rcx, qword [rsp + 0x70]
call fcn.140210bb0
cmp byte [rsp + 0xfd], 3
jne 0x1401fa235
lea r9, str.DISTINCT
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r12
call fcn.140209500
cmp qword [rsp + 0x108], 0
je 0x1401fa268
mov rax, qword [rsp + 0x210]
lea r8, [rsp + 0x108]
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x68]
mov r9d, dword [rax]
call fcn.1401b0160
mov edx, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x50]
xor r14d, r14d
call fcn.14020bd60
mov qword [rsp + 0x60], rbp
cmp dword [r12 + 0x30], 0
setg r14b
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.1401db7d0
mov rcx, r12
call fcn.140209580
jmp 0x1401fcb96
mov r8, qword [rsp + 0x210]
mov rdx, r13
mov rcx, r12
call fcn.1401b8ea0
cmp qword [r13 + 0x58], 0
mov r14d, eax
jne 0x1401fcb96
jmp 0x1401fa29a
mov rax, qword [r13 + 0x30]
test rax, rax
je 0x1401fa3ef
cmp byte [rax], 0x2c
jne 0x1401fa3ef
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 0x80
jne 0x1401fa3ef
mov rax, qword [r12]
mov qword [rsp + 0x138], r12
lea rbx, [rsp + 0x138]
lea rsi, [0x1401c0330]
lea rdi, [0x1401fd0f0]
add rax, 0x67
mov qword [rsp + 0x140], rax
mov rdx, qword [r13 + 0x28]
mov eax, 1
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x148], 0
mov dword [rsp + 0x150], 0
test rdx, rdx
je 0x1401fa363
cmp dword [rdx], 0
jle 0x1401fa363
mov al, byte [rdx + 0x44]
and eax, 0x40
cmp al, 1
sbb eax, eax
and eax, 0xfffffffe
add eax, 3
mov rdx, qword [r13 + 0x30]
mov rcx, rbx
mov dword [rsp + 0x154], eax
call fcn.14018f7a0
cmp dword [rsp + 0x148], 0
je 0x1401fa3e1
mov rdx, qword [r13 + 0x30]
lea rcx, [rsp + 0x168]
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], 0
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rdi
mov qword [rsp + 0x190], rbx
call fcn.14020d740
mov rax, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rax]
call fcn.1401d5550
cmp dword [rsp + 0x14c], 0
jne 0x1401fa31d
lea rax, [rsp + 0x168]
lea rbp, [r15 + 8]
xor ebx, ebx
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x138]
mov qword [rsp + 0x88], rax
jmp 0x1401f9f55
mov r8, qword [rbp + 0x10]
test r8, r8
je 0x1401f9f42
mov rax, qword [rbp + 8]
lea r9, [0x1402cd40e]
mov edx, 0x14
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.1401cea70
jmp 0x1401f9f42
mov rdx, qword [rsp + 0x68]
mov rcx, r13
movsxd rdi, ebx
mov dword [rsp + 0x168], 0
call fcn.1401b1910
mov eax, dword [rsp + 0x168]
add dword [r12 + 0x13c], eax
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 0x10
jne 0x1401fa4a8
imul rax, rdi, 0x68
test byte [r15 + rax + 0x49], 1
je 0x1401fa496
mov rax, qword [rbp + 0x60]
cmp byte [rax + 0x12], 0
je 0x1401fa4a8
cmp dword [rax], 1
jg 0x1401fa4a8
mov r8, qword [r13 + 0x30]
mov r9, rbp
mov rdx, rsi
mov rcx, r12
call fcn.1401c06c0
mov rax, qword [r12 + 0x178]
mov qword [rsp + 0x80], rax
mov rax, qword [rbp + 0x10]
mov qword [r12 + 0x178], rax
imul rax, rdi, 0x68
mov dil, byte [r15 + rax + 0x49]
and dil, 1
je 0x1401fa4ef
mov rdx, qword [rbp + 0x60]
mov al, byte [rdx + 0x12]
test al, al
je 0x1401fa665
cmp dword [rdx], 1
jle 0x1401fa4ef
cmp al, 2
jne 0x1401fa665
test byte [r15 + 0x44], 0x40
jne 0x1401fa660
mov rax, qword [r12]
test byte [rax + 0x63], 2
jne 0x1401fa660
mov r14d, dword [r15]
lea r8d, [rbx + 1]
mov rdx, rbp
mov rcx, r15
mov r9d, r14d
call fcn.1401b31b0
test rax, rax
jne 0x1401fa660
mov eax, dword [r13 + 4]
test ebx, ebx
jne 0x1401fa549
dec r14d
je 0x1401fa578
test byte [r15 + 0xac], 2
jne 0x1401fa578
bt eax, 0x1c
jb 0x1401fa660
jmp 0x1401fa578
bt eax, 0x1c
jb 0x1401fa660
mov rax, rbp
mov edx, ebx
test byte [rax + 0x3c], 0x22
jne 0x1401fa660
test edx, edx
je 0x1401fa578
sub rax, 0x68
dec edx
cmp qword [rax + 0x28], 0
je 0x1401fa558
jmp 0x1401fa660
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov edx, 0xb
mov r14d, dword [rax + 0x90]
mov eax, dword [r12 + 0x38]
lea edi, [r14 + 1]
lea r8d, [rax + 1]
mov dword [r12 + 0x38], r8d
mov dword [rbp + 0x34], r8d
mov dword [rsp + 0x20], edi
call fcn.1402017e0
mov dword [rbp + 0x30], edi
mov eax, dword [rbp + 0x34]
mov r9, rbp
lea r8, str.CO_ROUTINE___S
mov edx, 1
mov rcx, r12
mov byte [rsp + 0x168], 0xd
mov dword [rsp + 0x16c], eax
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x170], 0
mov dword [rsp + 0x178], 0
call fcn.140209500
mov r8, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, r12
call fcn.1401f9730
mov dx, word [rsi + 2]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rsp + 0x50]
mov word [rax + 0x3a], dx
movsxd rax, ebx
imul rax, rax, 0x68
or byte [r15 + rax + 0x48], 0x20
mov eax, dword [rsp + 0x174]
mov edx, dword [rbp + 0x34]
mov dword [rbp + 0x38], eax
call fcn.140201ec0
mov rcx, qword [rsp + 0x50]
mov edx, r14d
call fcn.14020a2b0
mov byte [r12 + 0x1f], 0
mov dword [r12 + 0x28], 0
jmp 0x1401fa848
test dil, dil
je 0x1401fa6a6
mov rdi, qword [rbp + 0x60]
mov r9d, dword [rdi + 4]
test r9d, r9d
jle 0x1401fa6a6
mov r8d, dword [rdi + 8]
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
call fcn.1402017c0
mov r8d, dword [rbp + 0x44]
mov r9d, dword [rdi + 0xc]
cmp r8d, r9d
je 0x1401fa6a1
mov rcx, qword [rsp + 0x50]
mov edx, 0x73
call fcn.1402017c0
mov eax, dword [rdi + 0x10]
jmp 0x1401fa6fa
mov r9d, ebx
xor r8d, r8d
mov rdx, rbp
mov rcx, r15
call fcn.1401b31b0
mov rdi, rax
test rax, rax
je 0x1401fa703
mov r9d, dword [rax + 0x30]
test r9d, r9d
je 0x1401fa6db
mov r8d, dword [rax + 0x34]
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
call fcn.1402017c0
mov r9d, dword [rdi + 0x44]
mov r8d, dword [rbp + 0x44]
mov edx, 0x73
mov rcx, qword [rsp + 0x50]
call fcn.1402017c0
mov rax, qword [rdi + 0x28]
mov ax, word [rax + 2]
mov word [rsi + 2], ax
jmp 0x1401fa848
mov eax, dword [r12 + 0x38]
mov rcx, qword [rsp + 0x50]
mov edx, 9
inc eax
mov dword [r12 + 0x38], eax
mov dword [rbp + 0x34], eax
call fcn.140201780
xor r10d, r10d
lea edi, [rax + 1]
mov r14d, eax
movsxd rax, ebx
imul rax, rax, 0x68
mov dword [rbp + 0x30], edi
lea rdx, [r15 + rax + 0x30]
mov al, byte [rdx + 0x18]
or eax, 0x10
mov byte [rdx + 0x18], al
test al, 8
jne 0x1401fa758
mov rcx, qword [rsp + 0x50]
mov edx, 0xf
call fcn.140201780
mov r10d, eax
mov eax, dword [rbp + 0x44]
mov r9, rbp
lea r8, str.MATERIALIZE___S
mov rcx, r12
mov edx, 1
mov dword [rsp + 0x90], r10d
mov byte [rsp + 0x168], 0xc
mov dword [rsp + 0x16c], eax
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x170], 0
mov dword [rsp + 0x178], 0
call fcn.140209500
mov r8, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, r12
call fcn.1401f9730
mov rax, qword [rbp + 0x20]
mov dx, word [rsi + 2]
mov r10d, dword [rsp + 0x90]
mov word [rax + 0x3a], dx
test r10d, r10d
je 0x1401fa7e2
mov rcx, qword [rsp + 0x50]
mov edx, r10d
call fcn.14020a2b0
mov r8d, dword [rbp + 0x34]
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r9d, edi
call fcn.1402017c0
mov rcx, qword [rsp + 0x50]
mov edx, r14d
call fcn.14020a2b0
movsxd rax, ebx
mov byte [r12 + 0x1f], 0
mov dword [r12 + 0x28], 0
imul rax, rax, 0x68
mov eax, dword [r15 + rax + 0x48]
and ax, 0x108
cmp ax, 0x100
jne 0x1401fa848
mov edx, dword [rbp + 0x30]
mov rax, qword [rbp + 0x60]
mov dword [rax + 4], edx
mov edx, dword [rbp + 0x34]
mov dword [rax + 8], edx
mov edx, dword [rbp + 0x44]
mov dword [rax + 0xc], edx
mov dx, word [rsi + 2]
mov word [rax + 0x10], dx
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x1401f9f2c
mov rdx, qword [rsp + 0x88]
mov rcx, r13
mov dword [rsp + 0x138], 0
call fcn.1401b1910
mov eax, dword [rsp + 0x138]
sub dword [r12 + 0x13c], eax
mov rax, qword [rsp + 0x80]
mov qword [r12 + 0x178], rax
jmp 0x1401f9f4f
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x108]
or r8d, 0xffffffff
call fcn.1401db750
test eax, eax
jne 0x1401f9f9d
cmp qword [r13 + 0x70], 0
jne 0x1401f9f9d
and dword [r13 + 4], 0xfffffffe
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, qword [rsp + 0x58]
call fcn.1401db7e0
or dword [r13 + 4], 8
mov qword [r13 + 0x38], rax
mov rbx, rax
mov byte [rsp + 0xfc], 2
jmp 0x1401f9f9d
mov dword [rsp + 0x120], 0xffffffff
jmp 0x1401fa01b
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
mov edx, 0x76
mov r9d, dword [rax]
mov rax, qword [rsp + 0x210]
mov r8d, dword [rax + 4]
call fcn.1402017c0
test byte [r13 + 5], 8
je 0x1401fa02c
mov rax, qword [rsp + 0x68]
movsxd rsi, dword [rax]
lea edi, [rsi - 1]
shl rsi, 5
test edi, edi
jle 0x1401fa98a
movsxd rax, edi
mov rcx, qword [rsp + 0x68]
sub rsi, 0x20
shl rax, 5
test byte [rcx + rax + 0x1c], 0x40
jne 0x1401fa98a
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
dec edi
mov rdx, qword [rax + rsi + 8]
call fcn.1401daa20
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rax + rsi + 0x10]
call fcn.1401d5550
mov rax, qword [rsp + 0x68]
dec dword [rax]
jmp 0x1401fa93c
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax]
xor eax, eax
cmp ecx, eax
jle 0x1401fa02c
movsxd rdx, eax
mov rsi, qword [rsp + 0x68]
shl rdx, 5
test byte [rsi + rdx + 0x1c], 0x40
jne 0x1401fa9bd
mov rdx, rax
shl rdx, 5
mov rdx, qword [rsi + rdx + 8]
mov byte [rdx], 0x79
inc rax
jmp 0x1401fa993
mov edx, dword [rsp + 0x120]
test edx, edx
js 0x1401fa072
mov rcx, qword [rsp + 0x50]
call fcn.140209880
mov byte [rax], 0x77
or byte [rsp + 0x12c], 1
jmp 0x1401fa072
mov byte [rsp + 0xfd], 0
jmp 0x1401fa0f0
mov rax, qword [r13 + 0x28]
mov rcx, r12
mov rax, qword [rax + 0x30]
mov rax, qword [rax + 0x20]
mov r9d, dword [rax]
mov dword [rsp + 0x70], r9d
call fcn.1401e81d0
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rbp + 0x58]
mov edx, 0x76
mov rcx, rax
mov r14, rax
call fcn.1402017c0
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r14
lea r8d, [r9 + 1]
call fcn.1402017c0
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r14
lea r8d, [r9 + 2]
call fcn.1402017c0
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r14
lea r8d, [r9 + 3]
call fcn.1402017c0
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x1401faaa4
mov edx, dword [rax]
mov eax, dword [r12 + 0x38]
xor r8d, r8d
mov rcx, r14
lea r9d, [rax + 1]
add eax, edx
mov dword [rbp + 0x6c], r9d
mov dword [r12 + 0x38], eax
lea eax, [rdx + r9 - 1]
mov edx, 0x4b
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov eax, dword [r12 + 0x38]
mov edx, 0x47
mov rcx, r14
mov rbx, rbp
mov r8d, 1
lea rdi, str.nth_value
lea rsi, str.first_value
lea r9d, [rax + 1]
mov dword [r12 + 0x38], r9d
mov dword [rbp + 0x80], r9d
call fcn.1402017c0
cmp byte [rbp + 0x24], 0
je 0x1401faba2
mov eax, dword [r12 + 0x38]
mov rcx, r14
mov r8d, 1
lea r9d, [rax + 1]
add eax, 2
mov dword [rbp + 0x84], r9d
mov dword [r12 + 0x38], eax
mov dword [rbp + 0x88], eax
mov eax, dword [r12 + 0x34]
lea edx, [rax + 1]
mov dword [r12 + 0x34], edx
mov edx, 0x47
mov dword [rbp + 0x64], eax
call fcn.1402017c0
xor r8d, r8d
mov rcx, r14
mov edx, 0x47
mov r9d, dword [rbp + 0x88]
call fcn.1402017c0
mov r9d, dword [rbp + 0x58]
mov r8d, dword [rbp + 0x64]
mov rcx, r14
mov edx, 0x73
call fcn.1402017c0
jmp 0x1401fa131
cmp byte [rbx + 0x21], 0x5a
jne 0x1401fabae
mov rax, qword [rax + 0x38]
cmp rax, rdi
je 0x1401fac47
cmp rax, rsi
je 0x1401fac47
lea rcx, str.lead
cmp rax, rcx
je 0x1401fac6e
lea rdx, [0x1402df780]
cmp rax, rdx
je 0x1401fac6e
mov rbx, qword [rbx + 0x40]
test rbx, rbx
je 0x1401fa131
mov rax, qword [rbx + 0x50]
test byte [rax + 5], 0x10
je 0x1401fab5f
jmp 0x1401fab59
mov rax, qword [rbx + 0x70]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov rdx, qword [rax + 0x20]
call fcn.1401eb500
mov r11, rax
mov eax, dword [r12 + 0x34]
lea edx, [rax + 1]
mov dword [r12 + 0x34], edx
mov dword [rbx + 0x64], eax
mov eax, dword [r12 + 0x38]
lea edx, [rax + 1]
add eax, 3
mov dword [rbx + 0x68], edx
mov dword [r12 + 0x38], eax
test r11, r11
je 0x1401fac04
mov rax, qword [rbx + 0x50]
mov rax, qword [rax + 0x38]
cmp byte [rax + 1], 0x69
jne 0x1401fac04
mov rax, qword [r11 + 0x18]
mov byte [rax], 1
mov r8d, dword [rbx + 0x64]
mov edx, 0x76
mov rcx, r14
mov qword [rsp + 0x70], r11
mov r9d, 2
call fcn.1402017c0
mov r11, qword [rsp + 0x70]
mov r8d, 0xfffffff8
mov rcx, r14
mov rdx, r11
call fcn.140201ab0
mov r9d, dword [rbx + 0x68]
xor r8d, r8d
mov edx, 0x47
inc r9d
jmp 0x1401fac89
mov eax, dword [r12 + 0x38]
mov r8d, dword [r12 + 0x34]
lea edx, [rax + 1]
add eax, 2
mov dword [rbx + 0x68], edx
lea edx, [r8 + 1]
mov dword [r12 + 0x34], edx
mov dword [rbx + 0x64], r8d
mov dword [r12 + 0x38], eax
jmp 0x1401fac80
mov r8d, dword [r12 + 0x34]
lea eax, [r8 + 1]
mov dword [r12 + 0x34], eax
mov dword [rbx + 0x64], r8d
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r14
call fcn.1402017c0
jmp 0x1401fab95
mov rax, qword [rsp + 0x70]
mov al, byte [rax + 0x43]
test al, al
je 0x1401fa197
mov byte [rsp + 0xfd], al
jmp 0x1401fa197
mov rax, qword [rsp + 0x70]
movsx edx, byte [rax + 0x41]
mov eax, 0
test dl, dl
cmovs edx, eax
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x110], edx
test byte [rax + 0x44], 4
je 0x1401facfc
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x40]
dec eax
cdqe
imul rax, rax, 0x70
add rax, qword [rsp + 0x70]
cmp qword [rax + 0x398], 0
je 0x1401fad01
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x30]
jmp 0x1401fad07
mov eax, dword [rax + 0x370]
mov dword [rsp + 0x128], eax
cmp dword [rcx], edx
jne 0x1401fa1a8
mov qword [rsp + 0x108], 0
jmp 0x1401fa1a8
cmp qword [rsp + 0x108], 0
jne 0x1401fa1b7
mov rcx, qword [rsp + 0x50]
call fcn.140201be0
jmp 0x1401fa1b7
mov eax, dword [r12 + 0x44]
mov rbx, qword [r13 + 0x70]
mov rcx, r12
lea esi, [rax - 1]
mov r15, qword [rbx + 0x18]
mov dword [rsp + 0xc4], esi
lea esi, [rax - 2]
sub eax, 3
mov dword [rsp + 0x9c], eax
mov dword [r12 + 0x44], eax
mov eax, dword [r12 + 0x38]
mov dword [rsp + 0xb8], esi
inc eax
mov dword [r12 + 0x38], eax
mov dword [rsp + 0xa8], eax
call fcn.1401e81d0
lea rdx, [rsp + 0x188]
mov ecx, 0xa
mov r14, rax
mov rax, qword [r13 + 0x28]
mov rdi, rdx
mov esi, dword [rax + 0x4c]
mov rax, qword [rax + 0x28]
movsx eax, word [rax + 0x36]
mov dword [rsp + 0xa0], esi
mov dword [rsp + 0x90], eax
mov eax, dword [r12 + 0x44]
dec eax
mov dword [r12 + 0x44], eax
mov dword [rsp + 0x88], eax
xor eax, eax
rep stosd dword [rdi], eax
mov eax, dword [rsp + 0xa8]
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], rbx
mov dword [rsp + 0x184], eax
mov eax, dword [rsp + 0xc4]
mov qword [rsp + 0x178], r14
mov dword [rsp + 0x180], eax
mov eax, dword [rbx + 0x58]
mov dword [rsp + 0x19c], eax
lea esi, [rax + 1]
lea edx, [rax + 2]
add eax, 3
mov dword [rsp + 0x194], edx
mov dword [rsp + 0x1a4], eax
mov al, byte [rbx + 0x21]
mov dword [rsp + 0xb0], esi
cmp al, 0x56
je 0x1401fae43
cmp al, 0x5a
je 0x1401fae6b
jmp 0x1401faec9
cmp byte [rbx + 0x20], 0x59
je 0x1401faed4
mov rdx, qword [rbx + 0x28]
mov rcx, qword [r12]
call fcn.14022d6a0
test eax, eax
je 0x1401faed4
mov dword [rsp + 0x18c], 1
jmp 0x1401faed4
cmp dword [rbx + 0x84], 0
jne 0x1401faed4
mov rax, rbx
lea r8, str.first_value
lea r9, str.nth_value
lea r10, str.lead
lea r11, [0x1402df780]
mov rdx, qword [rax + 0x50]
mov rdx, qword [rdx + 0x38]
cmp rdx, r8
sete sil
cmp rdx, r9
sete cl
or ecx, esi
cmp rdx, r10
sete sil
or cl, sil
jne 0x1401faed4
cmp rdx, r11
je 0x1401faed4
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401fae93
jmp 0x1401fcb04
mov dword [rsp + 0x18c], 2
mov r8d, dword [r12 + 0x38]
mov eax, dword [rsp + 0x90]
add eax, r8d
lea edi, [r8 + 1]
lea edx, [rax + 2]
lea ebp, [rax + 1]
mov dword [r12 + 0x38], edx
mov dword [rsp + 0x190], edx
mov sil, byte [rbx + 0x21]
lea edx, [rsi - 0x56]
xor esi, esi
and dl, 0xfd
jne 0x1401faf0f
lea esi, [rax + 3]
mov dword [r12 + 0x38], esi
mov al, byte [rbx + 0x22]
mov dword [rsp + 0x60], 0
sub eax, 0x56
test al, 0xfd
jne 0x1401faf31
mov eax, dword [r12 + 0x38]
inc eax
mov dword [rsp + 0x60], eax
mov dword [r12 + 0x38], eax
cmp byte [rbx + 0x20], 0x4c
je 0x1401faf9b
xor edx, edx
test r15, r15
je 0x1401faf41
mov edx, dword [r15]
mov eax, dword [rbx + 0x78]
add eax, edi
mov dword [rsp + 0xc0], eax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x1401faf5f
mov eax, dword [rax]
add dword [rsp + 0xc0], eax
mov eax, dword [r12 + 0x38]
lea ecx, [rax + 1]
add eax, edx
mov dword [rsp + 0x80], ecx
lea ecx, [rax + 1]
add eax, edx
mov dword [rsp + 0x198], ecx
lea ecx, [rax + 1]
add eax, edx
mov dword [rsp + 0x1a0], ecx
lea ecx, [rax + 1]
add eax, edx
mov dword [rsp + 0x1a8], ecx
mov dword [r12 + 0x38], eax
jmp 0x1401fafb1
mov dword [rsp + 0x80], 0
mov dword [rsp + 0xc0], 0
lea eax, [r8 + 1]
xor r9d, r9d
mov dword [rsp + 0xd0], eax
cmp dword [rsp + 0x90], r9d
jle 0x1401fb001
mov eax, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xa0]
mov edx, 0x5e
mov rcx, r14
mov dword [rsp + 0xc8], r9d
add eax, r9d
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov r9d, dword [rsp + 0xc8]
inc r9d
jmp 0x1401fafbf
mov dword [rsp + 0x20], ebp
mov edx, 0x61
mov r8d, edi
mov rcx, r14
mov r9d, dword [rsp + 0x90]
call fcn.1402017e0
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1401fb0fe
mov eax, dword [rdx]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
add edi, dword [rbx + 0x78]
mov dword [rsp + 0xa0], eax
call fcn.1401eb500
mov r9d, dword [rbx + 0x6c]
mov r8d, edi
mov rcx, r14
mov qword [rsp + 0xc8], rax
mov eax, dword [r12 + 0x38]
mov edx, 0x5a
inc eax
mov dword [rsp + 0x90], eax
mov dword [r12 + 0x38], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov r10, qword [rsp + 0xc8]
mov rcx, r14
mov r8d, 0xfffffff8
mov dword [rsp + 0xd0], eax
mov rdx, r10
call fcn.140201ab0
mov eax, dword [rsp + 0xd0]
mov rcx, r14
mov edx, 0xe
lea r8d, [rax + 2]
lea r9d, [rax + 4]
mov dword [rsp + 0x20], r8d
call fcn.1402017e0
mov r8d, dword [rsp + 0x90]
mov rcx, r14
mov edx, 0xa
call fcn.1402017a0
mov r9d, dword [rbx + 0x6c]
mov r8d, edi
mov rcx, r14
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0xa0]
mov edx, 0x50
dec eax
mov dword [rsp + 0x20], eax
call fcn.1402017e0
jmp 0x1401fb114
mov dword [rsp + 0x90], 0
mov dword [rsp + 0xd0], 0
mov r9d, dword [rsp + 0x190]
mov r8d, dword [rsp + 0xb0]
mov edx, 0x7f
mov rcx, r14
call fcn.1402017c0
mov r9d, ebp
mov edx, pe_nt_image_headers64
mov rcx, r14
mov eax, dword [rsp + 0x190]
mov r8d, dword [rsp + 0xb0]
mov rbp, rbx
mov dword [rsp + 0x20], eax
call fcn.1402017e0
xor r9d, r9d
mov edx, 0x34
mov rcx, r14
mov eax, dword [rsp + 0x190]
mov r8d, dword [rbx + 0x80]
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov rcx, r12
mov dword [rsp + 0xd4], eax
call fcn.1401e81d0
mov dword [rsp + 0xa0], 0
mov rdi, rax
mov rax, qword [rbp + 0x50]
mov r9d, dword [rbp + 0x5c]
mov edx, 0x4b
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0xc8], rax
call fcn.1402017c0
mov rax, qword [rbp + 0x70]
mov rdx, qword [rax + 0x20]
xor eax, eax
test rdx, rdx
je 0x1401fb1c7
mov eax, dword [rdx]
cmp dword [rsp + 0xa0], eax
cmovge eax, dword [rsp + 0xa0]
cmp dword [rbx + 0x84], 0
mov dword [rsp + 0xa0], eax
jne 0x1401fb274
mov rax, qword [rsp + 0xc8]
lea rcx, str.first_value
mov rax, qword [rax + 0x38]
cmp rax, rcx
je 0x1401fb20e
lea rcx, str.nth_value
cmp rax, rcx
jne 0x1401fb239
mov r9d, dword [rbp + 0x68]
xor r8d, r8d
mov edx, 0x47
mov rcx, rdi
call fcn.1402017c0
mov r9d, dword [rbp + 0x68]
xor r8d, r8d
mov rcx, rdi
mov edx, 0x47
inc r9d
call fcn.1402017c0
mov rax, qword [rsp + 0xc8]
test byte [rax + 5], 0x10
je 0x1401fb274
mov r8d, dword [rbp + 0x64]
test r8d, r8d
je 0x1401fb274
mov edx, 0x92
mov rcx, rdi
call fcn.1402017a0
mov r9d, dword [rbp + 0x68]
xor r8d, r8d
mov rcx, rdi
mov edx, 0x47
inc r9d
call fcn.1402017c0
mov rbp, qword [rbp + 0x40]
test rbp, rbp
jne 0x1401fb196
mov eax, dword [r12 + 0x38]
mov edx, dword [rsp + 0xa0]
add edx, eax
inc eax
mov dword [r12 + 0x38], edx
mov dword [rsp + 0x188], eax
test esi, esi
je 0x1401fb2c9
mov rdx, qword [rbx + 0x28]
mov r8d, esi
mov rcx, r12
call fcn.1401d8330
xor r8d, r8d
cmp byte [rbx + 0x20], 0x59
mov edx, esi
sete r8b
mov rcx, r12
lea r8d, [r8 + r8*2]
call fcn.14022ced0
cmp dword [rsp + 0x60], 0
je 0x1401fb2fd
mov rdx, qword [rbx + 0x30]
mov r8d, dword [rsp + 0x60]
mov rcx, r12
call fcn.1401d8330
xor r8d, r8d
cmp byte [rbx + 0x20], 0x59
mov edx, dword [rsp + 0x60]
sete r8b
mov rcx, r12
lea r8d, [r8 + r8*2 + 1]
call fcn.14022ced0
cmp byte [rbx + 0x20], 0x59
je 0x1401fb3b4
mov al, byte [rbx + 0x21]
cmp byte [rbx + 0x22], al
jne 0x1401fb3b4
test esi, esi
je 0x1401fb3b4
xor edx, edx
cmp al, 0x56
mov eax, dword [rsp + 0x60]
mov r8d, esi
sete dl
mov rcx, r14
xor r9d, r9d
mov dword [rsp + 0x20], eax
lea edx, [rdx + rdx + 0x37]
call fcn.1402017e0
lea r9, [rsp + 0x168]
xor edx, edx
mov rcx, r9
mov qword [rsp + 0xa0], r9
mov edi, eax
call fcn.14022c9e0
mov r8d, dword [rsp + 0x19c]
mov edx, 0x24
mov rcx, r14
call fcn.1402017a0
mov r9, qword [rsp + 0xa0]
mov rcx, r9
call fcn.14022d8a0
mov r8d, dword [rsp + 0x19c]
mov edx, 0x92
mov rcx, r14
call fcn.1402017a0
mov edx, 9
mov rcx, r14
xor r8d, r8d
mov r9d, dword [rsp + 0x88]
call fcn.1402017c0
mov edx, edi
mov rcx, r14
call fcn.14020a2b0
cmp byte [rbx + 0x21], 0x56
jne 0x1401fb3f7
cmp byte [rbx + 0x20], 0x59
je 0x1401fb3c7
cmp dword [rsp + 0x60], 0
jne 0x1401fb3de
mov r8d, dword [rsp + 0x194]
mov edx, 0x24
mov rcx, r14
call fcn.1402017a0
jmp 0x1401fb3fd
mov dword [rsp + 0x20], esi
mov r9d, dword [rsp + 0x60]
mov r8d, esi
mov rcx, r14
mov edx, 0x6b
call fcn.1402017e0
cmp byte [rbx + 0x21], 0x5a
jne 0x1401fb3c7
mov r8d, dword [rsp + 0x19c]
mov edx, 0x24
mov rcx, r14
call fcn.1402017a0
mov r8d, dword [rsp + 0x1a4]
mov edx, 0x24
mov rcx, r14
call fcn.1402017a0
cmp dword [rsp + 0x80], 0
je 0x1401fb4d6
test r15, r15
je 0x1401fb4d6
mov eax, dword [r15]
mov r9d, dword [rsp + 0x80]
mov edx, 0x50
mov rcx, r14
mov r8d, dword [rsp + 0xc0]
dec eax
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov eax, dword [r15]
mov edx, 0x50
mov rcx, r14
mov r9d, dword [rsp + 0x198]
mov r8d, dword [rsp + 0x80]
dec eax
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov eax, dword [r15]
mov edx, 0x50
mov rcx, r14
mov r9d, dword [rsp + 0x1a0]
mov r8d, dword [rsp + 0x80]
dec eax
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov eax, dword [r15]
mov edx, 0x50
mov rcx, r14
mov r9d, dword [rsp + 0x1a8]
mov r8d, dword [rsp + 0x80]
dec eax
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov r9d, dword [rsp + 0x88]
xor r8d, r8d
mov edx, 9
mov rcx, r14
call fcn.1402017c0
mov edx, dword [rsp + 0xd4]
mov rcx, r14
call fcn.14020a2b0
cmp dword [rsp + 0x80], 0
je 0x1401fb52d
mov eax, dword [rsp + 0x88]
mov r9d, dword [rsp + 0x80]
mov rdx, r15
mov rcx, r12
mov r8d, dword [rsp + 0xc0]
mov dword [rsp + 0x20], eax
call fcn.14022d750
cmp byte [rbx + 0x21], 0x56
lea rcx, [rsp + 0x168]
jne 0x1401fb60f
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov qword [rsp + 0x80], rcx
call fcn.14022d020
cmp byte [rbx + 0x22], 0x5a
je 0x1401fb7e0
cmp byte [rbx + 0x20], 0x59
mov rcx, qword [rsp + 0x80]
jne 0x1401fb5e0
mov eax, dword [r12 + 0x44]
mov edi, dword [r14 + 0x90]
mov edx, 0x39
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x19c]
lea r15d, [rax - 1]
mov eax, dword [rsp + 0x1a4]
mov dword [r12 + 0x44], r15d
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x28], r15d
call fcn.14022d420
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, qword [rsp + 0x80]
call fcn.14022d020
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, qword [rsp + 0x80]
call fcn.14022d020
jmp 0x1401fb74c
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 1
mov qword [rsp + 0x80], rcx
call fcn.14022d020
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, qword [rsp + 0x80]
jmp 0x1401fb685
cmp byte [rbx + 0x22], 0x58
jne 0x1401fb68f
mov edi, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 3
mov qword [rsp + 0x80], rcx
call fcn.14022d020
cmp di, 0x5859
mov rcx, qword [rsp + 0x80]
jne 0x1401fb651
xor r9d, r9d
mov r8d, esi
mov edx, 2
call fcn.14022d020
lea r15, [rsp + 0x168]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, r15
call fcn.14022d020
cmp di, 0x5859
je 0x1401fb7e0
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, r15
call fcn.14022d020
jmp 0x1401fb7e0
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov qword [rsp + 0x80], rcx
call fcn.14022d020
cmp byte [rbx + 0x22], 0x5a
je 0x1401fb7e0
cmp byte [rbx + 0x20], 0x59
mov rcx, qword [rsp + 0x80]
jne 0x1401fb76c
xor r15d, r15d
cmp dword [rsp + 0x60], 0
mov edi, dword [r14 + 0x90]
je 0x1401fb709
mov eax, dword [r12 + 0x44]
mov r9d, dword [rsp + 0x60]
mov edx, 0x39
mov r8d, dword [rsp + 0x19c]
lea r15d, [rax - 1]
mov eax, dword [rsp + 0x1a4]
mov dword [r12 + 0x44], r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], eax
call fcn.14022d420
lea rcx, [rsp + 0x168]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov qword [rsp + 0x80], rcx
call fcn.14022d020
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, qword [rsp + 0x80]
call fcn.14022d020
cmp dword [rsp + 0x60], 0
je 0x1401fb7e0
mov rcx, r14
mov r9d, edi
xor r8d, r8d
mov edx, 9
call fcn.1402017c0
mov edx, r15d
mov rcx, r14
call fcn.14020bd60
jmp 0x1401fb7e0
xor r15d, r15d
cmp dword [rsp + 0x60], 0
je 0x1401fb796
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 0x3b
mov rcx, r14
mov dword [rsp + 0x20], 1
call fcn.1402017e0
mov r15d, eax
lea rcx, [rsp + 0x168]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov qword [rsp + 0x80], rcx
call fcn.14022d020
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, qword [rsp + 0x80]
call fcn.14022d020
cmp dword [rsp + 0x60], 0
je 0x1401fb7e0
mov edx, r15d
mov rcx, r14
call fcn.14020a2b0
mov edx, dword [rsp + 0x88]
mov rcx, r14
call fcn.14020bd60
mov rcx, qword [rsp + 0x70]
call fcn.140210bb0
cmp qword [rbx + 0x10], 0
je 0x1401fb82b
mov r9d, dword [rsp + 0x90]
mov edx, 0x47
mov rcx, r14
xor r8d, r8d
call fcn.1402017c0
mov edx, dword [rsp + 0xd0]
mov rcx, r14
mov dword [rsp + 0x78], eax
call fcn.14020a2b0
mov r8d, dword [rsp + 0xb0]
mov edx, 0x24
mov rcx, r14
mov dword [rsp + 0x190], 0
lea r15, [rsp + 0x168]
call fcn.1402017a0
cmp byte [rbx + 0x22], 0x58
mov dword [rsp + 0x70], eax
jne 0x1401fb8ac
mov edi, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 3
mov rcx, r15
call fcn.14022d020
cmp di, 0x5859
jne 0x1401fb88f
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, r15
call fcn.14022d020
lea rcx, [rsp + 0x168]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
call fcn.14022d020
jmp 0x1401fba1f
xor r9d, r9d
xor r8d, r8d
cmp byte [rbx + 0x21], 0x56
mov edx, 3
mov rcx, r15
jne 0x1401fb9c3
call fcn.14022d020
cmp byte [rbx + 0x20], 0x59
mov edi, dword [r14 + 0x90]
mov r9d, 1
jne 0x1401fb90a
mov r8d, esi
mov edx, 2
mov rcx, r15
call fcn.14022d020
xor r8d, r8d
mov edx, 1
mov rcx, r15
mov r9d, 1
mov esi, eax
call fcn.14022d020
mov dword [rsp + 0x60], eax
jmp 0x1401fb95d
cmp byte [rbx + 0x22], 0x5a
jne 0x1401fb92f
mov r8d, esi
mov edx, 1
mov rcx, r15
call fcn.14022d020
mov r9d, 1
xor r8d, r8d
mov dword [rsp + 0x60], eax
jmp 0x1401fb94e
mov r8d, dword [rsp + 0x60]
mov edx, 1
mov rcx, r15
call fcn.14022d020
mov r9d, 1
mov r8d, esi
mov dword [rsp + 0x60], eax
mov edx, 2
mov rcx, r15
call fcn.14022d020
mov esi, eax
mov r9d, edi
xor r8d, r8d
mov edx, 9
mov rcx, r14
call fcn.1402017c0
mov edx, esi
mov rcx, r14
mov r9d, 1
call fcn.14020a2b0
mov edi, dword [r14 + 0x90]
xor r8d, r8d
lea rcx, [rsp + 0x168]
mov edx, 1
call fcn.14022d020
xor r8d, r8d
mov edx, 9
mov rcx, r14
mov r9d, edi
mov r15d, eax
call fcn.1402017c0
mov edx, dword [rsp + 0x60]
mov rcx, r14
call fcn.14020a2b0
mov edx, r15d
jmp 0x1401fba1a
call fcn.14022d020
xor r8d, r8d
mov edx, 1
mov rcx, r15
mov edi, dword [r14 + 0x90]
mov r9d, 1
call fcn.14022d020
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, r15
mov dword [rsp + 0x60], eax
call fcn.14022d020
mov edx, 9
mov rcx, r14
mov r9d, edi
xor r8d, r8d
call fcn.1402017c0
mov r10d, dword [rsp + 0x60]
mov rcx, r14
mov edx, r10d
call fcn.14020a2b0
mov edx, dword [rsp + 0x70]
mov rcx, r14
call fcn.14020a2b0
mov r8d, dword [rsp + 0x19c]
mov edx, 0x92
call fcn.1402017a0
cmp qword [rbx + 0x10], 0
je 0x1401fbaa2
mov r9d, dword [rbx + 0x84]
test r9d, r9d
je 0x1401fba7a
mov r8d, 1
mov edx, 0x47
mov rcx, r14
call fcn.1402017c0
xor r8d, r8d
mov edx, 0x47
mov rcx, r14
mov r9d, dword [rbx + 0x88]
call fcn.1402017c0
mov edx, dword [rsp + 0x78]
mov rcx, r14
call fcn.140209880
mov edx, dword [r14 + 0x90]
mov r8d, dword [rsp + 0x90]
mov dword [rax + 4], edx
mov edx, 0x43
call fcn.1402017a0
mov r9d, dword [rsp + 0x9c]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 9
call fcn.1402017c0
mov edx, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0x50]
call fcn.14020bd60
or r8d, 0xffffffff
mov rdx, r13
mov rcx, r12
mov eax, dword [rsp + 0x9c]
lea r9, [rsp + 0x108]
mov dword [rsp + 0x128], 0
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xfc]
mov qword [rsp + 0x20], rax
call fcn.1401cc000
mov edx, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x50]
call fcn.14020bd60
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0xa8]
call fcn.1402017a0
mov edx, dword [rsp + 0x9c]
jmp 0x1401fcaf5
test rbx, rbx
je 0x1401fbbe0
mov rax, qword [r13 + 0x20]
mov edx, dword [rax]
add rax, 8
test edx, edx
jle 0x1401fbb78
mov word [rax + 0x1a], 0
dec edx
add rax, 0x20
jmp 0x1401fbb66
mov ecx, dword [rbx]
lea rdx, [rbx + 8]
mov eax, ecx
test eax, eax
jle 0x1401f9eaa
mov word [rdx + 0x1a], 0
dec eax
add rdx, 0x20
jmp 0x1401fbb80
cmp dword [rdx], ecx
jne 0x1401f9ed5
xor r8d, r8d
mov eax, 0x18
cmp r8d, ecx
jge 0x1401fbbc0
mov r9b, byte [rdx + rax]
inc r8d
and r9d, 1
mov byte [rbx + rax], r9b
add rax, 0x20
jmp 0x1401fbba6
or r8d, 0xffffffff
mov rcx, rbx
call fcn.1401db750
test eax, eax
sete al
movzx eax, al
mov dword [rsp + 0x90], eax
jmp 0x1401f9ed5
mov word [r13 + 2], 0
mov dword [rsp + 0x90], 0
jmp 0x1401f9ed5
mov eax, dword [r13 + 0x10]
lea rdx, [rsp + 0x180]
mov ecx, 8
mov rdi, rdx
mov dword [r14 + 0x34], eax
xor eax, eax
rep stosd dword [rdi], eax
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], r15
mov qword [rsp + 0x178], r14
test rbx, rbx
je 0x1401fbc32
mov eax, dword [rbx]
mov word [r14 + 2], ax
mov rdx, qword [rsp + 0x68]
lea rcx, [rsp + 0x168]
mov qword [r14 + 0x10], rbx
mov qword [rsp + 0x88], rcx
call fcn.1401d80e0
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x88]
call fcn.1401d80e0
cmp qword [rsp + 0xb0], 0
je 0x1401fbce2
test rbx, rbx
je 0x1401fbccd
lea rdx, [rsp + 0x148]
xor eax, eax
mov ecx, 6
mov rdi, rdx
lea r8, [rsp + 0x138]
mov rdx, qword [r13 + 0x40]
rep stosd dword [rdi], eax
lea rax, [0x1401b17e0]
mov rcx, r8
mov qword [rsp + 0x138], r12
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x160], r13
call fcn.14020d740
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0xa8], rax
mov rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0x168]
call fcn.1401d8120
mov eax, dword [r14 + 0x20]
xor ebp, ebp
cmp qword [r13 + 0x38], 0
mov dword [r14 + 0x24], eax
jne 0x1401fbdca
mov rbp, qword [r13 + 0x40]
test rbp, rbp
jne 0x1401fbdc8
cmp dword [r14 + 0x30], 1
jne 0x1401fbdca
mov rax, qword [r14 + 0x28]
mov rax, qword [rax]
mov r11, qword [rax + 0x20]
test r11, r11
je 0x1401fbdca
mov esi, dword [r11]
cmp esi, 1
jne 0x1401fbdca
test byte [rax + 7], 1
jne 0x1401fbdca
mov rdi, qword [rsp + 0x58]
test byte [rdi + 0x62], 1
jne 0x1401fbdca
mov rcx, qword [rax + 8]
lea rdx, [0x1402d0a5a]
mov qword [rsp + 0x88], rcx
call fcn.1401fe2c0
mov rcx, qword [rsp + 0x88]
test eax, eax
jne 0x1401fbd88
mov rcx, qword [r11 + 8]
call fcn.1401d8230
mov dil, byte [rsp + 0x70]
test eax, eax
mov al, 2
cmovne edi, eax
mov byte [rsp + 0x70], dil
jmp 0x1401fbda2
lea rdx, [0x1402d0a5e]
call fcn.1401fe2c0
test eax, eax
jne 0x1401fbdca
mov byte [rsp + 0x70], 1
mov esi, 2
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, r11
call fcn.1401db7e0
mov rbp, rax
test rax, rax
je 0x1401fbdc1
mov al, byte [rsp + 0x70]
mov byte [rbp + 0x18], al
mov byte [rsp + 0x70], sil
jmp 0x1401fbdca
xor ebp, ebp
lea rdx, [rsp + 0x168]
mov rcx, r14
call fcn.140181de0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x1401f9f27
mov eax, dword [r14 + 0x30]
test rbx, rbx
je 0x1401fc6b6
mov word [rsp + 0x9c], 0
dec eax
jne 0x1401fbe8f
mov rax, qword [r14 + 0x28]
cmp dword [rax + 0x10], 0
js 0x1401fbe8f
mov rax, qword [rax]
test rax, rax
je 0x1401fbe86
test byte [rax + 5], 0x10
jne 0x1401fbe8f
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1401fbe8f
mov rdx, qword [rax + 8]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
call fcn.1401daad0
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, rbx
mov rsi, rax
call fcn.1401db7e0
mov r8, rsi
mov rcx, r12
mov rdx, rax
call fcn.1401db4e0
cmp rax, 1
mov qword [rsp + 0x60], rax
sbb eax, eax
mov dword [rsp + 0x9c], eax
not word [rsp + 0x9c]
and word [rsp + 0x9c], 0x500
jmp 0x1401fbe8f
mov qword [rsp + 0x60], 0
mov eax, dword [r12 + 0x34]
mov r9d, dword [r14 + 0x20]
xor r8d, r8d
mov rcx, r12
lea edx, [rax + 1]
mov dword [r12 + 0x34], edx
mov rdx, rbx
mov dword [r14 + 4], eax
call fcn.1401eb500
movzx r9d, word [r14 + 2]
mov r8d, dword [r14 + 4]
mov dword [rsp + 0x30], 0xfffffff8
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x50]
mov edx, 0x77
mov dword [rsp + 0x20], 0
mov qword [rsp + 0xb8], rax
call fcn.140201840
mov edx, dword [r12 + 0x44]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0xe4], eax
mov eax, dword [r12 + 0x38]
lea esi, [rax + 1]
mov dword [rsp + 0xc0], esi
lea esi, [rax + 2]
mov dword [rsp + 0xc8], esi
lea esi, [rax + 3]
mov r9d, dword [rsp + 0xc8]
mov dword [rsp + 0x88], esi
lea esi, [rdx - 1]
mov dword [rsp + 0xdc], esi
lea esi, [rax + 4]
add eax, 5
mov dword [rsp + 0xa0], esi
mov edi, dword [rsp + 0xa0]
lea esi, [rdx - 2]
mov edx, 0x47
mov dword [rsp + 0xc4], eax
mov eax, dword [rbx]
mov dword [rsp + 0xd0], esi
mov dword [r12 + 0x44], esi
lea esi, [rdi + rax]
mov edi, esi
mov dword [rsp + 0xd4], esi
lea esi, [rsi + 1]
add eax, edi
mov dword [rsp + 0xe0], esi
mov dword [r12 + 0x38], eax
call fcn.1402017c0
mov eax, dword [rsp + 0xc4]
add eax, dword [rbx]
xor r8d, r8d
dec eax
mov rcx, qword [rsp + 0x50]
mov edx, 0x4b
mov r9d, dword [rsp + 0xc4]
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xa0]
call fcn.1402017c0
mov edx, 0x40
mov r9, rbx
mov rcx, r12
cmp byte [rsp + 0xfc], 2
mov eax, pe_nt_image_headers64
mov dword [rsp + 0x38], 0
cmovne eax, edx
mov edx, dword [rsp + 0x90]
mov qword [rsp + 0x28], r13
or eax, dword [rsp + 0x9c]
mov r8, qword [rsp + 0xa8]
shl edx, 9
or eax, edx
mov rdx, r15
cwde
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.14020da50
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1401fc043
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.1401db7d0
jmp 0x1401f9f27
cmp qword [r12 + 0x60], 0
je 0x1401fc08a
movsxd rax, dword [r14 + 0x24]
cmp word [r14 + 2], 0
mov dword [r14 + 0x20], eax
je 0x1401fc07a
test eax, eax
jne 0x1401fc067
mov rax, qword [r13 + 0x38]
mov eax, dword [rax]
jmp 0x1401fc075
imul rax, rax, 0x18
add rax, qword [r14 + 0x18]
mov ax, word [rax - 2]
inc eax
mov word [r14 + 2], ax
lea rdx, [rsp + 0x168]
mov rcx, r14
call fcn.140181de0
mov edx, dword [r12 + 0x38]
lea eax, [rdx + 1]
mov dword [r14 + 0xc], eax
mov eax, dword [r14 + 0x30]
add eax, dword [r14 + 0x20]
add eax, edx
mov edx, 0
mov dword [r12 + 0x38], eax
mov rax, qword [rsp + 0x70]
movzx eax, byte [rax + 0x43]
mov dword [rsp + 0xa8], eax
mov rax, qword [rsp + 0x70]
movsx eax, byte [rax + 0x41]
test al, al
cmovs eax, edx
cmp dword [rbx], eax
je 0x1401fc243
cmp byte [rsp + 0xfc], 0
lea r9, str.GROUP_BY
je 0x1401fc0f1
test byte [r13 + 4], 1
lea rax, str.DISTINCT
cmove r9, rax
mov rcx, r12
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
call fcn.140209500
mov esi, dword [rbx]
mov ecx, dword [r14 + 0x20]
xor eax, eax
mov edi, esi
cmp ecx, eax
jle 0x1401fc127
imul rdx, rax, 0x18
add rdx, qword [r14 + 0x18]
movsx edx, word [rdx + 0x16]
cmp edx, edi
jl 0x1401fc122
inc edi
inc rax
jmp 0x1401fc10c
mov edx, edi
mov rcx, r12
call fcn.1401e79a0
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rdx, rbx
mov r8d, eax
mov r15d, eax
call fcn.1401d83e0
mov byte [r14], 1
xor r9d, r9d
cmp dword [r14 + 0x20], r9d
jle 0x1401fc188
imul rax, r9, 0x18
add rax, qword [r14 + 0x18]
movsx edx, word [rax + 0x16]
cmp edx, esi
jl 0x1401fc183
mov rdx, qword [rax + 8]
lea r8d, [rsi + r15]
mov rcx, r12
mov qword [rsp + 0x78], r9
inc esi
call fcn.1401d8330
mov r9, qword [rsp + 0x78]
inc r9
jmp 0x1401fc151
mov byte [r14], 0
mov rcx, r12
mov r8d, r15d
mov r9d, edi
mov edx, 0x61
call fcn.1401e79e0
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov esi, eax
call fcn.1402017e0
mov r8d, dword [r14 + 4]
mov rcx, qword [rsp + 0x50]
mov r9d, esi
mov edx, 0x8b
call fcn.1402017c0
mov edx, esi
mov rcx, r12
call fcn.1401f8070
mov edx, r15d
mov r8d, edi
call fcn.1401f8050
mov rcx, qword [rsp + 0x70]
call fcn.140210bb0
mov esi, dword [r12 + 0x34]
mov rcx, r12
mov edx, 0x79
lea eax, [rsi + 1]
mov r8d, esi
mov dword [r12 + 0x34], eax
mov dword [r14 + 8], esi
call fcn.1401e79e0
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x50]
mov r9d, eax
mov r15d, eax
call fcn.1402017e0
mov r8d, dword [r14 + 4]
mov rcx, qword [rsp + 0x50]
mov edx, 0x22
mov r9d, dword [rsp + 0x80]
call fcn.1402017c0
mov byte [r14 + 1], 1
mov dword [rsp + 0x78], 1
jmp 0x1401fc248
xor r15d, r15d
xor esi, esi
cmp qword [r12 + 0x60], 0
je 0x1401fc2a7
lea rdx, [rsp + 0x138]
xor eax, eax
mov ecx, 0xc
xor r8d, r8d
mov rdi, rdx
rep stosd dword [rdi], eax
lea rax, [0x140181450]
mov rdi, rdx
mov qword [rsp + 0x140], rax
cmp dword [r14 + 0x30], r8d
jle 0x1401fc2a7
imul rax, r8, 0x18
add rax, qword [r14 + 0x28]
mov rcx, rdi
mov qword [rsp + 0xe8], r8
mov rdx, qword [rax]
call fcn.14020d740
mov r8, qword [rsp + 0xe8]
inc r8
jmp 0x1401fc279
cmp dword [rsp + 0x90], 0
je 0x1401fc2eb
mov rax, qword [rsp + 0x58]
test byte [rax + 0x60], 4
jne 0x1401fc2eb
cmp dword [rsp + 0x78], 0
jne 0x1401fc2ce
mov rax, qword [rsp + 0x70]
test byte [rax + 0x44], 8
je 0x1401fc2eb
mov edx, dword [rsp + 0x120]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x108], 0
call fcn.140201be0
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x78], 0
mov edi, dword [rax + 0x90]
je 0x1401fc315
mov r8d, dword [r14 + 4]
mov dword [rsp + 0x20], esi
mov r9d, r15d
mov edx, 0x85
mov rcx, rax
call fcn.1402017e0
mov eax, dword [rsp + 0xd4]
xor r15d, r15d
inc eax
mov dword [rsp + 0x90], eax
mov eax, dword [rbx]
cmp eax, r15d
jle 0x1401fc37a
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x78], 0
lea r8d, [rax + r15]
je 0x1401fc35d
mov dword [rsp + 0x20], r8d
mov rcx, qword [rsp + 0x50]
mov r9d, r15d
mov r8d, esi
mov edx, 0x5e
call fcn.1402017e0
jmp 0x1401fc375
mov rax, r15
mov byte [r14], 1
mov rcx, r12
shl rax, 5
mov rdx, qword [rbx + rax + 8]
call fcn.1401d8330
inc r15
jmp 0x1401fc328
cmp qword [rsp + 0xb8], 0
je 0x1401fc38f
mov rsi, qword [rsp + 0xb8]
inc dword [rsi]
mov dword [rsp + 0x20], eax
mov rsi, qword [rsp + 0xb8]
mov edx, 0x5a
mov dword [rsp + 0x30], 0xfffffff8
mov r9d, dword [rsp + 0xe0]
mov qword [rsp + 0x28], rsi
mov r8d, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0x50]
call fcn.140201840
mov rax, qword [rsp + 0x50]
xor r9d, r9d
mov edx, 0xe
mov r15d, dword [rax + 0x90]
mov rcx, rax
lea r8d, [r15 + 1]
mov dword [rsp + 0x20], r8d
call fcn.1402017e0
mov eax, dword [rbx]
mov rcx, qword [r12 + 0x10]
mov edx, 0x4f
mov r9d, dword [rsp + 0xc4]
mov r8d, dword [rsp + 0xe0]
mov dword [rsp + 0x20], eax
call fcn.1402017e0
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
mov r9d, dword [rsp + 0xdc]
mov r8d, dword [rsp + 0x88]
call fcn.1402017c0
mov rcx, qword [rsp + 0x50]
mov edx, 0x3b
mov r9d, dword [rsp + 0x80]
mov r8d, dword [rsp + 0xc8]
call fcn.1402017c0
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
mov r8d, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0xd0]
call fcn.1402017c0
mov rcx, qword [rsp + 0x50]
mov edx, r15d
call fcn.14020a2b0
mov r9d, dword [rsp + 0xa8]
mov r8, r14
mov rcx, r12
mov edx, dword [rsp + 0xc0]
call fcn.14021ff20
mov rcx, qword [rsp + 0x50]
mov r8d, 1
mov r9d, dword [rsp + 0xc0]
mov edx, 0x47
call fcn.1402017c0
cmp dword [rsp + 0x78], 0
je 0x1401fc4d1
mov r8d, dword [r14 + 4]
mov rcx, qword [rsp + 0x50]
mov r9d, edi
mov edx, 0x25
call fcn.1402017c0
jmp 0x1401fc4ec
mov rcx, qword [rsp + 0x70]
call fcn.140210bb0
mov edx, dword [rsp + 0xe4]
mov rcx, qword [rsp + 0x50]
call fcn.140201be0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.1401db7d0
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
mov r9d, dword [rsp + 0xdc]
mov r8d, dword [rsp + 0x88]
call fcn.1402017c0
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.1402098a0
mov rax, qword [rsp + 0x50]
mov r8d, 1
mov r9d, dword [rsp + 0xc8]
mov edx, 0x47
mov rcx, rax
mov esi, dword [rax + 0x90]
call fcn.1402017c0
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0x88]
call fcn.1402017a0
mov edx, dword [rsp + 0xdc]
mov rcx, qword [rsp + 0x50]
call fcn.14020bd60
mov rax, qword [rsp + 0x50]
mov edx, 0x3b
mov r8d, dword [rsp + 0xc0]
mov ebx, dword [rax + 0x90]
mov rcx, rax
lea r9d, [rbx + 2]
inc ebx
call fcn.1402017c0
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0x88]
call fcn.1402017a0
mov rcx, qword [r12 + 0x10]
mov rdx, r14
call fcn.14018f5b0
mov rdx, qword [rsp + 0xb0]
mov r8d, ebx
mov rcx, r12
mov r9d, 0x10
call fcn.1401dac90
mov dword [rsp + 0x38], esi
or r8d, 0xffffffff
mov rdx, r13
mov rax, qword [rsp + 0x210]
mov dword [rsp + 0x30], ebx
lea r9, [rsp + 0x108]
mov rcx, r12
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xfc]
mov qword [rsp + 0x20], rax
call fcn.1401cc000
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0x88]
call fcn.1402017a0
mov edx, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x50]
call fcn.14020bd60
mov rdx, r14
mov rcx, r12
call fcn.1401c4030
mov r9d, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 0x47
call fcn.1402017c0
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0xa0]
call fcn.1402017a0
cmp word [rsp + 0x9c], 0
je 0x1401fcaee
cmp dword [rsp + 0xa8], 0
je 0x1401fcaee
mov rax, qword [r14 + 0x28]
mov edx, dword [rsp + 0xa8]
mov rcx, r12
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call fcn.14018fc50
jmp 0x1401fcaee
cmp qword [r13 + 0x30], 0
jne 0x1401fc8db
mov rcx, qword [r13 + 0x20]
cmp dword [rcx], 1
jne 0x1401fc8db
mov rdx, qword [r13 + 0x28]
cmp dword [rdx], 1
jne 0x1401fc8db
cmp qword [rdx + 0x30], 0
jne 0x1401fc8db
cmp eax, 1
jne 0x1401fc8db
mov rdi, qword [r13 + 0x40]
test rdi, rdi
jne 0x1401fc8db
mov rsi, qword [rdx + 0x28]
cmp byte [rsi + 0x3f], 0
jne 0x1401fc8db
mov rdx, qword [rcx + 8]
cmp byte [rdx], 0xa8
jne 0x1401fc8db
cmp r14, qword [rdx + 0x38]
jne 0x1401fc8db
mov rcx, qword [r14 + 0x28]
mov rcx, qword [rcx + 8]
test byte [rcx + 5], 1
je 0x1401fc8db
test dword [rdx + 4], 0x1000004
jne 0x1401fc8db
mov rdx, qword [rsi + 0x60]
mov rcx, qword [r12]
call fcn.1401f9700
mov ebx, dword [r12 + 0x34]
mov rcx, r12
mov dword [rsp + 0x60], eax
mov edx, dword [rsp + 0x60]
lea eax, [rbx + 1]
mov dword [r12 + 0x34], eax
mov eax, dword [rsi + 0x28]
mov dword [rsp + 0x70], eax
call fcn.1401d3380
mov rax, qword [rsi]
mov r8d, dword [rsi + 0x28]
xor r9d, r9d
mov edx, dword [rsp + 0x60]
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.1401fe810
test byte [rsi + 0x30], 0x80
je 0x1401fc79e
mov rcx, qword [rsi + 0x10]
call fcn.1401f7990
mov rdi, rax
mov rax, qword [r13 + 0x28]
test byte [rax + 0x48], 1
jne 0x1401fc7db
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1401fc7db
test byte [rax + 0x64], 4
jne 0x1401fc7d5
mov edx, dword [rax + 0x5c]
cmp dx, word [rsi + 0x3c]
jge 0x1401fc7d5
cmp qword [rax + 0x48], 0
jne 0x1401fc7d5
test rdi, rdi
je 0x1401fc7d2
cmp dx, word [rdi + 0x5c]
jge 0x1401fc7d5
mov rdi, rax
mov rax, qword [rax + 0x28]
jmp 0x1401fc7ac
xor r15d, r15d
test rdi, rdi
je 0x1401fc7f8
mov eax, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, r12
mov dword [rsp + 0x70], eax
call fcn.1401eb580
mov r15, rax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x28], 1
mov r8d, ebx
mov edx, 0x70
mov r9d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], eax
call fcn.1402018f0
test r15, r15
je 0x1401fc83a
mov rcx, qword [rsp + 0x50]
mov r9d, 0xfffffff8
mov r8, r15
or edx, 0xffffffff
call fcn.140201b50
mov edx, dword [r14 + 0x20]
mov eax, dword [r14 + 0x30]
mov r8d, ebx
mov ecx, dword [r12 + 0x38]
add eax, edx
add eax, ecx
lea r9d, [rcx + 1]
mov rcx, qword [rsp + 0x50]
mov dword [r14 + 0xc], r9d
add r9d, edx
mov edx, 0x62
mov dword [r12 + 0x38], eax
call fcn.1402017c0
mov rcx, qword [rsp + 0x50]
mov r8d, ebx
mov edx, 0x7a
call fcn.1402017a0
cmp byte [r12 + 0x133], 2
jne 0x1401fca8d
lea rax, [0x1402cd40e]
mov rdx, rax
test rdi, rdi
je 0x1401fc8b8
test byte [rsi + 0x30], 0x80
je 0x1401fc8ae
mov cl, byte [rdi + 0x64]
and ecx, 3
cmp cl, 2
je 0x1401fc8b8
mov rax, qword [rdi]
lea rdx, str._USING_COVERING_INDEX
mov qword [rsp + 0x20], rdx
lea r8, str.SCAN__s_s_s
xor edx, edx
mov rcx, r12
mov qword [rsp + 0x28], rax
mov r9, qword [rsi]
call fcn.140209500
jmp 0x1401fca8d
mov esi, dword [r14 + 0x24]
test esi, esi
je 0x1401fc932
xor edx, edx
cmp eax, edx
jle 0x1401fc90a
imul rcx, rdx, 0x18
add rcx, qword [r14 + 0x28]
mov r8, qword [rcx]
test byte [r8 + 7], 1
jne 0x1401fc905
mov rcx, qword [rcx + 8]
test byte [rcx + 4], 0x20
jne 0x1401fc958
inc rdx
jmp 0x1401fc8e5
cmp edx, eax
jne 0x1401fc958
mov eax, dword [r12 + 0x38]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 0x47
lea esi, [rax + 1]
mov dword [r12 + 0x38], esi
mov r9d, esi
call fcn.1402017c0
jmp 0x1401fc95a
xor edi, edi
dec eax
jne 0x1401fc95c
mov rax, qword [r14 + 0x28]
cmp dword [rax + 0x10], 0
js 0x1401fc95c
mov rax, qword [rax]
mov rbx, qword [rax + 0x20]
cmp rbx, 1
sbb edi, edi
not edi
and di, 0x500
jmp 0x1401fc95c
xor esi, esi
xor edi, edi
mov edx, dword [r12 + 0x38]
mov rcx, r12
lea eax, [rdx + 1]
mov dword [r14 + 0xc], eax
mov eax, dword [r14 + 0x30]
add eax, dword [r14 + 0x20]
add eax, edx
mov rdx, r14
mov dword [r12 + 0x38], eax
call fcn.1401c4030
movzx eax, byte [rsp + 0x70]
mov rdx, r15
mov r9, rbp
mov qword [rsp + 0x28], r13
mov r8, qword [rsp + 0xa8]
mov rcx, r12
or edi, eax
mov dword [rsp + 0x38], 0
movzx edi, di
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x30], edi
call fcn.14020da50
mov r15, rax
test rax, rax
je 0x1401f9f27
movzx r10d, byte [rax + 0x43]
mov r8, r14
mov edx, esi
mov rcx, r12
mov r9d, r10d
mov dword [rsp + 0x60], r10d
call fcn.14021ff20
mov r10d, dword [rsp + 0x60]
test r10d, r10d
je 0x1401fca04
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x1401fca04
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
mov edx, r10d
mov rcx, r12
call fcn.14018fc50
test esi, esi
je 0x1401fca20
mov rcx, qword [rsp + 0x50]
mov r9d, esi
mov r8d, 1
mov edx, 0x47
call fcn.1402017c0
cmp byte [rsp + 0x70], 0
je 0x1401fca78
test byte [r15 + 0x44], 4
je 0x1401fca78
cmp byte [r15 + 0x41], 0
je 0x1401fca78
movzx eax, byte [r15 + 0x40]
dec eax
cdqe
movsxd rdx, eax
cmp rax, 0xffffffffffffffff
je 0x1401fca6a
imul rcx, rax, 0x70
dec rax
mov rcx, qword [r15 + rcx + 0x3c0]
test byte [rcx + 0x38], 4
je 0x1401fca3e
imul rdx, rdx, 0x70
mov edx, dword [r15 + rdx + 0x370]
jmp 0x1401fca6e
mov edx, dword [r15 + 0x34]
mov rcx, qword [rsp + 0x50]
call fcn.1402098a0
mov rcx, r15
call fcn.140210bb0
mov rcx, qword [r12 + 0x10]
mov rdx, r14
call fcn.14018f5b0
mov r8d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0xb0]
mov r9d, 0x10
mov rcx, r12
mov qword [rsp + 0x108], 0
call fcn.1401dac90
xor r9d, r9d
or r8d, 0xffffffff
mov rdx, r13
mov eax, dword [rsp + 0x80]
mov rcx, r12
mov qword [rsp + 0x20], 0
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x210]
mov qword [rsp + 0x28], rax
call fcn.1401cc000
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.14020bd60
jmp 0x1401fa213
cmp byte [rbx + 0x22], 0x58
jne 0x1401fae5e
cmp byte [rbx + 0x20], 0x59
je 0x1401faed4
mov rdx, qword [rbx + 0x30]
mov rcx, qword [r12]
call fcn.14022d6a0
test eax, eax
je 0x1401faed4
mov dword [rsp + 0x18c], 3
jmp 0x1401faed4
mov r9d, ebp
mov r8d, ebx
mov rdx, r13
mov rcx, r12
call fcn.140190660
test eax, eax
je 0x1401fcb61
cmp dword [r12 + 0x30], 0
jne 0x1401f9831
or ebx, 0xffffffff
mov rax, qword [rsp + 0x58]
mov r15, qword [r13 + 0x28]
cmp byte [rax + 0x67], 0
jne 0x1401f9831
mov rax, qword [rsp + 0x210]
cmp byte [rax], 8
jbe 0x1401f9da6
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x108], rax
jmp 0x1401f9da6
mov eax, r14d
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret