Function at 0x1400a2220
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
lea rbp, [rsp - 0xf8]
sub rsp, 0x1f8
mov rsi, rcx
mov ecx, 1
mov rdi, rdx
mov eax, dword [rsi + 0x200]
mov rbx, qword [rsi]
mov qword [rbp + 0xb0], rcx
mov dword [rbp + 0x28], eax
mov eax, dword [rsi + 0x204]
mov qword [rsp + 0x78], rbx
mov dword [rsi + 0x200], eax
inc eax
mov dword [rsi + 0x204], eax
test rdx, rdx
je 0x1400a407a
cmp byte [rbx + 0x50], 0
jne 0x1400a407a
cmp dword [rsi + 0x4c], 0
jne 0x1400a407a
lea edx, [rcx + 0x14]
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14007d740
test eax, eax
je 0x1400a22c3
mov eax, 1
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov qword [rbp], rax
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x130]
cmp byte [rax], 8
ja 0x1400a230c
mov rdx, qword [rdi + 0x48]
mov rcx, rbx
call fcn.1400751e0
xor eax, eax
mov qword [rdi + 0x48], rax
mov eax, 0xfffe
and word [rdi + 0xa], ax
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.1400a1820
mov rdx, qword [rdi]
xor eax, eax
cmp dword [rsi + 0x4c], 0
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x40], rax
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x70], rax
mov qword [rbp - 0x70], rdx
jne 0x1400a23ae
cmp byte [rbx + 0x50], 0
jne 0x1400a23ae
movzx eax, word [rdi + 0xa]
mov rcx, rsi
shr eax, 2
and eax, 1
mov dword [rsp + 0x6c], eax
call fcn.14009d090
mov rbx, rax
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400a23a0
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rbp + 0x130]
cmp dword [rcx], 1
movzx eax, byte [rdx]
jle 0x1400a2402
add eax, 0xfffffff6
cmp eax, 1
ja 0x1400a2402
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rsi
call fcn.140043840
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x70]
mov rax, qword [rsp + 0x70]
mov rdi, qword [rbp + 0xb0]
mov ecx, dword [rbp + 0x28]
mov dword [rsi + 0x200], ecx
test edi, edi
jne 0x1400a23dc
mov rcx, qword [rbp + 0x130]
cmp byte [rcx], 9
jne 0x1400a23dc
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.14009c630
mov rdx, qword [rbp]
mov rcx, rbx
call fcn.140040b80
mov rdx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.140040b80
mov eax, edi
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r8d, r8d
or rcx, 0xffffffffffffffff
mov eax, r8d
mov dword [rbp + 0x138], eax
cmp qword [rdi + 0x50], rax
jne 0x1400a24c6
mov rcx, qword [rsp + 0x70]
mov r11d, r8d
mov qword [rsp + 0x60], r8
nop dword [rax]
cmp eax, dword [rcx]
jge 0x1400a24c2
imul rdi, r11, 0x78
add rdi, 8
add rdi, rcx
mov qword [rbp + 0x20], rdi
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400a27b4
mov r9d, dword [rdi + 0x30]
test r9d, r9d
je 0x1400a2523
test byte [rdi + 0x40], 4
jne 0x1400a27b4
mov dword [rsp + 0x20], r8d
mov r8d, dword [rdi + 0x34]
mov edx, 0x11
mov rcx, rbx
call fcn.1400608a0
mov rdi, qword [rbp + 0x128]
mov r11, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rbp + 0x130]
xor r8d, r8d
mov eax, dword [rbp + 0x138]
inc r11
inc eax
cmp qword [rdi + 0x50], 0
mov qword [rsp + 0x60], r11
mov dword [rbp + 0x138], eax
je 0x1400a2430
or rcx, 0xffffffffffffffff
mov rax, qword [rdi + 0x30]
mov r9, qword [rdi]
mov qword [rbp - 0x60], rax
mov rax, qword [rdi + 0x38]
mov qword [rbp - 0x70], r9
mov qword [rsp + 0x58], rax
mov rax, qword [rdi + 0x40]
mov qword [rbp + 0x78], rax
movzx eax, byte [rdi + 0xa]
and al, 1
cmp qword [rdi + 0x50], 0
mov byte [rbp + 0x138], al
mov byte [rbp + 0x30], al
je 0x1400a27c0
mov r8, rdx
mov rcx, rsi
mov rdx, rdi
call fcn.14009dae0
mov ecx, dword [rbp + 0x28]
mov dword [rsi + 0x200], ecx
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [rbp + 0x128]
call fcn.140073b70
mov r9d, dword [rsp + 0x6c]
mov r8d, dword [rbp + 0x138]
add dword [rsi + 0x1fc], eax
mov rax, qword [rsp + 0x58]
mov rdx, qword [rbp + 0x128]
movzx eax, word [rax + 0xa]
mov rcx, rsi
shr eax, 2
and eax, 1
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x20], eax
call fcn.14009fbd0
test eax, eax
je 0x1400a2598
cmp dword [rsp + 0x50], 0
je 0x1400a2586
mov rax, qword [rbp + 0x128]
mov dword [rsp + 0x6c], 1
or word [rax + 0xa], 4
or rax, 0xffffffffffffffff
mov dword [rbp + 0x138], eax
mov r11, rax
jmp 0x1400a2766
mov rax, qword [rsp + 0x70]
cmp dword [rax], 1
jne 0x1400a267b
mov rcx, qword [rsp + 0x78]
mov eax, 0x100
test word [rcx + 0x4c], ax
jne 0x1400a267b
mov r8d, dword [rsi + 0x54]
mov edi, dword [rbx + 0x3c]
mov rax, qword [rbp + 0x20]
inc r8d
xor r9d, r9d
inc edi
mov dword [rsi + 0x54], r8d
lea edx, [r9 + 0x14]
mov rcx, rbx
mov dword [rax + 0x34], r8d
mov dword [rsp + 0x20], edi
call fcn.1400608a0
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rsp + 0x58]
lea r8, [rbp + 0x60]
mov eax, dword [rcx + 0x34]
mov dword [rcx + 0x30], edi
mov word [rbp + 0x60], 0xd
mov dword [rbp + 0x64], eax
xor eax, eax
mov qword [rbp + 0x68], rax
movzx eax, byte [rsi + 0x204]
mov byte [rcx + 0x44], al
mov rcx, rsi
call fcn.1400a2220
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.1400447f0
mov rdx, qword [rbp + 0x20]
xor r9d, r9d
mov rcx, qword [rdx + 0x20]
mov word [rcx + 0x38], ax
or dword [rdx + 0x40], 4
mov eax, dword [rbp + 0x68]
mov r8d, dword [rdx + 0x34]
mov dword [rdx + 0x38], eax
xor eax, eax
lea edx, [rax + 0x15]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov edx, dword [rbx + 0x3c]
dec edi
cmp edx, edi
jbe 0x1400a266a
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
jmp 0x1400a2759
mov r9d, dword [rsi + 0x54]
xor ecx, ecx
xor r8d, r8d
inc r9d
lea edx, [rcx + 0x19]
mov dword [rsp + 0x68], ecx
mov dword [rsp + 0x20], ecx
mov dword [rsi + 0x54], r9d
mov rcx, rbx
mov dword [rdi + 0x34], r9d
call fcn.1400608a0
test byte [rdi + 0x40], 2
lea ecx, [rax + 1]
mov dword [rsp + 0x50], eax
mov dword [rdi + 0x30], ecx
jne 0x1400a26be
mov rcx, rsi
call fcn.1400755f0
mov dword [rsp + 0x68], eax
mov ecx, dword [rdi + 0x48]
mov rdx, qword [rsp + 0x58]
xor eax, eax
mov dword [rbp + 0x64], ecx
movzx ecx, byte [rsi + 0x204]
mov word [rbp + 0x60], 0xc
mov qword [rbp + 0x68], rax
mov byte [rdi + 0x44], cl
lea r8, [rbp + 0x60]
mov rcx, rsi
call fcn.1400a2220
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x20]
call fcn.1400447f0
mov rcx, qword [rdi + 0x20]
mov word [rcx + 0x38], ax
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x1400a2728
mov edx, dword [rbx + 0x3c]
cmp edx, eax
jbe 0x1400a271c
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
mov r8d, dword [rdi + 0x34]
xor eax, eax
xor r9d, r9d
lea edx, [rax + 0x12]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov r8d, eax
mov eax, dword [rsp + 0x50]
cmp dword [rbx + 0x3c], eax
jbe 0x1400a2759
mov rcx, qword [rbx + 8]
lea rdx, [rax + rax*2]
mov dword [rcx + rdx*8 + 4], r8d
mov r11, qword [rsp + 0x60]
xor eax, eax
mov dword [rsi + 0x44], eax
mov byte [rsi + 0x1f], al
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0x50], 0
jne 0x1400a4072
mov rdi, qword [rbp + 0x128]
mov rcx, rdi
call fcn.140073b70
mov rdx, qword [rbp + 0x130]
sub dword [rsi + 0x1fc], eax
cmp byte [rdx], 8
mov rcx, qword [rdi + 0x28]
mov qword [rsp + 0x70], rcx
jbe 0x1400a249e
mov rax, qword [rdi + 0x48]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x40], rax
jmp 0x1400a249e
mov rdi, qword [rbp + 0x128]
jmp 0x1400a24a1
movzx eax, byte [rdi + 0xa]
and al, 5
cmp al, 1
jne 0x1400a289a
mov r8d, ecx
mov rcx, qword [rbp - 0x80]
mov rdx, r9
call fcn.140079270
test eax, eax
jne 0x1400a289a
mov rdx, qword [rdi]
mov rcx, qword [rsp + 0x78]
mov eax, 0xfffe
and word [rdi + 0xa], ax
xor r8d, r8d
call fcn.1400749c0
mov qword [rsp + 0x58], rax
mov qword [rdi + 0x38], rax
xor eax, eax
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x40], rax
or eax, 0xffffffff
mov dword [rbp - 0x58], eax
mov dword [rbp + 0x58], eax
mov rax, qword [rbp + 0x130]
cmp byte [rax], 0xc
jne 0x1400a2844
mov rcx, qword [rbp - 0x70]
mov r8d, dword [rax + 4]
xor edx, edx
mov r9d, dword [rcx]
mov dword [rsp + 0x20], edx
mov edx, 0x37
mov rcx, rbx
call fcn.1400608a0
mov rcx, rbx
call fcn.140060b20
movabs rcx, 0x7fffffffffffffff
mov rdx, rdi
mov qword [rdi + 0x20], rcx
mov r8d, eax
mov rcx, rsi
mov dword [rbp + 0x20], eax
call fcn.14009d110
cmp dword [rdi + 0xc], 0
jne 0x1400a298a
movsxd rax, dword [rbp - 0x58]
test eax, eax
js 0x1400a298a
mov rcx, qword [rbx]
cmp byte [rcx + 0x50], 0
je 0x1400a2977
lea rax, [0x140183868]
jmp 0x1400a2983
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x1400a2811
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, rsi
call fcn.14009b910
mov r8d, dword [rsi + 0x50]
mov qword [rsp + 0x60], rax
mov rax, qword [rbp - 0x80]
lea ecx, [r8 + 1]
mov dword [rsi + 0x50], ecx
mov r9d, dword [rax]
xor eax, eax
lea edx, [rax + 0x37]
mov rcx, rbx
add r9d, 2
mov dword [rbp + 0x4c], r8d
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rbp - 0x58], eax
test r8, r8
je 0x1400a2960
cmp byte [rcx + 0x50], 0
jne 0x1400a2960
test eax, eax
jns 0x1400a2906
mov eax, dword [rbx + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea r8, [r8 + rdx*8]
mov qword [rbp - 0x40], r8
movsx edx, byte [r8 + 1]
mov r8, qword [r8 + 0x10]
call fcn.140060e70
mov rax, qword [rbp - 0x40]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x1400a2945
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
mov eax, dword [rbp - 0x58]
jmp 0x1400a2817
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
mov eax, dword [rbp - 0x58]
jmp 0x1400a2817
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140060e70
mov eax, dword [rbp - 0x58]
jmp 0x1400a2817
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
or byte [rbp + 0x5c], 1
mov byte [rax], 0x38
test byte [rdi + 0xa], 1
je 0x1400a2a77
mov edi, dword [rsi + 0x50]
mov r11, qword [rbp + 0x128]
xor r9d, r9d
lea eax, [rdi + 1]
xor r8d, r8d
mov rcx, rsi
mov dword [rsi + 0x50], eax
mov rdx, qword [r11]
mov dword [rbp + 0x34], edi
call fcn.14009b910
xor r9d, r9d
mov r8d, edi
mov qword [rsp + 0x60], rax
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x37]
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x50], eax
mov edx, eax
test r8, r8
je 0x1400a2a40
cmp byte [rcx + 0x50], 0
jne 0x1400a2a40
test eax, eax
jns 0x1400a29f5
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140060e70
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x1400a2a28
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x1400a2a4f
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x1400a2a4f
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140060e70
mov rdx, qword [rbx + 8]
mov eax, dword [rsp + 0x50]
mov dword [rbp + 0x38], eax
test rdx, rdx
je 0x1400a2a6c
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov rdi, qword [rbp + 0x128]
mov al, 3
jmp 0x1400a2a79
xor al, al
cmp dword [rsp + 0x6c], 0
mov r9, qword [rsp + 0x58]
mov byte [rbp + 0x31], al
mov dword [rbp - 0x48], eax
jne 0x1400a2ba5
test r9, r9
jne 0x1400a2ba5
movzx eax, byte [rbp + 0x138]
mov r9, qword [rbp - 0x80]
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x70]
neg al
sbb cx, cx
xor eax, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rdi]
and cx, 0x400
mov word [rsp + 0x28], cx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1400b3a00
mov r9, rax
mov qword [rbp + 0x128], rax
test rax, rax
je 0x1400a23a0
movzx ecx, word [rax + 0x30]
call fcn.140044880
cmp rax, qword [rdi + 0x20]
jae 0x1400a2af7
mov qword [rdi + 0x20], rax
cmp byte [rbp + 0x138], 0
je 0x1400a2b16
movzx eax, byte [r9 + 0x38]
mov ecx, dword [rbp - 0x48]
movzx ecx, cl
test al, al
cmovne ecx, eax
mov dword [rbp - 0x48], ecx
mov byte [rbp + 0x31], cl
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400a2b36
movsx eax, byte [r9 + 0x34]
cmp eax, dword [rcx]
mov dword [rbp + 0x48], eax
mov eax, 0
cmove rcx, rax
mov qword [rbp + 0x40], rcx
mov eax, dword [rbp - 0x58]
test eax, eax
js 0x1400a2b53
test rcx, rcx
jne 0x1400a2b53
mov edx, eax
mov rcx, rbx
call fcn.140060fc0
mov r9, qword [rbp + 0x128]
mov eax, dword [r9 + 0x44]
mov r8, qword [rbp - 0x70]
mov rdx, rdi
mov dword [rsp + 0x40], eax
mov eax, dword [r9 + 0x40]
or r9d, 0xffffffff
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x130]
mov rcx, rsi
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
call fcn.14009ad20
mov rcx, qword [rbp + 0x128]
call fcn.1400b4440
jmp 0x1400a3fde
xor r8d, r8d
mov dword [rbp - 0x78], r8d
mov dword [rbp - 0x74], r8d
test r9, r9
je 0x1400a2c0f
mov rax, qword [rdi]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x1400a2bde
lea rax, [rdx + 0x22]
nop word [rax + rax]
dec ecx
mov word [rax], r8w
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x1400a2bd0
mov eax, dword [r9]
mov rcx, qword [r9 + 8]
test eax, eax
jle 0x1400a2bfe
add rcx, 0x22
nop dword [rax]
dec eax
mov word [rcx], r8w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x1400a2bf0
cmp qword [rdi + 0x20], 0x64
jbe 0x1400a2c17
mov qword [rdi + 0x20], 0x64
jmp 0x1400a2c17
mov qword [rdi + 0x20], 1
mov rdx, qword [rbp - 0x80]
or r8d, 0xffffffff
mov rcx, r9
call fcn.140079270
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, 1
cmove ecx, eax
mov dword [rsp + 0x54], ecx
mov rcx, rbx
call fcn.140060b20
mov ecx, dword [rsi + 0x54]
mov dword [rbp - 0x68], eax
xor eax, eax
inc ecx
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0xd8], rax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], rax
mov rax, qword [rsp + 0x70]
mov dword [rbp - 0x10], ecx
mov rcx, qword [rsp + 0x58]
mov qword [rbp + 0xc0], rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xb8], rsi
test rcx, rcx
je 0x1400a2cad
mov eax, dword [rcx]
inc eax
jmp 0x1400a2caf
xor eax, eax
mov dword [rbp - 0x14], eax
mov rax, qword [rbp - 0x70]
mov qword [rbp - 8], rcx
test rax, rax
je 0x1400a2cce
lea rcx, [rbp + 0xb8]
mov rdx, rax
call fcn.140079790
mov rax, qword [rbp - 0x80]
test rax, rax
je 0x1400a2ce6
lea rcx, [rbp + 0xb8]
mov rdx, rax
call fcn.140079790
mov rax, qword [rbp + 0x78]
lea r10, [0x1400794b0]
lea rdx, [fcn.140009040]
test rax, rax
je 0x1400a2d5b
xor ecx, ecx
mov qword [rbp + 0x80], rcx
mov qword [rbp + 0x88], rcx
mov qword [rbp + 0xa8], rcx
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rcx
lea rcx, [rbp + 0xb8]
mov qword [rbp + 0x88], rdx
mov rdx, rax
mov qword [rbp + 0xa8], rcx
lea rcx, [rbp + 0x80]
mov qword [rbp + 0x80], r10
call fcn.140070790
lea r10, [0x1400794b0]
mov edx, dword [rbp + 0x18]
mov eax, dword [rbp + 8]
xor r11d, r11d
mov r9d, r11d
mov dword [rbp - 0x80], r11d
mov dword [rbp + 0xc], eax
test edx, edx
jle 0x1400a2e8e
movzx edx, byte [rbp + 0xe8]
mov r8d, dword [rbp + 0x18]
mov ebx, r11d
lea rsi, [fcn.140009040]
nop dword [rax + rax]
mov rax, qword [rbp + 0x10]
or dl, 8
mov byte [rbp + 0xe8], dl
mov rcx, qword [rbx + rax]
mov rcx, qword [rcx + 0x20]
mov qword [rbp - 0x40], rcx
test rcx, rcx
je 0x1400a2e5c
cmp dword [rcx], 0
mov rdi, qword [rcx + 8]
mov eax, r11d
mov dword [rsp + 0x68], eax
jle 0x1400a2e5c
nop word [rax + rax]
mov rdx, qword [rdi]
xor r8d, r8d
mov qword [rbp + 0x80], r8
mov qword [rbp + 0x88], r8
mov qword [rbp + 0xa8], r8
mov qword [rbp + 0x90], r8
mov qword [rbp + 0x98], r8
mov qword [rbp + 0xa0], r8
lea r8, [rbp + 0xb8]
mov qword [rbp + 0x80], r10
mov qword [rbp + 0x88], rsi
mov qword [rbp + 0xa8], r8
test rdx, rdx
je 0x1400a2e3c
lea rcx, [rbp + 0x80]
call fcn.140070790
mov eax, dword [rsp + 0x68]
mov rcx, qword [rbp - 0x40]
lea r10, [0x1400794b0]
inc eax
add rdi, 0x28
mov dword [rsp + 0x68], eax
cmp eax, dword [rcx]
jl 0x1400a2dd0
movzx edx, byte [rbp + 0xe8]
mov r8d, dword [rbp + 0x18]
mov r9d, dword [rbp - 0x80]
xor r11d, r11d
inc r9d
and dl, 0xf7
add rbx, 0x18
mov byte [rbp + 0xe8], dl
mov dword [rbp - 0x80], r9d
cmp r9d, r8d
jl 0x1400a2d90
mov rbx, qword [rbp - 0x50]
mov rsi, qword [rbp + 0x120]
mov rdi, qword [rbp + 0x128]
mov edx, dword [rbp + 0x18]
mov eax, dword [rsi + 0x54]
mov dword [rbp - 0xc], eax
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0x50], 0
jne 0x1400a4072
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400a3ba9
mov eax, dword [rsi + 0x50]
mov rdx, rcx
xor r9d, r9d
mov dword [rbp - 0x1c], eax
inc eax
xor r8d, r8d
mov rcx, rsi
mov dword [rsi + 0x50], eax
call fcn.14009b910
mov r9d, dword [rbp - 0x14]
mov r8d, dword [rbp - 0x1c]
mov qword [rsp + 0x60], rax
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x38]
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x50], eax
mov edx, eax
test r8, r8
je 0x1400a2f60
cmp byte [rcx + 0x50], 0
jne 0x1400a2f60
test eax, eax
jns 0x1400a2f0c
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rdx, [rax + rax*2]
lea r8, [r8 + rdx*8]
mov qword [rbp + 0x120], r8
movsx edx, byte [r8 + 1]
mov r8, qword [r8 + 0x10]
call fcn.140060e70
mov rax, qword [rbp + 0x120]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x1400a2f4c
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
jmp 0x1400a2f6f
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
jmp 0x1400a2f6f
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140060e70
mov eax, dword [rsi + 0x54]
mov rcx, rbx
inc eax
mov dword [rbp + 0x120], eax
add eax, 2
mov dword [rsi + 0x54], eax
call fcn.140060b20
inc dword [rsi + 0x54]
mov dword [rbp - 0x34], eax
mov eax, dword [rsi + 0x54]
mov rcx, rbx
mov dword [rsp + 0x68], eax
call fcn.140060b20
mov edx, dword [rsi + 0x54]
mov r9d, dword [rbp + 0x120]
mov dword [rbp - 0x80], eax
lea eax, [rdx + 1]
mov dword [rbp - 0x38], eax
mov rax, qword [rsp + 0x58]
inc r9d
mov r8d, dword [rax]
add r8d, edx
mov dword [rsi + 0x54], r8d
lea ecx, [r8 + 1]
add r8d, dword [rax]
xor eax, eax
mov dword [rsi + 0x54], r8d
mov dword [rsp + 0x6c], ecx
lea edx, [rax + 0x19]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov r9d, dword [rbp + 0x120]
xor eax, eax
lea edx, [rax + 0x19]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov edx, dword [rbp - 0x38]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov r9d, edx
mov eax, dword [rcx]
lea ecx, [rdx - 1]
lea edx, [r8 + 0x1c]
add ecx, eax
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1400608a0
mov r9d, dword [rbp - 0x80]
mov r8d, dword [rsp + 0x68]
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x11]
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov eax, dword [rsp + 0x54]
mov r9, qword [rsp + 0x58]
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x70]
neg eax
sbb cx, cx
mov eax, 0x100
and cx, 0x800
or cx, ax
xor eax, eax
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], cx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.1400b3a00
mov rdx, rax
mov qword [rbp - 0x60], rax
test rax, rax
je 0x1400a23a0
movsx ecx, byte [rax + 0x34]
mov rax, qword [rsp + 0x58]
cmp ecx, dword [rax]
jne 0x1400a30ad
xor r8d, r8d
mov eax, r8d
mov dword [rbp + 0x138], eax
lea edi, [r8 + 0xa]
jmp 0x1400a338e
cmp byte [rbp + 0x138], 0
je 0x1400a30c3
test byte [rdi + 0xa], 1
lea rdx, str.DISTINCT
je 0x1400a30ca
lea rdx, str.GROUP_BY
mov rcx, rsi
call fcn.14009ba00
mov r10, qword [rsp + 0x58]
mov edx, dword [rbp + 8]
mov eax, dword [r10]
mov dword [rbp + 0x138], 1
lea ecx, [rax + 1]
mov dword [rbp - 0x78], eax
mov dword [rbp - 0x30], ecx
mov r8d, ecx
mov dword [rbp - 0x54], ecx
test edx, edx
jle 0x1400a3118
mov rax, qword [rbp]
add rax, 0x10
cmp dword [rax], ecx
jl 0x1400a310b
inc r8d
inc ecx
add rax, 0x20
dec rdx
jne 0x1400a3102
mov dword [rbp - 0x54], r8d
mov ecx, dword [rsi + 0x44]
mov edi, dword [rsi + 0x48]
mov dword [rbp - 0x74], edi
cmp r8d, ecx
jg 0x1400a3135
lea eax, [rdi + r8]
sub ecx, r8d
mov dword [rsi + 0x48], eax
mov dword [rsi + 0x44], ecx
jmp 0x1400a3144
mov eax, dword [rsi + 0x54]
lea edi, [rax + 1]
add eax, r8d
mov dword [rbp - 0x74], edi
mov dword [rsi + 0x54], eax
lea rax, [rsi + 0x88]
xor ebx, ebx
lea rcx, [rax + 0xc]
lea r8d, [rbx + 0xa]
mov edx, dword [rcx]
test edx, edx
je 0x1400a3177
cmp byte [rcx - 6], bl
je 0x1400a3175
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1400a3172
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], bl
mov dword [rcx], ebx
add rcx, 0x14
dec r8
jne 0x1400a3155
xor r9d, r9d
mov r8d, edi
mov rdx, r10
mov rcx, rsi
call fcn.1400784f0
mov r9d, dword [rbp - 0x78]
mov rbx, qword [rbp - 0x50]
mov r8d, dword [rbp - 0x1c]
xor eax, eax
add r9d, edi
lea edx, [rax + 0x44]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov r8d, dword [rbp + 8]
xor eax, eax
mov edx, eax
mov dword [rbp - 0x78], eax
test r8d, r8d
jle 0x1400a323f
mov r9d, dword [rbp - 0x30]
mov ecx, eax
mov qword [rbp - 0x40], rax
add edi, r9d
nop
mov rax, qword [rbp]
cmp dword [rcx + rax + 0x10], r9d
jl 0x1400a322d
mov r9d, dword [rcx + rax + 8]
mov r8d, dword [rcx + rax + 0xc]
mov rdx, qword [rcx + rax]
mov rcx, rsi
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
call fcn.140076b80
cmp edi, eax
je 0x1400a3215
xor ecx, ecx
mov r9d, edi
mov r8d, eax
lea edx, [rcx + 0x22]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1400608a0
mov r9d, dword [rbp - 0x30]
mov r8d, dword [rbp + 8]
mov rcx, qword [rbp - 0x40]
mov edx, dword [rbp - 0x78]
inc r9d
inc edi
mov dword [rbp - 0x30], r9d
inc edx
add rcx, 0x20
mov dword [rbp - 0x78], edx
mov qword [rbp - 0x40], rcx
cmp edx, r8d
jl 0x1400a31d0
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x1400a324f
inc dword [rsi + 0x54]
mov edi, dword [rsi + 0x54]
jmp 0x1400a325b
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov edi, dword [rsi + rax*4 + 0x24]
mov r9d, dword [rbp - 0x54]
mov r8d, dword [rbp - 0x74]
mov edx, 0x30
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.1400608a0
mov r8d, dword [rbp - 0x1c]
xor eax, eax
lea edx, [rax + 0x6a]
mov r9d, edi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400608a0
test edi, edi
je 0x1400a32c4
movzx edx, byte [rsi + 0x1f]
cmp dl, 8
jae 0x1400a32c4
xor eax, eax
mov ecx, eax
lea rax, [rsi + 0x88]
cmp dword [rax + 0xc], edi
je 0x1400a32c0
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1400a32a4
movzx eax, dl
mov dword [rsi + rax*4 + 0x24], edi
inc byte [rsi + 0x1f]
jmp 0x1400a32c4
mov byte [rax + 6], 1
mov edi, dword [rbp - 0x54]
mov edx, dword [rbp - 0x74]
mov rcx, rsi
mov r8d, edi
call fcn.140079890
mov rcx, qword [rbp - 0x60]
call fcn.1400b4440
mov ecx, dword [rsi + 0x50]
lea eax, [rcx + 1]
mov dword [rbp - 0x78], ecx
mov dword [rbp - 0x18], ecx
mov dword [rsi + 0x50], eax
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x1400a32fd
inc dword [rsi + 0x54]
mov eax, dword [rsi + 0x54]
jmp 0x1400a3309
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov eax, dword [rsi + rax*4 + 0x24]
mov r8d, ecx
mov r9d, eax
mov edx, 0x39
mov rcx, rbx
mov dword [rbp - 0x74], eax
mov dword [rsp + 0x20], edi
call fcn.1400608a0
mov r9d, dword [rbp - 0x68]
mov r8d, dword [rbp - 0x1c]
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x67]
mov dword [rsp + 0x20], eax
call fcn.1400608a0
lea rax, [rsi + 0x88]
mov edi, 0xa
mov byte [rbp - 0x1f], 1
mov r8d, edi
xor ebx, ebx
lea rcx, [rax + 0xc]
mov edx, dword [rcx]
test edx, edx
je 0x1400a3377
cmp byte [rcx - 6], bl
je 0x1400a3375
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1400a3372
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], bl
mov dword [rcx], ebx
add rcx, 0x14
dec r8
jne 0x1400a3355
mov rbx, qword [rbp - 0x50]
mov eax, dword [rbp + 0x138]
mov rdx, qword [rbp - 0x60]
cmp dword [rsp + 0x54], 0
je 0x1400a33b8
mov rcx, qword [rsp + 0x78]
test byte [rcx + 0x4c], 4
jne 0x1400a33b8
test eax, eax
jne 0x1400a33a9
cmp byte [rdx + 0x35], al
je 0x1400a33b8
mov edx, dword [rbp - 0x58]
mov rcx, rbx
mov qword [rbp + 0x40], r8
call fcn.140060fc0
mov eax, dword [rbx + 0x3c]
lea rcx, [rsi + 0x94]
xor ebx, ebx
mov dword [rbp - 0x54], eax
mov edx, dword [rcx]
test edx, edx
je 0x1400a33e9
cmp byte [rcx - 6], bl
je 0x1400a33e7
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1400a33e4
movzx eax, al
mov dword [rsi + rax*4 + 0x24], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], bl
mov dword [rcx], ebx
add rcx, 0x14
dec rdi
jne 0x1400a33c7
mov eax, dword [rbp + 0x138]
mov rbx, qword [rbp - 0x50]
test eax, eax
je 0x1400a341f
mov r9d, dword [rbp - 0x74]
mov r8d, dword [rbp - 0x1c]
xor eax, eax
lea edx, [rdi + 0x5f]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov eax, dword [rbp + 0x138]
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
mov edi, r8d
cmp dword [rdx], r8d
jle 0x1400a34f7
movsxd rcx, eax
mov eax, r8d
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x50], rcx
test rcx, rcx
je 0x1400a34b6
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x54], ecx
cmp dword [rax + 0x60], ecx
jg 0x1400a3469
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a349a
mov ecx, dword [rsp + 0x54]
xor r8d, r8d
inc dword [rbx + 0x3c]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rdx, [rax + rcx*8]
mov eax, dword [rbp - 0x78]
mov dword [rdx + 4], eax
mov eax, dword [rsp + 0x6c]
mov word [rdx], 0x2e
add eax, edi
mov byte [rdx + 3], 0
mov dword [rdx + 8], edi
mov dword [rdx + 0xc], eax
mov qword [rdx + 0x10], r8
test edi, edi
jne 0x1400a34d2
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1400a34d2
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x20
jmp 0x1400a34d2
mov r8d, dword [rsp + 0x6c]
mov byte [rbp - 0x20], 1
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + rax]
add r8d, edi
mov rcx, rsi
call fcn.140078320
mov rax, qword [rbp - 0x40]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp - 0x50]
add rax, 0x28
inc edi
mov r8d, 0
mov qword [rbp - 0x40], rax
cmp edi, dword [rdx]
jl 0x1400a3441
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1400a3503
inc dword [rax]
mov eax, dword [rdx]
movsxd rdi, dword [rbx + 0x3c]
mov dword [rsp + 0x54], eax
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x60], edi
jg 0x1400a3529
mov rcx, rbx
call fcn.1400607f0
test eax, eax
je 0x1400a3529
mov edi, 1
jmp 0x1400a355d
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp - 0x38]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x6c]
mov word [rax + rcx*8], 0x29
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsp + 0x54]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
xor edx, edx
mov qword [rax + rcx*8 + 0x10], rdx
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x1400a35c0
cmp byte [rcx + 0x50], 0
jne 0x1400a35c0
test edi, edi
jns 0x1400a3578
mov edi, dword [rbx + 0x3c]
dec edi
movsxd rax, edi
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140060e70
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x1400a35ab
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x1400a35cf
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x1400a35cf
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140060e70
mov rax, qword [rbx + 0x30]
mov edi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x1400a35e7
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a3619
inc dword [rbx + 0x3c]
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea r10, [rax + rcx*8]
lea eax, [rdi + 1]
xor ecx, ecx
mov word [r10], 0x2a
mov byte [r10 + 3], 0
mov dword [r10 + 4], eax
mov dword [r10 + 8], ecx
mov dword [r10 + 0xc], eax
mov qword [r10 + 0x10], rcx
mov rax, qword [rsp + 0x58]
mov r8d, dword [rbp - 0x38]
mov edx, dword [rsp + 0x6c]
mov r9d, dword [rax]
mov rcx, rsi
call fcn.140076cb0
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x54], ecx
cmp dword [rax + 0x60], ecx
jg 0x1400a3651
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a3689
mov ecx, dword [rsp + 0x54]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x120]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x34]
mov word [rax + rcx*8], 0x11
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x54], ecx
cmp dword [rax + 0x60], ecx
jg 0x1400a36a9
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a36e0
mov ecx, dword [rsp + 0x54]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x120]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
inc edx
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x68]
mov word [rax + rcx*8], 0x86
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x54], ecx
cmp dword [rax + 0x60], ecx
jg 0x1400a3700
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a3733
mov ecx, dword [rsp + 0x54]
inc dword [rbx + 0x3c]
mov edx, dword [rsp + 0x68]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x80]
mov word [rax + rcx*8], 0x11
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov edx, dword [rbx + 0x3c]
cmp edx, edi
jbe 0x1400a3746
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
lea rdx, [rbp - 0x20]
dec ecx
mov dword [rax + 0x64], ecx
mov rcx, rsi
call fcn.1400a1b70
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x1400a3777
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a37aa
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov eax, dword [rbp + 0x138]
test eax, eax
je 0x1400a380e
mov eax, dword [rbp - 0x1c]
movsxd rdi, dword [rbx + 0x3c]
mov dword [rbp + 0x138], eax
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x60], edi
jg 0x1400a37da
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a385c
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x138]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x54]
mov word [rax + rcx*8], 5
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x1400a385c
mov rcx, qword [rbp - 0x60]
call fcn.1400b4440
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1400a385c
movsxd rax, dword [rsp + 0x50]
lea rcx, [rax + rax*2]
mov r8, qword [rdx + rcx*8 + 0x10]
lea rdi, [rdx + rcx*8]
mov rcx, qword [rbx]
movsx edx, byte [rdi + 1]
call fcn.140060e70
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9c
mov eax, dword [rbx + 0x3c]
dec eax
cmp dword [rsp + 0x50], eax
jne 0x1400a385c
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x1400a3875
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a38aa
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x34]
mov word [rax + rcx*8], 0x11
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x1400a38c3
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a38f2
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp - 0x68]
lea rcx, [rdi + rdi*2]
xor r8d, r8d
mov word [rax + rcx*8], 0x10
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rdi, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rsp + 0x50], edi
cmp dword [rax + 0x60], edi
jg 0x1400a390f
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a3944
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
inc edx
mov dword [rax + rcx*8 + 8], edx
xor edx, edx
mov word [rax + rcx*8], 0x19
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x1400a395d
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a398c
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x120]
lea rcx, [rdi + rdi*2]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
mov r8, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x34]
js 0x1400a39ad
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400a39ad
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x60], edi
jg 0x1400a39cf
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a39ff
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rdi + rdi*2]
lea rdx, [rax + rcx*8]
mov eax, dword [rbp + 0x120]
mov dword [rdx + 4], eax
lea eax, [rdi + 2]
mov word [rdx], 0x86
mov dword [rdx + 8], eax
xor eax, eax
mov byte [rdx + 3], 0
mov dword [rdx + 0xc], eax
mov qword [rdx + 0x10], rax
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0x138], ecx
cmp dword [rax + 0x60], ecx
jg 0x1400a3a23
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a3a55
mov ecx, dword [rbp + 0x138]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x120]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.1400a1a40
mov rdx, qword [rbp + 0x78]
inc edi
mov r8d, edi
mov r9d, 8
mov rcx, rsi
call fcn.140078c60
mov eax, dword [rsp + 0x50]
or r9d, 0xffffffff
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x130]
mov dword [rsp + 0x38], edi
mov rdi, qword [rbp + 0x128]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x30]
mov r8, qword [rdi]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x40]
mov rdx, rdi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14009ad20
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0x128], ecx
cmp dword [rax + 0x60], ecx
jg 0x1400a3adf
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a3b11
mov ecx, dword [rbp + 0x128]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x120]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
mov r8, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x80]
js 0x1400a3b32
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1400a3b32
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x64], eax
mov ecx, dword [rbp + 8]
add ecx, dword [rbp + 0x18]
je 0x1400a3b4f
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.1400a18e0
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0x128], ecx
cmp dword [rax + 0x60], ecx
jg 0x1400a3b77
mov rcx, rbx
call fcn.1400607f0
test eax, eax
jne 0x1400a3fb3
mov ecx, dword [rbp + 0x128]
inc dword [rbx + 0x3c]
mov edx, dword [rsp + 0x68]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 4], edx
xor edx, edx
mov word [rax + rcx*8], 0x12
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], rdx
mov byte [rax + rcx*8 + 3], 0
jmp 0x1400a3fb3
cmp qword [rdi + 0x30], 0
mov qword [rsp + 0x58], r11
jne 0x1400a3df6
mov rax, qword [rdi]
cmp dword [rax], 1
jne 0x1400a3df6
mov r10, qword [rdi + 0x28]
cmp dword [r10], 1
jne 0x1400a3df6
cmp qword [r10 + 0x30], 0
jne 0x1400a3df6
mov r10, qword [r10 + 0x28]
mov rax, qword [rax + 8]
test byte [r10 + 0x48], 0x10
mov r8, qword [rax]
mov qword [rsp + 0x60], r10
jne 0x1400a3df6
cmp byte [r8], 0x9b
jne 0x1400a3df6
test edx, edx
je 0x1400a3df6
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x1400a3df6
test byte [r8 + 4], 0x10
jne 0x1400a3df6
mov rdx, qword [r10 + 0x70]
mov rcx, qword [rsi]
call fcn.140099280
mov qword [rbp - 0x60], r11
mov rdi, r11
mov edx, eax
mov dword [rbp + 0x138], eax
mov eax, dword [rsi + 0x50]
lea ecx, [rax + 1]
mov dword [rbp + 0x120], eax
mov qword [rbp - 0x50], r11
mov dword [rsi + 0x50], ecx
mov eax, dword [r10 + 0x3c]
mov rcx, rsi
mov dword [rsp + 0x50], eax
call fcn.1400844b0
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rdx]
mov r8d, dword [rdx + 0x3c]
mov edx, dword [rbp + 0x138]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, rsi
call fcn.14007d800
mov rdx, qword [rsp + 0x60]
test byte [rdx + 0x48], 0x20
je 0x1400a3cbb
mov rdi, qword [rdx + 0x10]
mov qword [rbp - 0x50], rdi
test rdi, rdi
je 0x1400a3cbb
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x1400a3cb7
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1400a3ca5
mov qword [rbp - 0x50], rdi
mov rax, qword [rdx + 0x10]
test rax, rax
je 0x1400a3cf6
test byte [rax + 0x64], 4
jne 0x1400a3ce9
movzx ecx, word [rax + 0x5c]
cmp cx, word [rdx + 0x46]
jge 0x1400a3ce9
cmp qword [rax + 0x48], 0
jne 0x1400a3ce9
test rdi, rdi
je 0x1400a3ce6
cmp cx, word [rdi + 0x5c]
jge 0x1400a3ce9
mov rdi, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400a3cc4
mov qword [rbp - 0x50], rdi
test rdi, rdi
je 0x1400a3d11
mov eax, dword [rdi + 0x58]
mov rdx, rdi
mov rcx, rsi
mov dword [rsp + 0x50], eax
call fcn.140085150
mov qword [rbp - 0x60], rax
mov eax, dword [rbp + 0x138]
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rbp + 0x120]
mov edx, 0x34
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
call fcn.140060a80
mov rax, qword [rbp - 0x60]
test rax, rax
je 0x1400a3d9d
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x1400a3d90
cmp byte [rcx + 0x50], 0
jne 0x1400a3d90
mov eax, dword [rbx + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rdi, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rdi + 0x10]
call fcn.140060e70
mov rax, qword [rbp - 0x60]
mov byte [rdi + 1], 0xfa
mov qword [rdi + 0x10], rax
mov rdi, qword [rbp - 0x50]
jmp 0x1400a3d9d
mov r8, rax
mov edx, 0xfffffffa
call fcn.140060e70
mov r8d, dword [rbp + 0x120]
xor eax, eax
mov edx, 0x31
mov dword [rsp + 0x20], eax
mov rax, qword [rbp + 0x10]
mov rcx, rbx
mov r9d, dword [rax + 0x10]
call fcn.1400608a0
mov r8d, dword [rbp + 0x120]
xor eax, eax
lea edx, [rax + 0x3a]
xor r9d, r9d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400608a0
mov rdx, qword [rsp + 0x60]
mov r8, rdi
mov rcx, rsi
call fcn.1400a20f0
mov rdi, qword [rbp + 0x128]
jmp 0x1400a3f55
cmp qword [rdi + 0x40], 0
mov qword [rbp + 0x120], r11
mov byte [rbp + 0x128], 0
jne 0x1400a3ea3
mov qword [rbp + 0x120], r11
mov qword [rbp + 0x138], r11
cmp edx, 1
jne 0x1400a3e9c
lea rdx, [rbp + 0x138]
lea rcx, [rbp - 0x20]
call fcn.1400a0260
mov byte [rbp + 0x128], al
test al, al
je 0x1400a3e8c
mov rdx, qword [rbp + 0x138]
mov rcx, qword [rsp + 0x78]
xor r8d, r8d
call fcn.1400749c0
mov r9, rax
mov qword [rbp + 0x120], rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x1400a3ea3
mov rax, qword [rsp + 0x78]
cmp byte [rax + 0x50], 0
jne 0x1400a3ea3
mov rcx, qword [r9 + 8]
cmp byte [rbp + 0x128], 1
setne dl
mov byte [rcx + 0x18], dl
mov rcx, qword [r9 + 8]
mov rdx, qword [rcx]
mov byte [rdx], 0x9a
jmp 0x1400a3ea3
mov rax, qword [rbp + 0x138]
mov qword [rbp + 0x120], rax
jmp 0x1400a3ea3
mov byte [rbp + 0x128], 0
mov ecx, dword [rbp + 0x18]
add ecx, dword [rbp + 8]
je 0x1400a3eb7
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.1400a18e0
movzx eax, byte [rbp + 0x128]
mov r9, qword [rbp + 0x120]
mov r8, qword [rbp - 0x60]
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov dword [rsp + 0x30], ecx
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.1400b3a00
mov qword [rbp + 0x128], rax
test rax, rax
jne 0x1400a3f09
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1400751e0
jmp 0x1400a23a5
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.1400a1b70
mov rax, qword [rbp + 0x128]
cmp byte [rax + 0x34], 0
jle 0x1400a3f41
mov r9d, dword [rax + 0x44]
xor ecx, ecx
xor r8d, r8d
lea edx, [rcx + 0x10]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1400608a0
mov rax, qword [rbp + 0x128]
mov rcx, rax
call fcn.1400b4440
lea rdx, [rbp - 0x20]
mov rcx, rsi
call fcn.1400a1a40
mov r8d, dword [rbp - 0x68]
mov rdx, qword [rbp + 0x78]
xor eax, eax
lea r9d, [rax + 8]
mov rcx, rsi
mov qword [rbp + 0x40], rax
call fcn.140078c60
mov eax, dword [rbp - 0x68]
mov r8, qword [rdi]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x130]
mov qword [rsp + 0x30], rax
xor eax, eax
or r9d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rdx, rdi
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14009ad20
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x78]
call fcn.1400751e0
mov r9, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x68]
js 0x1400a3fd5
mov r8, qword [r9 + 0x80]
test r8, r8
je 0x1400a3fd5
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r9 + 0x64], eax
cmp byte [rbp - 0x48], 3
jne 0x1400a3ff3
lea rdx, str.DISTINCT
mov rcx, rsi
call fcn.14009ba00
cmp qword [rbp + 0x40], 0
je 0x1400a403a
cmp dword [rbp + 0x48], 0
lea rax, str.RIGHT_PART_OF_ORDER_BY
lea rdx, str.ORDER_BY
cmovg rdx, rax
mov rcx, rsi
call fcn.14009ba00
mov rax, qword [rbp + 0x130]
lea r8, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x70]
mov rdx, rdi
mov r9d, dword [rax]
mov rcx, rsi
call fcn.14009bc30
mov r9, qword [rbx + 0x30]
or rax, 0xffffffffffffffff
sub eax, dword [rbp + 0x20]
js 0x1400a405c
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x1400a405c
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r9 + 0x64], eax
xor eax, eax
mov dword [rbp + 0xb0], eax
jmp 0x1400a23a0
mov rbx, rax
jmp 0x1400a23a5
mov eax, ecx
add rsp, 0x1f8
pop rdi
pop rsi
pop rbx
pop rbp
ret