Function at 0x140274f80
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 0x140276c33
cmp byte [rbx + 0x50], 0
jne 0x140276c33
cmp dword [rsi + 0x50], 0
jne 0x140276c33
lea edx, [rcx + 0x14]
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140251740
test eax, eax
je 0x14027501a
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 0x140275063
mov rdx, qword [rdi + 0x48]
mov rcx, rbx
call fcn.140249240
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.1402745b0
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 0x1402750ec
cmp byte [rbx + 0x50], 0
jne 0x1402750ec
movzx eax, word [rdi + 0xa]
mov rcx, rsi
shr eax, 2
and eax, 1
mov dword [rsp + 0x70], eax
call fcn.14026fe90
mov rbx, rax
test rax, rax
je 0x1402750df
mov rcx, qword [rbp - 0x78]
mov r8, qword [rbp + 0x100]
cmp dword [rcx], 1
movzx eax, byte [r8]
jle 0x14027513d
add eax, 0xfffffffa
cmp eax, 1
ja 0x14027513d
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rsi
call fcn.140218760
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 0x140275117
mov rcx, qword [rbp + 0x100]
cmp byte [rcx], 5
jne 0x140275117
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.14026f430
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
call fcn.140215b70
mov rdx, qword [rbp - 0x10]
mov rcx, rbx
call fcn.140215b70
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 0x1402751fa
mov rcx, qword [rsp + 0x78]
mov r11d, r10d
mov qword [rsp + 0x60], r10
cmp eax, dword [rcx]
jge 0x1402751f6
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 0x1402754de
mov r9d, dword [rdi + 0x30]
test r9d, r9d
je 0x140275255
test byte [rdi + 0x40], 4
jne 0x1402754de
mov r8d, dword [rdi + 0x34]
mov edx, 0x11
mov rcx, rbx
mov dword [rsp + 0x20], r10d
call fcn.1402355c0
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 0x140275164
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 0x1402754ea
mov rdx, rdi
mov rcx, rsi
call fcn.1402707a0
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.140247df0
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.140272890
test eax, eax
je 0x1402752ce
cmp dword [rbp + 0x108], 0
je 0x1402752bc
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 0x140275493
mov rax, qword [rsp + 0x78]
cmp dword [rax], 1
jne 0x1402753a9
mov rax, qword [rbp - 0x80]
mov ecx, 0x100
test word [rax + 0x4c], cx
jne 0x1402753a9
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.1402355c0
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.140274f80
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.1402355c0
mov edx, dword [rbx + 0x3c]
dec edi
cmp edx, edi
jbe 0x140275398
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 0x140275486
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.1402355c0
test byte [rdi + 0x40], 2
lea ecx, [rax + 1]
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x30], ecx
jne 0x1402753f0
mov rcx, rsi
call fcn.140249650
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.140274f80
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 0x140275455
mov edx, dword [rbx + 0x3c]
cmp edx, eax
jbe 0x140275449
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.1402355c0
mov r8d, eax
mov eax, dword [rsp + 0x54]
cmp dword [rbx + 0x3c], eax
jbe 0x140275486
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 0x140276c2b
mov rdi, qword [rbp + 0xf8]
mov rcx, rdi
call fcn.140247df0
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 0x1402751d2
mov rax, qword [rdi + 0x48]
mov qword [rsp + 0x68], rax
jmp 0x1402751d2
mov rdi, qword [rbp + 0xf8]
jmp 0x1402751d5
mov r8d, edx
mov rdx, qword [rsp + 0x68]
mov rcx, rax
call fcn.14024d1c0
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x140275519
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 0x1402755f0
mov rdx, qword [rdi]
or r8d, 0xffffffff
call fcn.14024d1c0
test eax, eax
jne 0x1402755f0
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x80]
mov eax, 0xfffe
and word [rdi + 0xa], ax
xor r8d, r8d
call fcn.140248b50
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 0x140275597
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.1402355c0
mov rcx, rbx
call fcn.140235840
movabs rcx, 0x7fffffffffffffff
mov rdx, rdi
mov qword [rdi + 0x20], rcx
mov r8d, eax
mov rcx, rsi
mov dword [rbp], eax
call fcn.14026ff10
cmp dword [rdi + 0xc], 0
jne 0x1402756f1
movsxd rax, dword [rbp + 0x108]
test eax, eax
js 0x1402756f1
mov rcx, qword [rbx]
cmp byte [rcx + 0x50], 0
je 0x1402756dd
lea rax, [0x140429508]
jmp 0x1402756e9
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140275563
mov rdx, rcx
mov rcx, rsi
call fcn.14026e810
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.1402355c0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rbp + 0x108], eax
mov edx, eax
test r8, r8
je 0x1402756c0
cmp byte [rcx + 0x50], 0
jne 0x1402756c0
test eax, eax
jns 0x14027565d
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.140235b90
mov rax, qword [rbp + 0x20]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x1402756a3
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x14027556d
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x14027556d
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140235b90
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x14027556d
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 0x1402757d7
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.14026e810
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.1402355c0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x54], eax
mov edx, eax
test r8, r8
je 0x1402757a0
cmp byte [rcx + 0x50], 0
jne 0x1402757a0
test eax, eax
jns 0x140275756
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.140235b90
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x140275789
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x1402757af
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x1402757af
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140235b90
mov rdx, qword [rbx + 8]
mov eax, dword [rsp + 0x54]
mov dword [rbp + 0x18], eax
test rdx, rdx
je 0x1402757cc
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 0x1402757d9
xor al, al
cmp dword [rsp + 0x70], 0
mov r8, qword [rsp + 0x58]
mov byte [rbp + 0x11], al
mov dword [rbp - 0x60], eax
jne 0x14027590e
test r8, r8
jne 0x14027590e
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.1402858d0
mov r9, rax
mov qword [rbp + 0xf8], rax
test rax, rax
je 0x1402750df
movzx ecx, word [rax + 0x30]
call fcn.140219750
cmp rax, qword [rdi + 0x20]
jae 0x140275858
mov qword [rdi + 0x20], rax
cmp byte [rbp + 0xf0], 0
je 0x140275877
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 0x140275894
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 0x1402758c0
test rcx, rcx
jne 0x1402758c0
mov edx, eax
mov rcx, rbx
call fcn.140235d70
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.14026dc30
mov rcx, qword [rbp + 0xf8]
call fcn.140286260
jmp 0x140276ba9
xor r9d, r9d
mov dword [rbp - 0x58], r9d
mov dword [rsp + 0x50], r9d
test r8, r8
je 0x14027596f
mov rax, qword [rdi]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x14027593e
lea rax, [rdx + 0x22]
dec ecx
mov word [rax], r9w
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x140275930
mov eax, dword [r8]
mov rcx, qword [r8 + 8]
test eax, eax
jle 0x14027595e
add rcx, 0x22
nop dword [rax]
dec eax
mov word [rcx], r9w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x140275950
cmp qword [rdi + 0x20], 0x64
jbe 0x140275977
mov qword [rdi + 0x20], 0x64
jmp 0x140275977
mov qword [rdi + 0x20], 1
mov rcx, rbx
call fcn.140235840
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 0x1402759d3
mov eax, dword [rcx]
inc eax
jmp 0x1402759d5
xor eax, eax
mov dword [rbp - 0x34], eax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x28], rcx
test rax, rax
je 0x1402759f1
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.14024d710
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140275a07
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.14024d710
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x140275a72
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, [0x14024d480]
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.140244a30
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 0x140275b04
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 0x140275ada
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.14024d710
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 0x140275aa0
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 0x140276c2b
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140276771
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.14026e810
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.1402355c0
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x54], eax
mov edx, eax
test r8, r8
je 0x140275bd0
cmp byte [rcx + 0x50], 0
jne 0x140275bd0
test eax, eax
jns 0x140275b7b
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.140235b90
mov rax, qword [rbp + 0x108]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x140275bbb
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
jmp 0x140275bdf
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
jmp 0x140275bdf
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140235b90
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.140235840
inc dword [rsi + 0x58]
mov dword [rbp - 0x50], eax
mov eax, dword [rsi + 0x58]
mov rcx, rbx
mov dword [rbp - 0x44], eax
call fcn.140235840
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.1402355c0
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.1402355c0
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.1402355c0
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.1402355c0
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.1402858d0
mov qword [rbp + 0x20], rax
test rax, rax
je 0x1402750df
cmp byte [rax + 0x34], 0
mov r8d, 0xa
je 0x140275cfc
xor edi, edi
mov r9d, edi
mov dword [rsp + 0x70], edi
jmp 0x140275fc8
cmp byte [rbp + 0xf0], 0
je 0x140275d12
test byte [rdi + 0xa], 1
lea rdx, str.DISTINCT
je 0x140275d19
lea rdx, str.GROUP_BY
mov rcx, rsi
call fcn.14026e8f0
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 0x140275d64
mov rax, qword [rbp - 0x20]
add rax, 0x10
nop
cmp dword [rax], ecx
jl 0x140275d58
inc edi
inc ecx
add rax, 0x20
dec rdx
jne 0x140275d50
mov dword [rbp - 0x58], edi
mov ecx, dword [rsi + 0x48]
mov r11d, dword [rsi + 0x4c]
mov dword [rbp + 0xf0], r11d
cmp edi, ecx
jg 0x140275d84
lea eax, [rdi + r11]
sub ecx, edi
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x48], ecx
jmp 0x140275d97
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.14024ac60
mov rdx, qword [rsp + 0x58]
xor r9d, r9d
mov r8d, r11d
mov rcx, rsi
call fcn.14024c440
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.1402355c0
mov r9d, dword [rbp - 0x18]
xor edx, edx
mov r8d, edx
mov dword [rbp - 0x68], edx
test r9d, r9d
jle 0x140275e73
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 0x140275e5c
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.14024ab80
cmp edi, eax
je 0x140275e44
xor ecx, ecx
mov r9d, edi
mov r8d, eax
lea edx, [rcx + 0x22]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.1402355c0
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 0x140275e00
mov edi, dword [rbp - 0x58]
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x140275e83
inc dword [rsi + 0x58]
mov eax, dword [rsi + 0x58]
jmp 0x140275e8f
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.1402355c0
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.1402355c0
mov edx, dword [rsp + 0x50]
test edx, edx
je 0x140275f07
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x140275f07
xor eax, eax
mov ecx, eax
lea rax, [rsi + 0x88]
cmp dword [rax + 0xc], edx
je 0x140275f03
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140275ee6
movzx eax, r8b
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
jmp 0x140275f07
mov byte [rax + 6], 1
mov edx, dword [rbp + 0xf0]
mov r8d, edi
mov rcx, rsi
call fcn.14024d810
mov rcx, qword [rbp + 0x20]
call fcn.140286260
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 0x140275f40
inc dword [rsi + 0x58]
mov eax, dword [rsi + 0x58]
jmp 0x140275f4c
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.1402355c0
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.1402355c0
mov byte [rbp - 0x3f], 1
lea rcx, [rsi + 0x94]
lea r8d, [rdi + 0xa]
nop
mov edx, dword [rcx]
test edx, edx
je 0x140275fb4
cmp byte [rcx - 6], dil
je 0x140275fb2
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140275fae
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 0x140275f90
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 0x140275ff9
cmp byte [rcx - 6], 0
je 0x140275ff7
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x140275ff3
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 0x140275fd5
test r9d, r9d
je 0x140276026
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rbp - 0x3c]
mov edx, 0x5f
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.1402355c0
mov r9d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
cmp dword [rdx], 0
jle 0x1402760be
movsxd rcx, r9d
xor eax, eax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0xf0], rax
test rcx, rcx
je 0x140276082
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.1402355c0
test edi, edi
jne 0x14027609d
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14027609d
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x20
jmp 0x14027609d
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.14024c320
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 0x140276044
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x1402760ca
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 0x1402760f2
mov rcx, rbx
call fcn.140235510
test eax, eax
je 0x1402760f2
mov edi, 1
jmp 0x140276127
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 0x140276180
cmp byte [rcx + 0x50], 0
jne 0x140276180
test edi, edi
jns 0x140276142
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.140235b90
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x140276175
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x14027618f
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x14027618f
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140235b90
mov rax, qword [rbx + 0x30]
mov edi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x1402761a7
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x1402761d9
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.14024acb0
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf0], ecx
cmp dword [rax + 0x64], ecx
jg 0x140276214
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x14027624c
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 0x140276270
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x1402762a7
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 0x1402762cb
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x1402762fd
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 0x140276310
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.1402748f0
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x140276341
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x140276374
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 0x1402763d6
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 0x1402763a2
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x140276424
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 0x140276424
mov rcx, qword [rbp + 0x20]
call fcn.140286260
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x140276424
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.140235b90
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 0x140276424
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x14027643d
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x140276472
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 0x14027648b
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x1402764ba
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 0x1402764d7
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x14027650c
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 0x140276525
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x140276554
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 0x140276575
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140276575
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 0x140276597
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x1402765c7
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 0x1402765eb
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x14027661d
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.1402747c0
mov rdx, qword [rbp + 0x48]
inc edi
mov r8d, edi
mov r9d, 8
mov rcx, rsi
call fcn.14024cbb0
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.14026dc30
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf8], ecx
cmp dword [rax + 0x64], ecx
jg 0x1402766a8
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x1402766da
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 0x1402766fb
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1402766fb
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 0x140276718
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140274670
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf8], ecx
cmp dword [rax + 0x64], ecx
jg 0x140276740
mov rcx, rbx
call fcn.140235510
test eax, eax
jne 0x140276b7e
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 0x140276b7e
cmp qword [rdi + 0x30], 0
mov qword [rbp - 0x58], r11
jne 0x1402769c3
mov rax, qword [rdi]
cmp dword [rax], 1
jne 0x1402769c3
mov r10, qword [rdi + 0x28]
cmp dword [r10], 1
jne 0x1402769c3
cmp qword [r10 + 0x30], 0
jne 0x1402769c3
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 0x1402769c3
cmp byte [rdx], 0x9b
jne 0x1402769c3
test r8d, r8d
je 0x1402769c3
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x1402769c3
test byte [rdx + 4], 0x10
jne 0x1402769c3
mov rdx, qword [r10 + 0x70]
mov rcx, qword [rsi]
call fcn.14026c260
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.140258010
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.140251800
mov r8, qword [rsp + 0x68]
test byte [r8 + 0x48], 0x20
je 0x140276889
mov rcx, qword [r8 + 0x10]
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x14027688e
nop dword [rax]
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
je 0x140276882
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140276870
mov qword [rsp + 0x60], rcx
jmp 0x14027688e
mov rcx, qword [rsp + 0x60]
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x1402768cb
test byte [rax + 0x64], 4
jne 0x1402768bd
movzx edx, word [rax + 0x5c]
cmp dx, word [r8 + 0x46]
jge 0x1402768bd
cmp qword [rax + 0x48], 0
jne 0x1402768bd
test rcx, rcx
je 0x1402768ba
cmp dx, word [rcx + 0x5c]
jge 0x1402768bd
mov rcx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140276897
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x1402768e7
mov eax, dword [rcx + 0x58]
mov rdx, rcx
mov rcx, rsi
mov dword [rsp + 0x54], eax
call fcn.140258a80
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.1402357a0
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x14027696f
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x140276962
cmp byte [rcx + 0x50], 0
jne 0x140276962
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.140235b90
mov rax, qword [rsp + 0x58]
mov byte [rdi + 1], 0xfa
mov qword [rdi + 0x10], rax
mov rdi, qword [rbp + 0xf8]
jmp 0x14027696f
mov r8, rax
mov edx, 0xfffffffa
call fcn.140235b90
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.1402355c0
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.1402355c0
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call fcn.140274e70
jmp 0x140276b21
cmp qword [rdi + 0x40], 0
mov qword [rbp + 0xf0], r11
mov byte [rbp + 0xf8], 0
jne 0x140276a71
mov rdx, r11
mov qword [rbp + 0xf0], rdx
mov qword [rbp + 0x108], rdx
cmp r8d, 1
jne 0x140276a6a
lea rdx, [rbp + 0x108]
lea rcx, [rbp - 0x40]
call fcn.140272f20
mov byte [rbp + 0xf8], al
test al, al
je 0x140276a5a
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp - 0x80]
xor r8d, r8d
call fcn.140248b50
mov r10, rax
mov qword [rbp + 0xf0], rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140276a71
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0x50], 0
jne 0x140276a71
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 0x140276a71
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0xf0], rax
jmp 0x140276a71
mov byte [rbp + 0xf8], 0
mov ecx, dword [rbp - 8]
add ecx, dword [rbp - 0x18]
je 0x140276a85
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140274670
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.1402858d0
mov qword [rbp + 0xf8], rax
test rax, rax
jne 0x140276ad5
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x58]
mov rcx, rbx
call fcn.140249240
jmp 0x1402750e3
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.1402748f0
mov rax, qword [rbp + 0xf8]
cmp byte [rax + 0x34], 0
je 0x140276b0d
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.1402355c0
mov rax, qword [rbp + 0xf8]
mov rcx, rax
call fcn.140286260
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.1402747c0
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.14024cbb0
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.14026dc30
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x80]
call fcn.140249240
mov r9, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x70]
js 0x140276ba0
mov r8, qword [r9 + 0x80]
test r8, r8
je 0x140276ba0
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 0x140276bbe
lea rdx, str.DISTINCT
mov rcx, rsi
call fcn.14026e8f0
cmp qword [rsp + 0x68], 0
je 0x140276bf6
lea rdx, str.ORDER_BY
mov rcx, rsi
call fcn.14026e8f0
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.14026eb20
mov r9, qword [rbx + 0x30]
or rax, 0xffffffffffffffff
sub eax, dword [rbp]
js 0x140276c18
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x140276c18
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 0x1402750df
mov rbx, rax
jmp 0x1402750e3
mov eax, ecx
add rsp, 0x1c8
pop rdi
pop rsi
pop rbx
pop rbp
ret