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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rbx, qword [rcx]
xor eax, eax
mov r12d, 1
mov qword [rbp], rax
mov r14d, r12d
mov dword [rsp + 0x40], r12d
mov qword [rbp - 0x60], rax
mov rdi, r8
mov qword [rsp + 0x50], rbx
mov r13, rdx
mov r15, rcx
call fcn.1400e8d94
mov rsi, rax
mov qword [rbp - 0x68], rax
xor eax, eax
test r13, r13
je 0x1400f627a
cmp byte [rbx + 0x61], al
jne 0x1400f627a
cmp dword [r15 + 0x30], eax
jne 0x1400f627a
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea edx, [rax + 0x15]
mov rcx, r15
call fcn.1400d6e8c
xor ecx, ecx
test eax, eax
jne 0x1400f627a
cmp byte [rdi], 6
ja 0x1400f4a1f
mov rdx, qword [r13 + 0x48]
test rdx, rdx
je 0x1400f4a0a
mov rcx, rbx
call fcn.1400c17cc
xor ecx, ecx
lea rdi, [r13 + 4]
mov qword [r13 + 0x48], rcx
mov eax, dword [rdi]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [rdi], eax
jmp 0x1400f4a23
lea rdi, [r13 + 4]
xor r8d, r8d
mov rdx, r13
mov rcx, r15
call fcn.1400f67f8
xor r11d, r11d
cmp dword [r15 + 0x30], r11d
jne 0x1400f6272
cmp byte [rbx + 0x61], r11b
jne 0x1400f6272
test dword [rdi], 0x800000
je 0x1400f4ac0
mov rbx, qword [r13 + 0x28]
mov eax, r12d
mov dword [rbp + 0xd8], eax
mov r14d, dword [rbx]
cmp r14d, r12d
jle 0x1400f4ac0
mov rcx, qword [rbx + 0x28]
lea rdi, [rbx + 0x90]
cmp rcx, qword [rdi + 8]
jne 0x1400f4aaa
mov r11, qword [rbx + 0x20]
mov rdx, qword [rdi]
test r11, r11
jne 0x1400f4a89
neg rdx
sbb ecx, ecx
jmp 0x1400f4a9e
test rdx, rdx
je 0x1400f4aaa
mov rcx, r11
call fcn.1400f79e4
mov ecx, eax
mov eax, dword [rbp + 0xd8]
test ecx, ecx
je 0x1400f4c75
mov rcx, qword [rbx + 0x28]
add eax, r12d
add rdi, 0x70
mov dword [rbp + 0xd8], eax
cmp eax, r14d
jl 0x1400f4a70
lea rdi, [r13 + 4]
mov rax, qword [rbp + 0xd0]
cmp byte [rax], 9
jne 0x1400f4ad7
mov rdx, r13
mov rcx, r15
call fcn.1400c4540
mov rdx, r13
mov rcx, r15
call fcn.14010cc20
mov dword [rsp + 0x40], eax
mov r14d, eax
test eax, eax
jne 0x1400f6268
mov r14d, dword [rdi]
lea r8d, [rax + 0x30]
mov rbx, qword [r13 + 0x28]
lea rcx, [rbp - 0x40]
shr r14d, 3
xor edx, edx
and r14d, r12d
mov qword [rbp - 0x78], rbx
mov dword [rsp + 0x44], r14d
call sub.VCRUNTIME140.dll_memset
mov rax, qword [r13 + 0x48]
xor r11d, r11d
mov ecx, r11d
mov qword [rbp - 0x40], rax
mov dword [rbp + 0xd8], ecx
cmp qword [r13 + 0x50], r11
jne 0x1400f4ce6
mov r10, qword [rsp + 0x50]
lea edx, [r11 + 8]
mov eax, r11d
mov qword [rsp + 0x68], rax
cmp ecx, dword [rbx]
jge 0x1400f4d2e
imul r14, rax, 0x70
mov rax, qword [r14 + rbx + 0x30]
mov r9, qword [r14 + rbx + 0x28]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], r9
test byte [r14 + rbx + 0x44], dl
je 0x1400f4bb7
mov edx, dword [r14 + rbx + 0x4c]
mov rcx, qword [r13 + 0x30]
call fcn.1400e3aac
mov r10, qword [rsp + 0x50]
xor r11d, r11d
test eax, eax
je 0x1400f4ba7
mov eax, 0x2000
test word [r10 + 0x5c], ax
jne 0x1400f4ba7
and byte [r14 + rbx + 0x44], 0xd7
mov rcx, qword [r13 + 0x30]
mov edx, dword [r14 + rbx + 0x4c]
call fcn.14010ee18
mov ecx, dword [rbp + 0xd8]
mov edx, 8
mov r9, qword [rsp + 0x70]
mov r14, qword [rsp + 0x60]
test r14, r14
je 0x1400f4cc1
mov rax, qword [r14 + 0x20]
movsx r8d, word [r9 + 0x46]
mov edx, dword [rax]
cmp r8d, edx
jne 0x1400f4d13
mov edx, 8
test byte [r14 + 4], dl
jne 0x1400f4cc1
cmp qword [r14 + 0x48], r11
je 0x1400f4c10
test ecx, ecx
jne 0x1400f4c10
test dword [rdi], 0x40000
je 0x1400f4c10
cmp dword [rbx], r12d
je 0x1400f4cc1
test byte [rbx + 0xb4], 0xa
jne 0x1400f4cc1
mov r14d, dword [rsp + 0x44]
mov r8d, ecx
mov r9d, r14d
mov rcx, r15
mov rdx, r13
call fcn.1400c374c
xor r11d, r11d
test eax, eax
je 0x1400f4c42
cmp dword [r15 + 0x30], r11d
jne 0x1400f4c93
or rax, 0xffffffffffffffff
mov dword [rbp + 0xd8], eax
mov qword [rsp + 0x68], rax
mov r10, qword [rsp + 0x50]
mov rbx, qword [r13 + 0x28]
mov qword [rbp - 0x78], rbx
cmp byte [r10 + 0x61], r11b
jne 0x1400f4c98
mov rax, qword [rbp + 0xd0]
mov edx, 8
mov ecx, dword [rbp + 0xd8]
cmp byte [rax], dl
jbe 0x1400f4cc6
mov rax, qword [r13 + 0x48]
mov qword [rbp - 0x40], rax
jmp 0x1400f4cc6
test r11, r11
jne 0x1400f4c81
mov rax, qword [rbx + 0x28]
mov r11, qword [rax]
mov r8, r11
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, r15
call fcn.1400e02c4
mov r10, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x40]
mov rax, qword [rbp]
test rax, rax
je 0x1400f4cb1
mov rdx, rax
mov rcx, r10
call fcn.1400c17cc
mov rcx, r15
call fcn.140102ccc
mov eax, r14d
jmp 0x1400f627d
mov r14d, dword [rsp + 0x44]
mov rax, qword [rsp + 0x68]
add ecx, r12d
add rax, r12
mov dword [rbp + 0xd8], ecx
mov qword [rsp + 0x68], rax
cmp qword [r13 + 0x50], r11
je 0x1400f4b46
mov r8, qword [rbp + 0xd0]
mov rdx, r13
mov rcx, r15
call fcn.1400c91b8
mov r10d, eax
xor eax, eax
cmp qword [r13 + 0x58], rax
jne 0x1400f4d0b
mov rcx, r15
call fcn.140102ccc
mov eax, r10d
jmp 0x1400f627d
mov r9, qword [r9]
mov rcx, r15
mov dword [rsp + 0x20], edx
lea rdx, str.expected__d_columns_for__s_but_got__d
call fcn.1400e02c4
jmp 0x1400f4c93
cmp dword [rbx], r12d
jle 0x1400f4d48
cmp word [r10 + 0x5c], r11w
jl 0x1400f4d48
mov rdx, r13
mov rcx, r15
call fcn.1400ceb7c
xor r11d, r11d
lea rdx, [0x1401911d6]
mov ecx, r11d
mov dword [rbp + 0xd8], ecx
cmp dword [rbx], r11d
jle 0x1400f508e
mov rax, r11
mov qword [rbp - 0x78], rbx
mov qword [rsp + 0x70], rax
imul r14, rax, 0x70
add r14, rbx
cmp qword [r14 + 0x60], r11
jne 0x1400f4da5
mov r8, qword [r14 + 0x18]
test r8, r8
je 0x1400f4da5
mov rax, qword [r14 + 0x10]
mov r9, rdx
mov edx, 0x14
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.1400d6e8c
mov ecx, dword [rbp + 0xd8]
xor r11d, r11d
mov rdi, qword [r14 + 0x30]
mov qword [rsp + 0x60], rdi
test rdi, rdi
je 0x1400f5064
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], r11d
mov rcx, r13
call fcn.1400c6164
mov eax, dword [rsp + 0x48]
add dword [r15 + 0x124], eax
mov eax, 0x1000
mov rcx, qword [rsp + 0x50]
test word [rcx + 0x5c], ax
jne 0x1400f4e06
movzx eax, byte [r14 + 0x44]
mov rdx, rdi
mov r9d, dword [r14 + 0x4c]
mov rcx, r15
mov r8, qword [r13 + 0x30]
shr eax, 5
and eax, r12d
mov dword [rsp + 0x20], eax
call fcn.1400cef00
mov rax, qword [r15 + 0x160]
xor ecx, ecx
mov qword [rbp - 0x58], rax
mov rax, qword [r14 + 0x18]
mov qword [r15 + 0x160], rax
cmp qword [rsp + 0x70], rcx
jne 0x1400f4ee9
cmp dword [rbx], r12d
je 0x1400f4e3b
test byte [rbx + 0xb4], 0xa
je 0x1400f4ee9
mov edi, dword [rsi + 0x90]
xor r9d, r9d
add dword [r15 + 0x38], r12d
mov rcx, rsi
mov r8d, dword [r15 + 0x38]
mov dword [r14 + 0x3c], r8d
lea ebx, [rdi + 1]
lea edx, [r9 + 0xd]
mov dword [rsp + 0x20], ebx
call fcn.1400fb03c
mov eax, dword [r14 + 0x3c]
lea r8, str.CO_ROUTINE__u
mov dword [r14 + 0x38], ebx
mov edx, r12d
mov rbx, qword [rsp + 0x60]
mov rcx, r15
mov dword [rbp + 0xc], eax
xor eax, eax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x20], rax
mov dword [rbp + 0x18], eax
mov byte [rbp + 8], 0xd
mov r9d, dword [rbx + 0x10]
call fcn.140102c44
lea r8, [rbp + 8]
mov rdx, rbx
mov rcx, r15
call fcn.1400f4958
movzx eax, word [rbx + 2]
mov rcx, qword [r14 + 0x28]
mov word [rcx + 0x4a], ax
mov rcx, rsi
mov eax, dword [rbp + 0x14]
mov edx, dword [r14 + 0x3c]
or dword [r14 + 0x48], 0x10
mov dword [r14 + 0x40], eax
call fcn.1400fbad8
mov edx, edi
mov rcx, rsi
call fcn.140102f4c
mov ecx, dword [rsi + 0x90]
mov rbx, qword [rbp - 0x78]
mov dword [rax + 8], ecx
jmp 0x1400f5012
mov r9d, dword [r15 + 0x38]
xor r8d, r8d
inc r9d
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov dword [r15 + 0x38], r9d
lea edx, [r8 + 0x45]
mov dword [r14 + 0x3c], r9d
call fcn.1400fb03c
mov dword [rsp + 0x58], eax
lea ecx, [rax + 1]
mov eax, 8
mov dword [r14 + 0x38], ecx
test byte [r14 + 0x48], al
jne 0x1400f4f42
xor r10d, r10d
lea edx, [rax + 9]
xor r9d, r9d
mov dword [rsp + 0x20], r10d
xor r8d, r8d
mov rcx, rsi
call fcn.1400fb03c
mov dword [rsp + 0x48], eax
lea rdx, [r14 + 8]
mov rcx, rbx
call fcn.1400c76c8
xor ecx, ecx
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1400f4f84
mov r9d, dword [rax + 0x44]
lea edx, [rcx + 0x62]
mov r8d, dword [r14 + 0x4c]
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.1400fb03c
mov rcx, qword [rsp + 0x60]
mov rax, qword [rcx + 0x28]
movzx ecx, word [rax + 2]
mov word [rdi + 2], cx
jmp 0x1400f4fbf
mov eax, dword [r14 + 0x4c]
lea r8, str.MATERIALIZE__u
mov qword [rbp + 0x10], rcx
mov edx, r12d
mov qword [rbp + 0x20], rcx
mov dword [rbp + 0x18], ecx
mov rcx, r15
mov dword [rbp + 0xc], eax
mov byte [rbp + 8], 0xc
mov r9d, dword [rdi + 0x10]
call fcn.140102c44
lea r8, [rbp + 8]
mov rdx, rdi
mov rcx, r15
call fcn.1400f4958
movzx eax, word [rdi + 2]
xor r9d, r9d
mov rcx, qword [r14 + 0x28]
mov word [rcx + 0x4a], ax
mov eax, dword [rsp + 0x48]
test eax, eax
je 0x1400f4fe9
mov edx, eax
mov rcx, rsi
call fcn.140102f4c
mov ecx, dword [rsi + 0x90]
mov dword [rax + 8], ecx
mov r8d, dword [r14 + 0x3c]
mov edx, 0x41
mov rcx, rsi
mov dword [rsp + 0x20], r9d
call fcn.1400fb03c
mov edx, dword [rsp + 0x58]
mov rcx, rsi
mov r9d, eax
call fcn.140102f4c
mov dword [rax + 4], r9d
mov r10, qword [rsp + 0x50]
xor r11d, r11d
mov byte [r15 + 0x1f], r11b
mov dword [r15 + 0x28], r11d
cmp byte [r10 + 0x61], r11b
jne 0x1400f4c98
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], r11d
mov rcx, r13
call fcn.1400c6164
mov edx, dword [r15 + 0x124]
sub edx, dword [rsp + 0x48]
mov rax, qword [rbp - 0x58]
xor r11d, r11d
mov ecx, dword [rbp + 0xd8]
mov dword [r15 + 0x124], edx
mov qword [r15 + 0x160], rax
mov rax, qword [rsp + 0x70]
lea rdx, [0x1401911d6]
add rax, r12
add ecx, r12d
mov dword [rbp + 0xd8], ecx
mov qword [rsp + 0x70], rax
cmp ecx, dword [rbx]
jl 0x1400f4d6d
mov r14d, dword [rsp + 0x44]
mov rax, qword [r13 + 0x30]
mov rbx, qword [r13 + 0x20]
mov qword [rsp + 0x68], rax
mov rax, qword [r13 + 0x38]
mov qword [rbp - 0x10], rax
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x70], rax
mov al, byte [r13 + 4]
and al, r12b
mov qword [rbp - 0x58], rbx
mov byte [rbp + 0xd8], al
mov byte [rsp + 0x58], al
mov byte [rbp - 0x50], al
mov eax, dword [r13 + 4]
and al, 9
cmp al, r12b
jne 0x1400f5111
mov rcx, qword [rbp - 0x40]
or r8d, 0xffffffff
mov rdx, rbx
call fcn.1400e3dc8
xor edi, edi
test eax, eax
jne 0x1400f5113
cmp qword [r13 + 0x70], rdi
jne 0x1400f5113
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
and dword [r13 + 4], 0xfffffffe
mov rdx, rbx
call fcn.1400e3e60
mov qword [rbp - 0x10], rax
mov qword [r13 + 0x38], rax
lea eax, [rdi + 8]
or dword [r13 + 4], eax
jmp 0x1400f5113
xor edi, edi
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x1400f517f
mov r9d, dword [rbx]
xor r8d, r8d
mov rcx, r15
call fcn.1400eb5e4
mov r8d, dword [r15 + 0x34]
xor r10d, r10d
mov dword [rbp - 0x34], r8d
mov rdi, rax
mov dword [rsp + 0x20], r10d
lea ecx, [r8 + 1]
mov dword [r15 + 0x34], ecx
mov rcx, qword [rbp - 0x40]
mov r9d, dword [rbx]
mov edx, dword [rcx]
mov rcx, rsi
inc edx
add r9d, edx
lea edx, [r10 + 0x64]
call fcn.1400fb03c
mov r9d, 0xfffffff7
mov r8, rdi
mov edx, eax
mov rcx, rsi
mov ebx, eax
call fcn.1400fb3d8
mov dword [rbp - 0x28], ebx
xor edi, edi
mov rbx, qword [rbp - 0x58]
jmp 0x1400f5183
or dword [rbp - 0x28], 0xffffffff
mov rax, qword [rbp + 0xd0]
cmp byte [rax], 0xc
jne 0x1400f51a7
mov r9d, dword [rbx]
mov edx, 0x64
mov r8d, dword [rax + 4]
mov rcx, rsi
mov dword [rsp + 0x20], edi
call fcn.1400fb03c
dec dword [r15 + 0x44]
mov ecx, 0x4000
mov eax, dword [r15 + 0x44]
mov dword [rbp - 8], eax
test dword [r13 + 4], ecx
jne 0x1400f51c4
mov word [r13 + 2], 0x140
mov r8d, eax
mov rdx, r13
mov rcx, r15
call fcn.1400bc828
xor r9d, r9d
cmp dword [r13 + 8], r9d
jne 0x1400f51f1
mov edx, dword [rbp - 0x28]
test edx, edx
js 0x1400f51f1
mov rcx, rsi
call fcn.140102f4c
mov byte [rax], 0x6f
or byte [rbp - 0x1c], r12b
test byte [r13 + 4], r12b
je 0x1400f526d
mov ebx, dword [r15 + 0x34]
xor r8d, r8d
mov rcx, r15
mov dword [rbp - 0x4c], ebx
lea eax, [rbx + 1]
mov dword [r15 + 0x34], eax
mov rdx, qword [r13 + 0x20]
call fcn.1400eb5e4
xor r10d, r10d
xor r9d, r9d
mov r8d, ebx
mov dword [rsp + 0x20], r10d
mov rcx, rsi
mov rdi, rax
lea edx, [r10 + 0x64]
call fcn.1400fb03c
mov r9d, 0xfffffff7
mov r8, rdi
mov edx, eax
mov rcx, rsi
mov ebx, eax
call fcn.1400fb3d8
movsxd rax, dword [rsi + 0x90]
xor r9d, r9d
mov dword [rbp - 0x48], ebx
test eax, eax
jle 0x1400f5269
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], 8
mov al, 3
jmp 0x1400f5270
mov al, r9b
mov rdi, qword [rbp - 0x10]
mov byte [rbp - 0x4f], al
mov dword [rbp - 0x7c], eax
test r14d, r14d
jne 0x1400f549a
test rdi, rdi
jne 0x1400f549a
movzx ebx, byte [rsp + 0x58]
mov eax, 0x100
mov rdi, qword [r13 + 0x70]
mov ecx, 0x4000
imul ebx, eax
movzx eax, word [r13 + 4]
and ax, cx
or bx, ax
test rdi, rdi
je 0x1400f52bd
mov rdx, r13
mov rcx, r15
call fcn.14010b968
movsx eax, word [r13 + 2]
mov rcx, r15
mov r9, qword [rbp - 0x40]
mov r8, qword [rsp + 0x68]
mov rdx, qword [rbp - 0x78]
mov dword [rsp + 0x30], eax
mov rax, qword [r13 + 0x20]
mov word [rsp + 0x28], bx
mov qword [rsp + 0x20], rax
call fcn.1401081bc
xor r11d, r11d
mov qword [rbp + 0xc8], rax
mov rdx, rax
test rax, rax
je 0x1400f4c93
movzx eax, word [rax + 0x48]
cmp ax, word [r13 + 2]
jge 0x1400f530f
mov word [r13 + 2], ax
cmp byte [rbp + 0xd8], r11b
je 0x1400f532d
movzx ecx, byte [rdx + 0x43]
mov eax, dword [rbp - 0x7c]
test cl, cl
movzx eax, al
cmovne eax, ecx
mov dword [rbp - 0x7c], eax
mov byte [rbp - 0x4f], al
mov r8, qword [rbp - 0x40]
test r8, r8
je 0x1400f536b
movsx r9d, byte [rdx + 0x41]
mov dword [rbp - 0x38], r9d
test byte [rdx + 0x44], 4
jne 0x1400f534a
mov eax, dword [rdx + 0x30]
jmp 0x1400f535d
movzx eax, byte [rdx + 0x40]
lea rcx, [rax + rax*2]
shl rcx, 5
mov eax, dword [rcx + rdx + 0x310]
mov dword [rbp - 0x20], eax
cmp r9d, dword [r8]
cmove r8, r11
mov qword [rbp - 0x40], r8
mov eax, dword [rbp - 0x28]
test eax, eax
js 0x1400f5388
test r8, r8
jne 0x1400f5388
mov edx, eax
mov rcx, rsi
call fcn.1400fb460
mov rdx, qword [rbp + 0xc8]
mov rcx, r15
test rdi, rdi
je 0x1400f5453
mov ebx, dword [r15 + 0x44]
mov r8, rdx
add dword [r15 + 0x38], r12d
dec ebx
mov edi, dword [r15 + 0x38]
mov rdx, r13
mov r9d, edi
mov dword [rsp + 0x20], ebx
lea esi, [rbx - 1]
lea r14d, [rsi - 1]
mov dword [r15 + 0x44], r14d
call fcn.14010bc14
mov rcx, qword [rbp - 0x68]
xor r10d, r10d
mov r9d, r14d
mov dword [rsp + 0x20], r10d
xor r8d, r8d
lea edx, [r10 + 0xb]
call fcn.1400fb03c
mov rcx, qword [rbp - 0x68]
mov edx, ebx
call fcn.140105674
mov rbx, qword [rbp + 0xd0]
lea rax, [rbp - 0x50]
mov dword [rsp + 0x38], r14d
lea r9, [rbp - 0x40]
mov dword [rsp + 0x30], esi
xor r12d, r12d
mov qword [rsp + 0x28], rbx
or r8d, 0xffffffff
mov rdx, r13
mov qword [rsp + 0x20], rax
mov rcx, r15
mov dword [rbp - 0x20], r12d
call fcn.1400d3930
mov edx, esi
mov rsi, qword [rbp - 0x68]
mov rcx, rsi
call fcn.140105674
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, edi
lea edx, [r12 + 0x41]
mov rcx, rsi
call fcn.1400fb03c
mov edx, r14d
mov rcx, rsi
call fcn.140105674
jmp 0x1400f61e9
mov eax, dword [rdx + 0x34]
lea r9, [rbp - 0x40]
mov rbx, qword [rbp + 0xd0]
or r8d, 0xffffffff
mov dword [rsp + 0x38], eax
mov eax, dword [rdx + 0x30]
mov rdx, r13
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.1400d3930
mov rcx, qword [rbp + 0xc8]
call fcn.14010aa50
xor r12d, r12d
jmp 0x1400f61e9
mov dword [rsp + 0x5c], r9d
mov dword [rsp + 0x7c], r9d
mov dword [rbp - 0x70], r9d
test rdi, rdi
je 0x1400f5542
mov rcx, qword [r13 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x1400f54ce
add rcx, 0x22
sub eax, r12d
mov word [rcx], r9w
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1400f54bf
mov eax, dword [rdi]
test eax, eax
jle 0x1400f54e7
lea rcx, [rdi + 0x22]
sub eax, r12d
mov word [rcx], r9w
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x1400f54d8
mov eax, 0x42
cmp word [r13 + 2], ax
jle 0x1400f54f8
mov word [r13 + 2], ax
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x1400f5547
mov eax, dword [rdi]
cmp eax, dword [rdx]
jne 0x1400f5547
mov r8d, r9d
test eax, eax
jle 0x1400f552c
mov rcx, r9
mov al, byte [rcx + rdx + 0x18]
lea rcx, [rcx + 0x20]
and al, r12b
add r8d, r12d
mov byte [rcx + rdi - 8], al
mov rdx, qword [rbp - 0x40]
cmp r8d, dword [rdi]
jl 0x1400f5511
or r8d, 0xffffffff
mov rcx, rdi
call fcn.1400e3dc8
test eax, eax
jne 0x1400f5547
mov dword [rbp - 0x70], r12d
jmp 0x1400f5547
mov word [r13 + 2], r9w
mov eax, dword [r15 + 0x44]
mov edx, 0x48
mov rcx, qword [rsp + 0x50]
dec eax
mov dword [rbp - 0x80], eax
mov dword [r15 + 0x44], eax
call fcn.1400de50c
mov r14, rax
test rax, rax
je 0x1400f4c93
mov rcx, qword [r15 + 0xb8]
xor edx, edx
mov qword [rax + 0x40], rcx
mov qword [r15 + 0xb8], rax
mov ecx, dword [r13 + 0x10]
mov dword [rax + 0x3c], ecx
lea r8d, [rdx + 0x38]
lea rcx, [rbp + 0x38]
call sub.VCRUNTIME140.dll_memset
mov eax, dword [r15 + 0x38]
mov rbx, qword [rbp - 0x78]
add eax, r12d
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], rbx
mov qword [rbp + 0x48], r14
mov dword [r14 + 0x10], eax
xor eax, eax
test rdi, rdi
je 0x1400f55bb
mov eax, dword [rdi]
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp + 0x38]
mov dword [r14 + 0xc], eax
mov qword [r14 + 0x18], rdi
call fcn.1400e07a4
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp + 0x38]
call fcn.1400e07a4
mov rax, qword [rsp + 0x70]
xor r11d, r11d
test rax, rax
je 0x1400f5640
test rdi, rdi
je 0x1400f5631
xor edx, edx
lea r8d, [r11 + 0x30]
lea rcx, [rbp + 8]
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [r13 + 0x40]
lea rax, [0x1400c6034]
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x30], r13
test rdx, rdx
je 0x1400f5623
lea rcx, [rbp + 8]
call fcn.140115630
mov rax, qword [r13 + 0x30]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x70]
mov rdx, rax
lea rcx, [rbp + 0x38]
call fcn.1400e07f8
xor r11d, r11d
mov eax, dword [r14 + 0x28]
mov dword [r14 + 0x2c], eax
cmp qword [r13 + 0x38], r11
jne 0x1400f5680
cmp qword [r13 + 0x40], r11
jne 0x1400f5680
cmp dword [r14 + 0x38], r12d
jne 0x1400f5680
mov rdx, qword [r14 + 0x30]
lea r8, [rbp - 0x60]
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rdx]
call fcn.1400c8bf0
mov byte [rsp + 0x4c], al
xor r11d, r11d
mov rax, qword [rbp - 0x60]
mov qword [rbp], rax
jmp 0x1400f5685
mov byte [rsp + 0x4c], r11b
mov edx, dword [r14 + 0x38]
test edx, edx
jle 0x1400f56fa
mov ecx, dword [rbp + 0x60]
mov rsi, r11
mov ebx, r11d
mov rax, qword [r14 + 0x30]
bts ecx, 0x11
mov rax, qword [rsi + rax]
mov dword [rbp + 0x60], ecx
lea rcx, [rbp + 0x38]
mov qword [rsp + 0x60], rax
mov rdx, qword [rax + 0x20]
call fcn.1400e07a4
mov rdx, qword [rsp + 0x60]
test dword [rdx + 4], 0x1000000
je 0x1400f56d6
mov rdx, qword [rdx + 0x40]
lea rcx, [rbp + 0x38]
mov rdx, qword [rdx + 0x48]
call fcn.1400e07f8
mov ecx, dword [rbp + 0x60]
add ebx, r12d
btr ecx, 0x11
add rsi, 0x18
mov dword [rbp + 0x60], ecx
mov edx, dword [r14 + 0x38]
cmp ebx, edx
jl 0x1400f5696
mov rsi, qword [rbp - 0x68]
xor r11d, r11d
mov rbx, qword [rbp - 0x78]
mov r10, qword [rsp + 0x50]
mov eax, dword [r15 + 0x38]
mov dword [r14 + 0x14], eax
cmp byte [r10 + 0x61], r11b
jne 0x1400f4c98
test rdi, rdi
je 0x1400f5e03
mov eax, dword [r15 + 0x34]
xor r8d, r8d
mov dword [r14 + 4], eax
mov rdx, rdi
add dword [r15 + 0x34], r12d
mov rcx, r15
mov r9d, dword [r14 + 0x28]
call fcn.1400eb5e4
mov r9d, dword [r14 + 0xc]
xor r10d, r10d
mov r8d, dword [r14 + 4]
mov rcx, rsi
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x20], r10d
lea edx, [r10 + 0x6f]
call fcn.1400fb03c
mov r8, qword [rsp + 0x60]
mov r9d, 0xfffffff7
mov edx, eax
mov dword [rbp - 0x78], eax
mov rcx, rsi
call fcn.1400fb3d8
mov eax, dword [r15 + 0x38]
mov ecx, dword [r15 + 0x44]
inc eax
dec ecx
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x58], ecx
lea r8d, [rax + 1]
lea eax, [rcx - 1]
mov dword [rsp + 0x78], r8d
lea edx, [r8 + 2]
mov dword [r15 + 0x44], eax
mov dword [r15 + 0x38], edx
mov r9d, r8d
mov ecx, dword [rdi]
xor r8d, r8d
add ecx, edx
mov dword [rbp - 0x68], eax
mov dword [r15 + 0x38], ecx
mov dword [rsp + 0x44], edx
lea eax, [rcx + 1]
add ecx, dword [rdi]
mov dword [rbp - 0x60], eax
xor eax, eax
mov dword [r15 + 0x38], ecx
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x45]
call fcn.1400fb03c
mov ecx, dword [rdi]
xor r8d, r8d
mov edx, dword [rsp + 0x44]
dec ecx
inc edx
add ecx, edx
mov r9d, edx
mov dword [rsp + 0x20], ecx
lea edx, [r8 + 0x48]
mov rcx, rsi
call fcn.1400fb03c
mov r9d, dword [rbp - 0x68]
xor eax, eax
mov r8d, dword [rsp + 0x44]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0xc]
call fcn.1400fb03c
mov eax, dword [rbp - 0x70]
mov r9, rdi
mov r8, qword [rsp + 0x68]
neg eax
mov rdx, rbx
sbb cx, cx
and cx, 0x200
add cx, 0x40
xor eax, eax
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], cx
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.1401081bc
xor r11d, r11d
mov qword [rsp + 0x68], rax
test rax, rax
je 0x1400f4c93
movsx ecx, byte [rax + 0x41]
cmp ecx, dword [rdi]
jne 0x1400f5866
mov ebx, r11d
mov dword [rbp + 0xd8], ebx
jmp 0x1400f5a8d
cmp byte [rbp + 0xd8], r11b
je 0x1400f587c
lea r9, str.DISTINCT
test byte [r13 + 4], r12b
je 0x1400f5883
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r15
call fcn.140102c44
mov eax, dword [rdi]
xor r10d, r10d
mov ebx, eax
mov dword [rbp + 0xd8], r12d
mov r8d, eax
mov dword [rsp + 0x7c], eax
cmp dword [r14 + 0x28], r10d
jle 0x1400f58dd
mov rdx, qword [r14 + 0x20]
mov r9d, dword [r14 + 0x28]
add rdx, 0x1a
movsx ecx, word [rdx]
lea eax, [rbx + 1]
cmp ecx, r8d
lea rdx, [rdx + 0x20]
cmovl eax, ebx
mov ebx, eax
lea eax, [r8 + 1]
cmovl eax, r8d
mov r8d, eax
sub r9, r12
jne 0x1400f58bb
mov edx, ebx
mov rcx, r15
call fcn.1400e83fc
xor r9d, r9d
mov dword [rsp + 0x40], eax
mov r8d, eax
mov byte [rsp + 0x20], r10b
mov rcx, r15
mov rdx, rdi
call fcn.1400e0c68
xor eax, eax
mov ecx, eax
mov dword [rsp + 0x5c], eax
cmp dword [r14 + 0x28], eax
jle 0x1400f5972
mov r13d, dword [rsp + 0x7c]
mov edi, eax
mov r15d, dword [rsp + 0x40]
mov rdx, qword [r14 + 0x20]
movsx eax, word [rdi + rdx + 0x1a]
cmp eax, r13d
jl 0x1400f594f
movsx r9d, word [rdi + rdx + 0x18]
lea eax, [r15 + r13]
mov r8d, dword [rdi + rdx + 0x10]
mov rcx, rsi
mov rdx, qword [rdi + rdx]
mov dword [rsp + 0x20], eax
call fcn.1400e0f10
mov ecx, dword [rsp + 0x5c]
add r13d, r12d
add ecx, r12d
add rdi, 0x20
mov dword [rsp + 0x5c], ecx
cmp ecx, dword [r14 + 0x28]
jl 0x1400f591b
mov r15, qword [rbp + 0xc0]
mov r13, qword [rbp + 0xc8]
mov rdi, qword [rbp - 0x10]
mov al, byte [r15 + 0x1f]
test al, al
jne 0x1400f5986
mov eax, dword [r15 + 0x38]
inc eax
mov dword [r15 + 0x38], eax
jmp 0x1400f5998
sub al, r12b
movzx eax, al
mov byte [r15 + 0x1f], al
mov eax, dword [r15 + rax*4 + 0xd4]
mov r8d, dword [rsp + 0x40]
mov r9d, ebx
mov edx, 0x5b
mov dword [rbp + 0xc0], eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1400fb03c
mov r9d, dword [rbp + 0xc0]
xor eax, eax
mov r8d, dword [r14 + 4]
mov edx, 0x84
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1400fb03c
mov ecx, dword [rbp + 0xc0]
test ecx, ecx
je 0x1400f59fb
mov eax, 8
cmp byte [r15 + 0x1f], al
jae 0x1400f59fb
movzx eax, byte [r15 + 0x1f]
mov dword [r15 + rax*4 + 0xd4], ecx
add byte [r15 + 0x1f], r12b
mov edx, dword [rsp + 0x40]
mov r8d, ebx
mov rcx, r15
call fcn.1400f32d8
mov rcx, qword [rsp + 0x68]
call fcn.14010aa50
mov ecx, dword [r15 + 0x34]
mov dword [r14 + 8], ecx
add dword [r15 + 0x34], r12d
mov al, byte [r15 + 0x1f]
mov dword [rsp + 0x5c], ecx
test al, al
jne 0x1400f5a38
mov eax, dword [r15 + 0x38]
inc eax
mov dword [r15 + 0x38], eax
jmp 0x1400f5a4a
sub al, r12b
movzx eax, al
mov byte [r15 + 0x1f], al
mov eax, dword [r15 + rax*4 + 0xd4]
mov r8d, ecx
mov dword [rsp + 0x7c], eax
mov rcx, rsi
mov dword [rsp + 0x20], ebx
mov r9d, eax
mov edx, 0x72
call fcn.1400fb03c
mov r9d, dword [rbp - 0x80]
xor eax, eax
mov r8d, dword [r14 + 4]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x23]
call fcn.1400fb03c
mov rax, qword [rsp + 0x68]
xor r11d, r11d
mov byte [r14 + 1], r12b
mov ebx, r12d
cmp dword [rbp - 0x70], r11d
je 0x1400f5abc
mov rcx, qword [rsp + 0x50]
test byte [rcx + 0x5c], 4
jne 0x1400f5abc
test ebx, ebx
jne 0x1400f5aaa
lea ecx, [rbx + 8]
test byte [rax + 0x44], cl
je 0x1400f5abc
mov edx, dword [rbp - 0x28]
mov rcx, rsi
mov qword [rbp - 0x40], r11
call fcn.1400fb460
xor r11d, r11d
mov eax, dword [rsi + 0x90]
mov dword [rbp + 0xc0], eax
test ebx, ebx
je 0x1400f5aed
mov eax, dword [rsp + 0x5c]
mov edx, 0x7e
mov r9d, dword [rsp + 0x7c]
mov rcx, rsi
mov r8d, dword [r14 + 4]
mov dword [rsp + 0x20], eax
call fcn.1400fb03c
xor r11d, r11d
mov ebx, r11d
cmp dword [rdi], r11d
jle 0x1400f5b4c
lea r13, [rdi + 8]
mov r8d, dword [rbp - 0x60]
add r8d, ebx
cmp dword [rbp + 0xd8], r11d
je 0x1400f5b25
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, dword [rsp + 0x5c]
mov edx, 0x59
mov rcx, rsi
call fcn.1400fb03c
jmp 0x1400f5b34
mov byte [r14], r12b
mov rcx, r15
mov rdx, qword [r13]
call fcn.1400e0b9c
add ebx, r12d
add r13, 0x20
mov r11d, 0
cmp ebx, dword [rdi]
jl 0x1400f5af9
mov r13, qword [rbp + 0xc8]
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1400f5b59
add dword [rbx], r12d
mov r8d, dword [rsp + 0x44]
mov edx, 0x56
mov eax, dword [rdi]
inc r8d
mov r9d, dword [rbp - 0x60]
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.1400fb03c
mov r9d, 0xfffffff7
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.1400fb3d8
mov ebx, dword [rsi + 0x90]
xor r9d, r9d
mov rcx, rsi
lea r8d, [rbx + 1]
lea edx, [r9 + 0x10]
mov dword [rsp + 0x20], r8d
call fcn.1400fb03c
mov r9d, dword [rsp + 0x44]
mov edx, 0x4c
mov eax, dword [rdi]
inc r9d
mov r8d, dword [rbp - 0x60]
mov rcx, qword [r15 + 0x10]
mov dword [rsp + 0x20], eax
call fcn.1400fb03c
mov r8d, dword [rsp + 0x78]
xor edi, edi
mov r9d, dword [rsp + 0x58]
inc r8d
mov rcx, rsi
mov dword [rsp + 0x20], edi
lea edx, [rdi + 0xc]
call fcn.1400fb03c
mov r8d, dword [rsp + 0x78]
mov edx, 0x30
mov dword [rsp + 0x20], edi
mov rcx, rsi
mov edi, dword [rbp - 0x80]
mov r9d, edi
call fcn.1400fb03c
mov r9d, dword [rbp - 0x68]
xor eax, eax
mov r8d, dword [rsp + 0x44]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0xc]
call fcn.1400fb03c
mov edx, ebx
mov rcx, rsi
call fcn.140102f4c
mov ecx, dword [rsi + 0x90]
mov r8, r14
mov edx, dword [rsp + 0x48]
mov dword [rax + 8], ecx
mov rcx, r15
call fcn.14010eeb0
mov r9d, dword [rsp + 0x48]
xor eax, eax
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x45]
call fcn.1400fb03c
xor ebx, ebx
cmp dword [rbp + 0xd8], ebx
je 0x1400f5c7e
mov r9d, dword [rbp + 0xc0]
lea edx, [rbx + 3]
mov r8d, dword [r14 + 4]
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.1400fb03c
jmp 0x1400f5c93
mov rcx, qword [rsp + 0x68]
call fcn.14010aa50
mov edx, dword [rbp - 0x78]
mov rcx, rsi
call fcn.1400fb460
mov r8d, dword [rsp + 0x78]
mov edx, 0xc
mov r9d, dword [rsp + 0x58]
inc r8d
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.1400fb03c
xor eax, eax
mov r9d, edi
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0xb]
call fcn.1400fb03c
mov r9d, dword [rsp + 0x78]
xor eax, eax
mov edi, dword [rsi + 0x90]
mov r8d, r12d
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x45]
call fcn.1400fb03c
mov r12d, dword [rsp + 0x78]
xor eax, eax
inc r12d
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, r12d
mov rcx, rsi
lea edx, [rax + 0x41]
call fcn.1400fb03c
mov edx, dword [rsp + 0x58]
mov rcx, rsi
call fcn.140105674
mov ebx, dword [rsi + 0x90]
xor eax, eax
mov r8d, dword [rsp + 0x48]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x30]
lea r9d, [rbx + 2]
call fcn.1400fb03c
xor eax, eax
xor r9d, r9d
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x41]
call fcn.1400fb03c
mov rdx, r14
mov rcx, r15
call fcn.1400c2228
mov rdx, qword [rsp + 0x70]
inc ebx
mov r8d, ebx
mov r9d, 0x10
mov rcx, r15
call fcn.1400e32a8
mov rax, qword [rbp + 0xd0]
lea r9, [rbp - 0x40]
mov dword [rsp + 0x38], edi
or r8d, 0xffffffff
mov dword [rsp + 0x30], ebx
mov rdx, r13
mov qword [rsp + 0x28], rax
mov rcx, r15
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
call fcn.1400d3930
xor ebx, ebx
xor r9d, r9d
mov r8d, r12d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
lea edi, [rbx + 0x41]
mov edx, edi
call fcn.1400fb03c
mov edx, dword [rbp - 0x68]
mov rcx, rsi
call fcn.140105674
mov rdx, r14
mov rcx, r15
call fcn.1400d12c8
mov r9d, dword [rsp + 0x48]
lea edx, [rbx + 0x45]
xor r8d, r8d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.1400fb03c
xor r9d, r9d
mov dword [rsp + 0x20], ebx
lea r8d, [r12 + 1]
mov edx, edi
mov rcx, rsi
call fcn.1400fb03c
mov ebx, dword [rbp - 0x80]
xor r12d, r12d
jmp 0x1400f61d8
cmp qword [r13 + 0x30], r11
jne 0x1400f6077
mov rax, qword [r13 + 0x20]
cmp dword [rax], r12d
jne 0x1400f6077
mov r8, qword [r13 + 0x28]
cmp dword [r8], r12d
jne 0x1400f6077
cmp qword [r8 + 0x30], r11
jne 0x1400f6077
mov r8, qword [r8 + 0x28]
mov r9, qword [rax + 8]
cmp dword [r8 + 0x54], r11d
jne 0x1400f6077
cmp byte [r9], 0xa5
jne 0x1400f6077
test edx, edx
je 0x1400f6077
mov rax, qword [r14 + 0x30]
mov rcx, qword [rax + 8]
mov eax, 0x100
test dword [rcx + 4], eax
je 0x1400f6077
test dword [r9 + 4], 0x1000002
jne 0x1400f6077
test r8, r8
je 0x1400f6077
mov r9, qword [r8 + 0x70]
mov edx, 0xffff8000
mov dword [rbp + 0xc8], edx
mov rdi, r8
test r9, r9
je 0x1400f5ec4
mov rax, qword [r15]
mov edx, r11d
mov dword [rbp + 0xc8], edx
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], r9
je 0x1400f5ec4
add edx, r12d
lea rcx, [rcx + 0x20]
cmp qword [rcx], r9
jne 0x1400f5eb2
mov dword [rbp + 0xc8], edx
mov eax, dword [r15 + 0x34]
mov rcx, r15
mov dword [rbp + 0xd8], eax
mov rbx, r11
inc eax
mov qword [rsp + 0x60], r11
mov dword [r15 + 0x34], eax
mov eax, dword [rdi + 0x38]
mov dword [rbp + 0xc0], eax
call fcn.1400dc1bc
mov rax, qword [rdi]
xor r9d, r9d
mov r8d, dword [rdi + 0x38]
mov rcx, r15
mov edx, dword [rbp + 0xc8]
mov qword [rsp + 0x20], rax
call fcn.1400f7bec
xor edx, edx
test byte [rdi + 0x40], 0x80
je 0x1400f5f2a
mov rbx, qword [rdi + 0x10]
jmp 0x1400f5f25
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1400f5f2a
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x1400f5f18
mov rax, qword [r13 + 0x28]
test byte [rax + 0x48], r12b
jne 0x1400f5f67
mov rax, qword [rdi + 0x10]
jmp 0x1400f5f62
test byte [rax + 0x64], 4
jne 0x1400f5f5e
movzx ecx, word [rax + 0x5c]
cmp cx, word [rdi + 0x4c]
jge 0x1400f5f5e
cmp qword [rax + 0x48], rdx
jne 0x1400f5f5e
test rbx, rbx
je 0x1400f5f5b
cmp cx, word [rbx + 0x5c]
jge 0x1400f5f5e
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400f5f3a
test rbx, rbx
je 0x1400f5f85
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r15
mov dword [rbp + 0xc0], eax
call fcn.1400eb69c
mov qword [rsp + 0x60], rax
mov eax, dword [rbp + 0xc8]
mov edx, 0x60
mov r9d, dword [rbp + 0xc0]
mov rcx, rsi
mov r8d, dword [rbp + 0xd8]
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], eax
call fcn.1400fb150
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400f5fcd
mov r9d, 0xfffffff7
mov r8, rax
or edx, 0xffffffff
mov rcx, rsi
call fcn.1400fb3d8
mov r9, qword [r14 + 0x30]
xor eax, eax
mov r8d, dword [rbp + 0xd8]
mov rcx, rsi
mov dword [rsp + 0x20], eax
mov r9d, dword [r9 + 0x10]
lea edx, [rax + 0x5c]
call fcn.1400fb03c
mov r8d, dword [rbp + 0xd8]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x74]
call fcn.1400fb03c
cmp byte [r15 + 0x11b], 2
jne 0x1400f618e
xor r8d, r8d
test rbx, rbx
je 0x1400f6039
test byte [rdi + 0x40], 0x80
je 0x1400f602d
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x1400f6039
mov rax, qword [rbx]
lea rcx, [0x1401911d6]
jmp 0x1400f6046
lea rcx, [0x1401911d6]
mov r12d, r8d
mov rax, rcx
mov r9, qword [rdi]
lea rdx, str._USING_COVERING_INDEX
test r12d, r12d
mov qword [rsp + 0x28], rax
lea r8, str.SCAN_TABLE__s_s_s
cmovne rcx, rdx
xor edx, edx
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.140102c44
jmp 0x1400f618e
mov edi, r11d
cmp dword [r14 + 0x2c], r11d
je 0x1400f60dc
mov r8d, r11d
test edx, edx
jle 0x1400f60b6
mov rcx, qword [r14 + 0x30]
mov r9d, edx
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1400f60a7
mov rax, qword [rcx + 8]
mov edx, r9d
test byte [rax + 4], 0x20
jne 0x1400f60b6
add r8d, r12d
add rcx, 0x18
mov edx, r9d
cmp r8d, r9d
jl 0x1400f608e
cmp r8d, edx
jne 0x1400f60dc
mov edi, dword [r15 + 0x38]
xor r8d, r8d
inc edi
mov dword [rsp + 0x20], r11d
mov r9d, edi
mov dword [r15 + 0x38], edi
mov rcx, rsi
lea edx, [r8 + 0x45]
call fcn.1400fb03c
mov rdx, r14
mov rcx, r15
call fcn.1400d12c8
movzx eax, byte [rsp + 0x4c]
xor ecx, ecx
mov r9, qword [rbp]
mov rdx, rbx
mov r8, qword [rsp + 0x68]
mov dword [rsp + 0x30], ecx
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rcx
mov rcx, r15
call fcn.1401081bc
mov rbx, rax
test rax, rax
je 0x1400f4c93
mov r8, r14
mov edx, edi
mov rcx, r15
call fcn.14010eeb0
xor edx, edx
test edi, edi
je 0x1400f6148
mov dword [rsp + 0x20], edx
mov r9d, edi
mov edx, 0x45
mov r8d, r12d
mov rcx, rsi
call fcn.1400fb03c
xor edx, edx
test byte [rbx + 0x44], 4
je 0x1400f617b
movzx eax, byte [rbx + 0x40]
lea rcx, [rax + rax*2]
shl rcx, 5
mov r9d, dword [rcx + rbx + 0x310]
cmp r9d, dword [rbx + 0x30]
je 0x1400f617b
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.1400fb03c
mov rcx, rbx
call fcn.14010aa50
mov rdx, r14
mov rcx, r15
call fcn.1400c2228
mov ebx, dword [rbp - 0x80]
xor r12d, r12d
mov rdx, qword [rsp + 0x70]
mov r8d, ebx
mov rcx, r15
mov qword [rbp - 0x40], r12
lea r9d, [r12 + 0x10]
call fcn.1400e32a8
mov rax, qword [rbp + 0xd0]
xor r9d, r9d
mov dword [rsp + 0x38], ebx
or r8d, 0xffffffff
mov dword [rsp + 0x30], ebx
mov rdx, r13
mov qword [rsp + 0x28], rax
mov rcx, r15
mov qword [rsp + 0x20], r12
call fcn.1400d3930
mov edx, ebx
mov rcx, rsi
call fcn.140105674
mov rbx, qword [rbp + 0xd0]
cmp byte [rbp - 0x7c], 3
jne 0x1400f6207
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r15
call fcn.140102c44
cmp qword [rbp - 0x40], r12
je 0x1400f624f
cmp dword [rbp - 0x38], r12d
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r9, str.ORDER_BY
mov rcx, r15
cmovg r9, rax
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
call fcn.140102c44
mov rax, qword [rbp - 0x58]
lea r8, [rbp - 0x40]
mov rdx, r13
mov qword [rsp + 0x20], rbx
mov rcx, r15
mov r9d, dword [rax]
call fcn.1400c4b28
mov edx, dword [rbp - 8]
mov rcx, rsi
call fcn.140105674
xor r11d, r11d
cmp dword [r15 + 0x30], r11d
mov r14d, r11d
setg r14b
mov r10, qword [rsp + 0x50]
jmp 0x1400f4c9d
mov r10, rbx
jmp 0x1400f4c9d
mov eax, r12d
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret