Function at 0x1401e9ef0
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.1401d8990
mov qword [rsp + 0x50], rax
test r13, r13
jne 0x1401e9f33
mov r14d, 1
jmp 0x1401ed356
cmp dword [r12 + 0x30], 0
jne 0x1401e9f28
xor r9d, r9d
xor r8d, r8d
mov edx, 0x15
mov rcx, r12
mov qword [rsp + 0x20], 0
call fcn.1401bf230
test eax, eax
jne 0x1401e9f28
mov rax, qword [rsp + 0x210]
cmp byte [rax], 6
ja 0x1401e9f98
mov r8, qword [r13 + 0x48]
test r8, r8
je 0x1401e9f88
lea rdx, [fcn.1401cbf90]
mov rcx, r12
call fcn.1401e45b0
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.1401ed790
mov eax, dword [r12 + 0x30]
mov dword [rsp + 0x78], eax
test eax, eax
jne 0x1401e9ff1
mov r11d, dword [r13 + 4]
bt r11d, 0x17
jae 0x1401ea00a
mov rbx, qword [r13 + 0x28]
lea rcx, [rbx + 8]
mov rdx, rbx
call fcn.1401bae00
test eax, eax
je 0x1401e9fff
mov r8, qword [rbx + 0x20]
test r8, r8
jne 0x1401e9fe2
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.1401c84b0
mov qword [rsp + 0x60], 0
jmp 0x1401ea6ec
and r11d, 0xff7fffff
mov dword [r13 + 4], r11d
mov rax, qword [rsp + 0x210]
cmp byte [rax], 9
jne 0x1401ea022
mov rdx, r13
mov rcx, r12
call fcn.1401d6150
cmp qword [r13 + 0x70], 0
jne 0x1401ea067
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 0x1401ea568
cmp qword [r13 + 0x50], 0
jne 0x1401ea029
mov esi, dword [r13 + 4]
and esi, 0x100000
jne 0x1401ea029
cmp byte [r12 + 0x134], 1
ja 0x1401ea029
mov rcx, r12
call fcn.1401d8990
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.1401c5ef0
mov rbp, rax
test rax, rax
jne 0x1401ea0fc
mov edx, 7
mov rcx, r14
call fcn.1401c8550
mov ebx, eax
jmp 0x1401ea52e
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, [0x140171b70]
mov rcx, r8
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x170], rax
lea rax, [0x1401ed8b0]
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x178], rax
call fcn.1401fdf60
test byte [r13 + 4], 8
mov r8, qword [rsp + 0x90]
jne 0x1401ea187
mov rdx, qword [r13 + 0x48]
mov rcx, r8
lea rax, [0x14017c740]
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x170], rax
call fcn.1401fdf10
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.14017ed60
mov r8, qword [rbx + 0x18]
mov r9d, 1
mov rcx, r12
mov rdx, rax
call fcn.14017ed60
mov rsi, rax
test rax, rax
je 0x1401ea221
mov rdx, qword [r13 + 0x48]
test rdx, rdx
je 0x1401ea221
mov eax, dword [rdx]
mov edi, dword [rsi]
cmp eax, edi
jg 0x1401ea221
mov dword [rsi], eax
or r8d, 0xffffffff
mov rcx, rsi
call fcn.1401cbf10
test eax, eax
jne 0x1401ea21f
mov rdx, qword [r13 + 0x48]
mov rcx, r14
call fcn.1401cbf90
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.1401bd050
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.1401bd050
mov rdx, qword [rsp + 0x138]
xor eax, eax
test rdx, rdx
je 0x1401ea282
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.14017ed60
xor r9d, r9d
mov rcx, r12
mov qword [rsp + 0x138], rax
mov r8, qword [rbx + 0x18]
mov rdx, rax
call fcn.14017ed60
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 0x1401ea31b
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.1401bd050
mov rdx, qword [rsp + 0x138]
xor eax, eax
test rdx, rdx
je 0x1401ea30f
mov eax, dword [rdx]
mov dword [rdi + 0x7c], eax
mov byte [rdi + 0x8c], 1
jmp 0x1401ea342
mov rdx, qword [rsp + 0x138]
xor eax, eax
test rdx, rdx
je 0x1401ea32c
mov eax, dword [rdx]
mov dword [rdi + 0x7c], eax
xor r9d, r9d
mov rcx, r12
call fcn.14017ed60
mov qword [rsp + 0x138], rax
mov rdx, qword [rdi + 0x48]
test rdx, rdx
je 0x1401ea371
xor r8d, r8d
mov rcx, r14
call fcn.1401cb290
mov rdx, qword [rsp + 0x138]
mov rcx, r12
mov r8, rax
call fcn.1401cbca0
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.1401f1f80
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1401ea2c9
cmp qword [rsp + 0x138], 0
jne 0x1401ea3db
lea r8, [0x14029bc2e]
mov edx, 0x9b
mov rcx, r14
call fcn.1401c8630
mov rcx, qword [r12]
mov rdx, rax
call fcn.1401cbcf0
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.1401ed5b0
xor edx, edx
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov r15, rax
call fcn.1401edab0
mov qword [r13 + 0x28], rax
mov rdx, rax
test rax, rax
je 0x1401ea502
or byte [rax + 0x48], 8
mov rcx, r12
mov ebx, 7
mov r8d, 0x40
mov qword [rax + 0x30], r15
call fcn.1401eddb0
or dword [r15 + 4], 0x8000040
mov rdx, r15
mov rcx, r12
call fcn.1401e8e20
mov r8, rax
mov eax, dword [rsp + 0x88]
and eax, 8
or dword [r15 + 4], eax
test r8, r8
je 0x1401ea50f
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, [0x1402028e0]
mov rcx, r9
mov qword [rsp + 0x170], rax
lea rax, [0x1401fe100]
mov qword [rsp + 0x178], rax
lea rax, [0x1401fe0f0]
mov qword [rsp + 0x180], rax
call fcn.1401fdf60
mov r8, qword [rsp + 0x60]
mov rbp, r8
jmp 0x1401ea50d
mov rdx, r15
mov rcx, r14
call fcn.1401ed370
xor ebx, ebx
cmp byte [r14 + 0x67], 0
mov eax, 7
mov r8, rbp
mov rcx, r12
lea rdx, [fcn.1401c5d10]
cmovne ebx, eax
call fcn.1401e45b0
test ebx, ebx
jne 0x1401e9ff1
jmp 0x1401ea029
cmp dword [r15], ebx
jle 0x1401eaa8a
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 0x1401ea57b
test rdi, rdi
jne 0x1401ea5b3
inc ebx
mov rax, qword [r13 + 0x50]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1401ea53b
jmp 0x1401eaa67
mov rcx, qword [r13 + 0x30]
mov edx, dword [r14 + 0x4c]
call fcn.1401cbb40
test eax, eax
je 0x1401ea561
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 0x20
jne 0x1401ea561
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.140210640
jmp 0x1401ea561
mov rax, qword [rdi + 0x20]
movsx r8d, word [rsi + 0x36]
mov eax, dword [rax]
cmp r8d, eax
je 0x1401ea5de
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.1401c84b0
jmp 0x1401ea6ec
mov eax, dword [rdi + 4]
test al, 8
jne 0x1401ea566
mov r8, qword [rdi + 0x48]
test r8, r8
je 0x1401ed2fd
cmp qword [r13 + 0x48], 0
jne 0x1401ea5ff
cmp dword [r15], 1
jle 0x1401ea63a
cmp qword [rdi + 0x60], 0
jne 0x1401ea63a
bt eax, 0x1b
jb 0x1401ea63a
test byte [r13 + 7], 8
jne 0x1401ea63a
mov rax, qword [rsp + 0x58]
test byte [rax + 0x62], 4
jne 0x1401ea63a
lea rdx, [fcn.1401cbf90]
mov rcx, r12
call fcn.1401e45b0
mov qword [rdi + 0x48], 0
jmp 0x1401ed2fd
test ebx, ebx
jne 0x1401ed2fd
test byte [r13 + 6], 4
je 0x1401ed2fd
cmp dword [r15], 1
je 0x1401ea566
test byte [r15 + 0xac], 0x22
je 0x1401ed2fd
jmp 0x1401ea566
cmp word [r13 + 2], 0x42
jle 0x1401ea679
mov word [r13 + 2], 0x42
mov rdx, qword [rsp + 0x108]
mov dword [rsp + 0x90], 0
test rdx, rdx
jne 0x1401ec356
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.1401c5ef0
mov r14, rax
test rax, rax
je 0x1401ea6d1
mov r8, rax
lea rdx, [0x140171b30]
mov rcx, r12
call fcn.1401e45b0
mov rax, qword [rsp + 0x58]
xor ebp, ebp
mov al, byte [rax + 0x67]
mov byte [rsp + 0x70], al
test al, al
je 0x1401ec3b7
mov qword [rsp + 0x60], rbp
mov r14d, 1
jmp 0x1401eaa4b
cmp qword [rbp + 0x50], 0
je 0x1401eabd7
mov rsi, qword [rbp + 0x28]
test rsi, rsi
jne 0x1401eac06
inc ebx
add rbp, 0x68
cmp dword [r15], ebx
jg 0x1401ea6f7
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 0x1401eb056
mov rdx, qword [rsp + 0x108]
test rdx, rdx
je 0x1401eb0af
mov rax, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, r12
mov r9d, dword [rax]
call fcn.1401dbcc0
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.1401f2000
mov dword [rsp + 0x120], eax
mov rax, qword [rsp + 0x210]
cmp byte [rax], 0xc
je 0x1401eb0bf
mov eax, dword [r12 + 0x44]
dec eax
mov dword [rsp + 0xd8], eax
mov dword [r12 + 0x44], eax
test byte [r13 + 5], 0x40
jne 0x1401ea80d
mov word [r13 + 2], 0x140
cmp qword [r13 + 0x60], 0
je 0x1401ea827
mov r8d, dword [rsp + 0xd8]
mov rdx, r13
mov rcx, r12
call fcn.14017a410
cmp dword [r13 + 8], 0
je 0x1401eb182
test byte [r13 + 4], 1
je 0x1401eb1ab
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.1401dbcc0
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.1401f2000
mov rcx, qword [rsp + 0x50]
mov edx, 8
mov dword [rsp + 0x104], eax
call fcn.1401f2380
mov byte [rsp + 0xfd], 3
cmp dword [rsp + 0x70], 0
jne 0x1401ec313
test rbx, rbx
jne 0x1401ec31c
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 0x1401eb1b8
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.1401fe210
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1401e9ff1
mov eax, dword [rax + 0x48]
cmp word [r13 + 2], ax
jle 0x1401ea949
mov word [r13 + 2], ax
cmp byte [rsp + 0xfc], 0
jne 0x1401eb456
mov rcx, qword [rsp + 0x108]
test rcx, rcx
jne 0x1401eb472
mov edx, dword [rsp + 0x120]
test edx, edx
jns 0x1401eb4e7
test rbp, rbp
jne 0x1401eb505
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.1401bc7c0
mov rcx, qword [rsp + 0x70]
call fcn.140201370
cmp byte [rsp + 0xfd], 3
jne 0x1401ea9f5
lea r9, str.DISTINCT
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r12
call fcn.1401f9cc0
cmp qword [rsp + 0x108], 0
je 0x1401eaa28
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.1401a0920
mov edx, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x50]
xor r14d, r14d
call fcn.1401fc520
mov qword [rsp + 0x60], rbp
cmp dword [r12 + 0x30], 0
setg r14b
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.1401cbf90
mov rcx, r12
call fcn.1401f9d40
jmp 0x1401ed356
mov r8, qword [rsp + 0x210]
mov rdx, r13
mov rcx, r12
call fcn.1401a9660
cmp qword [r13 + 0x58], 0
mov r14d, eax
jne 0x1401ed356
jmp 0x1401eaa5a
mov rax, qword [r13 + 0x30]
test rax, rax
je 0x1401eabaf
cmp byte [rax], 0x2c
jne 0x1401eabaf
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 0x80
jne 0x1401eabaf
mov rax, qword [r12]
mov qword [rsp + 0x138], r12
lea rbx, [rsp + 0x138]
lea rsi, [0x1401b0af0]
lea rdi, [0x1401ed8b0]
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 0x1401eab23
cmp dword [rdx], 0
jle 0x1401eab23
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.14017ff60
cmp dword [rsp + 0x148], 0
je 0x1401eaba1
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.1401fdf00
mov rax, qword [rsp + 0x138]
mov rdx, qword [rsp + 0x158]
mov rcx, qword [rax]
call fcn.1401c5d10
cmp dword [rsp + 0x14c], 0
jne 0x1401eaadd
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 0x1401ea715
mov r8, qword [rbp + 0x10]
test r8, r8
je 0x1401ea702
mov rax, qword [rbp + 8]
lea r9, [0x14029aabe]
mov edx, 0x14
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.1401bf230
jmp 0x1401ea702
mov rdx, qword [rsp + 0x68]
mov rcx, r13
movsxd rdi, ebx
mov dword [rsp + 0x168], 0
call fcn.1401a20d0
mov eax, dword [rsp + 0x168]
add dword [r12 + 0x13c], eax
mov rax, qword [rsp + 0x58]
test byte [rax + 0x61], 0x10
jne 0x1401eac68
imul rax, rdi, 0x68
test byte [r15 + rax + 0x49], 1
je 0x1401eac56
mov rax, qword [rbp + 0x60]
cmp byte [rax + 0x12], 0
je 0x1401eac68
cmp dword [rax], 1
jg 0x1401eac68
mov r8, qword [r13 + 0x30]
mov r9, rbp
mov rdx, rsi
mov rcx, r12
call fcn.1401b0e80
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 0x1401eacaf
mov rdx, qword [rbp + 0x60]
mov al, byte [rdx + 0x12]
test al, al
je 0x1401eae25
cmp dword [rdx], 1
jle 0x1401eacaf
cmp al, 2
jne 0x1401eae25
test byte [r15 + 0x44], 0x40
jne 0x1401eae20
mov rax, qword [r12]
test byte [rax + 0x63], 2
jne 0x1401eae20
mov r14d, dword [r15]
lea r8d, [rbx + 1]
mov rdx, rbp
mov rcx, r15
mov r9d, r14d
call fcn.1401a3970
test rax, rax
jne 0x1401eae20
mov eax, dword [r13 + 4]
test ebx, ebx
jne 0x1401ead09
dec r14d
je 0x1401ead38
test byte [r15 + 0xac], 2
jne 0x1401ead38
bt eax, 0x1c
jb 0x1401eae20
jmp 0x1401ead38
bt eax, 0x1c
jb 0x1401eae20
mov rax, rbp
mov edx, ebx
test byte [rax + 0x3c], 0x22
jne 0x1401eae20
test edx, edx
je 0x1401ead38
sub rax, 0x68
dec edx
cmp qword [rax + 0x28], 0
je 0x1401ead18
jmp 0x1401eae20
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.1401f1fa0
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.1401f9cc0
mov r8, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, r12
call fcn.1401e9ef0
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.1401f2680
mov rcx, qword [rsp + 0x50]
mov edx, r14d
call fcn.1401faa70
mov byte [r12 + 0x1f], 0
mov dword [r12 + 0x28], 0
jmp 0x1401eb008
test dil, dil
je 0x1401eae66
mov rdi, qword [rbp + 0x60]
mov r9d, dword [rdi + 4]
test r9d, r9d
jle 0x1401eae66
mov r8d, dword [rdi + 8]
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
call fcn.1401f1f80
mov r8d, dword [rbp + 0x44]
mov r9d, dword [rdi + 0xc]
cmp r8d, r9d
je 0x1401eae61
mov rcx, qword [rsp + 0x50]
mov edx, 0x73
call fcn.1401f1f80
mov eax, dword [rdi + 0x10]
jmp 0x1401eaeba
mov r9d, ebx
xor r8d, r8d
mov rdx, rbp
mov rcx, r15
call fcn.1401a3970
mov rdi, rax
test rax, rax
je 0x1401eaec3
mov r9d, dword [rax + 0x30]
test r9d, r9d
je 0x1401eae9b
mov r8d, dword [rax + 0x34]
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
call fcn.1401f1f80
mov r9d, dword [rdi + 0x44]
mov r8d, dword [rbp + 0x44]
mov edx, 0x73
mov rcx, qword [rsp + 0x50]
call fcn.1401f1f80
mov rax, qword [rdi + 0x28]
mov ax, word [rax + 2]
mov word [rsi + 2], ax
jmp 0x1401eb008
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.1401f1f40
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 0x1401eaf18
mov rcx, qword [rsp + 0x50]
mov edx, 0xf
call fcn.1401f1f40
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.1401f9cc0
mov r8, qword [rsp + 0x68]
mov rdx, rsi
mov rcx, r12
call fcn.1401e9ef0
mov rax, qword [rbp + 0x20]
mov dx, word [rsi + 2]
mov r10d, dword [rsp + 0x90]
mov word [rax + 0x3a], dx
test r10d, r10d
je 0x1401eafa2
mov rcx, qword [rsp + 0x50]
mov edx, r10d
call fcn.1401faa70
mov r8d, dword [rbp + 0x34]
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r9d, edi
call fcn.1401f1f80
mov rcx, qword [rsp + 0x50]
mov edx, r14d
call fcn.1401faa70
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 0x1401eb008
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 0x1401ea6ec
mov rdx, qword [rsp + 0x88]
mov rcx, r13
mov dword [rsp + 0x138], 0
call fcn.1401a20d0
mov eax, dword [rsp + 0x138]
sub dword [r12 + 0x13c], eax
mov rax, qword [rsp + 0x80]
mov qword [r12 + 0x178], rax
jmp 0x1401ea70f
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x108]
or r8d, 0xffffffff
call fcn.1401cbf10
test eax, eax
jne 0x1401ea75d
cmp qword [r13 + 0x70], 0
jne 0x1401ea75d
and dword [r13 + 4], 0xfffffffe
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, qword [rsp + 0x58]
call fcn.1401cbfa0
or dword [r13 + 4], 8
mov qword [r13 + 0x38], rax
mov rbx, rax
mov byte [rsp + 0xfc], 2
jmp 0x1401ea75d
mov dword [rsp + 0x120], 0xffffffff
jmp 0x1401ea7db
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.1401f1f80
test byte [r13 + 5], 8
je 0x1401ea7ec
mov rax, qword [rsp + 0x68]
movsxd rsi, dword [rax]
lea edi, [rsi - 1]
shl rsi, 5
test edi, edi
jle 0x1401eb14a
movsxd rax, edi
mov rcx, qword [rsp + 0x68]
sub rsi, 0x20
shl rax, 5
test byte [rcx + rax + 0x1c], 0x40
jne 0x1401eb14a
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
dec edi
mov rdx, qword [rax + rsi + 8]
call fcn.1401cb1e0
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rax + rsi + 0x10]
call fcn.1401c5d10
mov rax, qword [rsp + 0x68]
dec dword [rax]
jmp 0x1401eb0fc
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax]
xor eax, eax
cmp ecx, eax
jle 0x1401ea7ec
movsxd rdx, eax
mov rsi, qword [rsp + 0x68]
shl rdx, 5
test byte [rsi + rdx + 0x1c], 0x40
jne 0x1401eb17d
mov rdx, rax
shl rdx, 5
mov rdx, qword [rsi + rdx + 8]
mov byte [rdx], 0x79
inc rax
jmp 0x1401eb153
mov edx, dword [rsp + 0x120]
test edx, edx
js 0x1401ea832
mov rcx, qword [rsp + 0x50]
call fcn.1401fa040
mov byte [rax], 0x77
or byte [rsp + 0x12c], 1
jmp 0x1401ea832
mov byte [rsp + 0xfd], 0
jmp 0x1401ea8b0
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.1401d8990
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rbp + 0x58]
mov edx, 0x76
mov rcx, rax
mov r14, rax
call fcn.1401f1f80
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r14
lea r8d, [r9 + 1]
call fcn.1401f1f80
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r14
lea r8d, [r9 + 2]
call fcn.1401f1f80
mov r9d, dword [rbp + 0x58]
mov edx, 0x73
mov rcx, r14
lea r8d, [r9 + 3]
call fcn.1401f1f80
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x1401eb264
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.1401f1fa0
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.1401f1f80
cmp byte [rbp + 0x24], 0
je 0x1401eb362
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.1401f1f80
xor r8d, r8d
mov rcx, r14
mov edx, 0x47
mov r9d, dword [rbp + 0x88]
call fcn.1401f1f80
mov r9d, dword [rbp + 0x58]
mov r8d, dword [rbp + 0x64]
mov rcx, r14
mov edx, 0x73
call fcn.1401f1f80
jmp 0x1401ea8f1
cmp byte [rbx + 0x21], 0x5a
jne 0x1401eb36e
mov rax, qword [rax + 0x38]
cmp rax, rdi
je 0x1401eb407
cmp rax, rsi
je 0x1401eb407
lea rcx, str.lead
cmp rax, rcx
je 0x1401eb42e
lea rdx, [0x1402ace20]
cmp rax, rdx
je 0x1401eb42e
mov rbx, qword [rbx + 0x40]
test rbx, rbx
je 0x1401ea8f1
mov rax, qword [rbx + 0x50]
test byte [rax + 5], 0x10
je 0x1401eb31f
jmp 0x1401eb319
mov rax, qword [rbx + 0x70]
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
mov rdx, qword [rax + 0x20]
call fcn.1401dbcc0
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 0x1401eb3c4
mov rax, qword [rbx + 0x50]
mov rax, qword [rax + 0x38]
cmp byte [rax + 1], 0x69
jne 0x1401eb3c4
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.1401f1f80
mov r11, qword [rsp + 0x70]
mov r8d, 0xfffffff8
mov rcx, r14
mov rdx, r11
call fcn.1401f2270
mov r9d, dword [rbx + 0x68]
xor r8d, r8d
mov edx, 0x47
inc r9d
jmp 0x1401eb449
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 0x1401eb440
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.1401f1f80
jmp 0x1401eb355
mov rax, qword [rsp + 0x70]
mov al, byte [rax + 0x43]
test al, al
je 0x1401ea957
mov byte [rsp + 0xfd], al
jmp 0x1401ea957
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 0x1401eb4bc
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 0x1401eb4c1
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x30]
jmp 0x1401eb4c7
mov eax, dword [rax + 0x370]
mov dword [rsp + 0x128], eax
cmp dword [rcx], edx
jne 0x1401ea968
mov qword [rsp + 0x108], 0
jmp 0x1401ea968
cmp qword [rsp + 0x108], 0
jne 0x1401ea977
mov rcx, qword [rsp + 0x50]
call fcn.1401f23a0
jmp 0x1401ea977
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.1401d8990
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 0x1401eb603
cmp al, 0x5a
je 0x1401eb62b
jmp 0x1401eb689
cmp byte [rbx + 0x20], 0x59
je 0x1401eb694
mov rdx, qword [rbx + 0x28]
mov rcx, qword [r12]
call fcn.14021de60
test eax, eax
je 0x1401eb694
mov dword [rsp + 0x18c], 1
jmp 0x1401eb694
cmp dword [rbx + 0x84], 0
jne 0x1401eb694
mov rax, rbx
lea r8, str.first_value
lea r9, str.nth_value
lea r10, str.lead
lea r11, [0x1402ace20]
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 0x1401eb694
cmp rdx, r11
je 0x1401eb694
mov rax, qword [rax + 0x40]
test rax, rax
jne 0x1401eb653
jmp 0x1401ed2c4
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 0x1401eb6cf
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 0x1401eb6f1
mov eax, dword [r12 + 0x38]
inc eax
mov dword [rsp + 0x60], eax
mov dword [r12 + 0x38], eax
cmp byte [rbx + 0x20], 0x4c
je 0x1401eb75b
xor edx, edx
test r15, r15
je 0x1401eb701
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 0x1401eb71f
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 0x1401eb771
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 0x1401eb7c1
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.1401f1fa0
mov r9d, dword [rsp + 0xc8]
inc r9d
jmp 0x1401eb77f
mov dword [rsp + 0x20], ebp
mov edx, 0x61
mov r8d, edi
mov rcx, r14
mov r9d, dword [rsp + 0x90]
call fcn.1401f1fa0
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x1401eb8be
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.1401dbcc0
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.1401f1fa0
mov r10, qword [rsp + 0xc8]
mov rcx, r14
mov r8d, 0xfffffff8
mov dword [rsp + 0xd0], eax
mov rdx, r10
call fcn.1401f2270
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.1401f1fa0
mov r8d, dword [rsp + 0x90]
mov rcx, r14
mov edx, 0xa
call fcn.1401f1f60
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.1401f1fa0
jmp 0x1401eb8d4
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.1401f1f80
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.1401f1fa0
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.1401f1fa0
mov rcx, r12
mov dword [rsp + 0xd4], eax
call fcn.1401d8990
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.1401f1f80
mov rax, qword [rbp + 0x70]
mov rdx, qword [rax + 0x20]
xor eax, eax
test rdx, rdx
je 0x1401eb987
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 0x1401eba34
mov rax, qword [rsp + 0xc8]
lea rcx, str.first_value
mov rax, qword [rax + 0x38]
cmp rax, rcx
je 0x1401eb9ce
lea rcx, str.nth_value
cmp rax, rcx
jne 0x1401eb9f9
mov r9d, dword [rbp + 0x68]
xor r8d, r8d
mov edx, 0x47
mov rcx, rdi
call fcn.1401f1f80
mov r9d, dword [rbp + 0x68]
xor r8d, r8d
mov rcx, rdi
mov edx, 0x47
inc r9d
call fcn.1401f1f80
mov rax, qword [rsp + 0xc8]
test byte [rax + 5], 0x10
je 0x1401eba34
mov r8d, dword [rbp + 0x64]
test r8d, r8d
je 0x1401eba34
mov edx, 0x92
mov rcx, rdi
call fcn.1401f1f60
mov r9d, dword [rbp + 0x68]
xor r8d, r8d
mov rcx, rdi
mov edx, 0x47
inc r9d
call fcn.1401f1f80
mov rbp, qword [rbp + 0x40]
test rbp, rbp
jne 0x1401eb956
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 0x1401eba89
mov rdx, qword [rbx + 0x28]
mov r8d, esi
mov rcx, r12
call fcn.1401c8af0
xor r8d, r8d
cmp byte [rbx + 0x20], 0x59
mov edx, esi
sete r8b
mov rcx, r12
lea r8d, [r8 + r8*2]
call fcn.14021d690
cmp dword [rsp + 0x60], 0
je 0x1401ebabd
mov rdx, qword [rbx + 0x30]
mov r8d, dword [rsp + 0x60]
mov rcx, r12
call fcn.1401c8af0
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.14021d690
cmp byte [rbx + 0x20], 0x59
je 0x1401ebb74
mov al, byte [rbx + 0x21]
cmp byte [rbx + 0x22], al
jne 0x1401ebb74
test esi, esi
je 0x1401ebb74
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.1401f1fa0
lea r9, [rsp + 0x168]
xor edx, edx
mov rcx, r9
mov qword [rsp + 0xa0], r9
mov edi, eax
call fcn.14021d1a0
mov r8d, dword [rsp + 0x19c]
mov edx, 0x24
mov rcx, r14
call fcn.1401f1f60
mov r9, qword [rsp + 0xa0]
mov rcx, r9
call fcn.14021e060
mov r8d, dword [rsp + 0x19c]
mov edx, 0x92
mov rcx, r14
call fcn.1401f1f60
mov edx, 9
mov rcx, r14
xor r8d, r8d
mov r9d, dword [rsp + 0x88]
call fcn.1401f1f80
mov edx, edi
mov rcx, r14
call fcn.1401faa70
cmp byte [rbx + 0x21], 0x56
jne 0x1401ebbb7
cmp byte [rbx + 0x20], 0x59
je 0x1401ebb87
cmp dword [rsp + 0x60], 0
jne 0x1401ebb9e
mov r8d, dword [rsp + 0x194]
mov edx, 0x24
mov rcx, r14
call fcn.1401f1f60
jmp 0x1401ebbbd
mov dword [rsp + 0x20], esi
mov r9d, dword [rsp + 0x60]
mov r8d, esi
mov rcx, r14
mov edx, 0x6b
call fcn.1401f1fa0
cmp byte [rbx + 0x21], 0x5a
jne 0x1401ebb87
mov r8d, dword [rsp + 0x19c]
mov edx, 0x24
mov rcx, r14
call fcn.1401f1f60
mov r8d, dword [rsp + 0x1a4]
mov edx, 0x24
mov rcx, r14
call fcn.1401f1f60
cmp dword [rsp + 0x80], 0
je 0x1401ebc96
test r15, r15
je 0x1401ebc96
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.1401f1fa0
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.1401f1fa0
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.1401f1fa0
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.1401f1fa0
mov r9d, dword [rsp + 0x88]
xor r8d, r8d
mov edx, 9
mov rcx, r14
call fcn.1401f1f80
mov edx, dword [rsp + 0xd4]
mov rcx, r14
call fcn.1401faa70
cmp dword [rsp + 0x80], 0
je 0x1401ebced
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.14021df10
cmp byte [rbx + 0x21], 0x56
lea rcx, [rsp + 0x168]
jne 0x1401ebdcf
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov qword [rsp + 0x80], rcx
call fcn.14021d7e0
cmp byte [rbx + 0x22], 0x5a
je 0x1401ebfa0
cmp byte [rbx + 0x20], 0x59
mov rcx, qword [rsp + 0x80]
jne 0x1401ebda0
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.14021dbe0
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, qword [rsp + 0x80]
call fcn.14021d7e0
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, qword [rsp + 0x80]
call fcn.14021d7e0
jmp 0x1401ebf0c
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 1
mov qword [rsp + 0x80], rcx
call fcn.14021d7e0
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, qword [rsp + 0x80]
jmp 0x1401ebe45
cmp byte [rbx + 0x22], 0x58
jne 0x1401ebe4f
mov edi, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 3
mov qword [rsp + 0x80], rcx
call fcn.14021d7e0
cmp di, 0x5859
mov rcx, qword [rsp + 0x80]
jne 0x1401ebe11
xor r9d, r9d
mov r8d, esi
mov edx, 2
call fcn.14021d7e0
lea r15, [rsp + 0x168]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov rcx, r15
call fcn.14021d7e0
cmp di, 0x5859
je 0x1401ebfa0
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, r15
call fcn.14021d7e0
jmp 0x1401ebfa0
xor r9d, r9d
xor r8d, r8d
mov edx, 3
mov qword [rsp + 0x80], rcx
call fcn.14021d7e0
cmp byte [rbx + 0x22], 0x5a
je 0x1401ebfa0
cmp byte [rbx + 0x20], 0x59
mov rcx, qword [rsp + 0x80]
jne 0x1401ebf2c
xor r15d, r15d
cmp dword [rsp + 0x60], 0
mov edi, dword [r14 + 0x90]
je 0x1401ebec9
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.14021dbe0
lea rcx, [rsp + 0x168]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov qword [rsp + 0x80], rcx
call fcn.14021d7e0
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, qword [rsp + 0x80]
call fcn.14021d7e0
cmp dword [rsp + 0x60], 0
je 0x1401ebfa0
mov rcx, r14
mov r9d, edi
xor r8d, r8d
mov edx, 9
call fcn.1401f1f80
mov edx, r15d
mov rcx, r14
call fcn.1401fc520
jmp 0x1401ebfa0
xor r15d, r15d
cmp dword [rsp + 0x60], 0
je 0x1401ebf56
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 0x3b
mov rcx, r14
mov dword [rsp + 0x20], 1
call fcn.1401f1fa0
mov r15d, eax
lea rcx, [rsp + 0x168]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
mov qword [rsp + 0x80], rcx
call fcn.14021d7e0
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, qword [rsp + 0x80]
call fcn.14021d7e0
cmp dword [rsp + 0x60], 0
je 0x1401ebfa0
mov edx, r15d
mov rcx, r14
call fcn.1401faa70
mov edx, dword [rsp + 0x88]
mov rcx, r14
call fcn.1401fc520
mov rcx, qword [rsp + 0x70]
call fcn.140201370
cmp qword [rbx + 0x10], 0
je 0x1401ebfeb
mov r9d, dword [rsp + 0x90]
mov edx, 0x47
mov rcx, r14
xor r8d, r8d
call fcn.1401f1f80
mov edx, dword [rsp + 0xd0]
mov rcx, r14
mov dword [rsp + 0x78], eax
call fcn.1401faa70
mov r8d, dword [rsp + 0xb0]
mov edx, 0x24
mov rcx, r14
mov dword [rsp + 0x190], 0
lea r15, [rsp + 0x168]
call fcn.1401f1f60
cmp byte [rbx + 0x22], 0x58
mov dword [rsp + 0x70], eax
jne 0x1401ec06c
mov edi, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 3
mov rcx, r15
call fcn.14021d7e0
cmp di, 0x5859
jne 0x1401ec04f
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, r15
call fcn.14021d7e0
lea rcx, [rsp + 0x168]
xor r9d, r9d
xor r8d, r8d
mov edx, 1
call fcn.14021d7e0
jmp 0x1401ec1df
xor r9d, r9d
xor r8d, r8d
cmp byte [rbx + 0x21], 0x56
mov edx, 3
mov rcx, r15
jne 0x1401ec183
call fcn.14021d7e0
cmp byte [rbx + 0x20], 0x59
mov edi, dword [r14 + 0x90]
mov r9d, 1
jne 0x1401ec0ca
mov r8d, esi
mov edx, 2
mov rcx, r15
call fcn.14021d7e0
xor r8d, r8d
mov edx, 1
mov rcx, r15
mov r9d, 1
mov esi, eax
call fcn.14021d7e0
mov dword [rsp + 0x60], eax
jmp 0x1401ec11d
cmp byte [rbx + 0x22], 0x5a
jne 0x1401ec0ef
mov r8d, esi
mov edx, 1
mov rcx, r15
call fcn.14021d7e0
mov r9d, 1
xor r8d, r8d
mov dword [rsp + 0x60], eax
jmp 0x1401ec10e
mov r8d, dword [rsp + 0x60]
mov edx, 1
mov rcx, r15
call fcn.14021d7e0
mov r9d, 1
mov r8d, esi
mov dword [rsp + 0x60], eax
mov edx, 2
mov rcx, r15
call fcn.14021d7e0
mov esi, eax
mov r9d, edi
xor r8d, r8d
mov edx, 9
mov rcx, r14
call fcn.1401f1f80
mov edx, esi
mov rcx, r14
mov r9d, 1
call fcn.1401faa70
mov edi, dword [r14 + 0x90]
xor r8d, r8d
lea rcx, [rsp + 0x168]
mov edx, 1
call fcn.14021d7e0
xor r8d, r8d
mov edx, 9
mov rcx, r14
mov r9d, edi
mov r15d, eax
call fcn.1401f1f80
mov edx, dword [rsp + 0x60]
mov rcx, r14
call fcn.1401faa70
mov edx, r15d
jmp 0x1401ec1da
call fcn.14021d7e0
xor r8d, r8d
mov edx, 1
mov rcx, r15
mov edi, dword [r14 + 0x90]
mov r9d, 1
call fcn.14021d7e0
xor r9d, r9d
mov r8d, esi
mov edx, 2
mov rcx, r15
mov dword [rsp + 0x60], eax
call fcn.14021d7e0
mov edx, 9
mov rcx, r14
mov r9d, edi
xor r8d, r8d
call fcn.1401f1f80
mov r10d, dword [rsp + 0x60]
mov rcx, r14
mov edx, r10d
call fcn.1401faa70
mov edx, dword [rsp + 0x70]
mov rcx, r14
call fcn.1401faa70
mov r8d, dword [rsp + 0x19c]
mov edx, 0x92
call fcn.1401f1f60
cmp qword [rbx + 0x10], 0
je 0x1401ec262
mov r9d, dword [rbx + 0x84]
test r9d, r9d
je 0x1401ec23a
mov r8d, 1
mov edx, 0x47
mov rcx, r14
call fcn.1401f1f80
xor r8d, r8d
mov edx, 0x47
mov rcx, r14
mov r9d, dword [rbx + 0x88]
call fcn.1401f1f80
mov edx, dword [rsp + 0x78]
mov rcx, r14
call fcn.1401fa040
mov edx, dword [r14 + 0x90]
mov r8d, dword [rsp + 0x90]
mov dword [rax + 4], edx
mov edx, 0x43
call fcn.1401f1f60
mov r9d, dword [rsp + 0x9c]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 9
call fcn.1401f1f80
mov edx, dword [rsp + 0xc4]
mov rcx, qword [rsp + 0x50]
call fcn.1401fc520
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.1401bc7c0
mov edx, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x50]
call fcn.1401fc520
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0xa8]
call fcn.1401f1f60
mov edx, dword [rsp + 0x9c]
jmp 0x1401ed2b5
test rbx, rbx
je 0x1401ec3a0
mov rax, qword [r13 + 0x20]
mov edx, dword [rax]
add rax, 8
test edx, edx
jle 0x1401ec338
mov word [rax + 0x1a], 0
dec edx
add rax, 0x20
jmp 0x1401ec326
mov ecx, dword [rbx]
lea rdx, [rbx + 8]
mov eax, ecx
test eax, eax
jle 0x1401ea66a
mov word [rdx + 0x1a], 0
dec eax
add rdx, 0x20
jmp 0x1401ec340
cmp dword [rdx], ecx
jne 0x1401ea695
xor r8d, r8d
mov eax, 0x18
cmp r8d, ecx
jge 0x1401ec380
mov r9b, byte [rdx + rax]
inc r8d
and r9d, 1
mov byte [rbx + rax], r9b
add rax, 0x20
jmp 0x1401ec366
or r8d, 0xffffffff
mov rcx, rbx
call fcn.1401cbf10
test eax, eax
sete al
movzx eax, al
mov dword [rsp + 0x90], eax
jmp 0x1401ea695
mov word [r13 + 2], 0
mov dword [rsp + 0x90], 0
jmp 0x1401ea695
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 0x1401ec3f2
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.1401c88a0
mov rdx, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x88]
call fcn.1401c88a0
cmp qword [rsp + 0xb0], 0
je 0x1401ec4a2
test rbx, rbx
je 0x1401ec48d
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, [0x1401a1fa0]
mov rcx, r8
mov qword [rsp + 0x138], r12
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x160], r13
call fcn.1401fdf00
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0xa8], rax
mov rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0x168]
call fcn.1401c88e0
mov eax, dword [r14 + 0x20]
xor ebp, ebp
cmp qword [r13 + 0x38], 0
mov dword [r14 + 0x24], eax
jne 0x1401ec58a
mov rbp, qword [r13 + 0x40]
test rbp, rbp
jne 0x1401ec588
cmp dword [r14 + 0x30], 1
jne 0x1401ec58a
mov rax, qword [r14 + 0x28]
mov rax, qword [rax]
mov r11, qword [rax + 0x20]
test r11, r11
je 0x1401ec58a
mov esi, dword [r11]
cmp esi, 1
jne 0x1401ec58a
test byte [rax + 7], 1
jne 0x1401ec58a
mov rdi, qword [rsp + 0x58]
test byte [rdi + 0x62], 1
jne 0x1401ec58a
mov rcx, qword [rax + 8]
lea rdx, [0x14029e10a]
mov qword [rsp + 0x88], rcx
call fcn.1401eea80
mov rcx, qword [rsp + 0x88]
test eax, eax
jne 0x1401ec548
mov rcx, qword [r11 + 8]
call fcn.1401c89f0
mov dil, byte [rsp + 0x70]
test eax, eax
mov al, 2
cmovne edi, eax
mov byte [rsp + 0x70], dil
jmp 0x1401ec562
lea rdx, [0x14029e10e]
call fcn.1401eea80
test eax, eax
jne 0x1401ec58a
mov byte [rsp + 0x70], 1
mov esi, 2
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, r11
call fcn.1401cbfa0
mov rbp, rax
test rax, rax
je 0x1401ec581
mov al, byte [rsp + 0x70]
mov byte [rbp + 0x18], al
mov byte [rsp + 0x70], sil
jmp 0x1401ec58a
xor ebp, ebp
lea rdx, [rsp + 0x168]
mov rcx, r14
call fcn.1401725a0
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x1401ea6e7
mov eax, dword [r14 + 0x30]
test rbx, rbx
je 0x1401ece76
mov word [rsp + 0x9c], 0
dec eax
jne 0x1401ec64f
mov rax, qword [r14 + 0x28]
cmp dword [rax + 0x10], 0
js 0x1401ec64f
mov rax, qword [rax]
test rax, rax
je 0x1401ec646
test byte [rax + 5], 0x10
jne 0x1401ec64f
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1401ec64f
mov rdx, qword [rax + 8]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
call fcn.1401cb290
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov rdx, rbx
mov rsi, rax
call fcn.1401cbfa0
mov r8, rsi
mov rcx, r12
mov rdx, rax
call fcn.1401cbca0
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 0x1401ec64f
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.1401dbcc0
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.1401f2000
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.1401f1f80
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.1401f1fa0
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0xa0]
call fcn.1401f1f80
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.1401fe210
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1401ec803
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.1401cbf90
jmp 0x1401ea6e7
cmp qword [r12 + 0x60], 0
je 0x1401ec84a
movsxd rax, dword [r14 + 0x24]
cmp word [r14 + 2], 0
mov dword [r14 + 0x20], eax
je 0x1401ec83a
test eax, eax
jne 0x1401ec827
mov rax, qword [r13 + 0x38]
mov eax, dword [rax]
jmp 0x1401ec835
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.1401725a0
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 0x1401eca03
cmp byte [rsp + 0xfc], 0
lea r9, str.GROUP_BY
je 0x1401ec8b1
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.1401f9cc0
mov esi, dword [rbx]
mov ecx, dword [r14 + 0x20]
xor eax, eax
mov edi, esi
cmp ecx, eax
jle 0x1401ec8e7
imul rdx, rax, 0x18
add rdx, qword [r14 + 0x18]
movsx edx, word [rdx + 0x16]
cmp edx, edi
jl 0x1401ec8e2
inc edi
inc rax
jmp 0x1401ec8cc
mov edx, edi
mov rcx, r12
call fcn.1401d8160
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rdx, rbx
mov r8d, eax
mov r15d, eax
call fcn.1401c8ba0
mov byte [r14], 1
xor r9d, r9d
cmp dword [r14 + 0x20], r9d
jle 0x1401ec948
imul rax, r9, 0x18
add rax, qword [r14 + 0x18]
movsx edx, word [rax + 0x16]
cmp edx, esi
jl 0x1401ec943
mov rdx, qword [rax + 8]
lea r8d, [rsi + r15]
mov rcx, r12
mov qword [rsp + 0x78], r9
inc esi
call fcn.1401c8af0
mov r9, qword [rsp + 0x78]
inc r9
jmp 0x1401ec911
mov byte [r14], 0
mov rcx, r12
mov r8d, r15d
mov r9d, edi
mov edx, 0x61
call fcn.1401d81a0
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], eax
mov esi, eax
call fcn.1401f1fa0
mov r8d, dword [r14 + 4]
mov rcx, qword [rsp + 0x50]
mov r9d, esi
mov edx, 0x8b
call fcn.1401f1f80
mov edx, esi
mov rcx, r12
call fcn.1401e8830
mov edx, r15d
mov r8d, edi
call fcn.1401e8810
mov rcx, qword [rsp + 0x70]
call fcn.140201370
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.1401d81a0
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x50]
mov r9d, eax
mov r15d, eax
call fcn.1401f1fa0
mov r8d, dword [r14 + 4]
mov rcx, qword [rsp + 0x50]
mov edx, 0x22
mov r9d, dword [rsp + 0x80]
call fcn.1401f1f80
mov byte [r14 + 1], 1
mov dword [rsp + 0x78], 1
jmp 0x1401eca08
xor r15d, r15d
xor esi, esi
cmp qword [r12 + 0x60], 0
je 0x1401eca67
lea rdx, [rsp + 0x138]
xor eax, eax
mov ecx, 0xc
xor r8d, r8d
mov rdi, rdx
rep stosd dword [rdi], eax
lea rax, [0x140171c10]
mov rdi, rdx
mov qword [rsp + 0x140], rax
cmp dword [r14 + 0x30], r8d
jle 0x1401eca67
imul rax, r8, 0x18
add rax, qword [r14 + 0x28]
mov rcx, rdi
mov qword [rsp + 0xe8], r8
mov rdx, qword [rax]
call fcn.1401fdf00
mov r8, qword [rsp + 0xe8]
inc r8
jmp 0x1401eca39
cmp dword [rsp + 0x90], 0
je 0x1401ecaab
mov rax, qword [rsp + 0x58]
test byte [rax + 0x60], 4
jne 0x1401ecaab
cmp dword [rsp + 0x78], 0
jne 0x1401eca8e
mov rax, qword [rsp + 0x70]
test byte [rax + 0x44], 8
je 0x1401ecaab
mov edx, dword [rsp + 0x120]
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x108], 0
call fcn.1401f23a0
mov rax, qword [rsp + 0x50]
cmp dword [rsp + 0x78], 0
mov edi, dword [rax + 0x90]
je 0x1401ecad5
mov r8d, dword [r14 + 4]
mov dword [rsp + 0x20], esi
mov r9d, r15d
mov edx, 0x85
mov rcx, rax
call fcn.1401f1fa0
mov eax, dword [rsp + 0xd4]
xor r15d, r15d
inc eax
mov dword [rsp + 0x90], eax
mov eax, dword [rbx]
cmp eax, r15d
jle 0x1401ecb3a
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x78], 0
lea r8d, [rax + r15]
je 0x1401ecb1d
mov dword [rsp + 0x20], r8d
mov rcx, qword [rsp + 0x50]
mov r9d, r15d
mov r8d, esi
mov edx, 0x5e
call fcn.1401f1fa0
jmp 0x1401ecb35
mov rax, r15
mov byte [r14], 1
mov rcx, r12
shl rax, 5
mov rdx, qword [rbx + rax + 8]
call fcn.1401c8af0
inc r15
jmp 0x1401ecae8
cmp qword [rsp + 0xb8], 0
je 0x1401ecb4f
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.1401f2000
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.1401f1fa0
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.1401f1fa0
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
mov r9d, dword [rsp + 0xdc]
mov r8d, dword [rsp + 0x88]
call fcn.1401f1f80
mov rcx, qword [rsp + 0x50]
mov edx, 0x3b
mov r9d, dword [rsp + 0x80]
mov r8d, dword [rsp + 0xc8]
call fcn.1401f1f80
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
mov r8d, dword [rsp + 0xa0]
mov r9d, dword [rsp + 0xd0]
call fcn.1401f1f80
mov rcx, qword [rsp + 0x50]
mov edx, r15d
call fcn.1401faa70
mov r9d, dword [rsp + 0xa8]
mov r8, r14
mov rcx, r12
mov edx, dword [rsp + 0xc0]
call fcn.1402106e0
mov rcx, qword [rsp + 0x50]
mov r8d, 1
mov r9d, dword [rsp + 0xc0]
mov edx, 0x47
call fcn.1401f1f80
cmp dword [rsp + 0x78], 0
je 0x1401ecc91
mov r8d, dword [r14 + 4]
mov rcx, qword [rsp + 0x50]
mov r9d, edi
mov edx, 0x25
call fcn.1401f1f80
jmp 0x1401eccac
mov rcx, qword [rsp + 0x70]
call fcn.140201370
mov edx, dword [rsp + 0xe4]
mov rcx, qword [rsp + 0x50]
call fcn.1401f23a0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.1401cbf90
mov rcx, qword [rsp + 0x50]
mov edx, 0xa
mov r9d, dword [rsp + 0xdc]
mov r8d, dword [rsp + 0x88]
call fcn.1401f1f80
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.1401fa060
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.1401f1f80
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0x88]
call fcn.1401f1f60
mov edx, dword [rsp + 0xdc]
mov rcx, qword [rsp + 0x50]
call fcn.1401fc520
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.1401f1f80
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0x88]
call fcn.1401f1f60
mov rcx, qword [r12 + 0x10]
mov rdx, r14
call fcn.14017fd70
mov rdx, qword [rsp + 0xb0]
mov r8d, ebx
mov rcx, r12
mov r9d, 0x10
call fcn.1401cb450
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.1401bc7c0
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0x88]
call fcn.1401f1f60
mov edx, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x50]
call fcn.1401fc520
mov rdx, r14
mov rcx, r12
call fcn.1401b47f0
mov r9d, dword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 0x47
call fcn.1401f1f80
mov rcx, qword [rsp + 0x50]
mov edx, 0x43
mov r8d, dword [rsp + 0xa0]
call fcn.1401f1f60
cmp word [rsp + 0x9c], 0
je 0x1401ed2ae
cmp dword [rsp + 0xa8], 0
je 0x1401ed2ae
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.140180410
jmp 0x1401ed2ae
cmp qword [r13 + 0x30], 0
jne 0x1401ed09b
mov rcx, qword [r13 + 0x20]
cmp dword [rcx], 1
jne 0x1401ed09b
mov rdx, qword [r13 + 0x28]
cmp dword [rdx], 1
jne 0x1401ed09b
cmp qword [rdx + 0x30], 0
jne 0x1401ed09b
cmp eax, 1
jne 0x1401ed09b
mov rdi, qword [r13 + 0x40]
test rdi, rdi
jne 0x1401ed09b
mov rsi, qword [rdx + 0x28]
cmp byte [rsi + 0x3f], 0
jne 0x1401ed09b
mov rdx, qword [rcx + 8]
cmp byte [rdx], 0xa8
jne 0x1401ed09b
cmp r14, qword [rdx + 0x38]
jne 0x1401ed09b
mov rcx, qword [r14 + 0x28]
mov rcx, qword [rcx + 8]
test byte [rcx + 5], 1
je 0x1401ed09b
test dword [rdx + 4], 0x1000004
jne 0x1401ed09b
mov rdx, qword [rsi + 0x60]
mov rcx, qword [r12]
call fcn.1401e9ec0
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.1401c3b40
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.1401eefd0
test byte [rsi + 0x30], 0x80
je 0x1401ecf5e
mov rcx, qword [rsi + 0x10]
call fcn.1401e8150
mov rdi, rax
mov rax, qword [r13 + 0x28]
test byte [rax + 0x48], 1
jne 0x1401ecf9b
mov rax, qword [rsi + 0x10]
test rax, rax
je 0x1401ecf9b
test byte [rax + 0x64], 4
jne 0x1401ecf95
mov edx, dword [rax + 0x5c]
cmp dx, word [rsi + 0x3c]
jge 0x1401ecf95
cmp qword [rax + 0x48], 0
jne 0x1401ecf95
test rdi, rdi
je 0x1401ecf92
cmp dx, word [rdi + 0x5c]
jge 0x1401ecf95
mov rdi, rax
mov rax, qword [rax + 0x28]
jmp 0x1401ecf6c
xor r15d, r15d
test rdi, rdi
je 0x1401ecfb8
mov eax, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, r12
mov dword [rsp + 0x70], eax
call fcn.1401dbd40
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.1401f20b0
test r15, r15
je 0x1401ecffa
mov rcx, qword [rsp + 0x50]
mov r9d, 0xfffffff8
mov r8, r15
or edx, 0xffffffff
call fcn.1401f2310
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.1401f1f80
mov rcx, qword [rsp + 0x50]
mov r8d, ebx
mov edx, 0x7a
call fcn.1401f1f60
cmp byte [r12 + 0x133], 2
jne 0x1401ed24d
lea rax, [0x14029aabe]
mov rdx, rax
test rdi, rdi
je 0x1401ed078
test byte [rsi + 0x30], 0x80
je 0x1401ed06e
mov cl, byte [rdi + 0x64]
and ecx, 3
cmp cl, 2
je 0x1401ed078
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.1401f9cc0
jmp 0x1401ed24d
mov esi, dword [r14 + 0x24]
test esi, esi
je 0x1401ed0f2
xor edx, edx
cmp eax, edx
jle 0x1401ed0ca
imul rcx, rdx, 0x18
add rcx, qword [r14 + 0x28]
mov r8, qword [rcx]
test byte [r8 + 7], 1
jne 0x1401ed0c5
mov rcx, qword [rcx + 8]
test byte [rcx + 4], 0x20
jne 0x1401ed118
inc rdx
jmp 0x1401ed0a5
cmp edx, eax
jne 0x1401ed118
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.1401f1f80
jmp 0x1401ed11a
xor edi, edi
dec eax
jne 0x1401ed11c
mov rax, qword [r14 + 0x28]
cmp dword [rax + 0x10], 0
js 0x1401ed11c
mov rax, qword [rax]
mov rbx, qword [rax + 0x20]
cmp rbx, 1
sbb edi, edi
not edi
and di, 0x500
jmp 0x1401ed11c
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.1401b47f0
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.1401fe210
mov r15, rax
test rax, rax
je 0x1401ea6e7
movzx r10d, byte [rax + 0x43]
mov r8, r14
mov edx, esi
mov rcx, r12
mov r9d, r10d
mov dword [rsp + 0x60], r10d
call fcn.1402106e0
mov r10d, dword [rsp + 0x60]
test r10d, r10d
je 0x1401ed1c4
mov rax, qword [r14 + 0x28]
test rax, rax
je 0x1401ed1c4
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
mov edx, r10d
mov rcx, r12
call fcn.140180410
test esi, esi
je 0x1401ed1e0
mov rcx, qword [rsp + 0x50]
mov r9d, esi
mov r8d, 1
mov edx, 0x47
call fcn.1401f1f80
cmp byte [rsp + 0x70], 0
je 0x1401ed238
test byte [r15 + 0x44], 4
je 0x1401ed238
cmp byte [r15 + 0x41], 0
je 0x1401ed238
movzx eax, byte [r15 + 0x40]
dec eax
cdqe
movsxd rdx, eax
cmp rax, 0xffffffffffffffff
je 0x1401ed22a
imul rcx, rax, 0x70
dec rax
mov rcx, qword [r15 + rcx + 0x3c0]
test byte [rcx + 0x38], 4
je 0x1401ed1fe
imul rdx, rdx, 0x70
mov edx, dword [r15 + rdx + 0x370]
jmp 0x1401ed22e
mov edx, dword [r15 + 0x34]
mov rcx, qword [rsp + 0x50]
call fcn.1401fa060
mov rcx, r15
call fcn.140201370
mov rcx, qword [r12 + 0x10]
mov rdx, r14
call fcn.14017fd70
mov r8d, dword [rsp + 0x80]
mov rdx, qword [rsp + 0xb0]
mov r9d, 0x10
mov rcx, r12
mov qword [rsp + 0x108], 0
call fcn.1401cb450
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.1401bc7c0
mov edx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x50]
call fcn.1401fc520
jmp 0x1401ea9d3
cmp byte [rbx + 0x22], 0x58
jne 0x1401eb61e
cmp byte [rbx + 0x20], 0x59
je 0x1401eb694
mov rdx, qword [rbx + 0x30]
mov rcx, qword [r12]
call fcn.14021de60
test eax, eax
je 0x1401eb694
mov dword [rsp + 0x18c], 3
jmp 0x1401eb694
mov r9d, ebp
mov r8d, ebx
mov rdx, r13
mov rcx, r12
call fcn.140180e20
test eax, eax
je 0x1401ed321
cmp dword [r12 + 0x30], 0
jne 0x1401e9ff1
or ebx, 0xffffffff
mov rax, qword [rsp + 0x58]
mov r15, qword [r13 + 0x28]
cmp byte [rax + 0x67], 0
jne 0x1401e9ff1
mov rax, qword [rsp + 0x210]
cmp byte [rax], 8
jbe 0x1401ea566
mov rax, qword [r13 + 0x48]
mov qword [rsp + 0x108], rax
jmp 0x1401ea566
mov eax, r14d
add rsp, 0x1b8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret