Function at 0x18006bd90
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 [0x180128010]
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 0x18006be6c
cmp byte [rsi + 0x50], 0
jne 0x18006be6c
cmp dword [rcx + 0x4c], 0
jne 0x18006be6c
xor edi, edi
cmp byte [rsi + 0xa1], dil
jne 0x18006be98
cmp byte [rcx + 0x1f3], dil
jne 0x18006be98
mov r10, qword [rsi + 0x178]
test r10, r10
je 0x18006be98
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 0x18006be74
lea rdx, str.not_authorized
mov rcx, rbx
call fcn.180008fe0
mov dword [rbx + 0x18], 0x17
mov eax, r12d
jmp 0x18006c399
test eax, eax
je 0x18006be98
cmp eax, 2
je 0x18006be6c
lea rdx, str.authorizer_malfunction
mov rcx, rbx
call fcn.180008fe0
mov eax, r12d
mov dword [rbx + 0x18], r12d
jmp 0x18006c399
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 0x18006bed5
mov rdx, qword [r15 + 0x48]
mov rcx, rsi
call fcn.18003c1d0
and word [r15 + 0xa], r14w
mov qword [r15 + 0x48], rdi
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.18006b7b0
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 0x18006bfa8
cmp byte [rsi + 0x50], r8b
jne 0x18006bfa8
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 0x18006bf88
mov rcx, rbx
call fcn.180026420
mov qword [rbx + 0x10], rax
mov r14, rax
test rax, rax
je 0x18006bf60
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x99
mov rcx, r14
call fcn.180026580
cmp qword [rbx + 0x1c0], 0
jne 0x18006bf77
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x18006bf77
mov byte [rbx + 0x23], r12b
test r14, r14
je 0x18006bfa8
mov r11d, dword [rsp + 0x50]
xor r8d, r8d
mov rdx, qword [rbp - 0x68]
movzx eax, byte [r13]
cmp dword [rdi], r12d
jle 0x18006bfb0
sub al, 0xa
cmp al, r12b
ja 0x18006bfb0
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rbx
call fcn.180008fe0
mov rdi, rsi
jmp 0x18006da4b
mov rcx, qword [r15 + 0x50]
mov r12d, r8d
test rcx, rcx
jne 0x18006c341
mov rax, r8
mov rcx, r8
mov qword [rbp - 0x60], rax
nop word [rax + rax]
cmp r12d, dword [rdx]
jge 0x18006c33c
imul rsi, rax, 0x78
add rsi, rdx
mov r13, qword [rsi + 0x30]
test r13, r13
je 0x18006c32b
mov r9d, dword [rsi + 0x38]
test r9d, r9d
je 0x18006c044
test byte [rsi + 0x48], 4
jne 0x18006c32b
mov dword [rsp + 0x20], r8d
mov edx, 0x11
mov r8d, dword [rsi + 0x3c]
mov rcx, r14
call fcn.180026580
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 0x18006c335
mov r11d, dword [rsp + 0x50]
jmp 0x18006bfd0
mov rcx, r15
call fcn.18003aa80
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.180069b20
test eax, eax
je 0x18006c0b4
test edi, edi
je 0x18006c09c
or word [r15 + 0xa], 4
mov r13d, 1
mov dword [rsp + 0x50], r13d
mov qword [rbp - 0x60], 0xffffffffffffffff
lea r12d, [r13 - 2]
jmp 0x18006c2ec
mov r13d, dword [rsp + 0x50]
mov r12d, 0xffffffff
mov qword [rbp - 0x60], 0xffffffffffffffff
jmp 0x18006c2ec
mov rax, qword [rbp - 0x68]
cmp dword [rax], 1
jne 0x18006c19d
mov rcx, qword [rsp + 0x58]
mov eax, 0x100
test word [rcx + 0x4c], ax
jne 0x18006c19d
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.180026580
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.18006bd90
mov rcx, qword [r13 + 0x20]
call fcn.18000a140
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.180026580
mov edx, dword [r14 + 0x3c]
dec edi
cmp edx, edi
jbe 0x18006c186
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 0x18006c2e7
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.180026580
test byte [rsi + 0x48], 2
mov dword [rbp - 0x70], eax
lea ecx, [rax + 1]
mov dword [rsi + 0x38], ecx
jne 0x18006c23f
mov rdi, qword [rbx + 0x10]
test rdi, rdi
jne 0x18006c21e
mov rcx, rbx
call fcn.180026420
mov qword [rbx + 0x10], rax
mov rdi, rax
test rax, rax
je 0x18006c207
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0x99
mov rcx, rdi
call fcn.180026580
cmp qword [rbx + 0x1c0], 0
jne 0x18006c21e
mov rax, qword [rbx]
test byte [rax + 0x4c], 8
jne 0x18006c21e
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.180026580
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.18006bd90
mov rcx, qword [r13 + 0x20]
call fcn.18000a140
mov rcx, qword [rsi + 0x28]
mov word [rcx + 0x38], ax
test edi, edi
je 0x18006c2af
mov edx, dword [r14 + 0x3c]
cmp edx, edi
jbe 0x18006c2a5
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.180026580
mov r8d, eax
mov eax, dword [rbp - 0x70]
cmp dword [r14 + 0x3c], eax
jbe 0x18006c2e0
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 0x18006da45
mov rcx, r15
call fcn.18003aa80
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 0x18006c01f
mov rax, qword [r15 + 0x48]
mov qword [rbp - 8], rax
jmp 0x18006c01f
mov r13d, dword [rsp + 0x50]
jmp 0x18006c022
mov rsi, qword [rsp + 0x58]
jmp 0x18006c346
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 0x18006c3ba
mov r8, qword [rbp - 0x58]
mov rdx, r15
mov rcx, rbx
call fcn.180067bb0
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.1800ce4d0
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 0x18006c4d4
mov rcx, qword [rbp - 8]
mov r8d, 0xffffffff
mov rdx, rdi
call fcn.180040b60
test eax, eax
jne 0x18006c4d4
mov rdx, qword [r15]
mov eax, 0xfffe
and word [r15 + 0xa], ax
xor r8d, r8d
mov rcx, rsi
call fcn.18003b9a0
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 0x18006c438
mov r9d, dword [rdi]
mov edx, 0x39
mov r8d, dword [rax + 4]
mov rcx, r14
mov dword [rsp + 0x20], 0
call fcn.180026580
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 0x18006c476
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.180006500
mov edx, dword [rbp - 0x70]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x18006c48c
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.180067100
cmp dword [r15 + 0xc], 0
jne 0x18006c554
movsxd rcx, dword [rbp + 0x10]
test ecx, ecx
js 0x18006c554
mov rax, qword [r14]
cmp byte [rax + 0x50], 0
je 0x18006c541
lea rax, [0x180130338]
jmp 0x18006c54d
mov rdx, qword [rbp - 8]
test rdx, rdx
je 0x18006c40c
xor r9d, r9d
xor r8d, r8d
mov rcx, rbx
call fcn.180065b70
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.180026580
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, r14
mov edi, eax
call fcn.180026b60
mov dword [rbp + 0x10], edi
mov rdi, qword [rbp - 0x60]
jmp 0x18006c413
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 0x18006c5d2
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.180065b70
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.180026580
mov r9d, 0xfffffffa
mov r8, rsi
mov edx, eax
mov rcx, r14
mov edi, eax
call fcn.180026b60
mov dword [rbp + 0xa0], edi
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x18006c5c9
movsxd rax, dword [r14 + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov byte [rbp + 0x99], 3
jmp 0x18006c5d9
mov byte [rbp + 0x99], 0
test r13d, r13d
jne 0x18006c723
test r12, r12
jne 0x18006c723
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.18007d3d0
mov rsi, rax
test rax, rax
je 0x18006da40
mov rcx, rax
call fcn.180074240
cmp rax, qword [r15 + 0x20]
jae 0x18006c64d
mov rcx, rsi
call fcn.180074240
mov qword [r15 + 0x20], rax
cmp byte [rbp + 0x98], dil
je 0x18006c66c
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 0x18006c686
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 0x18006c6d5
test rcx, rcx
jne 0x18006c6d5
cmp r12d, dword [r14 + 0x3c]
jge 0x18006c6d5
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.1800268a0
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 0x18006c6d5
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.180064f50
mov rcx, rsi
call fcn.18007dfc0
jmp 0x18006d8ee
xor esi, esi
mov dword [rbp - 0x50], esi
mov dword [rsp + 0x54], esi
test r12, r12
je 0x18006c77e
mov rax, qword [r15]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x18006c74f
lea rax, [rdx + 0x22]
dec ecx
mov word [rax], si
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x18006c742
mov eax, dword [r12]
mov rcx, qword [r12 + 8]
test eax, eax
jle 0x18006c76d
add rcx, 0x22
dec eax
mov word [rcx], si
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x18006c760
cmp qword [r15 + 0x20], 0x64
jbe 0x18006c786
mov qword [r15 + 0x20], 0x64
jmp 0x18006c786
mov qword [r15 + 0x20], 1
mov rdx, qword [rbp - 8]
mov r8d, 0xffffffff
mov rcx, r12
call fcn.180040b60
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 0x18006c7e5
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.180006500
mov edx, dword [rbp - 0x24]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x18006c7fb
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 0x18006c842
mov eax, dword [r12]
mov dword [rbp + 0x2c], eax
jmp 0x18006c845
mov dword [rbp + 0x2c], esi
mov r13, qword [rbp - 0x60]
mov qword [rbp + 0x38], r12
test r13, r13
je 0x18006c87a
mov rdi, qword [r13 + 8]
cmp dword [r13], esi
jle 0x18006c87a
nop dword [rax]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.180041040
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x18006c860
xor esi, esi
mov r13, qword [rbp - 8]
test r13, r13
je 0x18006c8a8
cmp dword [r13], 0
mov rdi, qword [r13 + 8]
jle 0x18006c8a8
nop
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.180041040
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x18006c890
mov rax, qword [rbp - 0x18]
test rax, rax
je 0x18006c8bd
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.180041040
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 0x18006c96f
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 0x18006c94b
cmp dword [r13], 0
mov esi, r10d
mov rdi, qword [r13 + 8]
jle 0x18006c94b
nop word [rax + rax]
mov rdx, qword [rdi]
lea rcx, [rbp + 0x60]
call fcn.180041040
inc esi
lea rdi, [rdi + 0x28]
cmp esi, dword [r13]
jl 0x18006c920
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 0x18006c8f0
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 0x18006da45
test r12, r12
je 0x18006d30e
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.180065b70
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.180026580
mov r9d, 0xfffffffa
mov dword [rsp + 0x68], eax
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.180026b60
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 0x18006ca34
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.180006500
mov edx, dword [rbp - 0x28]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x18006ca4a
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 0x18006ca9b
mov rcx, qword [rdi]
lea eax, [rdx*2 + 1]
mov rdx, qword [rdi + 0x80]
movsxd r8, eax
shl r8, 2
call fcn.180006500
mov edx, dword [rsp + 0x70]
mov qword [rdi + 0x80], rax
mov rcx, qword [rdi + 0x80]
test rcx, rcx
je 0x18006cab1
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.180026580
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.180026580
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.180026580
mov r8d, dword [rsp + 0x64]
lea edx, [rsi + 0x11]
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.180026580
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.18007d3d0
mov qword [rsp + 0x78], rax
mov rdx, rax
test rax, rax
je 0x18006da40
movsx ecx, byte [rax + 0x34]
cmp ecx, dword [r12]
jne 0x18006cb9c
mov eax, r13d
mov dword [rsp + 0x50], eax
jmp 0x18006cdfa
cmp byte [rbp + 0x98], sil
je 0x18006cbb3
test byte [r15 + 0xa], 1
lea rdx, str.DISTINCT
je 0x18006cbba
lea rdx, str.GROUP_BY
mov rcx, rbx
call fcn.180065c30
mov edi, dword [r12]
mov esi, edi
mov ecx, dword [rbp + 0x48]
mov edx, edi
mov dword [rsp + 0x50], 1
test ecx, ecx
jle 0x18006cc0d
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 0x18006cbf0
mov ecx, dword [rbx + 0x44]
mov r12d, dword [rbx + 0x48]
mov dword [rsp + 0x54], r12d
cmp esi, ecx
jg 0x18006cc2b
lea eax, [r12 + rsi]
sub ecx, esi
mov dword [rbx + 0x48], eax
mov dword [rbx + 0x44], ecx
jmp 0x18006cc3c
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.18003e790
mov rdx, qword [rbp - 0x40]
mov r8d, r12d
xor r9d, r9d
call fcn.18003fd90
mov ecx, dword [rbp + 0x48]
test ecx, ecx
jle 0x18006ccd8
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 0x18006ccc3
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.18003e620
cmp edi, eax
je 0x18006ccb9
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, 0x22
mov rcx, r14
call fcn.180026580
mov ecx, dword [rbp + 0x48]
inc edi
mov r8d, dword [rsp + 0x54]
inc r13d
add r12, 0x20
cmp r13d, ecx
jl 0x18006cc70
mov r15, qword [rbp - 0x38]
mov r12d, dword [rsp + 0x54]
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x18006cce8
inc dword [rbx + 0x54]
mov edi, dword [rbx + 0x54]
jmp 0x18006ccf4
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.180026580
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.180026580
test edi, edi
je 0x18006cd5d
movzx edx, byte [rbx + 0x1f]
cmp dl, 8
jae 0x18006cd5d
mov ecx, r13d
lea rax, [rbx + 0x88]
nop dword [rax]
cmp dword [rax + 0xc], edi
je 0x18006cd59
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x18006cd40
mov dword [rbx + rdx*4 + 0x24], edi
inc byte [rbx + 0x1f]
jmp 0x18006cd5d
mov byte [rax + 6], 1
mov r8d, esi
mov edx, r12d
mov rcx, rbx
call fcn.18003e0a0
cmp esi, dword [rbx + 0x44]
jle 0x18006cd77
mov dword [rbx + 0x44], esi
mov dword [rbx + 0x48], r12d
mov rcx, qword [rsp + 0x78]
call fcn.18007dfc0
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 0x18006cda0
inc dword [rbx + 0x54]
mov eax, dword [rbx + 0x54]
jmp 0x18006cdac
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.180026580
mov r9d, dword [rbp - 0x78]
mov edx, 0x6a
mov r8d, dword [rbp + 0x24]
mov rcx, r14
mov dword [rsp + 0x20], r13d
call fcn.180026580
mov rcx, rbx
mov byte [rbp + 0x21], 1
call fcn.18003e790
mov eax, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x78]
mov r12, qword [rbp - 0x40]
cmp dword [rbp - 0x74], 0
je 0x18006ce5c
mov rcx, qword [rsp + 0x58]
test byte [rcx + 0x4c], 4
jne 0x18006ce5c
test eax, eax
jne 0x18006ce14
cmp byte [rdx + 0x35], al
je 0x18006ce5c
movsxd rsi, dword [rbp + 0x10]
mov qword [rbp - 8], r13
cmp esi, dword [r14 + 0x3c]
jge 0x18006ce5c
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.1800268a0
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 0x18006ce5c
mov dword [r14 + 0x3c], eax
mov r13d, dword [r14 + 0x3c]
mov rcx, rbx
mov dword [rbp - 0x74], r13d
call fcn.18003e790
cmp dword [rsp + 0x50], 0
je 0x18006ce90
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.180026580
mov eax, dword [r12]
xor ecx, ecx
mov edi, ecx
test eax, eax
jle 0x18006cf44
mov r15, qword [rbp - 0x40]
mov r12d, ecx
mov r13d, dword [rsp + 0x50]
nop dword [rax]
test r13d, r13d
je 0x18006cf0c
movsxd rsi, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
mov ecx, esi
cmp dword [rax + 0x60], esi
jg 0x18006ced4
mov rcx, r14
call fcn.1800264d0
test eax, eax
jne 0x18006cf27
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 0x18006cf27
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.18003fd30
mov eax, dword [r15]
inc edi
add r12, 0x28
cmp edi, eax
jl 0x18006ceb0
mov r15, qword [rbp - 0x38]
mov r13d, dword [rbp - 0x74]
mov r12, qword [rbp - 0x40]
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x18006cf53
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.180026580
mov r9d, 0xfffffffa
mov r8, rdi
mov edx, eax
mov rcx, r14
call fcn.180026b60
mov esi, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
mov ecx, esi
cmp dword [rax + 0x60], esi
jg 0x18006cf9e
mov rcx, r14
call fcn.1800264d0
test eax, eax
jne 0x18006cfd4
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.180026580
mov edx, dword [rbp - 0x80]
mov r8d, edi
mov rcx, rbx
call fcn.18003e0a0
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.180026580
mov r9d, dword [rbp - 0x78]
mov edx, 0x89
mov r8d, dword [rbp - 0x2c]
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.180026580
mov r9d, dword [rbp - 0x48]
lea edx, [rdi + 0x11]
mov r8d, dword [rsp + 0x64]
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.180026580
mov edx, dword [r14 + 0x3c]
cmp edx, esi
jbe 0x18006d065
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.18006ba10
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.180026580
cmp dword [rsp + 0x50], 0
je 0x18006d0b7
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.180026580
jmp 0x18006d109
mov rcx, qword [rsp + 0x78]
call fcn.18007dfc0
movsxd rsi, dword [rsp + 0x68]
cmp esi, dword [r14 + 0x3c]
jge 0x18006d109
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.1800268a0
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 0x18006d109
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.180026580
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.180026580
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.180026580
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
lea edx, [r12 + 0x12]
mov rcx, r14
call fcn.180026580
movsxd rax, dword [rbp - 0x28]
mov r10, qword [r14 + 0x30]
test eax, eax
js 0x18006d19c
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x18006d19c
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.180026580
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, esi
mov rcx, r14
lea edx, [r9 + 0x12]
call fcn.180026580
mov r13, qword [rbx + 0x10]
cmp dword [rbp + 0x58], r12d
jle 0x18006d248
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 0x18006d205
mov r9d, dword [rcx]
jmp 0x18006d208
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.180026580
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r13
call fcn.180026b60
inc r12d
add rsi, 0x18
cmp r12d, dword [rbp + 0x58]
jl 0x18006d1f3
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.180040510
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.180064f50
xor edi, edi
xor r9d, r9d
mov r8d, esi
mov dword [rsp + 0x20], edi
mov rcx, r14
lea edx, [rdi + 0x12]
call fcn.180026580
movsxd rax, dword [rsp + 0x70]
mov r10, qword [r14 + 0x30]
test eax, eax
js 0x18006d2db
mov r9, qword [r10 + 0x80]
test r9, r9
je 0x18006d2db
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.18006b910
mov r8d, dword [rsp + 0x64]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x12]
call fcn.180026580
jmp 0x18006d8be
cmp qword [r15 + 0x30], 0
mov r12, r10
mov qword [rsp + 0x68], r10
jne 0x18006d5fb
mov rax, qword [r15]
cmp dword [rax], 1
jne 0x18006d5fb
mov r12, qword [r15 + 0x28]
cmp dword [r12], 1
jne 0x18006d5f8
cmp qword [r12 + 0x30], 0
jne 0x18006d5f8
mov r12, qword [r12 + 0x28]
test byte [r12 + 0x48], 0x10
jne 0x18006d5f8
mov rax, qword [rax + 8]
mov rdx, qword [rax]
cmp byte [rdx], 0x9b
jne 0x18006d5f8
test r8d, r8d
je 0x18006d5f8
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x18006d5f8
test byte [rdx + 4], 0x10
jne 0x18006d5f8
mov rdx, qword [r12 + 0x70]
mov esi, 0xfff0bdc0
test rdx, rdx
je 0x18006d3d3
mov rax, qword [rbx]
mov esi, r10d
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jle 0x18006d3d3
mov rax, qword [rax + 0x20]
mov r8, rcx
add rax, 0x18
mov rcx, r10
nop
cmp qword [rax], rdx
je 0x18006d3d3
inc esi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x18006d3c0
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 0x18006d43e
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 0x18006d43e
call fcn.18004d2a0
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.180045ba0
test byte [r12 + 0x48], 0x20
je 0x18006d482
mov rdi, qword [r12 + 0x10]
test rdi, rdi
je 0x18006d482
nop dword [rax + rax]
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x18006d482
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x18006d470
mov rax, qword [r12 + 0x10]
test rax, rax
je 0x18006d4c0
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x18006d4b7
movzx ecx, word [rax + 0x5c]
cmp cx, word [r12 + 0x46]
jge 0x18006d4b7
cmp qword [rax + 0x48], 0
jne 0x18006d4b7
test rdi, rdi
je 0x18006d4b4
cmp cx, word [rdi + 0x5c]
jge 0x18006d4b7
mov rdi, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x18006d490
test rdi, rdi
je 0x18006d4dc
mov eax, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, rbx
mov dword [rsp + 0x70], eax
call fcn.18004e070
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.180026580
mov esi, 1
mov edx, eax
mov r8d, esi
mov rcx, r14
lea r9d, [rsi - 0xf]
call fcn.180026b60
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x18006d527
lea r9d, [rsi - 7]
mov r8, rax
lea edx, [rsi - 2]
mov rcx, r14
call fcn.180026b60
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.180026580
xor eax, eax
xor r9d, r9d
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x3d]
call fcn.180026580
cmp byte [rbx + 0x1f2], 2
jne 0x18006d862
lea r9, [0x18010b500]
test rdi, rdi
je 0x18006d58b
test byte [r12 + 0x48], 0x20
je 0x18006d586
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x18006d58b
mov rax, qword [rdi]
jmp 0x18006d597
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.180007f60
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.180026580
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.180026b60
jmp 0x18006d862
mov r12, r10
xor sil, sil
mov rdi, r10
cmp qword [r15 + 0x40], 0
jne 0x18006d76b
mov esi, r10d
cmp r8d, 1
jne 0x18006d723
mov rax, qword [rbp + 0x50]
mov r10, qword [rax]
mov r13, qword [r10 + 0x20]
test r13, r13
je 0x18006d723
cmp dword [r13], r8d
jne 0x18006d723
mov rax, qword [r13 + 8]
mov rcx, qword [rax]
cmp byte [rcx], 0x9c
jne 0x18006d723
mov r10, qword [r10 + 8]
lea rdx, [0x18010e774]
lea r11, [0x180112820]
movzx r8d, byte [r10]
movzx r9d, r8b
test r8b, r8b
je 0x18006d6b1
mov r11, r10
lea r15, [0x180112820]
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 0x18006d6a6
movzx ecx, byte [rdx + r11 + 1]
inc rdx
movzx r9d, cl
test cl, cl
jne 0x18006d680
mov r15, qword [rbp - 0x38]
lea r11, [0x180112820]
movzx eax, byte [rdx]
movzx ecx, byte [rax + r11]
movzx eax, r9b
movzx eax, byte [rax + r11]
cmp eax, ecx
jne 0x18006d6cd
mov esi, 1
jmp 0x18006d720
lea rdx, [0x18010e778]
test r8b, r8b
je 0x18006d706
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 0x18006d706
movzx eax, byte [rdx + r10 + 1]
inc rdx
movzx r8d, al
test al, al
jne 0x18006d6e0
movzx eax, r8b
movzx ecx, byte [rax + r11]
movzx eax, byte [rdx]
movzx eax, byte [rax + r11]
cmp ecx, eax
jne 0x18006d723
mov esi, 2
mov rdi, r13
test sil, sil
je 0x18006d76b
mov r13, qword [rsp + 0x58]
xor r8d, r8d
mov rcx, r13
mov rdx, rdi
call fcn.18003b9a0
mov qword [rsp + 0x68], rax
mov rdi, rax
mov r12, rax
test rax, rax
je 0x18006d76b
cmp byte [r13 + 0x50], 0
jne 0x18006d76b
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.18006b910
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.18007d3d0
mov rdi, rax
test rax, rax
jne 0x18006d7bc
mov rdi, qword [rsp + 0x58]
mov rdx, r12
mov rcx, rdi
call fcn.18003c1d0
jmp 0x18006da45
lea rdx, [rbp + 0x20]
mov rcx, rbx
call fcn.18006ba10
cmp byte [rdi + 0x34], sil
jle 0x18006d7e5
mov r9d, dword [rdi + 0x44]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0x10]
call fcn.180026580
mov rcx, rdi
call fcn.18007dfc0
mov r12d, esi
mov r13, qword [rbx + 0x10]
cmp dword [rbp + 0x58], esi
jle 0x18006d864
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 0x18006d822
mov r9d, dword [rcx]
jmp 0x18006d825
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.180026580
mov r9d, 0xfffffffb
mov r8, rdi
mov edx, eax
mov rcx, r13
call fcn.180026b60
inc r12d
add rsi, 0x18
cmp r12d, dword [rbp + 0x58]
jl 0x18006d810
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.180040510
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.180064f50
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x58]
call fcn.18003c1d0
movsxd rax, dword [rbp - 0x24]
mov rdx, qword [r14 + 0x30]
test eax, eax
js 0x18006d8e1
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x18006d8e1
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 0x18006d950
cmp byte [rbx + 0x1f2], 2
jne 0x18006d950
mov rcx, qword [rbx]
lea r8, str.DISTINCT
mov rsi, qword [rbx + 0x10]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
call fcn.180007f60
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.180026580
lea r9d, [r12 - 1]
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.180026b60
jmp 0x18006d953
xor r12d, r12d
cmp qword [rbp - 8], 0
je 0x18006d9e3
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 0x18006d9c2
mov rcx, qword [rbx]
lea rdx, str.USE_TEMP_B_TREE_FOR__s
mov rsi, qword [rbx + 0x10]
call fcn.180007f60
mov r8d, dword [rbx + 0x200]
xor r9d, r9d
mov edx, 0x9b
mov dword [rsp + 0x20], r12d
mov rcx, rsi
mov rdi, rax
call fcn.180026580
mov r9d, 0xffffffff
mov r8, rdi
mov edx, eax
mov rcx, rsi
call fcn.180026b60
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.180065d80
jmp 0x18006d9eb
mov rdi, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x58]
movsxd rax, dword [rbp - 0x70]
mov r8, qword [r14 + 0x30]
test eax, eax
js 0x18006da0d
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x18006da0d
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 0x18006da39
mov r8, rdi
mov rdx, r13
mov rcx, rbx
call fcn.1800665d0
xor eax, eax
mov r12d, eax
mov rdi, qword [rsp + 0x58]
jmp 0x18006da55
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 0x18006daa5
cmp qword [rdi + 0x320], 0
je 0x18006da75
mov rdx, rcx
mov rcx, rdi
call fcn.180006000
jmp 0x18006daa5
cmp rcx, qword [rdi + 0x168]
jb 0x18006daa0
cmp rcx, qword [rdi + 0x170]
jae 0x18006daa0
mov rax, qword [rdi + 0x160]
mov qword [rcx], rax
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rcx
jmp 0x18006daa5
call fcn.180005f50
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x18006db09
cmp qword [rdi + 0x320], 0
je 0x18006dacb
mov rdx, rcx
mov rcx, rdi
call fcn.180006000
mov eax, r12d
jmp 0x18006c391
mov rcx, qword [rbp + 0x50]
cmp rcx, qword [rdi + 0x168]
jb 0x18006db00
cmp rcx, qword [rdi + 0x170]
jae 0x18006db00
mov rax, qword [rdi + 0x160]
mov qword [rcx], rax
mov eax, r12d
dec dword [rdi + 0x14c]
mov qword [rdi + 0x160], rcx
jmp 0x18006c391
mov rcx, qword [rbp + 0x50]
call fcn.180005f50
mov eax, r12d
jmp 0x18006c391