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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x180126010]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov eax, dword [rcx + 0x200]
mov r13, r8
mov rsi, qword [rcx]
mov r15, rdx
mov dword [rsp + 0x60], eax
mov rbx, rcx
mov eax, dword [rcx + 0x204]
mov r12d, 1
mov dword [rcx + 0x200], eax
inc eax
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x38], rdx
mov dword [rcx + 0x204], eax
mov qword [rsp + 0x58], rsi
test rdx, rdx
je 0x18006be5c
cmp byte [rsi + 0x50], 0
jne 0x18006be5c
cmp dword [rcx + 0x4c], 0
jne 0x18006be5c
xor edi, edi
cmp byte [rsi + 0xa1], dil
jne 0x18006be88
cmp byte [rcx + 0x1f3], dil
jne 0x18006be88
mov r10, qword [rsi + 0x178]
test r10, r10
je 0x18006be88
mov rax, qword [rcx + 0x230]
lea edx, [rdi + 0x15]
mov rcx, qword [rsi + 0x180]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call r10
cmp eax, r12d
jne 0x18006be64
lea rdx, str.not_authorized
mov rcx, rbx
call fcn.180008fd0
mov dword [rbx + 0x18], 0x17
mov eax, r12d
jmp 0x18006c389
test eax, eax
je 0x18006be88
cmp eax, 2
je 0x18006be5c
lea rdx, str.authorizer_malfunction
mov rcx, rbx
call fcn.180008fd0
mov eax, r12d
mov dword [rbx + 0x18], r12d
jmp 0x18006c389
cmp byte [r13], 8
xorps xmm0, xmm0
mov qword [rsp + 0x228], r14
mov r14d, 0xfffe
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
ja 0x18006bec5
mov rdx, qword [r15 + 0x48]
mov rcx, rsi
call fcn.18003c1c0
and word [r15 + 0xa], r14w
mov qword [r15 + 0x48], rdi
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.18006b7a0
mov rax, qword [r15 + 0x48]
xor r8d, r8d
xorps xmm0, xmm0
mov rdx, qword [r15 + 0x28]
mov rdi, qword [r15]
movdqu xmmword [rbp], xmm0
mov qword [rbp + 0x10], r8
mov qword [rbp - 8], rax
mov qword [rbp - 0x68], rdx
cmp dword [rbx + 0x4c], r8d
jne 0x18006bf98
cmp byte [rsi + 0x50], r8b
jne 0x18006bf98
movzx r11d, word [r15 + 0xa]
mov r14, qword [rbx + 0x10]
shr r11d, 2
and r11d, r12d
mov dword [rsp + 0x50], r11d
test r14, r14
jne 0x18006bf78
mov rcx, rbx
call fcn.180026410
mov qword [rbx + 0x10], rax
mov r14, rax
test rax, rax
je 0x18006bf50
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x99
mov rcx, r14
call fcn.180026570
cmp qword [rbx + 0x1c0], 0
jne 0x18006bf67
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x18006bf67
mov byte [rbx + 0x23], r12b
test r14, r14
je 0x18006bf98
mov r11d, dword [rsp + 0x50]
xor r8d, r8d
mov rdx, qword [rbp - 0x68]
movzx eax, byte [r13]
cmp dword [rdi], r12d
jle 0x18006bfa0
sub al, 0xa
cmp al, r12b
ja 0x18006bfa0
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rbx
call fcn.180008fd0
mov rdi, rsi
jmp 0x18006da3b
mov rcx, qword [r15 + 0x50]
mov r12d, r8d
test rcx, rcx
jne 0x18006c331
mov rax, r8
mov rcx, r8
mov qword [rbp - 0x60], rax
nop word [rax + rax]
cmp r12d, dword [rdx]
jge 0x18006c32c
imul rsi, rax, 0x78
add rsi, rdx
mov r13, qword [rsi + 0x30]
test r13, r13
je 0x18006c31b
mov r9d, dword [rsi + 0x38]
test r9d, r9d
je 0x18006c034
test byte [rsi + 0x48], 4
jne 0x18006c31b
mov dword [rsp + 0x20], r8d
mov edx, 0x11
mov r8d, dword [rsi + 0x3c]
mov rcx, r14
call fcn.180026570
mov rdx, qword [rbp - 0x68]
mov r13d, dword [rsp + 0x50]
xor r8d, r8d
mov rax, qword [rbp - 0x60]
inc r12d
mov rcx, qword [r15 + 0x50]
inc rax
mov qword [rbp - 0x60], rax
test rcx, rcx
jne 0x18006c325
mov r11d, dword [rsp + 0x50]
jmp 0x18006bfc0
mov rcx, r15
call fcn.18003aa70
add dword [rbx + 0x1fc], eax
mov r9d, r11d
movzx edi, word [r13 + 0xa]
mov r8d, r12d
shr edi, 2
mov rdx, r15
and edi, 1
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.180069b10
test eax, eax
je 0x18006c0a4
test edi, edi
je 0x18006c08c
or word [r15 + 0xa], 4
mov r13d, 1
mov dword [rsp + 0x50], r13d
mov qword [rbp - 0x60], 0xffffffffffffffff
lea r12d, [r13 - 2]
jmp 0x18006c2dc
mov r13d, dword [rsp + 0x50]
mov r12d, 0xffffffff
mov qword [rbp - 0x60], 0xffffffffffffffff
jmp 0x18006c2dc
mov rax, qword [rbp - 0x68]
cmp dword [rax], 1
jne 0x18006c18d
mov rcx, qword [rsp + 0x58]
mov eax, 0x100
test word [rcx + 0x4c], ax
jne 0x18006c18d
mov edi, dword [r14 + 0x3c]
xor r9d, r9d
inc dword [rbx + 0x54]
inc edi
mov r8d, dword [rbx + 0x54]
mov rcx, r14
mov dword [rsi + 0x3c], r8d
lea edx, [r9 + 0x14]
mov dword [rsp + 0x20], edi
call fcn.180026570
mov eax, dword [rsi + 0x3c]
lea r8, [rbp + 0xa8]
mov dword [rsi + 0x38], edi
mov rdx, r13
mov dword [rbp + 0xac], eax
mov rcx, rbx
xor eax, eax
mov word [rbp + 0xa8], 0xd
mov qword [rbp + 0xb0], rax
movzx eax, byte [rbx + 0x204]
mov byte [rsi + 0x4c], al
call fcn.18006bd80
mov rcx, qword [r13 + 0x20]
call fcn.18000a130
mov rcx, qword [rsi + 0x28]
xor r13d, r13d
xor r9d, r9d
mov dword [rsp + 0x20], r13d
mov word [rcx + 0x38], ax
lea edx, [r13 + 0x15]
or dword [rsi + 0x48], 4
mov rcx, r14
mov eax, dword [rbp + 0xb0]
mov r8d, dword [rsi + 0x3c]
mov dword [rsi + 0x40], eax
call fcn.180026570
mov edx, dword [r14 + 0x3c]
dec edi
cmp edx, edi
jbe 0x18006c176
mov rax, qword [r14 + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
mov byte [rbx + 0x1f], r13b
mov dword [rbx + 0x44], r13d
jmp 0x18006c2d7
mov r9d, dword [rbx + 0x54]
xor ecx, ecx
inc r9d
mov dword [rsp + 0x20], ecx
mov edi, ecx
mov dword [rbx + 0x54], r9d
xor r8d, r8d
mov dword [rsi + 0x3c], r9d
lea edx, [rcx + 0x19]
mov rcx, r14
call fcn.180026570
test byte [rsi + 0x48], 2
mov dword [rbp - 0x70], eax
lea ecx, [rax + 1]
mov dword [rsi + 0x38], ecx
jne 0x18006c22f
mov rdi, qword [rbx + 0x10]
test rdi, rdi
jne 0x18006c20e
mov rcx, rbx
call fcn.180026410
mov qword [rbx + 0x10], rax
mov rdi, rax
test rax, rax
je 0x18006c1f7
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x99
mov rcx, rdi
call fcn.180026570
cmp qword [rbx + 0x1c0], 0
jne 0x18006c20e
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x18006c20e
mov byte [rbx + 0x23], 1
mov r8d, dword [rbx + 0x5c]
xor r9d, r9d
mov rcx, rdi
lea eax, [r8 + 1]
mov dword [rbx + 0x5c], eax
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x2c]
call fcn.180026570
mov edi, eax
mov ecx, dword [rsi + 0x50]
lea r8, [rbp + 0xa8]
mov dword [rbp + 0xac], ecx
xor eax, eax
movzx ecx, byte [rbx + 0x204]
mov rdx, r13
mov word [rbp + 0xa8], 0xc
mov qword [rbp + 0xb0], rax
mov byte [rsi + 0x4c], cl
mov rcx, rbx
call fcn.18006bd80
mov rcx, qword [r13 + 0x20]
call fcn.18000a130
mov rcx, qword [rsi + 0x28]
mov word [rcx + 0x38], ax
test edi, edi
je 0x18006c29f
mov edx, dword [r14 + 0x3c]
cmp edx, edi
jbe 0x18006c295
mov eax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
lea ecx, [rdx - 1]
mov dword [rax + 0x64], ecx
mov r8d, dword [rsi + 0x3c]
xor edi, edi
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov rcx, r14
lea edx, [rdi + 0x12]
call fcn.180026570
mov r8d, eax
mov eax, dword [rbp - 0x70]
cmp dword [r14 + 0x3c], eax
jbe 0x18006c2d0
mov rcx, qword [r14 + 8]
lea rdx, [rax + rax*2]
mov dword [rcx + rdx*8 + 4], r8d
mov byte [rbx + 0x1f], dil
mov dword [rbx + 0x44], edi
mov r13d, dword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
cmp byte [rdi + 0x50], 0
jne 0x18006da35
mov rcx, r15
call fcn.18003aa70
sub dword [rbx + 0x1fc], eax
mov rax, qword [rbp - 0x58]
mov rdx, qword [r15 + 0x28]
mov qword [rbp - 0x68], rdx
cmp byte [rax], 8
jbe 0x18006c00f
mov rax, qword [r15 + 0x48]
mov qword [rbp - 8], rax
jmp 0x18006c00f
mov r13d, dword [rsp + 0x50]
jmp 0x18006c012
mov rsi, qword [rsp + 0x58]
jmp 0x18006c336
mov rsi, qword [rsp + 0x58]
mov r13d, dword [rsp + 0x50]
mov rax, qword [r15 + 0x30]
mov rdi, qword [r15]
mov r12, qword [r15 + 0x38]
mov rdx, qword [r15 + 0x40]
mov qword [rsp + 0x78], rax
movzx eax, byte [r15 + 0xa]
and al, 1
mov qword [rbp - 0x60], rdi
mov qword [rbp - 0x40], r12
mov qword [rbp - 0x18], rdx
mov byte [rbp + 0x98], al
test rcx, rcx
je 0x18006c3aa
mov r8, qword [rbp - 0x58]
mov rdx, r15
mov rcx, rbx
call fcn.180067ba0
mov ecx, dword [rsp + 0x60]
mov dword [rbx + 0x200], ecx
mov r14, qword [rsp + 0x228]
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.1800cd010
add rsp, 0x1d0
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movzx eax, byte [r15 + 0xa]
and al, 5
cmp al, 1
jne 0x18006c4c4
mov rcx, qword [rbp - 8]
mov r8d, 0xffffffff
mov rdx, rdi
call fcn.180040b50
test eax, eax
jne 0x18006c4c4
mov rdx, qword [r15]
mov eax, 0xfffe
and word [r15 + 0xa], ax
xor r8d, r8d
mov rcx, rsi
call fcn.18003b990
mov r12, rax
mov qword [rbp - 0x40], rax
mov qword [r15 + 0x38], rax
xor eax, eax
mov qword [rbp - 8], rax
mov dword [rbp + 0x10], 0xffffffff
mov rax, qword [rbp - 0x58]
cmp byte [rax], 0xc
jne 0x18006c428
mov r9d, dword [rdi]
mov edx, 0x39
mov r8d, dword [rax + 4]
mov rcx, r14
mov dword [rsp + 0x20], 0
call fcn.180026570
mov rdi, qword [r14 + 0x30]
mov edx, dword [rdi + 0x78]
mov dword [rbp - 0x70], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x18006c466
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.1800064f0
mov edx, dword [rbp - 0x70]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x18006c47c
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
mov r8d, edx
movabs rax, 0x7fffffffffffffff
not r8d
mov qword [r15 + 0x20], rax
mov rdx, r15
mov rcx, rbx
call fcn.1800670f0
cmp dword [r15 + 0xc], 0
jne 0x18006c544
movsxd rcx, dword [rbp + 0x10]
test ecx, ecx
js 0x18006c544
mov rax, qword [r14]
cmp byte [rax + 0x50], 0
je 0x18006c531
lea rax, [0x18012e318]
jmp 0x18006c53d
mov rdx, qword [rbp - 8]
test rdx, rdx
je 0x18006c3fc
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call fcn.180065b60
mov r8d, dword [rbx + 0x50]
mov rsi, rax
mov dword [rbp + 4], r8d
xor eax, eax
mov dword [rsp + 0x20], eax
lea ecx, [r8 + 1]
mov dword [rbx + 0x50], ecx
mov rcx, qword [rbp - 8]
mov r9d, dword [rdi]
mov edx, dword [rcx]
mov rcx, r14
inc edx
add r9d, edx
lea edx, [rax + 0x39]
call fcn.180026570
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, r14
mov edi, eax
call fcn.180026b50
mov dword [rbp + 0x10], edi
mov rdi, qword [rbp - 0x60]
jmp 0x18006c403
mov rax, qword [r14 + 8]
lea rcx, [rcx + rcx*2]
lea rax, [rax + rcx*8]
mov byte [rax], 0x3a
or byte [rbp + 0x14], 1
test byte [r15 + 0xa], 1
je 0x18006c5c2
mov eax, dword [rbx + 0x50]
xor r9d, r9d
mov dword [rbp + 0x9c], eax
xor r8d, r8d
inc eax
mov rcx, rbx
mov dword [rbx + 0x50], eax
mov rdx, qword [r15]
call fcn.180065b60
mov r8d, dword [rbp + 0x9c]
mov rsi, rax
xor eax, eax
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x39]
call fcn.180026570
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, r14
mov edi, eax
call fcn.180026b50
mov dword [rbp + 0xa0], edi
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x18006c5b9
movsxd rax, dword [r14 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov byte [rbp + 0x99], 3
jmp 0x18006c5c9
mov byte [rbp + 0x99], 0
test r13d, r13d
jne 0x18006c713
test r12, r12
jne 0x18006c713
movzx eax, byte [rbp + 0x98]
mov r13, qword [rbp - 0x68]
neg al
mov rax, qword [r15]
mov rdx, r13
mov r9, qword [rbp - 8]
sbb cx, cx
mov r8, qword [rsp + 0x78]
and cx, 0x400
xor edi, edi
mov dword [rsp + 0x30], edi
mov word [rsp + 0x28], cx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.18007d3c0
mov rsi, rax
test rax, rax
je 0x18006da30
mov rcx, rax
call fcn.180074230
cmp rax, qword [r15 + 0x20]
jae 0x18006c63d
mov rcx, rsi
call fcn.180074230
mov qword [r15 + 0x20], rax
cmp byte [rbp + 0x98], dil
je 0x18006c65c
movzx ecx, byte [rsi + 0x38]
movzx eax, byte [rbp + 0x99]
test cl, cl
cmovne eax, ecx
mov byte [rbp + 0x99], al
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x18006c676
movsx eax, byte [rsi + 0x34]
mov dword [rbp], eax
cmp eax, dword [rcx]
cmove rcx, rdi
mov qword [rbp - 8], rcx
movsxd r12, dword [rbp + 0x10]
test r12d, r12d
js 0x18006c6c5
test rcx, rcx
jne 0x18006c6c5
cmp r12d, dword [r14 + 0x3c]
jge 0x18006c6c5
mov rax, qword [r14 + 8]
lea rcx, [r12 + r12*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r14]
call fcn.180026890
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r14 + 0x3c]
dec eax
cmp r12d, eax
jne 0x18006c6c5
mov dword [r14 + 0x3c], eax
mov eax, dword [rsi + 0x44]
mov r9d, 0xffffffff
mov r8, qword [rbp - 0x60]
mov rdx, r15
mov dword [rsp + 0x40], eax
mov rcx, rbx
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.180064f40
mov rcx, rsi
call fcn.18007dfb0
jmp 0x18006d8de
xor esi, esi
mov dword [rbp - 0x50], esi
mov dword [rsp + 0x54], esi
test r12, r12
je 0x18006c76e
mov rax, qword [r15]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x18006c73f
lea rax, [rdx + 0x22]
dec ecx
mov word [rax], si
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x18006c732
mov eax, dword [r12]
mov rcx, qword [r12 + 8]
test eax, eax
jle 0x18006c75d
add rcx, 0x22
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x18006c750
cmp qword [r15 + 0x20], 0x64
jbe 0x18006c776
mov qword [r15 + 0x20], 0x64
jmp 0x18006c776
mov qword [r15 + 0x20], 1
mov rdx, qword [rbp - 8]
mov r8d, 0xffffffff
mov rcx, r12
call fcn.180040b50
mov rdi, qword [r14 + 0x30]
test eax, eax
mov eax, 1
mov ecx, esi
cmove ecx, eax
mov dword [rbp - 0x74], ecx
mov edx, dword [rdi + 0x78]
mov dword [rbp - 0x24], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x18006c7d5
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.1800064f0
mov edx, dword [rbp - 0x24]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x18006c7eb
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
mov eax, edx
mov qword [rbp + 0x70], rsi
not eax
mov qword [rbp + 0x90], rsi
mov dword [rbp - 0x78], eax
xorps xmm0, xmm0
mov rax, qword [rbp - 0x68]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0x78], rax
mov eax, dword [rbx + 0x54]
inc eax
mov qword [rbp + 0x60], rbx
mov dword [rbp + 0x30], eax
movdqu xmmword [rbp + 0x80], xmm0
test r12, r12
je 0x18006c832
mov eax, dword [r12]
mov dword [rbp + 0x2c], eax
jmp 0x18006c835
mov dword [rbp + 0x2c], esi
mov r13, qword [rbp - 0x60]
mov qword [rbp + 0x38], r12
test r13, r13
je 0x18006c86a
mov rdi, qword [r13 + 8]
cmp dword [r13], esi
jle 0x18006c86a
nop dword [rax]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.180041030
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x18006c850
xor esi, esi
mov r13, qword [rbp - 8]
test r13, r13
je 0x18006c898
cmp dword [r13], 0
mov rdi, qword [r13 + 8]
jle 0x18006c898
nop
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.180041030
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x18006c880
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x18006c8ad
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.180041030
mov r8d, dword [rbp + 0x58]
xor r10d, r10d
mov eax, dword [rbp + 0x48]
mov r9d, r10d
mov dword [rbp + 0x4c], eax
mov dword [rsp + 0x64], r10d
test r8d, r8d
jle 0x18006c95f
movzx edx, word [rbp + 0x90]
mov r12d, r10d
mov r15d, 0xfff7
nop dword [rax + rax]
mov rax, qword [rbp + 0x50]
or dx, 8
mov word [rbp + 0x90], dx
mov rcx, qword [r12 + rax]
mov r13, qword [rcx + 0x20]
test r13, r13
je 0x18006c93b
cmp dword [r13], 0
mov esi, r10d
mov rdi, qword [r13 + 8]
jle 0x18006c93b
nop word [rax + rax]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.180041030
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x18006c910
mov r8d, dword [rbp + 0x58]
xor r10d, r10d
movzx edx, word [rbp + 0x90]
mov r9d, dword [rsp + 0x64]
and dx, r15w
inc r9d
add r12, 0x18
mov word [rbp + 0x90], dx
mov dword [rsp + 0x64], r9d
cmp r9d, r8d
jl 0x18006c8e0
mov r15, qword [rbp - 0x38]
mov r12, qword [rbp - 0x40]
mov rdi, qword [rsp + 0x58]
mov eax, dword [rbx + 0x54]
mov dword [rbp + 0x34], eax
cmp byte [rdi + 0x50], 0
jne 0x18006da35
test r12, r12
je 0x18006d2fe
mov eax, dword [rbx + 0x50]
xor r9d, r9d
mov dword [rbp + 0x24], eax
xor r8d, r8d
inc eax
mov rdx, r12
mov rcx, rbx
mov dword [rbx + 0x50], eax
call fcn.180065b60
mov r9d, dword [rbp + 0x2c]
mov rdi, rax
mov r8d, dword [rbp + 0x24]
mov rcx, r14
mov qword [rbp - 0x10], rax
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x3a]
call fcn.180026570
mov r9d, 0xfffffffa
mov dword [rsp + 0x68], eax
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.180026b50
mov esi, dword [rbx + 0x54]
inc esi
mov dword [rbp - 0x7c], esi
inc esi
mov dword [rbp - 0x2c], esi
lea eax, [rsi + 1]
mov dword [rbx + 0x54], eax
mov rdi, qword [r14 + 0x30]
mov dword [rbp - 0x4c], eax
mov edx, dword [rdi + 0x78]
mov dword [rbp - 0x28], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x18006ca24
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.1800064f0
mov edx, dword [rbp - 0x28]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x18006ca3a
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
inc dword [rbx + 0x54]
mov eax, edx
mov rdi, qword [r14 + 0x30]
not eax
mov dword [rbp - 0x20], eax
mov eax, dword [rbx + 0x54]
mov dword [rsp + 0x64], eax
mov edx, dword [rdi + 0x78]
mov dword [rsp + 0x70], edx
lea eax, [rdx + 1]
mov dword [rdi + 0x78], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x18006ca8b
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.1800064f0
mov edx, dword [rsp + 0x70]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x18006caa1
movsxd rax, edx
mov dword [rcx + rax*4], 0xffffffff
mov ecx, dword [rbx + 0x54]
mov r13d, edx
mov edx, dword [r12]
not r13d
add edx, ecx
mov dword [rbp - 0x48], r13d
mov dword [rbx + 0x54], edx
mov r9d, esi
lea edi, [rcx + 1]
xor r8d, r8d
mov ecx, dword [r12]
lea eax, [rdx + 1]
mov dword [rbp - 0x30], edi
add ecx, edx
mov dword [rbp - 0x80], eax
xor eax, eax
mov dword [rbx + 0x54], ecx
mov rcx, r14
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x19]
call fcn.180026570
mov r9d, dword [rbp - 0x7c]
xor esi, esi
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov rcx, r14
lea edx, [rsi + 0x19]
call fcn.180026570
lea ecx, [rdi - 1]
mov r9d, edi
add ecx, dword [r12]
lea edx, [rsi + 0x1c]
mov dword [rsp + 0x20], ecx
xor r8d, r8d
mov rcx, r14
call fcn.180026570
mov r8d, dword [rsp + 0x64]
lea edx, [rsi + 0x11]
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.180026570
cmp dword [rbp - 0x74], esi
mov ecx, 0x900
mov r8, qword [rsp + 0x78]
mov eax, 0x100
mov rdx, qword [rbp - 0x68]
cmovne ax, cx
xor r13d, r13d
mov r9, r12
mov dword [rsp + 0x30], r13d
mov rcx, rbx
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r13
call fcn.18007d3c0
mov qword [rsp + 0x78], rax
mov rdx, rax
test rax, rax
je 0x18006da30
movsx ecx, byte [rax + 0x34]
cmp ecx, dword [r12]
jne 0x18006cb8c
mov eax, r13d
mov dword [rsp + 0x50], eax
jmp 0x18006cdea
cmp byte [rbp + 0x98], sil
je 0x18006cba3
test byte [r15 + 0xa], 1
lea rdx, str.DISTINCT
je 0x18006cbaa
lea rdx, str.GROUP_BY
mov rcx, rbx
call fcn.180065c20
mov edi, dword [r12]
mov esi, edi
mov ecx, dword [rbp + 0x48]
mov edx, edi
mov dword [rsp + 0x50], 1
test ecx, ecx
jle 0x18006cbfd
mov r8, qword [rbp + 0x40]
mov r9d, ecx
add r8, 0x10
nop dword [rax]
nop dword [rax + rax]
cmp dword [r8], edx
lea eax, [rsi + 1]
lea r8, [r8 + 0x20]
cmovl eax, esi
mov esi, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x18006cbe0
mov ecx, dword [rbx + 0x44]
mov r12d, dword [rbx + 0x48]
mov dword [rsp + 0x54], r12d
cmp esi, ecx
jg 0x18006cc1b
lea eax, [r12 + rsi]
sub ecx, esi
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x18006cc2c
mov eax, dword [rbx + 0x54]
lea r12d, [rax + 1]
add eax, esi
mov dword [rbx + 0x54], eax
mov dword [rsp + 0x54], r12d
mov rcx, rbx
call fcn.18003e780
mov rdx, qword [rbp - 0x40]
mov r8d, r12d
xor r9d, r9d
call fcn.18003fd80
mov ecx, dword [rbp + 0x48]
test ecx, ecx
jle 0x18006ccc8
mov r8d, dword [rsp + 0x54]
add edi, r12d
xor eax, eax
mov r12d, eax
xor r15d, r15d
nop word [rax + rax]
mov rdx, qword [rbp + 0x40]
mov eax, edi
add rdx, r12
sub eax, r8d
cmp dword [rdx + 0x10], eax
jl 0x18006ccb3
mov r9d, dword [rdx + 8]
mov rcx, rbx
mov r8d, dword [rdx + 0xc]
mov rdx, qword [rdx]
mov byte [rsp + 0x28], r15b
mov dword [rsp + 0x20], edi
call fcn.18003e610
cmp edi, eax
je 0x18006cca9
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, 0x22
mov rcx, r14
call fcn.180026570
mov ecx, dword [rbp + 0x48]
inc edi
mov r8d, dword [rsp + 0x54]
inc r13d
add r12, 0x20
cmp r13d, ecx
jl 0x18006cc60
mov r15, qword [rbp - 0x38]
mov r12d, dword [rsp + 0x54]
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x18006ccd8
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x18006cce4
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov edi, dword [rbx + rax*4 + 0x24]
mov r9d, esi
mov dword [rsp + 0x20], edi
mov r8d, r12d
mov edx, 0x31
mov rcx, r14
call fcn.180026570
mov r8d, dword [rbp + 0x24]
xor r13d, r13d
mov r9d, edi
mov dword [rsp + 0x20], r13d
mov rcx, r14
lea edx, [r13 + 0x6d]
call fcn.180026570
test edi, edi
je 0x18006cd4d
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x18006cd4d
mov ecx, r13d
lea rax, [rbx + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edi
je 0x18006cd49
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18006cd30
mov dword [rbx + rdx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x18006cd4d
mov byte [rax + 6], 1
mov r8d, esi
mov edx, r12d
mov rcx, rbx
call fcn.18003e090
cmp esi, dword [rbx + 0x44]
jle 0x18006cd67
mov dword [rbx + 0x44], esi
mov dword [rbx + 0x48], r12d
mov rcx, qword [rsp + 0x78]
call fcn.18007dfb0
mov ecx, dword [rbx + 0x50]
mov dword [rbp - 0x50], ecx
mov dword [rbp + 0x28], ecx
lea eax, [rcx + 1]
mov dword [rbx + 0x50], eax
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x18006cd90
inc dword [rbx + 0x54]
mov eax, dword [rbx + 0x54]
jmp 0x18006cd9c
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov eax, dword [rbx + rax*4 + 0x24]
mov r8d, ecx
mov dword [rsp + 0x54], eax
mov rcx, r14
mov dword [rsp + 0x20], esi
mov r9d, eax
mov edx, 0x3c
call fcn.180026570
mov r9d, dword [rbp - 0x78]
mov edx, 0x6a
mov r8d, dword [rbp + 0x24]
mov rcx, r14
mov dword [rsp + 0x20], r13d
call fcn.180026570
mov rcx, rbx
mov byte [rbp + 0x21], 1
call fcn.18003e780
mov eax, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
mov r12, qword [rbp - 0x40]
cmp dword [rbp - 0x74], 0
je 0x18006ce4c
mov rcx, qword [rsp + 0x58]
test byte [rcx + 0x4c], 4
jne 0x18006ce4c
test eax, eax
jne 0x18006ce04
cmp byte [rdx + 0x35], al
je 0x18006ce4c
movsxd rsi, dword [rbp + 0x10]
mov qword [rbp - 8], r13
cmp esi, dword [r14 + 0x3c]
jge 0x18006ce4c
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r14]
call fcn.180026890
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r14 + 0x3c]
dec eax
cmp esi, eax
jne 0x18006ce4c
mov dword [r14 + 0x3c], eax
mov r13d, dword [r14 + 0x3c]
mov rcx, rbx
mov dword [rbp - 0x74], r13d
call fcn.18003e780
cmp dword [rsp + 0x50], 0
je 0x18006ce80
mov eax, dword [rbp - 0x50]
mov edx, 0x64
mov r9d, dword [rsp + 0x54]
mov rcx, r14
mov r8d, dword [rbp + 0x24]
mov dword [rsp + 0x20], eax
call fcn.180026570
mov eax, dword [r12]
xor ecx, ecx
mov edi, ecx
test eax, eax
jle 0x18006cf34
mov r15, qword [rbp - 0x40]
mov r12d, ecx
mov r13d, dword [rsp + 0x50]
nop dword [rax]
test r13d, r13d
je 0x18006cefc
movsxd rsi, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
mov ecx, esi
cmp dword [rax + 0x60], esi
jg 0x18006cec4
mov rcx, r14
call fcn.1800264c0
test eax, eax
jne 0x18006cf17
mov ecx, dword [r14 + 0x3c]
lea eax, [rcx + 1]
mov dword [r14 + 0x3c], eax
lea rcx, [rsi + rsi*2]
mov rax, qword [r14 + 8]
mov word [rax + rcx*8], 0x2f
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 8], edi
lea rdx, [rax + rcx*8]
mov eax, dword [rbp - 0x50]
mov dword [rdx + 4], eax
mov eax, dword [rbp - 0x80]
add eax, edi
xor ecx, ecx
mov dword [rdx + 0xc], eax
mov qword [rdx + 0x10], rcx
jmp 0x18006cf17
mov r8d, dword [rbp - 0x80]
mov rcx, rbx
mov byte [rbp + 0x20], 1
add r8d, edi
mov rdx, qword [r15 + 8]
mov rdx, qword [rdx + r12]
call fcn.18003fd20
mov eax, dword [r15]
inc edi
add r12, 0x28
cmp edi, eax
jl 0x18006cea0
mov r15, qword [rbp - 0x38]
mov r13d, dword [rbp - 0x74]
mov r12, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x18006cf43
inc dword [rdi]
mov eax, dword [r12]
mov r9d, dword [rbp - 0x80]
mov edx, 0x2a
mov r8d, dword [rbp - 0x30]
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.180026570
mov r9d, 0xfffffffa
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.180026b50
mov esi, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
mov ecx, esi
cmp dword [rax + 0x60], esi
jg 0x18006cf8e
mov rcx, r14
call fcn.1800264c0
test eax, eax
jne 0x18006cfc4
mov ecx, dword [r14 + 0x3c]
lea eax, [rcx + 1]
mov dword [r14 + 0x3c], eax
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
mov word [rax + rcx*8], 0x2b
mov byte [rax + rcx*8 + 3], 0
lea r8, [rax + rcx*8]
xor ecx, ecx
lea eax, [rsi + 1]
mov dword [r8 + 8], ecx
mov dword [r8 + 4], eax
mov dword [r8 + 0xc], eax
mov qword [r8 + 0x10], rcx
mov edi, dword [r12]
mov edx, 0x20
mov r9d, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x80]
mov rcx, qword [rbx + 0x10]
mov dword [rsp + 0x20], edi
call fcn.180026570
mov edx, dword [rbp - 0x80]
mov r8d, edi
mov rcx, rbx
call fcn.18003e090
mov r12d, dword [rbp - 0x20]
xor edi, edi
mov r8d, dword [rbp - 0x4c]
mov r9d, r12d
mov rcx, r14
mov dword [rsp + 0x20], edi
lea edx, [rdi + 0x11]
call fcn.180026570
mov r9d, dword [rbp - 0x78]
mov edx, 0x89
mov r8d, dword [rbp - 0x2c]
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.180026570
mov r9d, dword [rbp - 0x48]
lea edx, [rdi + 0x11]
mov r8d, dword [rsp + 0x64]
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.180026570
mov edx, dword [r14 + 0x3c]
cmp edx, esi
jbe 0x18006d055
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi*2]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
lea ecx, [rdx - 1]
lea rdx, [rbp + 0x20]
mov dword [rax + 0x64], ecx
mov rcx, rbx
call fcn.18006ba00
mov edx, 0x19
mov dword [rsp + 0x20], edi
mov edi, dword [rbp - 0x7c]
mov rcx, r14
mov r9d, edi
lea r8d, [rdx - 0x18]
call fcn.180026570
cmp dword [rsp + 0x50], 0
je 0x18006d0a7
mov r8d, dword [rbp + 0x24]
xor eax, eax
mov r9d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 5]
call fcn.180026570
jmp 0x18006d0f9
mov rcx, qword [rsp + 0x78]
call fcn.18007dfb0
movsxd rsi, dword [rsp + 0x68]
cmp esi, dword [r14 + 0x3c]
jge 0x18006d0f9
mov rax, qword [r14 + 8]
lea rcx, [rsi + rsi*2]
movsx edx, byte [rax + rcx*8 + 1]
lea rdi, [rax + rcx*8]
mov r8, qword [rdi + 0x10]
mov rcx, qword [r14]
call fcn.180026890
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9a
mov eax, dword [r14 + 0x3c]
mov edi, dword [rbp - 0x7c]
dec eax
cmp esi, eax
jne 0x18006d0f9
mov dword [r14 + 0x3c], eax
mov esi, dword [rbp - 0x4c]
xor eax, eax
mov r9d, r12d
mov dword [rsp + 0x20], eax
mov r8d, esi
mov rcx, r14
lea edx, [rax + 0x11]
call fcn.180026570
mov r9d, dword [rbp - 0x78]
xor r12d, r12d
xor r8d, r8d
mov dword [rsp + 0x20], r12d
mov rcx, r14
lea edx, [r12 + 0x10]
call fcn.180026570
mov eax, dword [r14 + 0x3c]
lea edx, [r12 + 0x19]
mov r9d, dword [rbp - 0x2c]
lea r8d, [r12 + 1]
mov rcx, r14
mov dword [rbp - 0x48], eax
mov dword [rsp + 0x20], r12d
call fcn.180026570
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
lea edx, [r12 + 0x12]
mov rcx, r14
call fcn.180026570
movsxd rax, dword [rbp - 0x28]
mov r10, qword [r14 + 0x30]
test eax, eax
js 0x18006d18c
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x18006d18c
mov rcx, rax
mov eax, dword [r14 + 0x3c]
mov dword [r9 + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov r8d, edi
dec eax
mov dword [rsp + 0x20], r12d
mov dword [r10 + 0x64], eax
mov edx, 0x89
mov eax, dword [r14 + 0x3c]
mov rcx, r14
mov dword [rsp + 0x68], eax
lea r9d, [rax + 2]
call fcn.180026570
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov rcx, r14
lea edx, [r9 + 0x12]
call fcn.180026570
mov r13, qword [rbx + 0x10]
cmp dword [rbp + 0x58], r12d
jle 0x18006d238
mov rsi, qword [rbp + 0x50]
add rsi, 0x10
xor r15d, r15d
mov rax, qword [rsi - 0x10]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x18006d1f5
mov r9d, dword [rcx]
jmp 0x18006d1f8
mov r9d, r15d
mov r8d, dword [rsi]
mov edx, 0x8c
mov rdi, qword [rsi - 8]
mov rcx, r13
mov dword [rsp + 0x20], r15d
call fcn.180026570
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r13
call fcn.180026b50
inc r12d
add rsi, 0x18
cmp r12d, dword [rbp + 0x58]
jl 0x18006d1e3
mov r15, qword [rbp - 0x38]
mov esi, dword [rbp - 0x4c]
mov edi, dword [rsp + 0x68]
mov r9d, 0x10
mov rdx, qword [rbp - 0x18]
inc edi
mov r8d, edi
mov rcx, rbx
call fcn.180040500
mov eax, dword [rbp - 0x48]
mov r9d, 0xffffffff
mov r8, qword [r15]
mov rdx, r15
mov dword [rsp + 0x40], eax
mov rcx, rbx
mov rax, qword [rbp - 0x58]
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x98]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
call fcn.180064f40
xor edi, edi
xor r9d, r9d
mov r8d, esi
mov dword [rsp + 0x20], edi
mov rcx, r14
lea edx, [rdi + 0x12]
call fcn.180026570
movsxd rax, dword [rsp + 0x70]
mov r10, qword [r14 + 0x30]
test eax, eax
js 0x18006d2cb
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x18006d2cb
mov rcx, rax
mov eax, dword [r14 + 0x3c]
mov dword [r9 + rcx*4], eax
mov eax, dword [r14 + 0x3c]
lea rdx, [rbp + 0x20]
dec eax
mov rcx, rbx
mov dword [r10 + 0x64], eax
call fcn.18006b900
mov r8d, dword [rsp + 0x64]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x12]
call fcn.180026570
jmp 0x18006d8ae
cmp qword [r15 + 0x30], 0
mov r12, r10
mov qword [rsp + 0x68], r10
jne 0x18006d5eb
mov rax, qword [r15]
cmp dword [rax], 1
jne 0x18006d5eb
mov r12, qword [r15 + 0x28]
cmp dword [r12], 1
jne 0x18006d5e8
cmp qword [r12 + 0x30], 0
jne 0x18006d5e8
mov r12, qword [r12 + 0x28]
test byte [r12 + 0x48], 0x10
jne 0x18006d5e8
mov rax, qword [rax + 8]
mov rdx, qword [rax]
cmp byte [rdx], 0x9b
jne 0x18006d5e8
test r8d, r8d
je 0x18006d5e8
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x18006d5e8
test byte [rdx + 4], 0x10
jne 0x18006d5e8
mov rdx, qword [r12 + 0x70]
mov esi, 0xfff0bdc0
test rdx, rdx
je 0x18006d3c3
mov rax, qword [rbx]
mov esi, r10d
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jle 0x18006d3c3
mov rax, qword [rax + 0x20]
mov r8, rcx
add rax, 0x18
mov rcx, r10
nop
cmp qword [rax], rdx
je 0x18006d3c3
inc esi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x18006d3b0
mov r13d, dword [rbx + 0x50]
mov rcx, rbx
mov qword [rsp + 0x78], r10
mov rdi, r10
lea eax, [r13 + 1]
mov dword [rbx + 0x50], eax
mov eax, dword [r12 + 0x3c]
mov dword [rsp + 0x70], eax
mov rax, qword [rbx + 0x1c0]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x16c]
bt eax, esi
jb 0x18006d42e
bts eax, esi
movsxd r9, esi
mov dword [rcx + 0x16c], eax
mov r8, r9
mov rax, qword [rcx]
shl r8, 5
mov rdx, qword [rax + 0x20]
mov rax, qword [r8 + rdx + 0x18]
mov edx, dword [rax]
mov dword [rcx + r9*4 + 0x170], edx
cmp esi, 1
jne 0x18006d42e
call fcn.18004d290
mov rax, qword [r12]
xor r9d, r9d
mov r8d, dword [r12 + 0x3c]
mov edx, esi
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.180045b90
test byte [r12 + 0x48], 0x20
je 0x18006d472
mov rdi, qword [r12 + 0x10]
test rdi, rdi
je 0x18006d472
nop dword [rax + rax]
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x18006d472
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x18006d460
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x18006d4b0
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x18006d4a7
movzx ecx, word [rax + 0x5c]
cmp cx, word [r12 + 0x46]
jge 0x18006d4a7
cmp qword [rax + 0x48], 0
jne 0x18006d4a7
test rdi, rdi
je 0x18006d4a4
cmp cx, word [rdi + 0x5c]
jge 0x18006d4a7
mov rdi, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x18006d480
test rdi, rdi
je 0x18006d4cc
mov eax, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x70], eax
call fcn.18004e060
mov qword [rsp + 0x78], rax
mov r9d, dword [rsp + 0x70]
mov r8d, r13d
mov edx, 0x36
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.180026570
mov esi, 1
mov edx, eax
mov r8d, esi
mov rcx, r14
lea r9d, [rsi - 0xf]
call fcn.180026b50
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x18006d517
lea r9d, [rsi - 7]
mov r8, rax
lea edx, [rsi - 2]
mov rcx, r14
call fcn.180026b50
xor eax, eax
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov edx, 0x32
mov rax, qword [rbp + 0x50]
mov rcx, r14
mov r9d, dword [rax + 0x10]
call fcn.180026570
xor eax, eax
xor r9d, r9d
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x3d]
call fcn.180026570
cmp byte [rbx + 0x1f2], 2
jne 0x18006d852
lea r9, [0x18010a500]
test rdi, rdi
je 0x18006d57b
test byte [r12 + 0x48], 0x20
je 0x18006d576
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x18006d57b
mov rax, qword [rdi]
jmp 0x18006d587
xor eax, eax
mov dword [rbp - 0x10], eax
mov rax, r9
mov rsi, qword [rbp - 0x10]
mov r8, qword [r12]
lea rcx, str._USING_COVERING_INDEX
test esi, esi
mov qword [rsp + 0x20], rax
lea rdx, str.SCAN_TABLE__s_s_s
cmovne r9, rcx
mov rcx, qword [rbx]
call fcn.180007f50
mov rsi, qword [rbx + 0x10]
mov rdi, rax
mov r8d, dword [rbx + 0x200]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov edx, 0x9b
mov rcx, rsi
call fcn.180026570
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.180026b50
jmp 0x18006d852
mov r12, r10
xor sil, sil
mov rdi, r10
cmp qword [r15 + 0x40], 0
jne 0x18006d75b
mov esi, r10d
cmp r8d, 1
jne 0x18006d713
mov rax, qword [rbp + 0x50]
mov r10, qword [rax]
mov r13, qword [r10 + 0x20]
test r13, r13
je 0x18006d713
cmp dword [r13], r8d
jne 0x18006d713
mov rax, qword [r13 + 8]
mov rcx, qword [rax]
cmp byte [rcx], 0x9c
jne 0x18006d713
mov r10, qword [r10 + 8]
lea rdx, [0x18010d774]
lea r11, [0x180111820]
movzx r8d, byte [r10]
movzx r9d, r8b
test r8b, r8b
je 0x18006d6a1
mov r11, r10
lea r15, [0x180111820]
sub r11, rdx
movzx ecx, r8b
nop word [rax + rax]
movzx eax, byte [rdx]
movzx r9d, cl
movzx ecx, cl
movzx eax, byte [rax + r15]
cmp byte [rcx + r15], al
jne 0x18006d696
movzx ecx, byte [rdx + r11 + 1]
inc rdx
movzx r9d, cl
test cl, cl
jne 0x18006d670
mov r15, qword [rbp - 0x38]
lea r11, [0x180111820]
movzx eax, byte [rdx]
movzx ecx, byte [rax + r11]
movzx eax, r9b
movzx eax, byte [rax + r11]
cmp eax, ecx
jne 0x18006d6bd
mov esi, 1
jmp 0x18006d710
lea rdx, [0x18010d778]
test r8b, r8b
je 0x18006d6f6
movzx eax, r8b
sub r10, rdx
movzx ecx, al
movzx r8d, al
movzx eax, byte [rdx]
movzx eax, byte [rax + r11]
cmp byte [rcx + r11], al
jne 0x18006d6f6
movzx eax, byte [rdx + r10 + 1]
inc rdx
movzx r8d, al
test al, al
jne 0x18006d6d0
movzx eax, r8b
movzx ecx, byte [rax + r11]
movzx eax, byte [rdx]
movzx eax, byte [rax + r11]
cmp ecx, eax
jne 0x18006d713
mov esi, 2
mov rdi, r13
test sil, sil
je 0x18006d75b
mov r13, qword [rsp + 0x58]
xor r8d, r8d
mov rcx, r13
mov rdx, rdi
call fcn.18003b990
mov qword [rsp + 0x68], rax
mov rdi, rax
mov r12, rax
test rax, rax
je 0x18006d75b
cmp byte [r13 + 0x50], 0
jne 0x18006d75b
mov rax, qword [rax + 8]
cmp sil, 1
setne cl
mov byte [rax + 0x18], cl
mov rax, qword [r12 + 8]
mov rcx, qword [rax]
mov byte [rcx], 0x9a
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.18006b900
mov r8, qword [rsp + 0x78]
mov r9, rdi
mov rdx, qword [rbp - 0x68]
mov rcx, rbx
movzx eax, sil
xor esi, esi
mov dword [rsp + 0x30], esi
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rsi
call fcn.18007d3c0
mov rdi, rax
test rax, rax
jne 0x18006d7ac
mov rdi, qword [rsp + 0x58]
mov rdx, r12
mov rcx, rdi
call fcn.18003c1c0
jmp 0x18006da35
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.18006ba00
cmp byte [rdi + 0x34], sil
jle 0x18006d7d5
mov r9d, dword [rdi + 0x44]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0x10]
call fcn.180026570
mov rcx, rdi
call fcn.18007dfb0
mov r12d, esi
mov r13, qword [rbx + 0x10]
cmp dword [rbp + 0x58], esi
jle 0x18006d854
mov rsi, qword [rbp + 0x50]
add rsi, 0x10
xor r15d, r15d
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsi - 0x10]
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x18006d812
mov r9d, dword [rcx]
jmp 0x18006d815
mov r9d, r15d
mov r8d, dword [rsi]
mov edx, 0x8c
mov rdi, qword [rsi - 8]
mov rcx, r13
mov dword [rsp + 0x20], r15d
call fcn.180026570
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r13
call fcn.180026b50
inc r12d
add rsi, 0x18
cmp r12d, dword [rbp + 0x58]
jl 0x18006d800
mov r15, qword [rbp - 0x38]
xor esi, esi
mov edi, dword [rbp - 0x78]
mov r9d, 0x10
mov rdx, qword [rbp - 0x18]
mov r8d, edi
mov rcx, rbx
mov qword [rbp - 8], rsi
call fcn.180040500
mov rax, qword [rbp - 0x58]
mov r9d, 0xffffffff
mov r8, qword [r15]
mov rdx, r15
mov dword [rsp + 0x40], edi
mov rcx, rbx
mov dword [rsp + 0x38], edi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.180064f40
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
call fcn.18003c1c0
movsxd rax, dword [rbp - 0x24]
mov rdx, qword [r14 + 0x30]
test eax, eax
js 0x18006d8d1
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x18006d8d1
mov rcx, rax
mov eax, dword [r14 + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov r13, qword [rbp - 0x68]
dec eax
mov dword [rdx + 0x64], eax
cmp byte [rbp + 0x99], 3
jne 0x18006d940
cmp byte [rbx + 0x1f2], 2
jne 0x18006d940
mov rcx, qword [rbx]
lea r8, str.DISTINCT
mov rsi, qword [rbx + 0x10]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
call fcn.180007f50
mov r8d, dword [rbx + 0x200]
xor r12d, r12d
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov edx, 0x9b
mov rcx, rsi
mov rdi, rax
call fcn.180026570
lea r9d, [r12 - 1]
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.180026b50
jmp 0x18006d943
xor r12d, r12d
cmp qword [rbp - 8], 0
je 0x18006d9d3
cmp dword [rbp], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea r8, str.ORDER_BY
cmovg r8, rax
cmp byte [rbx + 0x1f2], 2
jne 0x18006d9b2
mov rcx, qword [rbx]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
mov rsi, qword [rbx + 0x10]
call fcn.180007f50
mov r8d, dword [rbx + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov rdi, rax
call fcn.180026570
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.180026b50
mov rdi, qword [rbp - 0x60]
lea r8, [rbp - 8]
mov rsi, qword [rbp - 0x58]
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x20], rsi
mov r9d, dword [rdi]
call fcn.180065d70
jmp 0x18006d9db
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
movsxd rax, dword [rbp - 0x70]
mov r8, qword [r14 + 0x30]
test eax, eax
js 0x18006d9fd
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x18006d9fd
mov rcx, rax
mov eax, dword [r14 + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [r14 + 0x3c]
mov ecx, dword [rsp + 0x60]
dec eax
mov dword [r8 + 0x64], eax
mov dword [rbx + 0x200], ecx
cmp byte [rsi], 9
jne 0x18006da29
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.1800665c0
xor eax, eax
mov r12d, eax
mov rdi, qword [rsp + 0x58]
jmp 0x18006da45
mov rdi, qword [rsp + 0x58]
mov r12d, 1
mov ecx, dword [rsp + 0x60]
mov dword [rbx + 0x200], ecx
mov rcx, qword [rbp + 0x40]
test rcx, rcx
je 0x18006da95
cmp qword [rdi + 0x320], 0
je 0x18006da65
mov rdx, rcx
mov rcx, rdi
call fcn.180005ff0
jmp 0x18006da95
cmp rcx, qword [rdi + 0x168]
jb 0x18006da90
cmp rcx, qword [rdi + 0x170]
jae 0x18006da90
mov rax, qword [rdi + 0x160]
mov qword [rcx], rax
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rcx
jmp 0x18006da95
call fcn.180005f40
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x18006daf9
cmp qword [rdi + 0x320], 0
je 0x18006dabb
mov rdx, rcx
mov rcx, rdi
call fcn.180005ff0
mov eax, r12d
jmp 0x18006c381
mov rcx, qword [rbp + 0x50]
cmp rcx, qword [rdi + 0x168]
jb 0x18006daf0
cmp rcx, qword [rdi + 0x170]
jae 0x18006daf0
mov rax, qword [rdi + 0x160]
mov qword [rcx], rax
mov eax, r12d
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rcx
jmp 0x18006c381
mov rcx, qword [rbp + 0x50]
call fcn.180005f40
mov eax, r12d
jmp 0x18006c381