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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov r12, qword [rcx + 0x10]
xor edi, edi
mov rax, qword [rcx]
mov r13d, 1
mov qword [rbp - 0x50], r13
mov rbx, r8
mov qword [rbp + 0x68], rdi
mov r14, rdx
mov qword [rsp + 0x50], rax
mov rsi, rcx
test r12, r12
jne 0x14014c25a
cmp qword [rcx + 0x98], rdi
jne 0x14014c252
test byte [rax + 0x60], 8
jne 0x14014c252
mov byte [rcx + 0x23], r13b
call fcn.1400e8a80
mov r12, rax
test r14, r14
je 0x14014ee38
cmp dword [rsi + 0x30], edi
jne 0x14014ee38
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x15]
call fcn.140118e50
test eax, eax
jne 0x14014ee38
cmp byte [rbx], 6
ja 0x14014c2bb
mov r8, qword [r14 + 0x48]
test r8, r8
je 0x14014c2ac
lea rdx, [fcn.140106f40]
mov rcx, rsi
call fcn.14013e0e0
mov qword [r14 + 0x48], rdi
mov eax, dword [r14 + 4]
and eax, 0xfffffffe
bts eax, 0x16
mov dword [r14 + 4], eax
xor r8d, r8d
mov qword [rsp + 0x178], r15
mov rdx, r14
mov rcx, rsi
call fcn.14014aba0
lea r8, [0x140971098]
cmp dword [rsi + 0x30], edi
jne 0x14014c630
mov r10d, dword [r14 + 4]
bt r10d, 0x17
jae 0x14014c32d
mov rdx, qword [r14 + 0x28]
lea r11, [rdx + 8]
mov rcx, r11
call fcn.14014c040
test eax, eax
je 0x14014c324
mov r8, qword [r11 + 0x18]
test r8, r8
jne 0x14014c310
mov rax, qword [r11 + 0x20]
mov r8, qword [rax]
lea rdx, str.target_object_alias_may_not_appear_in_FROM_clause:__s
mov rcx, rsi
call fcn.1400be560
jmp 0x14014c629
btr r10d, 0x17
mov dword [r14 + 4], r10d
cmp byte [rbx], 9
jne 0x14014c33d
mov rdx, r14
mov rcx, rsi
call fcn.140142c10
mov rdx, r14
mov rcx, rsi
call fcn.140170600
test eax, eax
jne 0x14014c629
mov eax, dword [r14 + 4]
mov ecx, edi
mov rbx, qword [r14 + 0x28]
xorps xmm0, xmm0
shr eax, 3
xorps xmm1, xmm1
and eax, r13d
mov qword [rbp - 0x18], rdi
mov dword [rsp + 0x60], eax
mov rax, qword [r14 + 0x48]
mov qword [rbp - 0x40], rax
movdqu xmmword [rbp - 0x38], xmm0
mov dword [rbp + 0xd8], ecx
movdqu xmmword [rbp - 0x28], xmm1
cmp qword [r14 + 0x50], rcx
jne 0x14014c5cd
mov r10, qword [rsp + 0x50]
mov r15, rdi
cmp ecx, dword [rbx]
jge 0x14014c666
imul r14, r15, 0x68
add r14, rbx
movzx eax, byte [r14 + 0x44]
mov r9, qword [r14 + 0x28]
mov r13, qword [r14 + 0x30]
mov qword [rsp + 0x70], r9
test al, 0x48
je 0x14014c4a0
mov rcx, qword [rbp + 0xc8]
mov r8d, eax
mov edx, dword [r14 + 0x4c]
and r8d, 0x40
mov rcx, qword [rcx + 0x30]
call fcn.14010ef40
mov r10, qword [rsp + 0x50]
test eax, eax
je 0x14014c495
test dword [r10 + 0x60], 0x2000
jne 0x14014c495
movzx eax, byte [r14 + 0x44]
test al, 8
je 0x14014c40e
test al, 0x10
je 0x14014c408
and al, 0xf7
jmp 0x14014c40a
and al, 0xd7
mov byte [r14 + 0x44], al
test al, 0x40
je 0x14014c478
mov edx, dword [rbp + 0xd8]
lea rcx, [r15 + 1]
mov eax, dword [rbx]
inc edx
cmp edx, eax
jge 0x14014c44f
imul rcx, rcx, 0x68
add rcx, 0x44
add rcx, rbx
nop
movzx eax, byte [rcx]
test al, 0x10
je 0x14014c443
test al, 8
je 0x14014c43f
and al, 0xef
jmp 0x14014c441
and al, 0xcf
mov byte [rcx], al
mov eax, dword [rbx]
inc edx
add rcx, 0x68
cmp edx, eax
jl 0x14014c430
dec eax
movsxd rdx, eax
cmp rdx, r15
jl 0x14014c478
imul rcx, rdx, 0x68
add rcx, 0x44
add rcx, rbx
and byte [rcx], 0xbf
test byte [rcx], 0x10
jne 0x14014c478
dec rdx
sub rcx, 0x68
cmp rdx, r15
jge 0x14014c464
mov rax, qword [rbp + 0xc8]
movzx r8d, byte [rbx + 0x44]
mov edx, dword [r14 + 0x4c]
and r8d, 0x40
mov rcx, qword [rax + 0x30]
call fcn.14013fb00
mov ecx, dword [rbp + 0xd8]
mov r9, qword [rsp + 0x70]
test r13, r13
je 0x14014c5b1
mov rax, qword [r13 + 0x20]
movsx r8d, word [r9 + 0x36]
mov edx, dword [rax]
cmp r8d, edx
jne 0x14014c60d
test dword [r14 + 0x48], 0x100
je 0x14014c4d5
mov rax, qword [r14 + 0x68]
cmp byte [rax + 0x12], dil
je 0x14014c5b1
mov eax, dword [r13 + 4]
mov r14, qword [rbp + 0xc8]
test al, 8
jne 0x14014c5b8
mov r8, qword [r13 + 0x48]
test r8, r8
je 0x14014c54d
cmp qword [r14 + 0x48], rdi
jne 0x14014c4fc
cmp dword [rbx], 1
jle 0x14014c531
cmp qword [r13 + 0x60], rdi
jne 0x14014c531
bt eax, 0x1b
jb 0x14014c531
test dword [r14 + 4], 0x8000000
jne 0x14014c531
test dword [r10 + 0x60], 0x40000
jne 0x14014c531
lea rdx, [fcn.140106f40]
mov rcx, rsi
call fcn.14013e0e0
mov qword [r13 + 0x48], rdi
jmp 0x14014c54d
test ecx, ecx
jne 0x14014c54d
test dword [r14 + 4], 0x40000
je 0x14014c54d
cmp dword [rbx], 1
je 0x14014c5b8
test byte [rbx + 0xac], 0x22
jne 0x14014c5b8
mov r9d, dword [rsp + 0x60]
mov rdx, r14
mov r8d, dword [rbp + 0xd8]
mov rcx, rsi
call fcn.140147610
test eax, eax
je 0x14014c582
cmp dword [rsi + 0x30], edi
jne 0x14014c623
mov dword [rbp + 0xd8], 0xffffffff
mov r15, 0xffffffffffffffff
mov r10, qword [rsp + 0x50]
mov rbx, qword [r14 + 0x28]
cmp byte [r10 + 0x67], dil
jne 0x14014c623
mov rax, qword [rbp + 0xd0]
mov ecx, dword [rbp + 0xd8]
cmp byte [rax], 8
jbe 0x14014c5b8
mov rax, qword [r14 + 0x48]
mov qword [rbp - 0x40], rax
jmp 0x14014c5b8
mov r14, qword [rbp + 0xc8]
inc ecx
inc r15
mov dword [rbp + 0xd8], ecx
cmp qword [r14 + 0x50], rdi
je 0x14014c398
mov r8, qword [rbp + 0xd0]
mov rdx, r14
mov rcx, rsi
call fcn.1401444b0
mov r9d, eax
cmp qword [r14 + 0x58], rdi
jne 0x14014c5f0
mov rcx, rsi
call fcn.1400e9ac0
mov eax, r9d
mov r15, qword [rsp + 0x178]
add rsp, 0x180
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [r9]
mov rcx, rsi
mov dword [rsp + 0x20], edx
lea rdx, str.expected__d_columns_for__s_but_got__d
call fcn.1400be560
mov r13d, 1
lea r8, [0x140971098]
movsxd rcx, dword [rsi + 0x128]
test ecx, ecx
je 0x14014c65b
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdx]
cmp byte [rax + 0x67], 0
jne 0x14014c657
mov rax, qword [rdx + 0x88]
lea rcx, [rcx + rcx*2]
lea r8, [rax + rcx*8]
mov edi, dword [r8 + 8]
mov dword [rsi + 0x128], edi
mov eax, r13d
jmp 0x14014c5f3
mov rax, qword [r14 + 0x30]
mov r15, rbx
mov qword [rsp + 0x48], rbx
test rax, rax
je 0x14014c75e
cmp byte [rax], 0x2c
mov qword [rsp + 0x48], rbx
jne 0x14014c75e
test dword [r10 + 0x60], 0x8000
mov r13d, 1
mov qword [rsp + 0x48], rbx
jne 0x14014c764
mov rax, qword [rsi]
lea r15, [fcn.140005c30]
add rax, 0x67
mov qword [rsp + 0x48], rbx
mov qword [rbp - 8], rax
lea rbx, [0x1401482b0]
mov qword [rbp - 0x10], rsi
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r14 + 0x28]
mov qword [rbp], rdi
mov qword [rbp + 0x10], rdi
mov dword [rbp + 8], edi
test rax, rax
je 0x14014c6f5
cmp dword [rax], edi
jle 0x14014c6f5
test byte [rax + 0x44], 0x40
mov dword [rbp + 0xc], 3
jne 0x14014c6f9
mov dword [rbp + 0xc], r13d
mov rdx, qword [r14 + 0x30]
lea rcx, [rbp - 0x10]
call fcn.140148070
cmp dword [rbp], edi
je 0x14014c74e
mov rdx, qword [r14 + 0x30]
lea rax, [rbp - 0x10]
mov qword [rbp + 0x48], rdi
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rbx
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], rdi
mov qword [rbp + 0x50], rax
test rdx, rdx
je 0x14014c739
lea rcx, [rbp + 0x28]
call fcn.1400ff190
mov rdx, qword [rbp + 0x10]
test rdx, rdx
je 0x14014c74e
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx]
call fcn.1400b9bb0
cmp dword [rbp + 4], edi
jne 0x14014c6d0
mov r15, qword [rsp + 0x48]
jmp 0x14014c764
mov r13d, 1
mov rbx, qword [rsp + 0x50]
test dword [rbx + 0x60], 0x201
jne 0x14014c794
mov rdx, r14
mov rcx, rsi
call fcn.14014bce0
test eax, eax
je 0x14014c794
cmp byte [rbx + 0x67], dil
jne 0x14014c629
mov r15, qword [r14 + 0x28]
mov qword [rsp + 0x48], r15
lea rcx, [0x1406436ab]
mov edx, edi
mov dword [rbp + 0xd8], edx
cmp dword [r15], edi
jle 0x14014cdbc
mov rax, rdi
mov qword [rsp + 0x70], rax
nop dword [rax]
nop dword [rax + rax]
imul rax, rax, 0x68
lea r14, [r15 + 8]
add r14, rax
cmp qword [r14 + 0x50], rdi
jne 0x14014c7f9
mov r8, qword [r14 + 0x10]
test r8, r8
je 0x14014c7f9
mov rax, qword [r14 + 8]
mov r9, rcx
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov edx, 0x14
call fcn.140118e50
mov edx, dword [rbp + 0xd8]
mov rcx, qword [r14 + 0x28]
mov qword [rsp + 0x68], rcx
test rcx, rcx
je 0x14014cd90
mov eax, dword [rsi + 0x124]
mov dword [rsi + 0x124], eax
test dword [rbx + 0x60], 0x1000
jne 0x14014c858
test dword [r14 + 0x40], 0x100
je 0x14014c839
mov rax, qword [r14 + 0x60]
cmp byte [rax + 0x12], dil
je 0x14014c858
cmp dword [rax], 2
jge 0x14014c858
mov r13, qword [rbp + 0xc8]
mov r9, r15
mov dword [rsp + 0x20], edx
mov rdx, rcx
mov rcx, rsi
mov r8, qword [r13 + 0x30]
call fcn.1401485a0
jmp 0x14014c85f
mov r13, qword [rbp + 0xc8]
test dword [rbx + 0x60], 0x4000000
jne 0x14014c99d
test dword [r14 + 0x40], 0x108
jne 0x14014c99d
mov rdx, qword [r14 + 0x28]
mov r8, qword [r14 + 0x20]
mov rax, rdx
mov qword [rbp - 0x58], rdx
test rdx, rdx
je 0x14014c8be
nop
test byte [rax + 4], 9
jne 0x14014c99d
mov rcx, qword [rax + 0x50]
test rcx, rcx
je 0x14014c8ac
cmp byte [rax], 0x87
jne 0x14014c99d
cmp qword [rax + 0x70], rdi
jne 0x14014c99d
mov rax, rcx
test rcx, rcx
jne 0x14014c890
mov rcx, qword [rdx + 0x48]
mov r10, qword [r14 + 0x50]
test rcx, rcx
je 0x14014c900
movsxd rdx, dword [rcx]
test rdx, rdx
jle 0x14014c900
add rcx, 0x20
movzx eax, word [rcx]
test ax, ax
je 0x14014c8f6
dec ax
cmp ax, 0x40
jb 0x14014c8ef
mov eax, 0x3f
jmp 0x14014c8f2
movzx eax, ax
bts r10, rax
add rcx, 0x20
sub rdx, 1
jne 0x14014c8d7
movsx r15, word [r8 + 0x36]
mov r11d, edi
mov rbx, rdi
test r15, r15
jle 0x14014c998
mov r13, qword [rbp - 0x58]
mov r9d, 1
mov r8, rdi
movabs rsi, 0x8000000000000000
nop dword [rax + rax]
cmp r11d, 0x3f
mov rax, rsi
cmovb rax, r9
test r10, rax
jne 0x14014c978
mov rax, r13
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov rdx, qword [rcx + r8 + 8]
cmp byte [rdx], 0x79
je 0x14014c96f
and dword [rdx + 4], 0xfff7dfff
mov byte [rdx], 0x79
or dword [rax + 4], 0x1000000
mov rax, qword [rax + 0x50]
test rax, rax
jne 0x14014c950
inc r11d
rol r9, 1
inc rbx
add r8, 0x20
cmp rbx, r15
jl 0x14014c930
mov rsi, qword [rbp + 0xc0]
mov r13, qword [rbp + 0xc8]
mov r15, qword [rsp + 0x48]
mov rax, qword [rsi + 0x160]
mov edx, dword [rbp + 0xd8]
mov ebx, edx
mov qword [rbp - 0x58], rax
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x160], rax
mov eax, dword [r14 + 0x40]
mov r13d, dword [r13 + 4]
and eax, 0x100
mov dword [rbp - 0x64], eax
je 0x14014c9eb
mov rax, qword [r14 + 0x60]
movzx ecx, byte [rax + 0x12]
test cl, cl
je 0x14014cb74
cmp dword [rax], 2
jl 0x14014c9eb
cmp cl, 2
jne 0x14014cb74
test byte [r15 + 0x44], 0x40
jne 0x14014cb6f
mov rax, qword [rsi]
test dword [rax + 0x60], 0x2000000
jne 0x14014cb6f
mov r15d, dword [r15]
lea r8d, [rdx + 1]
mov rcx, qword [rsp + 0x48]
mov r9d, r15d
mov rdx, r14
call fcn.14014bbc0
test rax, rax
jne 0x14014cb68
cmp qword [rsp + 0x70], rdi
jne 0x14014cb10
cmp r15d, 1
je 0x14014ca51
mov r15, qword [rsp + 0x48]
test byte [r15 + 0xac], 2
jne 0x14014ca51
bt r13d, 0x1c
jb 0x14014cb6d
movsxd r15, dword [r12 + 0x90]
xor r9d, r9d
inc dword [rsi + 0x38]
mov rcx, r12
mov r8d, dword [rsi + 0x38]
mov dword [r14 + 0x34], r8d
lea ebx, [r15 + 1]
lea edx, [r9 + 0xb]
mov dword [rsp + 0x20], ebx
call fcn.1400e9250
mov eax, dword [r14 + 0x34]
lea r8, str.CO_ROUTINE___S
mov r13d, 1
mov dword [r14 + 0x30], ebx
mov edx, r13d
mov byte [rbp - 0x10], 0xd
mov r9, r14
mov dword [rbp - 0xc], eax
mov rcx, rsi
mov qword [rbp - 8], rdi
mov qword [rbp + 8], rdi
mov dword [rbp], edi
call fcn.1400e9960
mov rbx, qword [rsp + 0x68]
lea r8, [rbp - 0x10]
mov rdx, rbx
mov rcx, rsi
call fcn.14014c1f0
movzx eax, word [rbx + 2]
mov rcx, qword [r14 + 0x20]
mov word [rcx + 0x3a], ax
mov rcx, r12
mov eax, dword [rbp - 4]
mov edx, dword [r14 + 0x34]
or dword [r14 + 0x40], 0x20
mov dword [r14 + 0x38], eax
call fcn.1400e9c70
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], dil
je 0x14014cb48
lea rax, [0x140971098]
mov dword [rax + 8], edx
mov byte [rsi + 0x1f], dil
mov dword [rsi + 0x28], edi
jmp 0x14014cd6b
bt r13d, 0x1c
jb 0x14014cb68
test byte [r14 + 0x3c], 0x22
lea rax, [r14 + 0x3c]
jne 0x14014cb68
test ebx, ebx
je 0x14014ca51
sub rax, 0x68
dec ebx
cmp qword [rax - 0x14], rdi
jne 0x14014cb3b
test byte [rax], 0x22
je 0x14014cb22
mov edx, dword [rbp + 0xd8]
mov r15, qword [rsp + 0x48]
jmp 0x14014cb6f
mov rax, qword [r12 + 0x88]
lea rcx, [r15 + r15*2]
mov dword [rax + rcx*8 + 8], edx
mov byte [rsi + 0x1f], dil
mov dword [rsi + 0x28], edi
lea rax, [rax + rcx*8]
jmp 0x14014cd6b
mov r15, qword [rsp + 0x48]
mov edx, ebx
cmp dword [rbp - 0x64], edi
je 0x14014cbbe
mov rbx, qword [r14 + 0x60]
mov r9d, dword [rbx + 4]
test r9d, r9d
jle 0x14014cbbe
mov r8d, dword [rbx + 8]
mov edx, 0xa
mov rcx, r12
call fcn.1400e91e0
mov r9d, dword [rbx + 0xc]
mov r8d, dword [r14 + 0x44]
cmp r8d, r9d
je 0x14014cbac
mov edx, 0x73
mov rcx, r12
call fcn.1400e91e0
mov rdx, qword [rsp + 0x68]
movzx eax, word [rbx + 0x10]
mov word [rdx + 2], ax
jmp 0x14014cd65
mov r9d, edx
xor r8d, r8d
mov rdx, r14
mov rcx, r15
call fcn.14014bbc0
mov rbx, rax
test rax, rax
je 0x14014cc1c
mov r9d, dword [rax + 0x30]
test r9d, r9d
je 0x14014cbf1
mov r8d, dword [rax + 0x34]
mov edx, 0xa
mov rcx, r12
call fcn.1400e91e0
mov r9d, dword [rbx + 0x44]
mov edx, 0x73
mov r8d, dword [r14 + 0x44]
mov rcx, r12
call fcn.1400e91e0
mov rax, qword [rbx + 0x28]
mov rdx, qword [rsp + 0x68]
movzx ecx, word [rax + 2]
mov word [rdx + 2], cx
jmp 0x14014cd65
inc dword [rsi + 0x38]
mov edx, 9
mov eax, dword [rsi + 0x38]
mov rcx, r12
mov dword [r14 + 0x34], eax
mov ebx, edi
call fcn.1400e9100
or dword [r14 + 0x40], 0x10
test byte [r14 + 0x40], 8
movsxd r13, eax
lea r15d, [r13 + 1]
mov dword [r14 + 0x30], r15d
jne 0x14014cc5b
mov edx, 0xf
mov rcx, r12
call fcn.1400e9100
mov ebx, eax
mov ecx, dword [r14 + 0x44]
lea r8, str.MATERIALIZE___S
mov dword [rbp - 0xc], ecx
mov r9, r14
mov rcx, rsi
mov byte [rbp - 0x10], 0xc
mov edx, 1
mov qword [rbp - 8], rdi
mov qword [rbp + 8], rdi
mov dword [rbp], edi
call fcn.1400e9960
mov rdx, qword [rsp + 0x68]
lea r8, [rbp - 0x10]
mov rcx, rsi
call fcn.14014c1f0
mov rax, qword [rsp + 0x68]
mov rcx, qword [r14 + 0x20]
movzx eax, word [rax + 2]
mov word [rcx + 0x3a], ax
test ebx, ebx
je 0x14014ccdf
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], dil
je 0x14014ccc9
lea rax, [0x140971098]
jmp 0x14014ccdc
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov r8d, dword [r14 + 0x34]
mov r9d, r15d
mov edx, 0x43
mov rcx, r12
call fcn.1400e91e0
mov rax, qword [r12]
mov edx, dword [r12 + 0x90]
cmp byte [rax + 0x67], dil
je 0x14014cd0e
lea rax, [0x140971098]
jmp 0x14014cd25
mov rax, qword [r12 + 0x88]
lea rcx, [r13*2]
add rcx, r13
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov byte [rsi + 0x1f], dil
mov dword [rsi + 0x28], edi
mov eax, dword [r14 + 0x40]
and eax, 0x108
cmp eax, 0x100
jne 0x14014cd65
mov eax, dword [r14 + 0x30]
mov rcx, qword [r14 + 0x60]
mov dword [rcx + 4], eax
mov eax, dword [r14 + 0x34]
mov dword [rcx + 8], eax
mov eax, dword [r14 + 0x44]
mov dword [rcx + 0xc], eax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 2]
mov word [rcx + 0x10], ax
mov r13d, 1
mov rbx, qword [rsp + 0x50]
cmp byte [rbx + 0x67], dil
jne 0x14014c629
mov rax, qword [rbp - 0x58]
mov edx, dword [rbp + 0xd8]
mov r15, qword [rsp + 0x48]
mov qword [rsi + 0x160], rax
mov rax, qword [rsp + 0x70]
lea rcx, [0x1406436ab]
inc rax
inc edx
mov dword [rbp + 0xd8], edx
mov qword [rsp + 0x70], rax
cmp edx, dword [r15]
jl 0x14014c7c0
mov r14, qword [rbp + 0xc8]
mov rax, qword [r14 + 0x30]
mov r15, qword [r14 + 0x20]
mov r13, qword [r14 + 0x38]
mov qword [rbp - 0x60], rax
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0x70], rax
movzx eax, byte [r14 + 4]
and al, 1
mov qword [rbp + 0x60], r15
mov byte [rbp - 0x78], al
mov eax, dword [r14 + 4]
and al, 9
mov qword [rsp + 0x68], r13
cmp al, 1
jne 0x14014ce36
mov rcx, qword [rbp - 0x40]
mov r8d, 0xffffffff
mov rdx, r15
call fcn.14010e8c0
test eax, eax
jne 0x14014ce36
cmp qword [r14 + 0x70], rdi
jne 0x14014ce36
and dword [r14 + 4], 0xfffffffe
xor r8d, r8d
mov rdx, r15
mov rcx, rbx
call fcn.140105ec0
or dword [r14 + 4], 8
mov r13, rax
mov qword [rsp + 0x68], rax
mov qword [r14 + 0x38], rax
mov byte [rbp - 0x78], 2
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x14014ce90
mov r9d, dword [r15]
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.140141dc0
mov r8d, dword [rsi + 0x34]
mov dword [rbp - 0x34], r8d
mov dword [rsp + 0x30], 0xfffffff8
mov qword [rsp + 0x28], rax
lea ecx, [r8 + 1]
mov dword [rsp + 0x20], edi
mov dword [rsi + 0x34], ecx
mov rcx, qword [rbp - 0x40]
mov r9d, dword [r15]
mov edx, dword [rcx]
mov rcx, r12
inc edx
add r9d, edx
mov edx, 0x76
call fcn.1400e95c0
mov dword [rbp - 0x28], eax
jmp 0x14014ce97
mov dword [rbp - 0x28], 0xffffffff
mov rax, qword [rbp + 0xd0]
cmp byte [rax], 0xc
jne 0x14014cf4f
mov r9d, dword [r15]
mov edx, 0x76
mov r8d, dword [rax + 4]
mov rcx, r12
call fcn.1400e91e0
test dword [r14 + 4], 0x800
je 0x14014cf4f
mov ecx, dword [r15]
lea eax, [rcx - 1]
movsxd r14, eax
test eax, eax
jle 0x14014cf27
mov r13, qword [rsp + 0x50]
mov rbx, r14
shl rbx, 5
test byte [rbx + r15 + 0x1c], 0x40
jne 0x14014cf22
mov rdx, qword [rbx + r15 + 8]
test rdx, rdx
je 0x14014cefc
mov rcx, r13
call fcn.140105600
mov rdx, qword [rbx + r15 + 0x10]
test rdx, rdx
je 0x14014cf0e
mov rcx, r13
call fcn.1400b9bb0
mov ecx, dword [r15]
dec r14
dec ecx
sub rbx, 0x20
mov dword [r15], ecx
test r14, r14
jg 0x14014cee2
mov r13, qword [rsp + 0x68]
mov edx, edi
test ecx, ecx
jle 0x14014cf48
lea rcx, [r15 + 8]
test byte [rcx + 0x14], 0x40
jne 0x14014cf3d
mov rax, qword [rcx]
mov byte [rax], 0x79
inc edx
add rcx, 0x20
cmp edx, dword [r15]
jl 0x14014cf31
mov r14, qword [rbp + 0xc8]
mov eax, dword [rsi + 0x44]
mov r15d, 0x4000
dec eax
mov dword [rsi + 0x44], eax
mov dword [rbp + 0x5c], eax
test dword [r14 + 4], r15d
jne 0x14014cf70
mov ecx, 0x140
mov word [r14 + 2], cx
cmp qword [r14 + 0x60], rdi
je 0x14014cf84
mov r8d, eax
mov rdx, r14
mov rcx, rsi
call fcn.140143870
cmp dword [r14 + 8], edi
jne 0x14014cfbd
cmp dword [rbp - 0x28], edi
jl 0x14014cfbd
mov rax, qword [r12]
cmp byte [rax + 0x67], dil
je 0x14014cfa2
lea rax, [0x140971098]
jmp 0x14014cfb6
movsxd rax, dword [rbp - 0x28]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], 0x77
or byte [rbp - 0x1c], 1
test byte [r14 + 4], 1
je 0x14014d030
mov eax, dword [rsi + 0x34]
xor r9d, r9d
mov dword [rbp - 0x74], eax
xor r8d, r8d
inc eax
mov rcx, rsi
mov dword [rsi + 0x34], eax
mov rdx, qword [r14 + 0x20]
call fcn.140141dc0
mov r8d, dword [rbp - 0x74]
xor r9d, r9d
mov dword [rsp + 0x30], 0xfffffff8
mov rcx, r12
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x76]
call fcn.1400e95c0
mov dword [rbp - 0x70], eax
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x14014d02a
lea rcx, [rax + rax*2]
mov edx, 8
mov rax, qword [r12 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov byte [rbp - 0x77], 3
jmp 0x14014d034
mov byte [rbp - 0x77], dil
cmp dword [rsp + 0x60], edi
jne 0x14014d2d7
test r13, r13
jne 0x14014d2d7
movzx eax, byte [rbp - 0x78]
neg al
movzx eax, word [r14 + 4]
mov r14, qword [r14 + 0x70]
sbb bx, bx
and ax, r15w
and bx, 0x100
mov r15, qword [rbp + 0xc8]
or bx, ax
test r14, r14
je 0x14014d07c
mov rdx, r15
mov rcx, rsi
call fcn.140171e40
movsx eax, word [r15 + 2]
mov rcx, rsi
mov r9, qword [rbp - 0x40]
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x38], eax
mov rax, qword [r15 + 0x20]
mov word [rsp + 0x30], bx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rax
call fcn.14016cea0
mov rbx, rax
test rax, rax
je 0x14014c623
movzx eax, word [rax + 0x48]
cmp ax, word [r15 + 2]
jge 0x14014d0c9
mov word [r15 + 2], ax
cmp byte [rbp - 0x78], dil
je 0x14014d0df
movzx ecx, byte [rbx + 0x43]
movzx eax, byte [rbp - 0x77]
test cl, cl
cmovne eax, ecx
mov byte [rbp - 0x77], al
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x14014d135
movsx eax, byte [rbx + 0x41]
test al, al
jns 0x14014d0f8
mov r8d, edi
mov dword [rbp - 0x38], edi
jmp 0x14014d0fe
mov r8d, eax
mov dword [rbp - 0x38], eax
test byte [rbx + 0x44], 4
jne 0x14014d109
mov eax, dword [rbx + 0x30]
jmp 0x14014d127
movzx eax, byte [rbx + 0x40]
imul rcx, rax, 0x70
cmp qword [rcx + rbx + 0x328], rdi
je 0x14014d120
mov eax, dword [rbx + 0x30]
jmp 0x14014d127
mov eax, dword [rcx + rbx + 0x300]
mov dword [rbp - 0x20], eax
cmp r8d, dword [rdx]
cmove rdx, rdi
mov qword [rbp - 0x40], rdx
mov eax, dword [rbp - 0x28]
test eax, eax
js 0x14014d14b
test rdx, rdx
jne 0x14014d14b
mov edx, eax
mov rcx, r12
call fcn.1400ea590
mov rcx, rsi
test r14, r14
je 0x14014d288
mov r15d, dword [rsi + 0x44]
mov r8, rbx
inc dword [rsi + 0x38]
mov eax, dword [rsi + 0x38]
mov r9d, eax
mov rdx, qword [rbp + 0xc8]
lea r14d, [r15 - 1]
mov dword [rbp + 0xd8], eax
sub r15d, 2
mov dword [rsp + 0x20], r14d
lea r13d, [r15 - 1]
mov dword [rsi + 0x44], r13d
call fcn.140175ec0
xor r8d, r8d
mov r9d, r13d
mov rcx, r12
lea edx, [r8 + 9]
call fcn.1400e91e0
mov rcx, qword [r12 + 0x18]
lea rbx, [r12 + 0x18]
not r14d
mov dword [rbp + 0xc0], r14d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014d1d1
mov r8d, r14d
mov rdx, r12
call fcn.1400e9d00
lea r14, [r12 + 0x90]
jmp 0x14014d1ea
movsxd rdx, dword [rbp + 0xc0]
lea r14, [r12 + 0x90]
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp + 0xd0]
lea r9, [rbp - 0x40]
mov rdx, qword [rbp + 0xc8]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], r13d
mov rcx, rsi
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x20], edi
call fcn.140141100
mov rcx, qword [rbx]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014d240
mov r8d, r15d
mov rdx, r12
call fcn.1400e9d00
jmp 0x14014d24e
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
movsxd r9, r15d
mov dword [rcx + r9*4], eax
mov r8d, dword [rbp + 0xd8]
mov edx, 0x43
mov rcx, r12
call fcn.1400e9170
mov rcx, qword [rbx]
not r13d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014d280
mov r8d, r13d
mov rdx, r12
call fcn.1400e9d00
jmp 0x14014edac
movsxd rdx, r13d
jmp 0x14014eda2
mov eax, dword [rbx + 0x34]
lea r9, [rbp - 0x40]
mov dword [rsp + 0x38], eax
mov r8d, 0xffffffff
mov eax, dword [rbx + 0x30]
mov rdx, r15
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.140141100
mov rcx, rbx
call fcn.14016e1d0
lea rbx, [r12 + 0x18]
lea r14, [r12 + 0x90]
jmp 0x14014edac
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x60], edi
test r13, r13
je 0x14014d449
mov rcx, qword [r14 + 0x20]
mov eax, dword [rcx]
test eax, eax
jle 0x14014d30d
add rcx, 0x22
nop word [rax + rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14014d300
mov eax, dword [r13]
lea r14, [r13 + 8]
test eax, eax
jle 0x14014d32d
lea rcx, [r14 + 0x1a]
nop dword [rax]
dec eax
mov word [rcx], di
lea rcx, [rcx + 0x20]
test eax, eax
jg 0x14014d320
mov rax, qword [rbp + 0xc8]
cmp word [rax + 2], 0x42
jle 0x14014d344
mov ecx, 0x42
mov word [rax + 2], cx
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x14014d3ea
mov eax, dword [r13]
cmp eax, dword [rbx]
jne 0x14014d3ea
mov r8d, edi
test eax, eax
jle 0x14014d391
mov rdx, rdi
nop word [rax + rax]
mov rax, qword [rbp - 0x40]
lea rdx, [rdx + 0x20]
inc r8d
movzx ecx, byte [rdx + rax - 8]
and cl, 1
mov byte [rdx + r13 - 8], cl
mov eax, dword [r13]
cmp r8d, eax
jl 0x14014d370
mov rbx, qword [rbp - 0x40]
test rbx, rbx
je 0x14014d3ea
cmp eax, dword [rbx]
jne 0x14014d3ea
mov r15d, edi
test eax, eax
jle 0x14014d3e2
add rbx, 8
nop dword [rax]
movzx eax, byte [rbx + 0x10]
cmp byte [r14 + 0x10], al
jne 0x14014d3ea
mov r8, qword [rbx]
mov r9d, 0xffffffff
mov rdx, qword [r14]
xor ecx, ecx
call fcn.14010e5e0
test eax, eax
jne 0x14014d3ea
inc r15d
add rbx, 0x20
add r14, 0x20
cmp r15d, dword [r13]
jl 0x14014d3b0
mov dword [rsp + 0x60], 1
mov r14, qword [rbp + 0xc8]
dec dword [rsi + 0x44]
mov edx, 0x38
mov eax, dword [rsi + 0x44]
mov rbx, qword [rsp + 0x50]
mov rcx, rbx
mov dword [rsp + 0x64], eax
call fcn.1400ba0d0
mov qword [rbp + 0xd8], rax
mov r15, rax
test rax, rax
je 0x14014d4b9
xorps xmm0, xmm0
xor eax, eax
movups xmmword [r15], xmm0
movups xmmword [r15 + 0x10], xmm0
movups xmmword [r15 + 0x20], xmm0
mov qword [r15 + 0x30], rax
mov rcx, qword [rsi]
test rcx, rcx
je 0x14014d450
lea edx, [rax + 0x18]
call fcn.1400ba0d0
jmp 0x14014d45a
mov word [r14 + 2], di
jmp 0x14014d3f1
mov ecx, 0x18
call fcn.1400b9850
mov rcx, rax
test rax, rax
je 0x14014d484
mov rax, qword [rsi + 0xb0]
mov qword [rcx], rax
lea rax, [0x14014bc90]
mov qword [rsi + 0xb0], rcx
mov qword [rcx + 0x10], rax
mov qword [rcx + 8], r15
jmp 0x14014d4b9
mov rdx, qword [r15 + 0x18]
mov rbx, qword [rsi]
test rdx, rdx
je 0x14014d498
mov rcx, rbx
call fcn.1400b9bb0
mov rdx, qword [r15 + 0x28]
test rdx, rdx
je 0x14014d4a9
mov rcx, rbx
call fcn.1400b9bb0
mov rdx, r15
mov rcx, rbx
call fcn.1400b9bb0
mov rbx, qword [rsp + 0x50]
cmp byte [rbx + 0x67], dil
jne 0x14014c623
mov eax, dword [r14 + 0x10]
xorps xmm0, xmm0
mov dword [r15 + 0x34], eax
xorps xmm1, xmm1
mov rax, qword [rsp + 0x48]
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], rsi
mov qword [rbp], r15
movdqu xmmword [rbp + 8], xmm0
movdqu xmmword [rbp + 0x18], xmm1
test r13, r13
je 0x14014d4f7
mov eax, dword [r13]
jmp 0x14014d4f9
mov eax, edi
mov word [r15 + 2], ax
mov rax, qword [rbp + 0x60]
mov qword [r15 + 0x10], r13
test rax, rax
je 0x14014d58b
lea rbx, [rax + 8]
mov r14d, edi
cmp dword [rax], edi
jle 0x14014d57f
lea r13, [0x14010f880]
lea r15, [0x1400ff720]
lea rsi, [0x1400ff730]
nop
mov rdx, qword [rbx]
lea rcx, [rbp - 0x10]
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], rsi
mov dword [rbp + 0x48], edi
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x28], rdi
test rdx, rdx
je 0x14014d560
lea rcx, [rbp + 0x28]
call fcn.1400ff190
mov rax, qword [rbp + 0x60]
inc r14d
add rbx, 0x20
cmp r14d, dword [rax]
jl 0x14014d530
mov rsi, qword [rbp + 0xc0]
mov r15, qword [rbp + 0xd8]
mov r13, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rbp + 0xc8]
mov rdx, qword [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.14010fc00
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14014d621
test r13, r13
je 0x14014d5e5
mov rdx, qword [r14 + 0x40]
lea rax, [0x14014b960]
mov qword [rbp + 0x48], rdi
xorps xmm0, xmm0
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x50], r14
movdqu xmmword [rbp + 0x38], xmm0
test rdx, rdx
je 0x14014d5dd
lea rcx, [rbp + 0x28]
call fcn.1400ff190
mov rcx, qword [rsp + 0x70]
mov rax, qword [r14 + 0x30]
mov qword [rbp - 0x60], rax
lea rax, [0x14010f880]
mov dword [rbp + 0x48], edi
mov qword [rbp + 0x30], rax
mov rdx, rcx
lea rax, [0x1400ff720]
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x38], rax
lea rcx, [rbp + 0x28]
lea rax, [0x1400ff730]
mov qword [rbp + 0x40], rax
lea rax, [rbp - 0x10]
mov qword [rbp + 0x50], rax
call fcn.1400ff190
mov eax, dword [r15 + 0x20]
mov dword [r15 + 0x24], eax
cmp qword [r14 + 0x38], rdi
jne 0x14014d6ea
cmp qword [r14 + 0x40], rdi
jne 0x14014d6ea
cmp dword [r15 + 0x30], 1
jne 0x14014d6ea
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax]
mov r11, qword [rcx + 0x20]
test r11, r11
je 0x14014d6ea
cmp dword [r11], 1
jne 0x14014d6ea
test dword [rcx + 4], 0x1000000
jne 0x14014d6ea
test dword [rbx + 0x60], 0x10000
jne 0x14014d6ea
mov rbx, qword [rcx + 8]
lea rdx, [0x14064f9bc]
mov rcx, rbx
call fcn.1400be800
test eax, eax
jne 0x14014d6a8
mov rcx, qword [r11 + 8]
call fcn.1401077d0
neg eax
mov byte [rbp + 0xc0], 1
sbb bl, bl
and bl, 2
jmp 0x14014d6c4
lea rdx, [0x14064f9c0]
mov rcx, rbx
call fcn.1400be800
test eax, eax
jne 0x14014d6ea
mov bl, 1
mov byte [rbp + 0xc0], 2
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, r11
call fcn.140105ec0
mov qword [rbp + 0x68], rax
test rax, rax
je 0x14014d6e0
mov byte [rax + 0x18], bl
movzx r13d, byte [rbp + 0xc0]
jmp 0x14014d6f4
xor r13b, r13b
mov byte [rbp + 0xc0], r13b
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.14014acc0
mov r10, qword [rsp + 0x50]
cmp byte [r10 + 0x67], dil
jne 0x14014d9b5
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x14014e81d
cmp dword [r15 + 0x30], 1
mov r13, rdi
mov qword [rbp - 0x50], rdi
mov word [rbp + 0xc0], di
jne 0x14014d820
mov rax, qword [r15 + 0x28]
cmp dword [rax + 0x10], edi
jl 0x14014d820
mov rax, qword [rax]
test rax, rax
je 0x14014d820
test dword [rax + 4], 0x1000
jne 0x14014d820
mov rcx, qword [rax + 0x20]
test rcx, rcx
je 0x14014d820
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x14014d78a
xor r9d, r9d
xor r8d, r8d
mov rcx, r10
call fcn.140105960
mov r10, qword [rsp + 0x50]
mov rbx, rax
jmp 0x14014d78d
mov rbx, rdi
mov rdx, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, r10
call fcn.140105ec0
mov qword [rbp - 0x50], rax
mov r13, rax
test rax, rax
jne 0x14014d7bd
mov rcx, qword [rsi]
mov rdx, rbx
call fcn.140106800
mov r13, rax
mov qword [rbp - 0x50], rax
jmp 0x14014d807
movsxd rax, dword [rax]
lea ecx, [rax + 1]
cmp dword [r13 + 4], ecx
jge 0x14014d7e0
mov rcx, qword [rsi]
mov r8, rbx
mov rdx, r13
call fcn.1401068e0
mov r13, rax
mov qword [rbp - 0x50], rax
jmp 0x14014d807
movups xmm0, xmmword [0x140645aa0]
shl rax, 5
movups xmm1, xmmword [0x140645ab0]
mov dword [r13], ecx
movups xmmword [rax + r13 + 8], xmm0
movups xmmword [rax + r13 + 0x18], xmm1
mov qword [rax + r13 + 8], rbx
mov rbx, qword [rsp + 0x68]
mov rax, r13
neg rax
sbb ax, ax
and ax, 0x500
mov word [rbp + 0xc0], ax
mov eax, dword [rsi + 0x34]
xor r8d, r8d
mov dword [r15 + 4], eax
mov rdx, rbx
inc dword [rsi + 0x34]
mov rcx, rsi
mov r9d, dword [r15 + 0x20]
call fcn.140141dc0
movzx r9d, word [r15 + 2]
mov edx, 0x77
mov r8d, dword [r15 + 4]
mov rcx, r12
mov dword [rsp + 0x30], 0xfffffff8
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edi
mov qword [rbp - 0x58], rax
call fcn.1400e95c0
mov ecx, dword [rsi + 0x44]
xor r8d, r8d
mov dword [rbp + 0x58], eax
mov eax, dword [rsi + 0x38]
inc eax
mov dword [rsp + 0x20], edi
dec ecx
mov dword [rbp - 0x80], eax
mov dword [rsp + 0x7c], ecx
lea edx, [rax + 1]
lea eax, [rcx - 1]
mov dword [rbp + 0xd8], edx
lea r14d, [rdx + 2]
mov dword [rsi + 0x44], eax
mov dword [rsi + 0x38], r14d
mov r9d, edx
mov ecx, dword [rbx]
lea edx, [r8 + 0x47]
add ecx, r14d
mov dword [rbp - 0x68], eax
mov dword [rsi + 0x38], ecx
mov dword [rsp + 0x5c], r14d
lea eax, [rcx + 1]
add ecx, dword [rbx]
mov dword [rsi + 0x38], ecx
mov rcx, r12
mov dword [rsp + 0x78], eax
call fcn.1400e9250
mov edx, dword [rbx]
lea r8d, [r14 + 1]
dec edx
lea r14, [r12 + 0x90]
movsxd rcx, dword [r14]
add edx, r8d
cmp dword [r12 + 0x94], ecx
jg 0x14014d8fc
mov r9d, r8d
mov dword [rsp + 0x20], edx
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 0x4b]
call fcn.1400e9000
jmp 0x14014d924
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
mov r9d, dword [rbp - 0x68]
mov edx, 0xa
mov r8d, dword [rsp + 0x5c]
mov rcx, r12
call fcn.1400e91e0
mov eax, dword [rsp + 0x60]
mov edx, 0x80
mov r8, qword [rbp - 0x60]
neg eax
mov dword [rsp + 0x38], edi
mov eax, 0x40
sbb cx, cx
mov r9, rbx
and cx, 0x200
cmp byte [rbp - 0x78], 2
cmove ax, dx
mov rdx, qword [rsp + 0x48]
or cx, ax
mov rax, qword [rbp + 0xc8]
or cx, word [rbp + 0xc0]
mov word [rsp + 0x30], cx
mov rcx, rsi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r13
call fcn.14016cea0
mov qword [rbp - 0x60], rax
mov rcx, rax
test rax, rax
jne 0x14014d9d8
test r13, r13
je 0x14014d9b0
mov rcx, qword [rsp + 0x50]
mov rdx, r13
call fcn.140106e10
mov r10, qword [rsp + 0x50]
mov r13d, 1
mov rax, qword [rbp + 0x68]
test rax, rax
je 0x14014c629
mov rdx, rax
mov rcx, r10
call fcn.140106e10
jmp 0x14014c629
cmp qword [rsi + 0x60], rdi
je 0x14014da3e
mov r9d, dword [r15 + 0x24]
mov dword [r15 + 0x20], r9d
cmp word [r15 + 2], di
jbe 0x14014da2e
mov rax, qword [rbp + 0xc8]
mov r8d, edi
mov rax, qword [rax + 0x38]
mov ecx, dword [rax]
dec ecx
test r9d, r9d
jle 0x14014da26
mov rdx, qword [r15 + 0x18]
add rdx, 0x16
nop dword [rax]
movsx eax, word [rdx]
lea rdx, [rdx + 0x18]
cmp eax, ecx
cmovle eax, ecx
inc r8d
mov ecx, eax
cmp r8d, r9d
jl 0x14014da10
inc cx
mov word [r15 + 2], cx
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.14014acc0
mov rcx, qword [rbp - 0x60]
mov eax, dword [rsi + 0x38]
inc eax
mov dword [r15 + 0xc], eax
mov eax, dword [r15 + 0x20]
add eax, dword [r15 + 0x30]
add dword [rsi + 0x38], eax
movsx edx, byte [rcx + 0x41]
movzx eax, byte [rcx + 0x43]
test dl, dl
mov ecx, edi
mov dword [rbp - 0x64], eax
cmovns ecx, edx
cmp ecx, dword [rbx]
jne 0x14014da71
mov dword [rsp + 0x58], edi
jmp 0x14014de05
cmp byte [rbp - 0x78], dil
je 0x14014da8b
mov rax, qword [rbp + 0xc8]
lea r9, str.DISTINCT
test byte [rax + 4], 1
je 0x14014da92
lea r9, str.GROUP_BY
lea r8, str.USE_TEMP_B_TREE_FOR__s
xor edx, edx
mov rcx, rsi
call fcn.1400e9960
mov edx, dword [rbx]
mov ebx, edx
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x58], 1
mov dword [rsp + 0x48], edx
test eax, eax
jle 0x14014daf0
mov r8, qword [r15 + 0x18]
mov r9d, eax
add r8, 0x16
nop word [rax + rax]
movsx ecx, word [r8]
lea eax, [rbx + 1]
cmp ecx, edx
lea r8, [r8 + 0x18]
cmovl eax, ebx
mov ebx, eax
lea eax, [rdx + 1]
cmovl eax, edx
mov edx, eax
sub r9, 1
jne 0x14014dad0
cmp ebx, 1
jne 0x14014db23
movzx eax, byte [rsi + 0x1f]
lea r13, [rsi + 0x1f]
test al, al
jne 0x14014db0d
inc dword [rsi + 0x38]
mov eax, dword [rsi + 0x38]
mov dword [rsp + 0x40], eax
jmp 0x14014db51
dec al
movzx eax, al
mov byte [r13], al
mov eax, dword [rsi + rax*4 + 0xd0]
mov dword [rsp + 0x40], eax
jmp 0x14014db51
mov edx, dword [rsi + 0x28]
mov ecx, dword [rsi + 0x2c]
mov dword [rsp + 0x40], ecx
cmp ebx, edx
jg 0x14014db3e
lea eax, [rcx + rbx]
sub edx, ebx
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x28], edx
jmp 0x14014db4d
mov eax, dword [rsi + 0x38]
lea ecx, [rax + 1]
add eax, ebx
mov dword [rsi + 0x38], eax
mov dword [rsp + 0x40], ecx
lea r13, [rsi + 0x1f]
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
mov byte [rsp + 0x20], dil
call fcn.14010d6a0
mov r8d, edi
mov byte [r15], 1
mov dword [rsp + 0x44], edi
cmp dword [r15 + 0x20], edi
jle 0x14014dbe7
mov r14d, dword [rsp + 0x48]
mov rcx, rdi
mov edi, dword [rsp + 0x40]
mov qword [rbp - 0x48], rcx
nop dword [rax]
mov rdx, qword [r15 + 0x18]
movsx eax, word [rdx + rcx + 0x16]
cmp eax, r14d
jl 0x14014dbc0
mov rdx, qword [rdx + rcx + 8]
lea r8d, [rdi + r14]
mov rcx, rsi
call fcn.14010d4e0
mov rcx, qword [rbp - 0x48]
inc r14d
mov r8d, dword [rsp + 0x44]
mov rax, r13
jmp 0x14014dbc4
lea rax, [rsi + 0x1f]
inc r8d
add rcx, 0x18
mov dword [rsp + 0x44], r8d
mov qword [rbp - 0x48], rcx
cmp r8d, dword [r15 + 0x20]
jl 0x14014db90
mov r13, rax
lea r14, [r12 + 0x90]
xor edi, edi
mov byte [r15], 0
movzx eax, byte [r13]
test al, al
jne 0x14014dbfd
inc dword [rsi + 0x38]
mov r8d, dword [rsi + 0x38]
jmp 0x14014dc0e
dec al
movzx eax, al
mov byte [r13], al
mov r8d, dword [rsi + rax*4 + 0xd0]
movsxd rcx, dword [r14]
mov dword [rsp + 0x44], r8d
cmp dword [r12 + 0x94], ecx
jg 0x14014dc41
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, dword [rsp + 0x40]
mov edx, 0x61
mov rcx, r12
call fcn.1400e9000
mov r8d, dword [rsp + 0x44]
jmp 0x14014dc70
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
mov edx, dword [r15 + 4]
cmp dword [r12 + 0x94], ecx
jg 0x14014dc9f
mov r9d, r8d
mov dword [rsp + 0x20], edi
mov r8d, edx
mov rcx, r12
mov edx, 0x8b
call fcn.1400e9000
mov r8d, dword [rsp + 0x44]
jmp 0x14014dcca
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x8b
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
test r8d, r8d
je 0x14014dce4
movzx eax, byte [r13]
cmp al, 8
jae 0x14014dce4
mov dword [rsi + rax*4 + 0xd0], r8d
inc byte [r13]
cmp ebx, 1
jne 0x14014dd07
mov ecx, dword [rsp + 0x40]
test ecx, ecx
je 0x14014dd16
movzx eax, byte [r13]
cmp al, 8
jae 0x14014dd16
mov dword [rsi + rax*4 + 0xd0], ecx
inc byte [r13]
jmp 0x14014dd16
cmp ebx, dword [rsi + 0x28]
jle 0x14014dd16
mov eax, dword [rsp + 0x40]
mov dword [rsi + 0x2c], eax
mov dword [rsi + 0x28], ebx
mov rcx, qword [rbp - 0x60]
call fcn.14016e1d0
mov edx, dword [rsi + 0x34]
mov dword [r15 + 8], edx
inc dword [rsi + 0x34]
movzx eax, byte [r13]
mov dword [rsp + 0x40], edx
test al, al
jne 0x14014dd3f
inc dword [rsi + 0x38]
mov r8d, dword [rsi + 0x38]
jmp 0x14014dd50
dec al
movzx eax, al
mov byte [r13], al
mov r8d, dword [rsi + rax*4 + 0xd0]
movsxd rcx, dword [r14]
mov dword [rsp + 0x44], r8d
cmp dword [r12 + 0x94], ecx
jg 0x14014dd7b
mov r9d, r8d
mov dword [rsp + 0x20], ebx
mov r8d, edx
mov rcx, r12
mov edx, 0x79
call fcn.1400e9000
jmp 0x14014dda6
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x79
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
mov edx, dword [r15 + 4]
cmp dword [r12 + 0x94], ecx
jg 0x14014ddd2
mov r9d, dword [rsp + 0x64]
mov r8d, edx
mov edx, 0x22
mov dword [rsp + 0x20], edi
mov rcx, r12
call fcn.1400e9000
jmp 0x14014de00
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x64]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov byte [r15 + 1], 1
cmp qword [rsi + 0x60], 0
je 0x14014de63
cmp dword [r15 + 0x30], 0
lea rax, [0x14014af00]
xorps xmm0, xmm0
mov qword [rbp + 0x30], rax
xorps xmm1, xmm1
mov qword [rbp + 0x28], rdi
movdqu xmmword [rbp + 0x38], xmm0
mov r13d, edi
movdqu xmmword [rbp + 0x48], xmm1
jle 0x14014de63
mov rbx, rdi
nop dword [rax + rax]
mov rax, qword [r15 + 0x28]
mov rdx, qword [rbx + rax]
test rdx, rdx
je 0x14014de56
lea rcx, [rbp + 0x28]
call fcn.1400ff190
inc r13d
add rbx, 0x18
cmp r13d, dword [r15 + 0x30]
jl 0x14014de40
cmp dword [rsp + 0x60], 0
mov r9d, dword [rsp + 0x58]
je 0x14014dec8
mov rax, qword [rsp + 0x50]
test byte [rax + 0x60], 4
jne 0x14014dec8
test r9d, r9d
jne 0x14014de89
mov rax, qword [rbp - 0x60]
test byte [rax + 0x44], 8
je 0x14014dec8
mov qword [rbp - 0x40], rdi
mov rcx, qword [r12]
cmp byte [rcx + 0x67], 0
jne 0x14014dec8
movsxd rax, dword [rbp - 0x28]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1400ea3d0
mov r9d, dword [rsp + 0x58]
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
movsxd r13, dword [r14]
mov dword [rsp + 0x48], r13d
test r9d, r9d
je 0x14014df05
mov edx, dword [r15 + 4]
cmp dword [r12 + 0x94], r13d
jg 0x14014df58
mov eax, dword [rsp + 0x40]
mov r8d, edx
mov r9d, dword [rsp + 0x44]
mov edx, 0x85
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.1400e9000
mov r9d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
mov ebx, edi
cmp dword [rax], 0
jle 0x14014dff7
lea r13, [rax + 8]
nop dword [rax]
mov r8d, dword [rsp + 0x78]
add r8d, ebx
test r9d, r9d
je 0x14014dfc6
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014df99
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, edx
mov rcx, r12
mov edx, 0x5e
call fcn.1400e9000
jmp 0x14014dfd6
mov r8d, dword [rsp + 0x44]
lea eax, [r13 + 1]
mov dword [r14], eax
lea rcx, [r13*2]
mov rax, qword [r12 + 0x88]
add rcx, r13
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x40]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x85
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14014df09
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14014dfdf
mov byte [r15], 1
mov rcx, rsi
mov rdx, qword [r13]
call fcn.14010d4e0
mov r9d, dword [rsp + 0x58]
mov edx, dword [rsp + 0x40]
mov rax, qword [rsp + 0x68]
inc ebx
add r13, 0x20
cmp ebx, dword [rax]
jl 0x14014df20
mov r13d, dword [rsp + 0x48]
mov r10, qword [rbp - 0x58]
test r10, r10
je 0x14014e003
inc dword [r10]
movsxd rdx, dword [r14]
mov r8d, dword [rax]
cmp dword [r12 + 0x94], edx
jg 0x14014e03a
mov r9d, dword [rsp + 0x78]
mov edx, 0x5a
mov dword [rsp + 0x20], r8d
mov rcx, r12
mov r8d, dword [rsp + 0x5c]
inc r8d
call fcn.1400e9000
mov r10, qword [rbp - 0x58]
mov edx, eax
jmp 0x14014e074
mov r9d, dword [rsp + 0x5c]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
inc r9d
mov dword [r14], eax
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], r9d
mov r9d, dword [rsp + 0x78]
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8], 0x5a
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
je 0x14014e0a1
cmp qword [rax + 0x2e8], 0
jne 0x14014e0e4
test r10, r10
je 0x14014e0e4
add dword [r10], 0xffffffff
jne 0x14014e0e4
mov rcx, qword [r10 + 0x10]
mov rdx, r10
call fcn.1400b9c90
jmp 0x14014e0e4
test edx, edx
jns 0x14014e0aa
mov edx, dword [r14]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14014e0d7
mov r9d, 0xfffffff8
mov r8, r10
mov rcx, r12
call fcn.1400ea620
jmp 0x14014e0e4
test r10, r10
je 0x14014e0e4
mov qword [rdx + 0x10], r10
mov byte [rdx + 1], 0xf8
movsxd rbx, dword [r14]
lea edx, [rbx + 1]
cmp dword [r12 + 0x94], ebx
jg 0x14014e10c
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, edx
mov rcx, r12
lea edx, [r9 + 0xe]
call fcn.1400e9000
jmp 0x14014e133
mov rax, qword [r12 + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [r14], edx
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
mov r10, qword [rsi + 0x10]
mov rax, qword [rsp + 0x68]
mov r8d, dword [rsp + 0x78]
movsxd rcx, dword [r10 + 0x90]
mov edx, dword [rax]
cmp dword [r10 + 0x94], ecx
jg 0x14014e16e
mov r9d, dword [rsp + 0x5c]
mov rcx, r10
mov dword [rsp + 0x20], edx
inc r9d
mov edx, 0x4f
call fcn.1400e9000
jmp 0x14014e1a5
lea eax, [rcx + 1]
mov dword [r10 + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x88]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x5c]
inc r8d
mov dword [rax + rcx*8], 0x4f
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
mov r8d, dword [rbp + 0xd8]
cmp dword [r12 + 0x94], ecx
jg 0x14014e1db
mov r9d, dword [rsp + 0x7c]
inc r8d
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, r12
call fcn.1400e9000
mov r8d, dword [rbp + 0xd8]
jmp 0x14014e20d
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
lea edx, [r8 + 1]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x7c]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e232
mov r9d, dword [rsp + 0x64]
mov edx, 0x3b
mov rcx, r12
mov dword [rsp + 0x20], edi
call fcn.1400e9000
jmp 0x14014e261
mov edx, dword [rsp + 0x64]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e28a
mov r9d, dword [rbp - 0x68]
mov edx, 0xa
mov r8d, dword [rsp + 0x5c]
mov rcx, r12
mov dword [rsp + 0x20], edi
call fcn.1400e9000
jmp 0x14014e2bb
mov edx, dword [rsp + 0x5c]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x68]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
mov rax, qword [r12]
mov edx, dword [r14]
cmp byte [rax + 0x67], 0
je 0x14014e2d1
lea rax, [0x140971098]
jmp 0x14014e2e1
mov rax, qword [r12 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov ebx, dword [rbp - 0x80]
mov r8, r15
mov r9d, dword [rbp - 0x64]
mov rcx, rsi
mov dword [rax + 8], edx
mov edx, ebx
call fcn.14014b300
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e31f
mov edx, 0x47
mov dword [rsp + 0x20], edi
mov r9d, ebx
mov rcx, r12
lea r8d, [rdx - 0x46]
call fcn.1400e9000
jmp 0x14014e34d
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
cmp dword [rsp + 0x58], 0
je 0x14014e3ab
movsxd rcx, dword [r14]
mov edx, dword [r15 + 4]
cmp dword [r12 + 0x94], ecx
jg 0x14014e37e
mov r8d, edx
mov dword [rsp + 0x20], edi
mov edx, 0x25
mov r9d, r13d
mov rcx, r12
call fcn.1400e9000
jmp 0x14014e3ea
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
jmp 0x14014e3ea
mov rcx, qword [rbp - 0x60]
call fcn.14016e1d0
mov rcx, qword [r12]
cmp byte [rcx + 0x67], 0
jne 0x14014e3ea
movsxd rax, dword [rbp + 0x58]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov r8, qword [rax + rdx*8 + 0x10]
lea rbx, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.1400ea3d0
mov word [rbx], 0xb8
mov qword [rbx + 0x10], rdi
mov rdx, qword [rbp - 0x50]
test rdx, rdx
je 0x14014e3fd
mov rcx, qword [rsp + 0x50]
call fcn.140106e10
mov ebx, dword [rbp + 0xd8]
movsxd rcx, dword [r14]
inc ebx
cmp dword [r12 + 0x94], ecx
jg 0x14014e42d
mov r9d, dword [rsp + 0x7c]
mov r8d, ebx
mov edx, 0xa
mov dword [rsp + 0x20], edi
mov rcx, r12
call fcn.1400e9000
jmp 0x14014e45b
mov edx, dword [rsp + 0x7c]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0xa
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e482
mov r9d, dword [rsp + 0x64]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], edi
lea edx, [r8 + 9]
call fcn.1400e9000
jmp 0x14014e4ad
mov edx, dword [rsp + 0x64]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd r13, dword [r14]
cmp dword [r12 + 0x94], r13d
jg 0x14014e4d8
mov r9d, dword [rbp + 0xd8]
mov edx, 0x47
mov rcx, r12
mov dword [rsp + 0x20], edi
lea r8d, [rdx - 0x46]
call fcn.1400e9000
jmp 0x14014e514
mov edx, dword [rbp + 0xd8]
lea eax, [r13 + 1]
mov dword [r14], eax
lea rcx, [r13*2]
mov rax, qword [r12 + 0x88]
add rcx, r13
mov dword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e539
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, ebx
mov rcx, r12
lea edx, [r9 + 0x43]
call fcn.1400e9000
jmp 0x14014e564
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [r12 + 0x18]
lea rbx, [r12 + 0x18]
mov edx, dword [rsp + 0x7c]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014e589
mov r8d, edx
mov rdx, r12
call fcn.1400e9d00
jmp 0x14014e597
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
movsxd r8, edx
mov dword [rcx + r8*4], eax
movsxd rax, dword [r14]
lea ecx, [rax + 1]
lea r8d, [rax + 2]
mov dword [rsp + 0x60], ecx
cmp dword [r12 + 0x94], eax
jg 0x14014e5c9
mov r9d, r8d
mov dword [rsp + 0x20], edi
mov r8d, dword [rbp - 0x80]
mov edx, 0x3b
mov rcx, r12
call fcn.1400e9000
jmp 0x14014e5f4
mov edx, dword [rbp - 0x80]
mov dword [r14], ecx
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x3b
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e620
mov r8d, dword [rbp + 0xd8]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], edi
mov rcx, r12
lea edx, [r9 + 0x43]
call fcn.1400e9000
jmp 0x14014e653
mov edx, dword [rbp + 0xd8]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
inc edx
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rdx, r15
mov rcx, rsi
call fcn.14014b1e0
mov r8d, dword [rsp + 0x60]
mov r9d, 0x10
mov rdx, qword [rsp + 0x70]
mov rcx, rsi
call fcn.14010df20
mov eax, dword [rsp + 0x60]
lea r9, [rbp - 0x40]
mov rdx, qword [rbp + 0xc8]
mov r8d, 0xffffffff
mov dword [rsp + 0x38], r13d
mov rcx, rsi
mov dword [rsp + 0x30], eax
mov rax, qword [rbp + 0xd0]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x20], rax
call fcn.140141100
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e6dd
mov r8d, dword [rbp + 0xd8]
xor r9d, r9d
inc r8d
mov dword [rsp + 0x20], edi
mov rcx, r12
lea edx, [r9 + 0x43]
call fcn.1400e9000
jmp 0x14014e710
mov edx, dword [rbp + 0xd8]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
inc edx
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
mov rcx, qword [rbx]
mov edx, dword [rbp - 0x68]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014e72d
mov r8d, edx
mov rdx, r12
call fcn.1400e9d00
jmp 0x14014e73b
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
movsxd r8, edx
mov dword [rcx + r8*4], eax
mov rdx, r15
mov rcx, rsi
call fcn.14014b000
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e76c
mov r9d, dword [rbp - 0x80]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x47]
call fcn.1400e9000
jmp 0x14014e796
mov edx, dword [rbp - 0x80]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], edi
mov qword [rax + rcx*8 + 0x10], rdi
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014e7bd
mov r8d, dword [rsp + 0x5c]
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x20], edi
lea edx, [r9 + 0x43]
call fcn.1400e9000
jmp 0x14014e7ec
mov edx, dword [rsp + 0x5c]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rdi
cmp word [rbp + 0xc0], 0
je 0x14014e813
mov ecx, dword [rbp - 0x64]
test ecx, ecx
je 0x14014e813
mov rax, qword [r15 + 0x28]
mov edx, ecx
mov rcx, rsi
mov r9d, dword [rax + 0x14]
mov r8d, dword [rax + 0x10]
call fcn.140141030
mov r15d, dword [rsp + 0x64]
jmp 0x14014ed79
cmp qword [r14 + 0x30], rdi
jne 0x14014eb67
mov rdx, qword [r14 + 0x20]
cmp dword [rdx], 1
jne 0x14014eb67
mov r14, qword [r14 + 0x28]
cmp dword [r14], 1
jne 0x14014eb67
cmp qword [r14 + 0x30], rdi
jne 0x14014eb67
cmp dword [r15 + 0x30], 1
jne 0x14014eb67
mov r9, qword [rbp + 0xc8]
cmp qword [r9 + 0x40], rdi
jne 0x14014eb67
mov r14, qword [r14 + 0x28]
mov qword [rbp - 0x48], r14
cmp byte [r14 + 0x3f], dil
jne 0x14014eb67
mov rdx, qword [rdx + 8]
cmp byte [rdx], 0xa8
jne 0x14014eb67
cmp qword [rdx + 0x38], r15
jne 0x14014eb67
mov rax, qword [r15 + 0x28]
mov rcx, qword [rax + 8]
test dword [rcx + 4], 0x100
je 0x14014eb67
test dword [rdx + 4], 0x1000004
jne 0x14014eb67
mov rdx, qword [r14 + 0x60]
mov r13d, 0xffff8000
test rdx, rdx
je 0x14014e8ec
mov rax, qword [rsi]
mov r13d, edi
mov rcx, qword [rax + 0x20]
add rcx, 0x18
cmp qword [rcx], rdx
je 0x14014e8ec
nop word [rax + rax]
inc r13d
lea rcx, [rcx + 0x20]
cmp qword [rcx], rdx
jne 0x14014e8e0
mov eax, dword [rsi + 0x34]
mov rcx, rsi
mov dword [rbp + 0xd8], eax
mov r8, rdi
inc eax
mov qword [rbp - 0x58], rdi
mov dword [rsi + 0x34], eax
mov rbx, rdi
mov eax, dword [r14 + 0x28]
mov dword [rbp + 0xc0], eax
mov rax, qword [rsi + 0x98]
test rax, rax
cmovne rcx, rax
mov eax, dword [rcx + 0x7c]
bt eax, r13d
jb 0x14014e944
bts eax, r13d
mov dword [rcx + 0x7c], eax
cmp r13d, 1
jne 0x14014e944
call fcn.140122c70
mov r9, qword [rbp + 0xc8]
mov r8, rdi
test byte [r14 + 0x30], 0x80
je 0x14014e966
mov rbx, qword [r14 + 0x10]
test rbx, rbx
je 0x14014e966
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14014e966
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14014e954
mov rax, qword [r9 + 0x28]
test byte [rax + 0x48], 1
jne 0x14014e9ae
mov rax, qword [r14 + 0x10]
test rax, rax
je 0x14014e9ae
nop dword [rax]
test byte [rax + 0x64], 4
jne 0x14014e9a5
movzx ecx, word [rax + 0x5c]
cmp cx, word [r14 + 0x3c]
jge 0x14014e9a5
cmp qword [rax + 0x48], rdi
jne 0x14014e9a5
test rbx, rbx
je 0x14014e9a2
cmp cx, word [rbx + 0x5c]
jge 0x14014e9a5
mov rbx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x14014e980
test rbx, rbx
je 0x14014e9ce
mov eax, dword [rbx + 0x58]
mov rdx, rbx
mov rcx, rsi
mov dword [rbp + 0xc0], eax
call fcn.140123860
mov r8, rax
mov qword [rbp - 0x58], rax
lea r14, [r12 + 0x90]
movsxd rcx, dword [r14]
cmp dword [r12 + 0x94], ecx
jg 0x14014ea14
mov r9d, dword [rbp + 0xc0]
mov edx, 0x70
mov dword [rsp + 0x28], 1
mov rcx, r12
mov dword [rsp + 0x20], r13d
mov r13d, dword [rbp + 0xd8]
mov r8d, r13d
call fcn.1400e9060
mov r8, qword [rbp - 0x58]
jmp 0x14014ea55
mov edx, dword [rbp + 0xd8]
lea eax, [rcx + 1]
mov dword [r14], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12 + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp + 0xc0]
mov dword [rax + rcx*8 + 0xc], r13d
mov r13d, dword [rbp + 0xd8]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0xfd70
mov dword [rax + rcx*8 + 0x10], 1
test r8, r8
je 0x14014eab7
mov rax, qword [r12]
cmp byte [rax + 0x67], dil
je 0x14014ea81
cmp qword [rax + 0x2e8], rdi
jne 0x14014eab7
add dword [r8], 0xffffffff
jne 0x14014eab7
mov rcx, qword [r8 + 0x10]
mov rdx, r8
call fcn.1400b9c90
jmp 0x14014eab7
movsxd rax, dword [r14]
lea rdx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rdx, [rdx - 3]
cmp byte [rax + rdx*8 + 1], dil
lea rdx, [rax + rdx*8]
je 0x14014eaaf
mov r9d, 0xfffffff8
mov rcx, r12
call fcn.1400ea620
jmp 0x14014eab7
mov qword [rdx + 0x10], r8
mov byte [rdx + 1], 0xf8
mov eax, dword [rsi + 0x38]
mov r8d, r13d
inc eax
mov dword [rsp + 0x20], edi
mov dword [r15 + 0xc], eax
mov edx, 0x62
mov eax, dword [r15 + 0x30]
mov rcx, r12
add eax, dword [r15 + 0x20]
add dword [rsi + 0x38], eax
mov r9d, dword [r15 + 0xc]
add r9d, dword [r15 + 0x20]
call fcn.1400e9250
mov r8d, r13d
mov edx, 0x7a
mov rcx, r12
call fcn.1400e9170
cmp byte [rsi + 0x11b], 2
jne 0x14014ed24
mov r9, qword [rbp - 0x48]
test rbx, rbx
je 0x14014eb29
test byte [r9 + 0x30], 0x80
je 0x14014eb1d
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14014eb29
mov rax, qword [rbx]
lea rcx, [0x1406436ab]
jmp 0x14014eb36
lea rcx, [0x1406436ab]
mov dword [rbp - 0x50], edi
mov rax, rcx
cmp dword [rbp - 0x50], edi
lea rdx, str._USING_COVERING_INDEX
mov r9, qword [r9]
lea r8, str.SCAN__s_s_s
cmovne rcx, rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
xor edx, edx
mov rcx, rsi
call fcn.1400e9960
jmp 0x14014ed24
mov r14d, edi
mov r8d, dword [r15 + 0x30]
movzx ebx, di
mov qword [rbp + 0xd8], rdi
cmp dword [r15 + 0x24], edi
je 0x14014ebdc
mov edx, edi
test r8d, r8d
jle 0x14014ebb1
mov rcx, qword [r15 + 0x28]
nop dword [rax]
mov rax, qword [rcx]
test dword [rax + 4], 0x1000000
jne 0x14014eba6
mov rax, qword [rcx + 8]
test byte [rax + 4], 0x20
jne 0x14014ebb1
inc edx
add rcx, 0x18
cmp edx, r8d
jl 0x14014eb90
cmp edx, r8d
jne 0x14014ebd7
inc dword [rsi + 0x38]
xor r8d, r8d
mov r14d, dword [rsi + 0x38]
mov rcx, r12
mov r9d, r14d
mov dword [rsp + 0x20], edi
lea edx, [r8 + 0x47]
call fcn.1400e9250
mov r8d, dword [r15 + 0x30]
mov ecx, r8d
jmp 0x14014ec07
mov ecx, r8d
cmp r8d, 1
jne 0x14014ec07
mov rax, qword [r15 + 0x28]
cmp dword [rax + 0x10], edi
jl 0x14014ec07
mov rax, qword [rax]
mov rax, qword [rax + 0x20]
mov qword [rbp + 0xd8], rax
neg rax
sbb bx, bx
and bx, 0x500
mov eax, dword [rsi + 0x38]
mov rdx, r15
inc eax
mov dword [r15 + 0xc], eax
mov eax, dword [r15 + 0x20]
add eax, ecx
mov rcx, rsi
add dword [rsi + 0x38], eax
call fcn.14014b000
mov r9, qword [rbp + 0x68]
mov rcx, rsi
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x48]
mov dword [rsp + 0x38], edi
movzx eax, r13b
or ax, bx
mov word [rsp + 0x30], ax
mov rax, qword [rbp + 0xc8]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0xd8]
mov qword [rsp + 0x20], rax
call fcn.14016cea0
mov rbx, rax
test rax, rax
je 0x14014d9b0
movzx r13d, byte [rax + 0x43]
mov r8, r15
mov r9d, r13d
mov edx, r14d
mov rcx, rsi
call fcn.14014b300
test r13d, r13d
je 0x14014eca4
mov rax, qword [r15 + 0x28]
test rax, rax
je 0x14014eca4
mov r9d, dword [rax + 0x14]
mov edx, r13d
mov r8d, dword [rax + 0x10]
mov rcx, rsi
call fcn.140141030
test r14d, r14d
je 0x14014ecbd
mov edx, 0x47
mov r9d, r14d
mov rcx, r12
lea r8d, [rdx - 0x46]
call fcn.1400e91e0
cmp byte [rbp + 0xc0], dil
je 0x14014ed09
test byte [rbx + 0x44], 4
je 0x14014ed09
cmp byte [rbx + 0x41], dil
je 0x14014ed09
movzx edx, byte [rbx + 0x40]
sub rdx, 1
js 0x14014ecfe
imul rcx, rdx, 0x70
add rcx, rbx
mov rax, qword [rcx + 0x3c0]
test byte [rax + 0x38], 4
jne 0x14014ed94
sub rcx, 0x70
sub rdx, 1
jns 0x14014ece3
mov edx, dword [rbx + 0x34]
mov rcx, r12
call fcn.1400e9330
mov rcx, rbx
call fcn.14016e1d0
mov rdx, r15
mov rcx, rsi
call fcn.14014b1e0
lea r14, [r12 + 0x90]
mov r15d, dword [rsp + 0x64]
mov r9d, 0x10
mov rdx, qword [rsp + 0x70]
mov r8d, r15d
mov rcx, rsi
mov qword [rbp - 0x40], rdi
call fcn.14010df20
mov rax, qword [rbp + 0xd0]
xor r9d, r9d
mov rdx, qword [rbp + 0xc8]
mov rcx, rsi
mov dword [rsp + 0x38], r15d
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
lea r8d, [r9 - 1]
mov qword [rsp + 0x20], rdi
call fcn.140141100
lea rbx, [r12 + 0x18]
mov rcx, qword [rbx]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014ed9f
mov r8d, r15d
mov rdx, r12
call fcn.1400e9d00
jmp 0x14014edac
mov edx, dword [rcx + 0x370]
jmp 0x14014ed01
movsxd rdx, r15d
mov rcx, qword [rcx + 0x50]
mov eax, dword [r14]
mov dword [rcx + rdx*4], eax
cmp byte [rbp - 0x77], 3
jne 0x14014edca
lea r9, str.DISTINCT
xor edx, edx
lea r8, str.USE_TEMP_B_TREE_FOR__s
mov rcx, rsi
call fcn.1400e9960
cmp qword [rbp - 0x40], 0
je 0x14014edf7
mov rax, qword [rbp + 0xd0]
lea r8, [rbp - 0x40]
mov rdx, qword [rbp + 0xc8]
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x60]
mov r9d, dword [rax]
call fcn.140141ee0
mov rcx, qword [rbx]
mov edx, dword [rbp + 0x5c]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14014ee14
mov r8d, edx
mov rdx, r12
call fcn.1400e9d00
jmp 0x14014ee22
mov r8, qword [rcx + 0x50]
mov eax, dword [r14]
movsxd r9, edx
mov dword [r8 + r9*4], eax
cmp dword [rsi + 0x30], 0
mov eax, edi
mov r10, qword [rsp + 0x50]
setg al
mov r13d, eax
jmp 0x14014d9bb
mov eax, r13d
jmp 0x14014c5fb