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

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x1400ad008]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov r14, qword [rcx]
mov rbx, r8
xor r15d, r15d
mov qword [rbp - 0x58], rbx
mov qword [rbp + 0x38], r15
mov r13, rdx
mov qword [rsp + 0x58], r14
mov r12, rcx
mov qword [rbp + 0x30], rdx
mov edi, 1
mov qword [rbp + 0x70], rcx
call fcn.140052f98
mov qword [rbp - 0x68], rax
mov rsi, rax
test r13, r13
je 0x14005725d
cmp byte [r14 + 0x61], r15b
jne 0x14005725d
cmp dword [r12 + 0x30], r15d
jne 0x14005725d
xor r9d, r9d
mov qword [rsp + 0x20], r15
xor r8d, r8d
lea edx, [rdi + 0x14]
mov rcx, r12
call fcn.14003b8f0
test eax, eax
jne 0x14005725d
xor edx, edx
lea r8d, [rdi + 0x3f]
lea rcx, [rbp - 0x10]
call fcn.140076800
lea eax, [rdi + 7]
cmp byte [rbx], al
ja 0x140056ff1
mov rdx, qword [r13 + 0x48]
test rdx, rdx
je 0x140056fe8
mov rcx, r14
call fcn.140032a90
and dword [r13 + 0xc], 0xfffffffe
mov qword [r13 + 0x48], r15
xor r8d, r8d
mov rdx, r13
mov rcx, r12
call fcn.14005680c
cmp dword [r12 + 0x30], r15d
jne 0x140057219
cmp byte [r14 + 0x61], r15b
jne 0x140057219
cmp byte [rbx], 9
jne 0x140057024
mov rdx, r13
mov rcx, r12
call fcn.1400528b0
mov rdx, r13
mov rcx, r12
call fcn.140068410
test eax, eax
jne 0x140057219
mov eax, dword [r13 + 0xc]
lea rcx, [rbp - 0x40]
mov rbx, qword [r13 + 0x28]
xor edx, edx
shr eax, 3
and eax, edi
mov qword [rbp - 0x60], rbx
mov dword [rsp + 0x64], eax
lea r8d, [rdx + 0x30]
call fcn.140076800
mov ecx, r15d
mov rax, qword [r13 + 0x48]
mov qword [rbp - 0x40], rax
mov dword [rsp + 0x40], ecx
cmp qword [r13 + 0x50], r15
jne 0x1400571bf
mov rax, r15
mov r10d, 8
mov qword [rsp + 0x68], rax
cmp ecx, dword [rbx]
jge 0x140057289
imul r14, rax, 0x70
mov rax, qword [r14 + rbx + 0x30]
mov r9, qword [r14 + rbx + 0x28]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], r9
test byte [r14 + rbx + 0x44], r10b
je 0x1400570ee
mov edx, dword [r14 + rbx + 0x4c]
mov rcx, qword [r13 + 0x30]
call fcn.140036ec4
test eax, eax
je 0x1400570df
mov rax, qword [rsp + 0x58]
mov ecx, 0x2000
test word [rax + 0x5c], cx
jne 0x1400570df
and byte [r14 + rbx + 0x44], 0xd7
mov rcx, qword [r13 + 0x30]
mov edx, dword [r14 + rbx + 0x4c]
call fcn.140050d8c
mov ecx, dword [rsp + 0x40]
mov r10d, 8
mov r9, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
test r14, r14
je 0x14005719d
mov rax, qword [r14]
movsx r8d, word [r9 + 0x46]
mov edx, dword [rax]
cmp r8d, edx
jne 0x1400571fe
test byte [r14 + 0xc], r10b
jne 0x14005719d
cmp qword [r14 + 0x48], r15
je 0x14005713a
test ecx, ecx
jne 0x14005713a
test dword [r13 + 0xc], 0x40000
je 0x14005713a
cmp dword [rbx], edi
je 0x14005719d
test byte [rbx + 0xb4], 0xa
jne 0x14005719d
mov r9d, dword [rsp + 0x64]
mov r8d, ecx
mov rcx, r12
mov rdx, r13
call fcn.140054f98
test eax, eax
je 0x140057169
cmp dword [r12 + 0x30], r15d
jne 0x140057214
or rax, 0xffffffffffffffff
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x68], rax
mov r14, qword [rsp + 0x58]
mov rbx, qword [r13 + 0x28]
mov qword [rbp - 0x60], rbx
cmp byte [r14 + 0x61], r15b
jne 0x140057219
mov rax, qword [rbp - 0x58]
mov r10d, 8
mov ecx, dword [rsp + 0x40]
cmp byte [rax], r10b
jbe 0x1400571a2
mov rax, qword [r13 + 0x48]
mov qword [rbp - 0x40], rax
jmp 0x1400571a2
mov r14, qword [rsp + 0x58]
mov rax, qword [rsp + 0x68]
add ecx, edi
add rax, rdi
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x68], rax
cmp qword [r13 + 0x50], r15
je 0x140057082
mov r8, qword [rbp - 0x58]
mov rdx, r13
mov rcx, r12
call fcn.14005370c
mov r9d, eax
cmp qword [r13 + 0x58], r15
jne 0x1400571f9
mov edx, dword [r12 + 0x110]
test edx, edx
je 0x1400571f1
mov rcx, qword [r12 + 0x10]
call fcn.140021330
mov r15d, dword [rax + 8]
mov dword [r12 + 0x110], r15d
mov eax, r9d
jmp 0x14005725f
mov r9, qword [r9]
mov rcx, r12
mov dword [rsp + 0x20], edx
lea rdx, str.expected__d_columns_for__s_but_got__d
call fcn.140007cc4
mov r14, qword [rsp + 0x58]
mov rdx, qword [rbp + 0x10]
test rdx, rdx
je 0x14005722a
mov rcx, r14
call fcn.14000527c
mov rdx, qword [rbp + 0x20]
test rdx, rdx
je 0x14005723b
mov rcx, r14
call fcn.14000527c
mov edx, dword [r12 + 0x110]
test edx, edx
je 0x140057255
mov rcx, qword [r12 + 0x10]
call fcn.140021330
mov r15d, dword [rax + 8]
mov dword [r12 + 0x110], r15d
mov eax, edi
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1400750d0
mov rbx, qword [rsp + 0x228]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rbx]
cmp eax, edi
jle 0x1400572a3
cmp word [r14 + 0x5c], r15w
jl 0x1400572a3
mov rdx, r13
mov rcx, r12
call fcn.1400557a8
mov eax, dword [rbx]
mov dword [rsp + 0x48], r15d
lea rcx, [0x1400a1140]
test eax, eax
jle 0x14005759c
mov rax, r15
mov qword [rbp - 0x60], rbx
mov qword [rsp + 0x78], rax
imul r14, rax, 0x70
add r14, rbx
cmp qword [r14 + 0x60], r15
jne 0x1400572f2
mov r8, qword [r14 + 0x18]
test r8, r8
je 0x1400572f2
mov rax, qword [r14 + 0x10]
mov r9, rcx
mov rcx, r12
mov qword [rsp + 0x20], rax
mov edx, 0x14
call fcn.14003b8f0
mov rcx, qword [r14 + 0x30]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x140057576
mov rax, qword [rsp + 0x58]
mov edx, 0x1000
test word [rax + 0x5c], dx
jne 0x140057335
movzx eax, byte [r14 + 0x44]
mov rdx, rcx
mov r9d, dword [r14 + 0x4c]
mov rcx, r12
mov r8, qword [r13 + 0x30]
shr eax, 5
and eax, edi
mov dword [rsp + 0x20], eax
call fcn.140055878
mov rax, qword [r12 + 0x148]
mov qword [rbp - 0x48], rax
mov rax, qword [r14 + 0x18]
mov qword [r12 + 0x148], rax
cmp qword [rsp + 0x78], r15
jne 0x14005741a
cmp dword [rbx], edi
je 0x140057369
test byte [rbx + 0xb4], 0xa
je 0x14005741a
mov ebx, dword [rsi + 0x90]
xor r9d, r9d
add dword [r12 + 0x38], edi
add ebx, edi
mov r8d, dword [r12 + 0x38]
mov rcx, rsi
mov dword [r14 + 0x3c], r8d
lea edx, [r9 + 0xd]
mov dword [rsp + 0x20], ebx
call fcn.14002094c
mov eax, dword [r14 + 0x3c]
lea r8, str.CO_ROUTINE__u
mov dword [rbp + 0x44], eax
mov edx, edi
mov rax, qword [rsp + 0x68]
mov rcx, r12
mov dword [r14 + 0x38], ebx
mov byte [rbp + 0x40], 0xd
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x48], r15
mov r9d, dword [rax + 0x18]
call fcn.140020b70
mov rdx, qword [rsp + 0x68]
lea r8, [rbp + 0x40]
mov rcx, r12
call fcn.140056f20
mov rax, qword [rsp + 0x68]
mov rcx, qword [r14 + 0x28]
movzx eax, word [rax + 0xa]
mov word [rcx + 0x48], ax
mov rcx, rsi
mov eax, dword [rbp + 0x48]
mov edx, dword [r14 + 0x3c]
or dword [r14 + 0x48], 0x10
mov dword [r14 + 0x40], eax
call fcn.140020ca8
lea edx, [rbx - 1]
mov rcx, rsi
call fcn.140021330
mov ecx, dword [rsi + 0x90]
mov rbx, qword [rbp - 0x60]
mov dword [rax + 8], ecx
jmp 0x140057551
mov r9d, dword [r12 + 0x38]
xor r8d, r8d
inc r9d
mov dword [rsp + 0x4c], r15d
mov dword [r12 + 0x38], r9d
mov rcx, rsi
mov dword [r14 + 0x3c], r9d
lea edx, [r8 + 0x46]
mov dword [rsp + 0x20], r15d
call fcn.14002094c
mov dword [rsp + 0x54], eax
lea ecx, [rax + 1]
mov eax, 8
mov dword [r14 + 0x38], ecx
test byte [r14 + 0x48], al
jne 0x140057474
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
lea edx, [rax + 9]
mov rcx, rsi
call fcn.14002094c
mov dword [rsp + 0x4c], eax
lea rdx, [r14 + 8]
mov rcx, rbx
call fcn.140056e58
mov qword [rsp + 0x70], rax
test rax, rax
je 0x1400574bc
mov r9d, dword [rax + 0x44]
mov edx, 0x6d
mov r8d, dword [r14 + 0x4c]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14002094c
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx + 0x28]
movzx ecx, word [rax + 0xa]
mov rax, qword [rsp + 0x68]
mov word [rax + 0xa], cx
jmp 0x140057503
mov eax, dword [r14 + 0x4c]
lea r8, str.MATERIALIZE__u
mov dword [rbp + 0x44], eax
mov edx, edi
mov rax, qword [rsp + 0x68]
mov rcx, r12
mov byte [rbp + 0x40], 0xc
mov qword [rbp + 0x50], r15
mov qword [rbp + 0x48], r15
mov r9d, dword [rax + 0x18]
call fcn.140020b70
mov rdx, qword [rsp + 0x68]
lea r8, [rbp + 0x40]
mov rcx, r12
call fcn.140056f20
mov rax, qword [rsp + 0x68]
movzx ecx, word [rax + 0xa]
mov rax, qword [r14 + 0x28]
mov word [rax + 0x48], cx
mov eax, dword [rsp + 0x4c]
test eax, eax
je 0x140057526
mov edx, eax
mov rcx, rsi
call fcn.140021330
mov ecx, dword [rsi + 0x90]
mov dword [rax + 8], ecx
mov r8d, dword [r14 + 0x3c]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x42]
call fcn.14002094c
mov edx, dword [rsp + 0x54]
mov rcx, rsi
mov r9d, eax
call fcn.140021330
mov dword [rax + 4], r9d
mov r14, qword [rsp + 0x58]
mov byte [r12 + 0x1f], r15b
mov dword [r12 + 0x28], r15d
cmp byte [r14 + 0x61], r15b
jne 0x140057219
mov rax, qword [rbp - 0x48]
mov qword [r12 + 0x148], rax
mov ecx, dword [rsp + 0x48]
mov rax, qword [rsp + 0x78]
add ecx, edi
add rax, rdi
mov dword [rsp + 0x48], ecx
cmp ecx, dword [rbx]
lea rcx, [0x1400a1140]
mov qword [rsp + 0x78], rax
jl 0x1400572c3
mov rax, qword [r13 + 0x30]
mov rbx, qword [r13]
mov r14, qword [r13 + 0x38]
mov qword [rbp - 0x70], rax
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x78], rax
mov al, byte [r13 + 0xc]
and al, dil
mov qword [rbp - 0x48], rbx
mov byte [rbp + 0xb0], al
mov eax, dword [r13 + 0xc]
and al, 9
cmp al, dil
jne 0x140057601
mov rcx, qword [rbp - 0x40]
or r8d, 0xffffffff
mov rdx, rbx
call fcn.140036aac
test eax, eax
jne 0x140057601
and dword [r13 + 0xc], 0xfffffffe
xor r8d, r8d
mov rcx, qword [rsp + 0x58]
mov rdx, rbx
call fcn.14003216c
mov r14, rax
mov qword [r13 + 0x38], rax
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x140057670
mov r9d, dword [rbx]
xor r8d, r8d
mov rcx, r12
call fcn.140052144
mov r8d, dword [r12 + 0x34]
mov rdi, rax
mov dword [rbp - 0x34], r8d
mov dword [rsp + 0x20], r15d
lea ecx, [r8 + 1]
mov dword [r12 + 0x34], ecx
mov rcx, qword [rbp - 0x40]
mov r9d, dword [rbx]
mov edx, dword [rcx]
mov rcx, rsi
inc edx
add r9d, edx
mov edx, 0x70
call fcn.14002094c
mov r9d, 0xfffffff7
mov r8, rdi
mov edx, eax
mov rcx, rsi
mov ebx, eax
call fcn.140021244
mov dword [rbp - 0x28], ebx
mov edi, 1
mov rbx, qword [rbp - 0x48]
jmp 0x140057674
or dword [rbp - 0x28], 0xffffffff
mov rax, qword [rbp - 0x58]
cmp byte [rax], 0xc
jne 0x140057696
mov r9d, dword [rbx]
mov edx, 0x70
mov r8d, dword [rax + 4]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14002094c
dec dword [r12 + 0x44]
mov ecx, 0x4000
mov eax, dword [r12 + 0x44]
mov dword [rsp + 0x68], eax
test dword [r13 + 0xc], ecx
jne 0x1400576b9
mov ecx, 0x140
mov word [r13 + 0xa], cx
mov r8d, eax
mov rdx, r13
mov rcx, r12
call fcn.140052fc8
cmp dword [r13 + 0x10], r15d
jne 0x1400576e3
mov edx, dword [rbp - 0x28]
test edx, edx
js 0x1400576e3
mov rcx, rsi
call fcn.140021330
mov byte [rax], 0x72
or byte [rbp - 0x1c], dil
test byte [r13 + 0xc], dil
je 0x140057778
mov eax, dword [r12 + 0x34]
xor r9d, r9d
mov dword [rbp + 0xb4], eax
xor r8d, r8d
inc eax
mov rcx, r12
mov dword [r12 + 0x34], eax
mov rdx, qword [r13]
call fcn.140052144
mov r8d, dword [rbp + 0xb4]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
mov rdi, rax
lea edx, [r9 + 0x70]
call fcn.14002094c
mov r9d, 0xfffffff7
mov r8, rdi
mov edx, eax
mov rcx, rsi
mov ebx, eax
call fcn.140021244
mov dword [rbp + 0xb8], ebx
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x14005776a
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov byte [rbp + 0xb1], 3
mov edi, 1
jmp 0x14005777f
mov byte [rbp + 0xb1], r15b
cmp dword [rsp + 0x64], r15d
jne 0x140057992
test r14, r14
jne 0x140057992
mov al, byte [rbp + 0xb0]
mov ecx, 0x4000
mov r14, qword [r13 + 0x70]
neg al
mov eax, 0x100
sbb bx, bx
and bx, ax
movzx eax, word [r13 + 0xc]
and ax, cx
or bx, ax
test r14, r14
je 0x1400577ca
mov rdx, r14
mov rcx, r12
call fcn.140068d2c
movsx eax, word [r13 + 0xa]
mov rcx, r12
mov r9, qword [rbp - 0x40]
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp - 0x60]
mov dword [rsp + 0x30], eax
mov rax, qword [r13]
mov word [rsp + 0x28], bx
mov qword [rsp + 0x20], rax
call fcn.1400664f0
mov qword [rbp - 0x50], rax
mov rdx, rax
test rax, rax
je 0x140057214
movzx eax, word [rax + 0x60]
cmp ax, word [r13 + 0xa]
jge 0x140057815
mov word [r13 + 0xa], ax
cmp byte [rbp + 0xb0], r15b
je 0x140057834
movzx ecx, byte [rdx + 0x47]
movzx eax, byte [rbp + 0xb1]
test cl, cl
cmovne eax, ecx
mov byte [rbp + 0xb1], al
mov r8, qword [rbp - 0x40]
test r8, r8
je 0x14005786e
movsx r9d, byte [rdx + 0x43]
mov dword [rbp - 0x38], r9d
cmp byte [rdx + 0x48], r15b
jne 0x140057851
mov eax, dword [rdx + 0x34]
jmp 0x140057860
movzx eax, byte [rdx + 0x42]
imul rcx, rax, 0x58
mov eax, dword [rcx + rdx + 0x350]
mov dword [rbp - 0x20], eax
cmp r9d, dword [r8]
cmove r8, r15
mov qword [rbp - 0x40], r8
cmp dword [rbp - 0x28], r15d
jl 0x140057888
test r8, r8
jne 0x140057888
mov edx, dword [rbp - 0x28]
mov rcx, rsi
call fcn.140021138
mov rdx, qword [rbp - 0x50]
mov rcx, r12
test r14, r14
je 0x140057951
mov esi, dword [r12 + 0x44]
mov r8, rdx
add dword [r12 + 0x38], edi
dec esi
mov ebx, esi
mov rdx, r13
sub esi, edi
mov dword [rsp + 0x20], ebx
mov edi, dword [r12 + 0x38]
mov r9d, edi
lea r14d, [rsi - 1]
mov dword [r12 + 0x44], r14d
call fcn.14006a7c4
mov rcx, qword [rbp - 0x68]
xor r8d, r8d
mov r9d, r14d
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0xb]
call fcn.14002094c
mov rcx, qword [rbp - 0x68]
mov edx, ebx
call fcn.140020d48
mov rbx, qword [rbp - 0x58]
lea rax, [rbp + 0xb0]
mov dword [rsp + 0x38], r14d
lea r9, [rbp - 0x40]
mov dword [rsp + 0x30], esi
or r8d, 0xffffffff
mov qword [rsp + 0x28], rbx
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x20], r15d
call fcn.14005165c
mov edx, esi
mov rsi, qword [rbp - 0x68]
mov rcx, rsi
call fcn.140020d48
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, edi
mov rcx, rsi
lea edx, [r9 + 0x42]
call fcn.14002094c
mov edx, r14d
mov rcx, rsi
call fcn.140020d48
jmp 0x1400586ea
mov eax, dword [rdx + 0x38]
lea r9, [rbp - 0x40]
mov rbx, qword [rbp - 0x58]
or r8d, 0xffffffff
mov dword [rsp + 0x38], eax
mov eax, dword [rdx + 0x34]
mov rdx, r13
mov dword [rsp + 0x30], eax
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.14005165c
mov rcx, qword [rbp - 0x50]
call fcn.1400670ac
jmp 0x1400586ea
mov dword [rsp + 0x60], r15d
mov dword [rsp + 0x50], r15d
mov dword [rbp - 0x7c], r15d
test r14, r14
je 0x140057a3a
mov rcx, qword [r13]
mov eax, dword [rcx]
test eax, eax
jle 0x1400579c5
add rcx, 0x2a
sub eax, edi
mov word [rcx], r15w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x1400579b7
mov eax, dword [r14]
test eax, eax
jle 0x1400579de
lea rcx, [r14 + 0x2a]
sub eax, edi
mov word [rcx], r15w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x1400579d0
mov eax, 0x42
cmp word [r13 + 0xa], ax
jle 0x1400579ef
mov word [r13 + 0xa], ax
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x140057a3f
mov eax, dword [r14]
cmp eax, dword [rdx]
jne 0x140057a3f
mov r8d, r15d
test eax, eax
jle 0x140057a25
mov rcx, r15
mov al, byte [rcx + rdx + 0x20]
lea rcx, [rcx + 0x28]
and al, dil
add r8d, edi
mov byte [rcx + r14 - 8], al
mov rdx, qword [rbp - 0x40]
cmp r8d, dword [r14]
jl 0x140057a09
or r8d, 0xffffffff
mov rcx, r14
call fcn.140036aac
test eax, eax
jne 0x140057a3f
mov dword [rbp - 0x7c], edi
jmp 0x140057a3f
mov word [r13 + 0xa], r15w
dec dword [r12 + 0x44]
lea rcx, [rbp + 0x78]
mov eax, dword [r12 + 0x44]
xor edx, edx
mov dword [rbp - 0x80], eax
lea r8d, [rdx + 0x38]
call fcn.140076800
mov rbx, qword [rbp - 0x60]
lea rax, [rbp - 0x10]
mov qword [rbp + 0x88], rax
mov eax, dword [r12 + 0x38]
add eax, edi
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], rbx
mov dword [rbp], eax
test r14, r14
je 0x140057a8c
mov eax, dword [r14]
mov dword [rbp - 4], eax
jmp 0x140057a90
mov dword [rbp - 4], r15d
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0x78]
mov qword [rbp + 8], r14
call fcn.140037374
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp + 0x78]
call fcn.140037374
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140057b0a
test r14, r14
je 0x140057afe
xor edx, edx
lea rcx, [rbp + 0x40]
lea r8d, [rdx + 0x30]
call fcn.140076800
mov rdx, qword [r13 + 0x40]
lea rax, [0x140056d54]
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x68], r13
test rdx, rdx
je 0x140057af1
lea rcx, [rbp + 0x40]
call fcn.14002e984
mov rax, qword [r13 + 0x30]
mov qword [rbp - 0x70], rax
mov rax, qword [rsp + 0x78]
mov rdx, rax
lea rcx, [rbp + 0x78]
call fcn.140037328
mov eax, dword [rbp + 0x18]
mov r11d, dword [rbp + 0x28]
mov dword [rbp + 0x1c], eax
cmp qword [r13 + 0x38], r15
jne 0x140057bca
cmp qword [r13 + 0x40], r15
jne 0x140057bca
cmp r11d, edi
jne 0x140057bca
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov rax, qword [rcx + 0x20]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140057bca
cmp dword [rax], edi
jne 0x140057bca
test dword [rcx + 4], 0x1000000
jne 0x140057bca
mov rax, qword [rcx + 8]
lea rdx, [0x1400a4ab4]
mov rcx, rax
mov qword [rsp + 0x70], rax
call fcn.140007da8
test eax, eax
jne 0x140057b7e
mov byte [rsp + 0x44], 2
mov word [rsp + 0x40], di
jmp 0x140057ba0
mov rcx, qword [rsp + 0x70]
lea rdx, [0x1400a4ab8]
call fcn.140007da8
test eax, eax
jne 0x140057bca
mov byte [rsp + 0x44], dil
mov dword [rsp + 0x40], 2
mov rdx, qword [rbp - 0x50]
xor r8d, r8d
mov rcx, qword [rsp + 0x58]
call fcn.14003216c
mov qword [rbp + 0x38], rax
mov rcx, rax
test rax, rax
je 0x140057bc4
mov al, byte [rsp + 0x44]
mov byte [rcx + 0x20], al
mov r11d, dword [rbp + 0x28]
jmp 0x140057bd0
mov word [rsp + 0x40], r15w
test r11d, r11d
jle 0x140057c53
mov ecx, dword [rbp + 0xa0]
mov rsi, r15
mov ebx, r15d
mov r13d, 8
mov rax, qword [rbp + 0x20]
or ecx, r13d
mov rax, qword [rax + rsi]
mov dword [rbp + 0xa0], ecx
lea rcx, [rbp + 0x78]
mov qword [rsp + 0x70], rax
mov rdx, qword [rax + 0x20]
call fcn.140037374
mov rdx, qword [rsp + 0x70]
test dword [rdx + 4], 0x1000000
je 0x140057c29
mov rdx, qword [rdx + 0x40]
lea rcx, [rbp + 0x78]
mov rdx, qword [rdx + 0x48]
call fcn.140037328
mov ecx, dword [rbp + 0xa0]
add ebx, edi
mov r11d, dword [rbp + 0x28]
and ecx, 0xfffffff7
add rsi, 0x18
mov dword [rbp + 0xa0], ecx
cmp ebx, r11d
jl 0x140057be7
mov r13, qword [rbp + 0x30]
mov rsi, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x60]
mov rax, qword [rsp + 0x58]
mov r9d, dword [r12 + 0x38]
mov dword [rbp + 4], r9d
cmp byte [rax + 0x61], r15b
jne 0x14005876c
test r14, r14
je 0x140058360
mov eax, dword [r12 + 0x34]
xor r8d, r8d
mov r9d, dword [rbp + 0x18]
mov rdx, r14
mov dword [rbp - 0xc], eax
mov rcx, r12
inc eax
mov dword [r12 + 0x34], eax
call fcn.140052144
mov r9d, dword [rbp - 4]
mov edx, 0x72
mov r8d, dword [rbp - 0xc]
mov rcx, rsi
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x20], r15d
call fcn.14002094c
mov r8, qword [rsp + 0x70]
mov r9d, 0xfffffff7
mov edx, eax
mov dword [rbp - 0x60], eax
mov rcx, rsi
call fcn.140021244
mov eax, dword [r12 + 0x38]
inc eax
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0x4c], eax
lea r8d, [rax + 1]
mov eax, dword [r12 + 0x44]
lea ecx, [r8 + 2]
mov dword [rsp + 0x64], r8d
mov dword [r12 + 0x38], ecx
dec eax
mov dword [rbp - 0x78], ecx
mov r9d, r8d
mov dword [rsp + 0x54], eax
xor r8d, r8d
dec eax
mov dword [r12 + 0x44], eax
add ecx, dword [r14]
mov dword [r12 + 0x38], ecx
lea edx, [r8 + 0x46]
mov dword [rsp + 0x48], eax
lea eax, [rcx + 1]
add ecx, dword [r14]
mov dword [r12 + 0x38], ecx
mov rcx, rsi
mov dword [rbp - 0x68], eax
call fcn.14002094c
mov r9d, dword [rbp - 0x78]
xor r8d, r8d
mov ecx, r9d
inc r9d
add ecx, dword [r14]
mov dword [rsp + 0x20], ecx
mov rcx, rsi
lea edx, [r8 + 0x49]
call fcn.14002094c
mov r9d, dword [rsp + 0x48]
mov edx, 0xc
mov r8d, dword [rbp - 0x78]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14002094c
mov eax, dword [rbp - 0x7c]
mov r9, r14
mov r8, qword [rbp - 0x70]
neg eax
mov dword [rsp + 0x30], r15d
mov rdx, rbx
sbb cx, cx
and cx, 0x200
add cx, 0x40
mov word [rsp + 0x28], cx
mov rcx, r12
mov qword [rsp + 0x20], r15
call fcn.1400664f0
mov qword [rbp - 0x50], rax
mov rdx, rax
test rax, rax
je 0x14005876c
movsx ecx, byte [rax + 0x43]
cmp ecx, dword [r14]
jne 0x140057dc0
mov ebx, r15d
mov dword [rbp - 0x70], ebx
jmp 0x140058002
cmp byte [rbp + 0xb0], r15b
je 0x140057dd6
lea r9, str.DISTINCT
test byte [r13 + 0xc], dil
je 0x140057ddd
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, r12
call fcn.140020b70
mov eax, dword [r14]
mov ebx, eax
mov edx, eax
mov dword [rsp + 0x50], eax
mov dword [rbp - 0x70], edi
cmp dword [rbp + 0x18], r15d
jle 0x140057e2a
mov r8, qword [rbp + 0x10]
mov r9d, dword [rbp + 0x18]
add r8, 0x10
cmp dword [r8], edx
lea eax, [rbx + 1]
lea r8, [r8 + 0x20]
cmovl eax, ebx
mov ebx, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, rdi
jne 0x140057e0e
mov edx, ebx
mov rcx, r12
call fcn.1400373c8
xor r9d, r9d
mov dword [rsp + 0x40], eax
mov r8d, eax
mov byte [rsp + 0x20], r15b
mov rcx, r12
mov rdx, r14
call fcn.140035cf8
mov ecx, dword [rbp + 0x18]
mov eax, r15d
mov dword [rsp + 0x60], eax
test ecx, ecx
jle 0x140057eb5
mov r12d, dword [rsp + 0x50]
mov r13, r15
mov r15d, dword [rsp + 0x40]
mov rdx, qword [rbp + 0x10]
cmp dword [rdx + r13 + 0x10], r12d
jl 0x140057e9c
mov r9d, dword [rdx + r13 + 0xc]
lea eax, [r15 + r12]
mov r8d, dword [rdx + r13 + 8]
mov rcx, rsi
mov rdx, qword [rdx + r13]
mov dword [rsp + 0x20], eax
call fcn.1400347d8
mov ecx, dword [rbp + 0x18]
add r12d, edi
mov eax, dword [rsp + 0x60]
add eax, edi
add r13, 0x20
mov dword [rsp + 0x60], eax
cmp eax, ecx
jl 0x140057e69
mov r12, qword [rbp + 0x70]
xor r15d, r15d
mov r13, qword [rbp + 0x30]
mov al, byte [r12 + 0x1f]
test al, al
jne 0x140057eca
add dword [r12 + 0x38], edi
mov eax, dword [r12 + 0x38]
jmp 0x140057edd
sub al, dil
movzx eax, al
mov byte [r12 + 0x1f], al
mov eax, dword [r12 + rax*4 + 0xbc]
mov r8d, dword [rsp + 0x40]
mov r9d, ebx
mov edx, 0x5c
mov dword [rsp + 0x50], eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.14002094c
mov r9d, dword [rsp + 0x50]
mov edx, 0x83
mov r8d, dword [rbp - 0xc]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14002094c
mov ecx, dword [rsp + 0x50]
mov eax, 8
test ecx, ecx
je 0x140057f41
cmp byte [r12 + 0x1f], al
jae 0x140057f41
movzx eax, byte [r12 + 0x1f]
mov dword [r12 + rax*4 + 0xbc], ecx
mov eax, 8
add byte [r12 + 0x1f], dil
cmp ebx, edi
jne 0x140057f69
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x140057f7e
cmp byte [r12 + 0x1f], al
jae 0x140057f7e
movzx eax, byte [r12 + 0x1f]
mov dword [r12 + rax*4 + 0xbc], ecx
add byte [r12 + 0x1f], dil
jmp 0x140057f7e
cmp ebx, dword [r12 + 0x28]
jle 0x140057f7e
mov eax, dword [rsp + 0x40]
mov dword [r12 + 0x2c], eax
mov dword [r12 + 0x28], ebx
mov rcx, qword [rbp - 0x50]
call fcn.1400670ac
mov ecx, dword [r12 + 0x34]
mov dword [rsp + 0x60], ecx
mov dword [rbp - 8], ecx
lea eax, [rcx + 1]
mov dword [r12 + 0x34], eax
mov al, byte [r12 + 0x1f]
test al, al
jne 0x140057fb0
add dword [r12 + 0x38], edi
mov eax, dword [r12 + 0x38]
jmp 0x140057fc3
sub al, dil
movzx eax, al
mov byte [r12 + 0x1f], al
mov eax, dword [r12 + rax*4 + 0xbc]
mov r8d, ecx
mov dword [rsp + 0x50], eax
mov rcx, rsi
mov dword [rsp + 0x20], ebx
mov r9d, eax
mov edx, 0x74
call fcn.14002094c
mov r9d, dword [rbp - 0x80]
mov edx, 0x22
mov r8d, dword [rbp - 0xc]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14002094c
mov rdx, qword [rbp - 0x50]
mov ebx, edi
mov byte [rbp - 0xf], dil
cmp dword [rbp - 0x7c], r15d
je 0x14005802c
mov rax, qword [rsp + 0x58]
test byte [rax + 0x5c], 4
jne 0x14005802c
test ebx, ebx
jne 0x14005801d
cmp byte [rdx + 0x44], r15b
je 0x14005802c
mov edx, dword [rbp - 0x28]
mov rcx, rsi
mov qword [rbp - 0x40], r15
call fcn.140021138
mov eax, dword [rsi + 0x90]
mov dword [rbp - 0x7c], eax
test ebx, ebx
je 0x140058057
mov eax, dword [rsp + 0x60]
mov edx, 0x7e
mov r9d, dword [rsp + 0x50]
mov rcx, rsi
mov r8d, dword [rbp - 0xc]
mov dword [rsp + 0x20], eax
call fcn.14002094c
mov eax, dword [r14]
mov ebx, r15d
test eax, eax
jle 0x1400580af
lea r13, [r14 + 8]
mov r8d, dword [rbp - 0x68]
add r8d, ebx
cmp dword [rbp - 0x70], r15d
je 0x14005808e
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, dword [rsp + 0x60]
mov edx, 0x5a
mov rcx, rsi
call fcn.14002094c
jmp 0x14005809e
mov byte [rbp - 0x10], dil
mov rcx, r12
mov rdx, qword [r13]
call fcn.140035bcc
mov eax, dword [r14]
add ebx, edi
add r13, 0x28
cmp ebx, eax
jl 0x140058065
mov r13, qword [rbp + 0x30]
mov rbx, qword [rsp + 0x70]
test rbx, rbx
je 0x1400580be
add dword [rbx], edi
mov eax, dword [r14]
mov r8d, dword [rbp - 0x78]
mov edx, 0x57
mov r9d, dword [rbp - 0x68]
inc r8d
mov rcx, rsi
mov dword [rsp + 0x20], eax
call fcn.14002094c
mov r9d, 0xfffffff7
mov r8, rbx
mov edx, eax
mov rcx, rsi
call fcn.140021244
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.14002094c
mov r9d, dword [rbp - 0x78]
mov edx, 0x4d
mov eax, dword [r14]
inc r9d
mov r8d, dword [rbp - 0x68]
mov rcx, qword [r12 + 0x10]
mov dword [rsp + 0x20], eax
call fcn.14002094c
mov r14d, dword [rsp + 0x64]
mov edx, 0xc
mov r9d, dword [rsp + 0x54]
inc r14d
mov r8d, r14d
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.14002094c
mov r9d, dword [rbp - 0x80]
mov edx, 0x2f
mov r8d, dword [rsp + 0x64]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14002094c
mov r9d, dword [rsp + 0x48]
lea r8d, [r14 + 1]
mov edx, 0xc
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.14002094c
mov edx, ebx
mov rcx, rsi
call fcn.140021330
mov ecx, dword [rsi + 0x90]
lea r8, [rbp - 0x10]
mov edx, dword [rsp + 0x4c]
mov dword [rax + 8], ecx
mov rcx, r12
call fcn.140056a90
mov r9d, dword [rsp + 0x4c]
mov r8d, edi
mov edx, 0x46
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.14002094c
cmp dword [rbp - 0x70], r15d
je 0x1400581e3
mov r9d, dword [rbp - 0x7c]
mov edx, 3
mov r8d, dword [rbp - 0xc]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.14002094c
jmp 0x1400581f7
mov rcx, qword [rbp - 0x50]
call fcn.1400670ac
mov edx, dword [rbp - 0x60]
mov rcx, rsi
call fcn.140021138
mov r9d, dword [rsp + 0x54]
mov r8d, r14d
mov edx, 0xc
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.14002094c
mov r9d, dword [rbp - 0x80]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0xb]
call fcn.14002094c
mov r9d, dword [rsp + 0x64]
mov edx, 0x46
mov edi, dword [rsi + 0x90]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea r8d, [rdx - 0x45]
call fcn.14002094c
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r14d
mov rcx, rsi
lea edx, [r9 + 0x42]
call fcn.14002094c
mov edx, dword [rsp + 0x54]
mov rcx, rsi
call fcn.140020d48
mov ebx, dword [rsi + 0x90]
mov edx, 0x2f
mov r8d, dword [rsp + 0x4c]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea r9d, [rbx + 2]
call fcn.14002094c
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r14d
mov rcx, rsi
lea edx, [r9 + 0x42]
call fcn.14002094c
lea rdx, [rbp - 0x10]
mov rcx, r12
call fcn.140056a0c
mov rdx, qword [rsp + 0x78]
inc ebx
mov r8d, ebx
mov r9d, 0x10
mov rcx, r12
call fcn.140036334
mov rax, qword [rbp - 0x58]
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, r12
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
call fcn.14005165c
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r14d
mov rcx, rsi
lea ebx, [r9 + 0x42]
mov edx, ebx
call fcn.14002094c
mov edx, dword [rsp + 0x48]
mov rcx, rsi
call fcn.140020d48
lea rdx, [rbp - 0x10]
mov rcx, r12
call fcn.14005692c
mov r9d, dword [rsp + 0x4c]
lea edx, [rbx + 4]
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.14002094c
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8d, [r14 + 1]
mov edx, ebx
mov rcx, rsi
call fcn.14002094c
mov ebx, dword [rbp - 0x80]
jmp 0x1400586dc
cmp qword [r13 + 0x30], r15
jne 0x1400585a0
mov r8, qword [r13]
cmp dword [r8], edi
jne 0x1400585a0
mov rdx, qword [r13 + 0x28]
cmp dword [rdx], edi
jne 0x1400585a0
cmp qword [rdx + 0x30], r15
jne 0x1400585a0
mov rdx, qword [rdx + 0x28]
cmp dword [rdx + 0x54], r15d
jne 0x1400585a0
mov r8, qword [r8 + 8]
cmp byte [r8], 0xa3
jne 0x1400585a0
test r11d, r11d
je 0x1400585a0
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 8]
mov eax, 0x100
test dword [rcx + 4], eax
je 0x1400585a0
test dword [r8 + 4], 0x1000002
jne 0x1400585a0
test rdx, rdx
je 0x1400585a0
mov r9, qword [rdx + 0x70]
mov r8d, 0xfff0bdc0
mov dword [rsp + 0x4c], r8d
mov r14, rdx
test r9, r9
je 0x140058420
mov rax, qword [r12]
mov r8d, r15d
mov dword [rsp + 0x4c], r15d
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], r9
je 0x140058420
add r8d, edi
lea rcx, [rcx + 0x20]
cmp qword [rcx], r9
jne 0x14005840f
mov dword [rsp + 0x4c], r8d
mov eax, dword [r12 + 0x34]
mov edx, r8d
mov dword [rsp + 0x48], eax
mov rcx, r12
inc eax
mov qword [rsp + 0x70], r15
mov dword [r12 + 0x34], eax
mov rbx, r15
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x54], eax
call fcn.1400416a4
test byte [r14 + 0x40], 0x20
je 0x14005846a
mov rbx, qword [r14 + 0x10]
jmp 0x140058465
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14005846a
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140058458
mov rax, qword [r14 + 0x10]
jmp 0x140058499
test byte [rax + 0x64], 4
jne 0x140058495
movzx ecx, word [rax + 0x5c]
cmp cx, word [r14 + 0x4a]
jge 0x140058495
cmp qword [rax + 0x48], r15
jne 0x140058495
test rbx, rbx
je 0x140058492
cmp cx, word [rbx + 0x5c]
jge 0x140058495
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140058470
test rbx, rbx
je 0x1400584ba
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x54], eax
call fcn.140041d78
mov qword [rsp + 0x70], rax
mov ecx, dword [rsp + 0x4c]
mov edx, 0x61
mov r9d, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ecx
mov rcx, rsi
call fcn.140020c64
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1400584fb
mov r9d, 0xfffffff7
mov r8, rax
or edx, 0xffffffff
mov rcx, rsi
call fcn.140021244
mov rax, qword [rbp + 0x20]
mov edx, 0x5d
mov r8d, dword [rsp + 0x48]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
mov r9d, dword [rax + 0x10]
call fcn.14002094c
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x75]
call fcn.14002094c
cmp byte [r12 + 0x103], 2
jne 0x140058697
test rbx, rbx
je 0x140058563
test byte [r14 + 0x40], 0x20
je 0x140058557
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140058563
mov rax, qword [rbx]
lea rcx, [0x1400a1140]
jmp 0x140058570
lea rcx, [0x1400a1140]
mov edi, r15d
mov rax, rcx
mov r9, qword [r14]
lea rdx, str._USING_COVERING_INDEX
test edi, edi
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, r12
call fcn.140020b70
jmp 0x140058697
mov r14d, r15d
cmp dword [rbp + 0x1c], r15d
je 0x1400585fb
mov edx, r15d
test r11d, r11d
jle 0x1400585d6
mov rcx, qword [rbp + 0x20]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x1400585cb
mov rax, qword [rcx + 8]
test byte [rax + 4], 0x20
jne 0x1400585d6
add edx, edi
add rcx, 0x18
cmp edx, r11d
jl 0x1400585b5
cmp edx, r11d
jne 0x1400585fb
lea r14d, [r9 + 1]
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov dword [r12 + 0x38], r14d
mov r9d, r14d
mov rcx, rsi
lea edx, [r8 + 0x46]
call fcn.14002094c
lea rdx, [rbp - 0x10]
mov rcx, r12
call fcn.14005692c
mov eax, dword [rsp + 0x40]
mov rdx, rbx
mov r9, qword [rbp + 0x38]
mov rcx, r12
mov r8, qword [rbp - 0x70]
mov dword [rsp + 0x30], r15d
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
call fcn.1400664f0
mov rbx, rax
test rax, rax
je 0x14005876c
lea r8, [rbp - 0x10]
mov edx, r14d
mov rcx, r12
call fcn.140056a90
test r14d, r14d
je 0x140058665
mov r9d, r14d
mov dword [rsp + 0x20], r15d
mov r8d, edi
mov edx, 0x46
mov rcx, rsi
call fcn.14002094c
cmp byte [rbx + 0x43], r15b
jle 0x140058683
mov r9d, dword [rbx + 0x38]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0xb]
call fcn.14002094c
mov rcx, rbx
call fcn.1400670ac
lea rdx, [rbp - 0x10]
mov rcx, r12
call fcn.140056a0c
mov ebx, dword [rbp - 0x80]
mov r9d, 0x10
mov rdx, qword [rsp + 0x78]
mov r8d, ebx
mov rcx, r12
mov qword [rbp - 0x40], r15
call fcn.140036334
mov rax, qword [rbp - 0x58]
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, r12
mov qword [rsp + 0x20], r15
call fcn.14005165c
mov edx, ebx
mov rcx, rsi
call fcn.140020d48
mov rbx, qword [rbp - 0x58]
cmp byte [rbp + 0xb1], 3
jne 0x14005870b
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, r12
call fcn.140020b70
cmp qword [rbp - 0x40], r15
je 0x140058753
cmp dword [rbp - 0x38], r15d
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r9, str.ORDER_BY
mov rcx, r12
cmovg r9, rax
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
call fcn.140020b70
mov rax, qword [rbp - 0x48]
lea r8, [rbp - 0x40]
mov rdx, r13
mov qword [rsp + 0x20], rbx
mov rcx, r12
mov r9d, dword [rax]
call fcn.140052230
mov edx, dword [rsp + 0x68]
mov rcx, rsi
call fcn.140020d48
cmp dword [r12 + 0x30], r15d
mov eax, r15d
setg al
mov edi, eax
mov rax, qword [rbp + 0x38]
mov r14, qword [rsp + 0x58]
test rax, rax
je 0x140057219
mov rdx, rax
mov rcx, r14
call fcn.140032a90
jmp 0x140057219