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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0xc8]
sub rsp, 0x1c8
mov rsi, rcx
mov ecx, 1
mov rdi, rdx
mov eax, dword [rsi + 0x200]
mov rbx, qword [rsi]
mov qword [rbp + 0x50], rcx
mov dword [rbp + 8], eax
mov eax, dword [rsi + 0x204]
mov qword [rbp - 0x80], rbx
mov dword [rsi + 0x200], eax
inc eax
mov dword [rsi + 0x204], eax
test rdx, rdx
je 0x140279323
cmp byte [rbx + 0x50], 0
jne 0x140279323
cmp dword [rsi + 0x50], 0
jne 0x140279323
lea edx, [rcx + 0x14]
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140253e30
test eax, eax
je 0x14027770a
mov eax, 1
add rsp, 0x1c8
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x100]
cmp byte [rax], 4
ja 0x140277753
mov rdx, qword [rdi + 0x48]
mov rcx, rbx
call fcn.14024b930
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.140276ca0
cmp dword [rsi + 0x50], 0
mov rax, qword [rdi + 0x48]
mov rdx, qword [rdi]
mov qword [rsp + 0x68], rax
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x78], rdx
jne 0x1402777dc
cmp byte [rbx + 0x50], 0
jne 0x1402777dc
movzx eax, word [rdi + 0xa]
mov rcx, rsi
shr eax, 2
and eax, 1
mov dword [rsp + 0x70], eax
call fcn.140272580
mov rbx, rax
test rax, rax
je 0x1402777cf
mov rcx, qword [rbp - 0x78]
mov r8, qword [rbp + 0x100]
cmp dword [rcx], 1
movzx eax, byte [r8]
jle 0x14027782d
add eax, 0xfffffffa
cmp eax, 1
ja 0x14027782d
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rsi
call fcn.14021ae50
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
mov rax, qword [rsp + 0x78]
mov rdi, qword [rbp + 0x50]
mov ecx, dword [rbp + 8]
mov dword [rsi + 0x200], ecx
test edi, edi
jne 0x140277807
mov rcx, qword [rbp + 0x100]
cmp byte [rcx], 5
jne 0x140277807
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.140271b20
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
call fcn.140218260
mov rdx, qword [rbp - 0x10]
mov rcx, rbx
call fcn.140218260
mov eax, edi
add rsp, 0x1c8
pop rdi
pop rsi
pop rbx
pop rbp
ret
xor r10d, r10d
or rdx, 0xffffffffffffffff
mov eax, r10d
mov dword [rbp + 0xf0], eax
cmp qword [rdi + 0x50], rax
jne 0x1402778ea
mov rcx, qword [rsp + 0x78]
mov r11d, r10d
mov qword [rsp + 0x60], r10
cmp eax, dword [rcx]
jge 0x1402778e6
imul rdi, r11, 0x78
add rdi, 8
add rdi, rcx
mov qword [rbp], rdi
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140277bce
mov r9d, dword [rdi + 0x30]
test r9d, r9d
je 0x140277945
test byte [rdi + 0x40], 4
jne 0x140277bce
mov r8d, dword [rdi + 0x34]
mov edx, 0x11
mov rcx, rbx
mov dword [rsp + 0x20], r10d
call fcn.140237cb0
mov rdi, qword [rbp + 0xf8]
mov r11, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rbp + 0x100]
xor r10d, r10d
mov eax, dword [rbp + 0xf0]
inc r11
inc eax
cmp qword [rdi + 0x50], 0
mov qword [rsp + 0x60], r11
mov dword [rbp + 0xf0], eax
je 0x140277854
or rdx, 0xffffffffffffffff
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x40]
mov qword [rbp - 0x78], rax
mov rax, qword [rdi + 0x30]
mov qword [rbp + 0x48], rcx
movzx ecx, byte [rdi + 0xa]
mov qword [rbp - 0x68], rax
mov rax, qword [rdi + 0x38]
and cl, 1
cmp qword [rdi + 0x50], 0
mov qword [rsp + 0x58], rax
mov byte [rbp + 0xf0], cl
mov byte [rbp + 0x10], cl
je 0x140277bda
mov rdx, rdi
mov rcx, rsi
call fcn.140272e90
mov ecx, dword [rbp + 8]
mov dword [rsi + 0x200], ecx
add rsp, 0x1c8
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [rbp + 0xf8]
call fcn.14024a4e0
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rbp + 0xf0]
add dword [rsi + 0x1fc], eax
mov rax, qword [rsp + 0x58]
mov rdx, qword [rbp + 0xf8]
movzx eax, word [rax + 0xa]
mov rcx, rsi
shr eax, 2
and eax, 1
mov dword [rbp + 0x108], eax
mov dword [rsp + 0x20], eax
call fcn.140274f80
test eax, eax
je 0x1402779be
cmp dword [rbp + 0x108], 0
je 0x1402779ac
mov rax, qword [rbp + 0xf8]
mov dword [rsp + 0x70], 1
or word [rax + 0xa], 4
or rax, 0xffffffffffffffff
mov dword [rbp + 0xf0], eax
mov r11, rax
jmp 0x140277b83
mov rax, qword [rsp + 0x78]
cmp dword [rax], 1
jne 0x140277a99
mov rax, qword [rbp - 0x80]
mov ecx, 0x100
test word [rax + 0x4c], cx
jne 0x140277a99
mov r8d, dword [rsi + 0x58]
mov edi, dword [rbx + 0x3c]
mov rax, qword [rbp]
inc r8d
xor r9d, r9d
inc edi
mov dword [rsi + 0x58], r8d
lea edx, [r9 + 0x14]
mov rcx, rbx
mov dword [rax + 0x34], r8d
mov dword [rsp + 0x20], edi
call fcn.140237cb0
mov rcx, qword [rbp]
mov rdx, qword [rsp + 0x58]
lea r8, [rbp + 0x30]
mov eax, dword [rcx + 0x34]
mov dword [rcx + 0x30], edi
mov word [rbp + 0x30], 9
mov dword [rbp + 0x34], eax
xor eax, eax
mov qword [rbp + 0x38], rax
movzx eax, byte [rsi + 0x204]
mov byte [rcx + 0x44], al
mov rcx, rsi
call fcn.140277670
mov rdx, qword [rbp]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x20]
mov rcx, qword [rdx + 0x20]
xor r9d, r9d
mov dword [rcx + 0x38], eax
or dword [rdx + 0x40], 4
mov eax, dword [rbp + 0x38]
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.140237cb0
mov edx, dword [rbx + 0x3c]
dec edi
cmp edx, edi
jbe 0x140277a88
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 + 0x68], ecx
jmp 0x140277b76
mov r9d, dword [rsi + 0x58]
xor ecx, ecx
xor r8d, r8d
inc r9d
lea edx, [rcx + 0x19]
mov dword [rbp + 0x108], ecx
mov dword [rsp + 0x20], ecx
mov dword [rsi + 0x58], r9d
mov rcx, rbx
mov dword [rdi + 0x34], r9d
call fcn.140237cb0
test byte [rdi + 0x40], 2
lea ecx, [rax + 1]
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x30], ecx
jne 0x140277ae0
mov rcx, rsi
call fcn.14024bd40
mov dword [rbp + 0x108], eax
mov ecx, dword [rdi + 0x48]
mov rdx, qword [rsp + 0x58]
xor eax, eax
mov dword [rbp + 0x34], ecx
movzx ecx, byte [rsi + 0x204]
mov word [rbp + 0x30], 8
mov qword [rbp + 0x38], rax
mov byte [rdi + 0x44], cl
lea r8, [rbp + 0x30]
mov rcx, rsi
call fcn.140277670
mov rax, qword [rsp + 0x58]
mov rcx, qword [rdi + 0x20]
mov eax, dword [rax + 0x20]
mov dword [rcx + 0x38], eax
mov eax, dword [rbp + 0x108]
test eax, eax
je 0x140277b45
mov edx, dword [rbx + 0x3c]
cmp edx, eax
jbe 0x140277b39
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 + 0x68], 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.140237cb0
mov r8d, eax
mov eax, dword [rsp + 0x54]
cmp dword [rbx + 0x3c], eax
jbe 0x140277b76
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 + 0x48], eax
mov byte [rsi + 0x1f], al
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0x50], 0
jne 0x14027931b
mov rdi, qword [rbp + 0xf8]
mov rcx, rdi
call fcn.14024a4e0
mov r8, qword [rbp + 0x100]
sub dword [rsi + 0x1fc], eax
cmp byte [r8], 4
mov rcx, qword [rdi + 0x28]
mov qword [rsp + 0x78], rcx
jbe 0x1402778c2
mov rax, qword [rdi + 0x48]
mov qword [rsp + 0x68], rax
jmp 0x1402778c2
mov rdi, qword [rbp + 0xf8]
jmp 0x1402778c5
mov r8d, edx
mov rdx, qword [rsp + 0x68]
mov rcx, rax
call fcn.14024f8b0
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x140277c09
mov rax, qword [rbp - 0x80]
test byte [rax + 0x4c], 4
mov eax, 0
cmove rcx, rax
mov qword [rsp + 0x68], rcx
movzx eax, byte [rdi + 0xa]
and al, 5
cmp al, 1
jne 0x140277ce0
mov rdx, qword [rdi]
or r8d, 0xffffffff
call fcn.14024f8b0
test eax, eax
jne 0x140277ce0
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x80]
mov eax, 0xfffe
and word [rdi + 0xa], ax
xor r8d, r8d
call fcn.14024b240
mov qword [rsp + 0x58], rax
mov qword [rdi + 0x38], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov dword [rbp + 0x108], 0xffffffff
mov rax, qword [rbp + 0x100]
cmp byte [rax], 8
jne 0x140277c87
mov r8d, dword [rax + 4]
xor ecx, ecx
mov edx, 0x37
mov dword [rsp + 0x20], ecx
mov rcx, qword [rbp - 0x78]
mov r9d, dword [rcx]
mov rcx, rbx
call fcn.140237cb0
mov rcx, rbx
call fcn.140237f30
movabs rcx, 0x7fffffffffffffff
mov rdx, rdi
mov qword [rdi + 0x20], rcx
mov r8d, eax
mov rcx, rsi
mov dword [rbp], eax
call fcn.140272600
cmp dword [rdi + 0xc], 0
jne 0x140277de1
movsxd rax, dword [rbp + 0x108]
test eax, eax
js 0x140277de1
mov rcx, qword [rbx]
cmp byte [rcx + 0x50], 0
je 0x140277dcd
lea rax, [0x14042c4e8]
jmp 0x140277dd9
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140277c53
mov rdx, rcx
mov rcx, rsi
call fcn.140270f00
mov ecx, dword [rsi + 0x54]
xor edx, edx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x20], edx
mov dword [rax + 4], ecx
inc dword [rsi + 0x54]
mov r9d, dword [rax]
mov r8d, dword [rax + 4]
add r9d, 2
mov edx, 0x37
mov rcx, rbx
call fcn.140237cb0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rbp + 0x108], eax
mov edx, eax
test r8, r8
je 0x140277db0
cmp byte [rcx + 0x50], 0
jne 0x140277db0
test eax, eax
jns 0x140277d4d
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rdx, [rax + rax*2]
lea r8, [r8 + rdx*8]
mov qword [rbp + 0x20], r8
movsx edx, byte [r8 + 1]
mov r8, qword [r8 + 0x10]
call fcn.140238280
mov rax, qword [rbp + 0x20]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x140277d93
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x140277c5d
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x140277c5d
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140238280
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x140277c5d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
lea rax, [rax + rcx*8]
mov byte [rax], 0x38
or word [rdi + 0xa], 0x40
test byte [rdi + 0xa], 1
je 0x140277ec7
mov edi, dword [rsi + 0x54]
mov r11, qword [rbp + 0xf8]
mov rcx, rsi
lea eax, [rdi + 1]
mov dword [rbp + 0x14], edi
mov dword [rsi + 0x54], eax
mov rdx, qword [r11]
call fcn.140270f00
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.140237cb0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x54], eax
mov edx, eax
test r8, r8
je 0x140277e90
cmp byte [rcx + 0x50], 0
jne 0x140277e90
test eax, eax
jns 0x140277e46
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.140238280
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x140277e79
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x140277e9f
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x140277e9f
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140238280
mov rdx, qword [rbx + 8]
mov eax, dword [rsp + 0x54]
mov dword [rbp + 0x18], eax
test rdx, rdx
je 0x140277ebc
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 8
mov rdi, qword [rbp + 0xf8]
mov al, 3
jmp 0x140277ec9
xor al, al
cmp dword [rsp + 0x70], 0
mov r8, qword [rsp + 0x58]
mov byte [rbp + 0x11], al
mov dword [rbp - 0x60], eax
jne 0x140277ffe
test r8, r8
jne 0x140277ffe
movzx eax, byte [rbp + 0xf0]
mov r9, qword [rsp + 0x68]
mov r8, qword [rbp - 0x68]
mov rdx, qword [rsp + 0x78]
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.140287fc0
mov r9, rax
mov qword [rbp + 0xf8], rax
test rax, rax
je 0x1402777cf
movzx ecx, word [rax + 0x30]
call fcn.14021be40
cmp rax, qword [rdi + 0x20]
jae 0x140277f48
mov qword [rdi + 0x20], rax
cmp byte [rbp + 0xf0], 0
je 0x140277f67
movzx eax, byte [r9 + 0x37]
mov ecx, dword [rbp - 0x60]
movzx ecx, cl
test al, al
cmovne ecx, eax
mov dword [rbp - 0x60], ecx
mov byte [rbp + 0x11], cl
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140277f84
cmp byte [r9 + 0x34], 0
mov eax, 0
cmovne rcx, rax
mov qword [rsp + 0x68], rcx
mov eax, dword [rbp + 0x108]
test eax, eax
js 0x140277fb0
test rcx, rcx
jne 0x140277fb0
mov edx, eax
mov rcx, rbx
call fcn.140238460
mov r9, qword [rbp + 0xf8]
mov rcx, qword [rsp + 0x68]
mov dword [rdi + 0x1c], 0xffffffff
mov eax, dword [r9 + 0x44]
mov r8, qword [rbp - 0x78]
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 + 0x100]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.140270320
mov rcx, qword [rbp + 0xf8]
call fcn.140288950
jmp 0x140279299
xor r9d, r9d
mov dword [rbp - 0x58], r9d
mov dword [rsp + 0x50], r9d
test r8, r8
je 0x14027805f
mov rax, qword [rdi]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x14027802e
lea rax, [rdx + 0x22]
dec ecx
mov word [rax], r9w
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x140278020
mov eax, dword [r8]
mov rcx, qword [r8 + 8]
test eax, eax
jle 0x14027804e
add rcx, 0x22
nop dword [rax]
dec eax
mov word [rcx], r9w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x140278040
cmp qword [rdi + 0x20], 0x64
jbe 0x140278067
mov qword [rdi + 0x20], 0x64
jmp 0x140278067
mov qword [rdi + 0x20], 1
mov rcx, rbx
call fcn.140237f30
mov ecx, dword [rsi + 0x58]
mov dword [rbp - 0x70], eax
xor eax, eax
inc ecx
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x80], rax
mov qword [rbp + 0x88], rax
mov rax, qword [rsp + 0x78]
mov dword [rbp - 0x30], ecx
mov rcx, qword [rsp + 0x58]
mov qword [rbp + 0x60], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x58], rsi
test rcx, rcx
je 0x1402780c3
mov eax, dword [rcx]
inc eax
jmp 0x1402780c5
xor eax, eax
mov dword [rbp - 0x34], eax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x28], rcx
test rax, rax
je 0x1402780e1
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.14024fe00
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x1402780f7
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.14024fe00
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x140278162
xor ecx, ecx
mov rdx, rax
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xb8], rcx
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0xa8], rcx
mov qword [rbp + 0xb0], rcx
lea rcx, [0x14024fb70]
mov qword [rbp + 0x90], rcx
lea rcx, [fcn.14000f1d0]
mov qword [rbp + 0x98], rcx
lea rcx, [rbp + 0x58]
mov qword [rbp + 0xb8], rcx
lea rcx, [rbp + 0x90]
call fcn.140247120
mov r8d, dword [rbp - 8]
mov eax, dword [rbp - 0x18]
xor r11d, r11d
mov edx, r11d
mov dword [rbp - 0x14], eax
mov dword [rbp + 0x108], edx
test r8d, r8d
jle 0x1402781f4
movzx r8d, byte [rbp + 0x88]
mov r9d, dword [rbp - 8]
mov edi, r11d
nop dword [rax]
mov rax, qword [rbp - 0x10]
or r8b, 8
mov byte [rbp + 0x88], r8b
mov rcx, qword [rdi + rax]
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x1402781ca
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.14024fe00
movzx r8d, byte [rbp + 0x88]
mov r9d, dword [rbp - 8]
mov edx, dword [rbp + 0x108]
inc edx
and r8b, 0xf7
add rdi, 0x18
mov byte [rbp + 0x88], r8b
mov dword [rbp + 0x108], edx
cmp edx, r9d
jl 0x140278190
mov rdi, qword [rbp + 0xf8]
mov r8d, dword [rbp - 8]
xor r11d, r11d
mov eax, dword [rsi + 0x58]
mov dword [rbp - 0x2c], eax
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0x50], 0
jne 0x14027931b
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140278e61
mov eax, dword [rsi + 0x54]
mov rdx, rcx
mov rcx, rsi
mov dword [rbp - 0x3c], eax
inc eax
mov dword [rsi + 0x54], eax
call fcn.140270f00
mov r9d, dword [rbp - 0x34]
mov r8d, dword [rbp - 0x3c]
mov qword [rsp + 0x60], rax
xor eax, eax
lea edx, [rax + 0x38]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140237cb0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x54], eax
mov edx, eax
test r8, r8
je 0x1402782c0
cmp byte [rcx + 0x50], 0
jne 0x1402782c0
test eax, eax
jns 0x14027826b
mov edx, dword [rbx + 0x3c]
dec edx
movsxd rax, edx
lea rdx, [rax + rax*2]
lea r8, [r8 + rdx*8]
mov qword [rbp + 0x108], r8
movsx edx, byte [r8 + 1]
mov r8, qword [r8 + 0x10]
call fcn.140238280
mov rax, qword [rbp + 0x108]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x1402782ab
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
jmp 0x1402782cf
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
jmp 0x1402782cf
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140238280
mov eax, dword [rsi + 0x58]
mov rcx, rbx
inc eax
mov dword [rbp + 0x108], eax
add eax, 2
mov dword [rsi + 0x58], eax
call fcn.140237f30
inc dword [rsi + 0x58]
mov dword [rbp - 0x50], eax
mov eax, dword [rsi + 0x58]
mov rcx, rbx
mov dword [rbp - 0x44], eax
call fcn.140237f30
mov edx, dword [rsi + 0x58]
mov r9d, dword [rbp + 0x108]
mov dword [rbp - 0x48], eax
lea eax, [rdx + 1]
mov dword [rbp - 0x4c], eax
mov rax, qword [rsp + 0x58]
inc r9d
mov r8d, dword [rax]
add r8d, edx
mov dword [rsi + 0x58], r8d
lea ecx, [r8 + 1]
add r8d, dword [rax]
xor eax, eax
mov dword [rsi + 0x58], r8d
mov dword [rbp - 0x5c], ecx
lea edx, [rax + 0x19]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140237cb0
mov r9d, dword [rbp + 0x108]
xor eax, eax
lea edx, [rax + 0x19]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140237cb0
mov rcx, qword [rsp + 0x58]
mov ecx, dword [rcx]
mov r9d, dword [rbp - 0x4c]
xor r8d, r8d
dec ecx
lea edx, [r8 + 0x1c]
add ecx, dword [rbp - 0x4c]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.140237cb0
mov r9d, dword [rbp - 0x48]
mov r8d, dword [rbp - 0x44]
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x11]
mov dword [rsp + 0x20], eax
call fcn.140237cb0
mov r9, qword [rsp + 0x58]
mov r8, qword [rbp - 0x68]
mov rdx, qword [rsp + 0x78]
xor eax, eax
mov ecx, 0x100
mov dword [rsp + 0x30], eax
mov word [rsp + 0x28], cx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140287fc0
mov qword [rbp + 0x20], rax
test rax, rax
je 0x1402777cf
cmp byte [rax + 0x34], 0
mov r8d, 0xa
je 0x1402783ec
xor edi, edi
mov r9d, edi
mov dword [rsp + 0x70], edi
jmp 0x1402786b8
cmp byte [rbp + 0xf0], 0
je 0x140278402
test byte [rdi + 0xa], 1
lea rdx, str.DISTINCT
je 0x140278409
lea rdx, str.GROUP_BY
mov rcx, rsi
call fcn.140270fe0
mov rax, qword [rsp + 0x58]
mov edx, dword [rbp - 0x18]
mov eax, dword [rax]
mov dword [rsp + 0x70], 1
lea ecx, [rax + 1]
mov dword [rbp - 0x68], eax
mov dword [rsp + 0x50], ecx
mov edi, ecx
mov dword [rbp - 0x58], ecx
test edx, edx
jle 0x140278454
mov rax, qword [rbp - 0x20]
add rax, 0x10
nop
cmp dword [rax], ecx
jl 0x140278448
inc edi
inc ecx
add rax, 0x20
dec rdx
jne 0x140278440
mov dword [rbp - 0x58], edi
mov ecx, dword [rsi + 0x48]
mov r11d, dword [rsi + 0x4c]
mov dword [rbp + 0xf0], r11d
cmp edi, ecx
jg 0x140278474
lea eax, [rdi + r11]
sub ecx, edi
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x48], ecx
jmp 0x140278487
mov eax, dword [rsi + 0x58]
lea r11d, [rax + 1]
add eax, edi
mov dword [rbp + 0xf0], r11d
mov dword [rsi + 0x58], eax
mov rcx, rsi
call fcn.14024d350
mov rdx, qword [rsp + 0x58]
xor r9d, r9d
mov r8d, r11d
mov rcx, rsi
call fcn.14024eb30
mov r9d, dword [rbp + 0xf0]
mov r8d, dword [rbp - 0x3c]
add r9d, dword [rbp - 0x68]
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x44]
mov dword [rsp + 0x20], eax
call fcn.140237cb0
mov r9d, dword [rbp - 0x18]
xor edx, edx
mov r8d, edx
mov dword [rbp - 0x68], edx
test r9d, r9d
jle 0x140278563
mov ecx, dword [rsp + 0x50]
mov edi, dword [rbp + 0xf0]
mov qword [rbp + 0x28], rdx
add edi, ecx
nop word [rax + rax]
mov rax, qword [rbp - 0x20]
cmp dword [rdx + rax + 0x10], ecx
jl 0x14027854c
mov r9d, dword [rdx + rax + 8]
mov r8d, dword [rdx + rax + 0xc]
mov rdx, qword [rdx + rax]
mov rcx, rsi
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], edi
call fcn.14024d270
cmp edi, eax
je 0x140278534
xor ecx, ecx
mov r9d, edi
mov r8d, eax
lea edx, [rcx + 0x22]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.140237cb0
mov ecx, dword [rsp + 0x50]
mov r9d, dword [rbp - 0x18]
mov rdx, qword [rbp + 0x28]
mov r8d, dword [rbp - 0x68]
inc ecx
inc edi
mov dword [rsp + 0x50], ecx
inc r8d
add rdx, 0x20
mov dword [rbp - 0x68], r8d
mov qword [rbp + 0x28], rdx
cmp r8d, r9d
jl 0x1402784f0
mov edi, dword [rbp - 0x58]
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x140278573
inc dword [rsi + 0x58]
mov eax, dword [rsi + 0x58]
jmp 0x14027857f
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov eax, dword [rsi + rax*4 + 0x28]
mov r8d, dword [rbp + 0xf0]
mov r9d, edi
mov edx, 0x30
mov rcx, rbx
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x20], eax
call fcn.140237cb0
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rbp - 0x3c]
xor eax, eax
mov rcx, rbx
lea edx, [rax + 0x6a]
mov dword [rsp + 0x20], eax
call fcn.140237cb0
mov edx, dword [rsp + 0x50]
test edx, edx
je 0x1402785f7
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x1402785f7
xor eax, eax
mov ecx, eax
lea rax, [rsi + 0x88]
cmp dword [rax + 0xc], edx
je 0x1402785f3
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1402785d6
movzx eax, r8b
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
jmp 0x1402785f7
mov byte [rax + 6], 1
mov edx, dword [rbp + 0xf0]
mov r8d, edi
mov rcx, rsi
call fcn.14024ff00
mov rcx, qword [rbp + 0x20]
call fcn.140288950
mov ecx, dword [rsi + 0x54]
lea eax, [rcx + 1]
mov dword [rbp - 0x58], ecx
mov dword [rbp - 0x38], ecx
mov dword [rsi + 0x54], eax
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x140278630
inc dword [rsi + 0x58]
mov eax, dword [rsi + 0x58]
jmp 0x14027863c
dec al
movzx eax, al
mov byte [rsi + 0x1f], al
mov eax, dword [rsi + rax*4 + 0x28]
mov r8d, ecx
mov r9d, eax
mov edx, 0x39
mov rcx, rbx
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x20], edi
call fcn.140237cb0
mov r9d, dword [rbp - 0x70]
mov r8d, dword [rbp - 0x3c]
xor edi, edi
mov rcx, rbx
lea edx, [rdi + 0x67]
mov dword [rsp + 0x20], edi
call fcn.140237cb0
mov byte [rbp - 0x3f], 1
lea rcx, [rsi + 0x94]
lea r8d, [rdi + 0xa]
nop
mov edx, dword [rcx]
test edx, edx
je 0x1402786a4
cmp byte [rcx - 6], dil
je 0x1402786a2
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14027869e
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], dil
mov dword [rcx], edi
add rcx, 0x14
dec r8
jne 0x140278680
mov r9d, dword [rsp + 0x70]
mov r8d, 0xa
mov eax, dword [rbx + 0x3c]
lea rcx, [rsi + 0x94]
mov dword [rbp - 0x68], eax
mov edx, dword [rcx]
test edx, edx
je 0x1402786e9
cmp byte [rcx - 6], 0
je 0x1402786e7
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1402786e3
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
mov byte [rcx - 6], 0
mov dword [rcx], edi
add rcx, 0x14
dec r8
jne 0x1402786c5
test r9d, r9d
je 0x140278716
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rbp - 0x3c]
mov edx, 0x5f
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.140237cb0
mov r9d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
cmp dword [rdx], 0
jle 0x1402787ae
movsxd rcx, r9d
xor eax, eax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0xf0], rax
test rcx, rcx
je 0x140278772
mov eax, dword [rbp - 0x5c]
mov r8d, dword [rbp - 0x58]
mov r9d, edi
add eax, edi
mov edx, 0x2e
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140237cb0
test edi, edi
jne 0x14027878d
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14027878d
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x20
jmp 0x14027878d
mov r8d, dword [rbp - 0x5c]
mov byte [rbp - 0x40], 1
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + rax]
add r8d, edi
mov rcx, rsi
call fcn.14024ea10
mov rax, qword [rbp + 0xf0]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbp + 0x28]
add rax, 0x28
inc edi
mov qword [rbp + 0xf0], rax
cmp edi, dword [rdx]
jl 0x140278734
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1402787ba
inc dword [rax]
mov eax, dword [rdx]
movsxd rdi, dword [rbx + 0x3c]
mov dword [rbp + 0xf0], eax
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x64], edi
jg 0x1402787e2
mov rcx, rbx
call fcn.140237c00
test eax, eax
je 0x1402787e2
mov edi, 1
jmp 0x140278817
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp - 0x4c]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x5c]
mov word [rax + rcx*8], 0x29
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rbp + 0xf0]
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 0x140278870
cmp byte [rcx + 0x50], 0
jne 0x140278870
test edi, edi
jns 0x140278832
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.140238280
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x140278865
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x14027887f
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x14027887f
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140238280
mov rax, qword [rbx + 0x30]
mov edi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x140278897
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x1402788c9
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 - 0x4c]
mov edx, dword [rbp - 0x5c]
mov r9d, dword [rax]
mov rcx, rsi
call fcn.14024d3a0
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf0], ecx
cmp dword [rax + 0x64], ecx
jg 0x140278904
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x14027893c
mov ecx, dword [rbp + 0xf0]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x108]
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 - 0x50]
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 [rbp + 0xf0], ecx
cmp dword [rax + 0x64], ecx
jg 0x140278960
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278997
mov ecx, dword [rbp + 0xf0]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x108]
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 - 0x70]
mov word [rax + rcx*8], 0x84
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 [rbp + 0xf0], ecx
cmp dword [rax + 0x64], ecx
jg 0x1402789bb
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x1402789ed
mov ecx, dword [rbp + 0xf0]
inc dword [rbx + 0x3c]
mov edx, dword [rbp - 0x44]
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x48]
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 0x140278a00
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 - 0x40]
dec ecx
mov dword [rax + 0x68], ecx
mov rcx, rsi
call fcn.140276fe0
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x140278a31
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278a64
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x108]
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 [rsp + 0x70]
test eax, eax
je 0x140278ac6
mov eax, dword [rbp - 0x3c]
movsxd rdi, dword [rbx + 0x3c]
mov dword [rbp + 0xf0], eax
mov rax, qword [rbx + 0x30]
cmp dword [rax + 0x64], edi
jg 0x140278a92
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278b14
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0xf0]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x68]
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 0x140278b14
mov rcx, qword [rbp + 0x20]
call fcn.140288950
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x140278b14
movsxd rax, dword [rsp + 0x54]
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.140238280
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov byte [rdi], 0x9b
mov eax, dword [rbx + 0x3c]
dec eax
cmp dword [rsp + 0x54], eax
jne 0x140278b14
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x140278b2d
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278b62
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x108]
lea rcx, [rdi + rdi*2]
add edx, 2
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rbp - 0x50]
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 + 0x64], edi
jg 0x140278b7b
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278baa
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp - 0x70]
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 + 0x54], edi
cmp dword [rax + 0x64], edi
jg 0x140278bc7
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278bfc
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x108]
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 + 0x64], edi
jg 0x140278c15
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278c44
inc dword [rbx + 0x3c]
mov rax, qword [rbx + 8]
mov edx, dword [rbp + 0x108]
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 - 0x50]
js 0x140278c65
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140278c65
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x68], eax
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x140278c87
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278cb7
mov rax, qword [rbx + 8]
inc dword [rbx + 0x3c]
lea rcx, [rdi + rdi*2]
lea rdx, [rax + rcx*8]
mov eax, dword [rbp + 0x108]
mov dword [rdx + 4], eax
lea eax, [rdi + 2]
mov word [rdx], 0x84
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 + 0xf0], ecx
cmp dword [rax + 0x64], ecx
jg 0x140278cdb
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278d0d
mov ecx, dword [rbp + 0xf0]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x108]
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 - 0x40]
mov rcx, rsi
call fcn.140276eb0
mov rdx, qword [rbp + 0x48]
inc edi
mov r8d, edi
mov r9d, 8
mov rcx, rsi
call fcn.14024f2a0
mov eax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x40], eax
mov rax, qword [rbp + 0x100]
mov dword [rsp + 0x38], edi
mov rdi, qword [rbp + 0xf8]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x10]
mov r8, qword [rdi]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
or r9d, 0xffffffff
mov rdx, rdi
call fcn.140270320
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf8], ecx
cmp dword [rax + 0x64], ecx
jg 0x140278d98
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x140278dca
mov ecx, dword [rbp + 0xf8]
inc dword [rbx + 0x3c]
mov edx, dword [rbp + 0x108]
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 - 0x48]
js 0x140278deb
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140278deb
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r8 + 0x68], eax
mov ecx, dword [rbp - 0x18]
add ecx, dword [rbp - 8]
je 0x140278e08
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140276d60
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf8], ecx
cmp dword [rax + 0x64], ecx
jg 0x140278e30
mov rcx, rbx
call fcn.140237c00
test eax, eax
jne 0x14027926e
mov ecx, dword [rbp + 0xf8]
inc dword [rbx + 0x3c]
mov edx, dword [rbp - 0x44]
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 0x14027926e
cmp qword [rdi + 0x30], 0
mov qword [rbp - 0x58], r11
jne 0x1402790b3
mov rax, qword [rdi]
cmp dword [rax], 1
jne 0x1402790b3
mov r10, qword [rdi + 0x28]
cmp dword [r10], 1
jne 0x1402790b3
cmp qword [r10 + 0x30], 0
jne 0x1402790b3
mov r10, qword [r10 + 0x28]
mov rax, qword [rax + 8]
test byte [r10 + 0x48], 0x10
mov rdx, qword [rax]
mov qword [rsp + 0x68], r10
jne 0x1402790b3
cmp byte [rdx], 0x9b
jne 0x1402790b3
test r8d, r8d
je 0x1402790b3
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x1402790b3
test byte [rdx + 4], 0x10
jne 0x1402790b3
mov rdx, qword [r10 + 0x70]
mov rcx, qword [rsi]
call fcn.14026e950
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x60], r11
mov edx, eax
mov dword [rbp + 0x108], eax
mov eax, dword [rsi + 0x54]
lea ecx, [rax + 1]
mov dword [rbp + 0xf0], eax
mov dword [rsi + 0x54], ecx
mov eax, dword [r10 + 0x3c]
mov rcx, rsi
mov dword [rsp + 0x54], eax
call fcn.14025a700
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rdx]
mov r8d, dword [rdx + 0x3c]
mov edx, dword [rbp + 0x108]
mov qword [rsp + 0x20], rcx
xor r9d, r9d
mov rcx, rsi
call fcn.140253ef0
mov r8, qword [rsp + 0x68]
test byte [r8 + 0x48], 0x20
je 0x140278f79
mov rcx, qword [r8 + 0x10]
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x140278f7e
nop dword [rax]
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
je 0x140278f72
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140278f60
mov qword [rsp + 0x60], rcx
jmp 0x140278f7e
mov rcx, qword [rsp + 0x60]
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x140278fbb
test byte [rax + 0x64], 4
jne 0x140278fad
movzx edx, word [rax + 0x5c]
cmp dx, word [r8 + 0x46]
jge 0x140278fad
cmp qword [rax + 0x48], 0
jne 0x140278fad
test rcx, rcx
je 0x140278faa
cmp dx, word [rcx + 0x5c]
jge 0x140278fad
mov rcx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140278f87
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x140278fd7
mov eax, dword [rcx + 0x58]
mov rdx, rcx
mov rcx, rsi
mov dword [rsp + 0x54], eax
call fcn.14025b170
mov qword [rsp + 0x58], rax
mov eax, dword [rbp + 0x108]
mov r9d, dword [rsp + 0x54]
mov r8d, dword [rbp + 0xf0]
mov edx, 0x34
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
call fcn.140237e90
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14027905f
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x140279052
cmp byte [rcx + 0x50], 0
jne 0x140279052
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.140238280
mov rax, qword [rsp + 0x58]
mov byte [rdi + 1], 0xfa
mov qword [rdi + 0x10], rax
mov rdi, qword [rbp + 0xf8]
jmp 0x14027905f
mov r8, rax
mov edx, 0xfffffffa
call fcn.140238280
mov r8d, dword [rbp + 0xf0]
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.140237cb0
mov r8d, dword [rbp + 0xf0]
xor eax, eax
lea edx, [rax + 0x3a]
xor r9d, r9d
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140237cb0
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call fcn.140277560
jmp 0x140279211
cmp qword [rdi + 0x40], 0
mov qword [rbp + 0xf0], r11
mov byte [rbp + 0xf8], 0
jne 0x140279161
mov rdx, r11
mov qword [rbp + 0xf0], rdx
mov qword [rbp + 0x108], rdx
cmp r8d, 1
jne 0x14027915a
lea rdx, [rbp + 0x108]
lea rcx, [rbp - 0x40]
call fcn.140275610
mov byte [rbp + 0xf8], al
test al, al
je 0x14027914a
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp - 0x80]
xor r8d, r8d
call fcn.14024b240
mov r10, rax
mov qword [rbp + 0xf0], rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140279161
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0x50], 0
jne 0x140279161
mov rcx, qword [r10 + 8]
cmp byte [rbp + 0xf8], 1
setne dl
mov byte [rcx + 0x18], dl
mov rcx, qword [r10 + 8]
mov rdx, qword [rcx]
mov byte [rdx], 0x9a
jmp 0x140279161
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0xf0], rax
jmp 0x140279161
mov byte [rbp + 0xf8], 0
mov ecx, dword [rbp - 8]
add ecx, dword [rbp - 0x18]
je 0x140279175
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140276d60
movzx eax, byte [rbp + 0xf8]
mov r9, qword [rbp + 0xf0]
mov r8, qword [rbp - 0x68]
mov rdx, qword [rsp + 0x78]
xor ecx, ecx
mov dword [rsp + 0x30], ecx
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.140287fc0
mov qword [rbp + 0xf8], rax
test rax, rax
jne 0x1402791c5
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x58]
mov rcx, rbx
call fcn.14024b930
jmp 0x1402777d3
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140276fe0
mov rax, qword [rbp + 0xf8]
cmp byte [rax + 0x34], 0
je 0x1402791fd
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.140237cb0
mov rax, qword [rbp + 0xf8]
mov rcx, rax
call fcn.140288950
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140276eb0
mov r8d, dword [rbp - 0x70]
mov rdx, qword [rbp + 0x48]
xor eax, eax
lea r9d, [rax + 8]
mov rcx, rsi
mov qword [rsp + 0x68], rax
call fcn.14024f2a0
mov eax, dword [rbp - 0x70]
mov r8, qword [rdi]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], eax
mov rax, qword [rbp + 0x100]
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.140270320
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x80]
call fcn.14024b930
mov r9, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x70]
js 0x140279290
mov r8, qword [r9 + 0x80]
test r8, r8
je 0x140279290
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r9 + 0x68], eax
cmp byte [rbp - 0x60], 3
jne 0x1402792ae
lea rdx, str.DISTINCT
mov rcx, rsi
call fcn.140270fe0
cmp qword [rsp + 0x68], 0
je 0x1402792e6
lea rdx, str.ORDER_BY
mov rcx, rsi
call fcn.140270fe0
mov rax, qword [rbp + 0x100]
mov r8, rbx
mov qword [rsp + 0x20], rax
mov rax, qword [rbp - 0x78]
mov rdx, rdi
mov r9d, dword [rax]
mov rcx, rsi
call fcn.140271210
mov r9, qword [rbx + 0x30]
or rax, 0xffffffffffffffff
sub eax, dword [rbp]
js 0x140279308
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x140279308
movsxd rcx, eax
mov eax, dword [rbx + 0x3c]
mov dword [rdx + rcx*4], eax
mov eax, dword [rbx + 0x3c]
dec eax
mov dword [r9 + 0x68], eax
xor eax, eax
mov dword [rbp + 0x50], eax
jmp 0x1402777cf
mov rbx, rax
jmp 0x1402777d3
mov eax, ecx
add rsp, 0x1c8
pop rdi
pop rsi
pop rbx
pop rbp
ret