Function at 0x140261150
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 0x140262e03
cmp byte [rbx + 0x50], 0
jne 0x140262e03
cmp dword [rsi + 0x50], 0
jne 0x140262e03
lea edx, [rcx + 0x14]
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.14023d910
test eax, eax
je 0x1402611ea
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 0x140261233
mov rdx, qword [rdi + 0x48]
mov rcx, rbx
call fcn.140235410
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.140260780
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 0x1402612bc
cmp byte [rbx + 0x50], 0
jne 0x1402612bc
movzx eax, word [rdi + 0xa]
mov rcx, rsi
shr eax, 2
and eax, 1
mov dword [rsp + 0x70], eax
call fcn.14025c060
mov rbx, rax
test rax, rax
je 0x1402612af
mov rcx, qword [rbp - 0x78]
mov r8, qword [rbp + 0x100]
cmp dword [rcx], 1
movzx eax, byte [r8]
jle 0x14026130d
add eax, 0xfffffffa
cmp eax, 1
ja 0x14026130d
lea rdx, str.only_a_single_result_allowed_for_a_SELECT_that_is_part_of_an_expression
mov rcx, rsi
call fcn.140204930
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 0x1402612e7
mov rcx, qword [rbp + 0x100]
cmp byte [rcx], 5
jne 0x1402612e7
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.14025b600
mov rdx, qword [rbp - 0x20]
mov rcx, rbx
call fcn.140201d40
mov rdx, qword [rbp - 0x10]
mov rcx, rbx
call fcn.140201d40
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 0x1402613ca
mov rcx, qword [rsp + 0x78]
mov r11d, r10d
mov qword [rsp + 0x60], r10
cmp eax, dword [rcx]
jge 0x1402613c6
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 0x1402616ae
mov r9d, dword [rdi + 0x30]
test r9d, r9d
je 0x140261425
test byte [rdi + 0x40], 4
jne 0x1402616ae
mov r8d, dword [rdi + 0x34]
mov edx, 0x11
mov rcx, rbx
mov dword [rsp + 0x20], r10d
call fcn.140221790
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 0x140261334
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 0x1402616ba
mov rdx, rdi
mov rcx, rsi
call fcn.14025c970
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.140233fc0
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.14025ea60
test eax, eax
je 0x14026149e
cmp dword [rbp + 0x108], 0
je 0x14026148c
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 0x140261663
mov rax, qword [rsp + 0x78]
cmp dword [rax], 1
jne 0x140261579
mov rax, qword [rbp - 0x80]
mov ecx, 0x100
test word [rax + 0x4c], cx
jne 0x140261579
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.140221790
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.140261150
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.140221790
mov edx, dword [rbx + 0x3c]
dec edi
cmp edx, edi
jbe 0x140261568
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 0x140261656
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.140221790
test byte [rdi + 0x40], 2
lea ecx, [rax + 1]
mov dword [rsp + 0x54], eax
mov dword [rdi + 0x30], ecx
jne 0x1402615c0
mov rcx, rsi
call fcn.140235820
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.140261150
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 0x140261625
mov edx, dword [rbx + 0x3c]
cmp edx, eax
jbe 0x140261619
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.140221790
mov r8d, eax
mov eax, dword [rsp + 0x54]
cmp dword [rbx + 0x3c], eax
jbe 0x140261656
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 0x140262dfb
mov rdi, qword [rbp + 0xf8]
mov rcx, rdi
call fcn.140233fc0
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 0x1402613a2
mov rax, qword [rdi + 0x48]
mov qword [rsp + 0x68], rax
jmp 0x1402613a2
mov rdi, qword [rbp + 0xf8]
jmp 0x1402613a5
mov r8d, edx
mov rdx, qword [rsp + 0x68]
mov rcx, rax
call fcn.140239390
mov rcx, qword [rsp + 0x68]
test eax, eax
jne 0x1402616e9
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 0x1402617c0
mov rdx, qword [rdi]
or r8d, 0xffffffff
call fcn.140239390
test eax, eax
jne 0x1402617c0
mov rdx, qword [rdi]
mov rcx, qword [rbp - 0x80]
mov eax, 0xfffe
and word [rdi + 0xa], ax
xor r8d, r8d
call fcn.140234d20
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 0x140261767
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.140221790
mov rcx, rbx
call fcn.140221a10
movabs rcx, 0x7fffffffffffffff
mov rdx, rdi
mov qword [rdi + 0x20], rcx
mov r8d, eax
mov rcx, rsi
mov dword [rbp], eax
call fcn.14025c0e0
cmp dword [rdi + 0xc], 0
jne 0x1402618c1
movsxd rax, dword [rbp + 0x108]
test eax, eax
js 0x1402618c1
mov rcx, qword [rbx]
cmp byte [rcx + 0x50], 0
je 0x1402618ad
lea rax, [0x1403fe0f8]
jmp 0x1402618b9
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x140261733
mov rdx, rcx
mov rcx, rsi
call fcn.14025a9e0
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.140221790
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rbp + 0x108], eax
mov edx, eax
test r8, r8
je 0x140261890
cmp byte [rcx + 0x50], 0
jne 0x140261890
test eax, eax
jns 0x14026182d
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.140221d60
mov rax, qword [rbp + 0x20]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x140261873
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x14026173d
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x14026173d
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140221d60
mov eax, dword [rbp + 0x108]
mov dword [rdi + 0x1c], eax
jmp 0x14026173d
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 0x1402619a7
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.14025a9e0
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.140221790
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x54], eax
mov edx, eax
test r8, r8
je 0x140261970
cmp byte [rcx + 0x50], 0
jne 0x140261970
test eax, eax
jns 0x140261926
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.140221d60
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x140261959
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x14026197f
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x14026197f
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140221d60
mov rdx, qword [rbx + 8]
mov eax, dword [rsp + 0x54]
mov dword [rbp + 0x18], eax
test rdx, rdx
je 0x14026199c
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 0x1402619a9
xor al, al
cmp dword [rsp + 0x70], 0
mov r8, qword [rsp + 0x58]
mov byte [rbp + 0x11], al
mov dword [rbp - 0x60], eax
jne 0x140261ade
test r8, r8
jne 0x140261ade
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.140271aa0
mov r9, rax
mov qword [rbp + 0xf8], rax
test rax, rax
je 0x1402612af
movzx ecx, word [rax + 0x30]
call fcn.140205920
cmp rax, qword [rdi + 0x20]
jae 0x140261a28
mov qword [rdi + 0x20], rax
cmp byte [rbp + 0xf0], 0
je 0x140261a47
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 0x140261a64
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 0x140261a90
test rcx, rcx
jne 0x140261a90
mov edx, eax
mov rcx, rbx
call fcn.140221f40
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.140259e00
mov rcx, qword [rbp + 0xf8]
call fcn.140272430
jmp 0x140262d79
xor r9d, r9d
mov dword [rbp - 0x58], r9d
mov dword [rsp + 0x50], r9d
test r8, r8
je 0x140261b3f
mov rax, qword [rdi]
mov ecx, dword [rax]
mov rdx, qword [rax + 8]
test ecx, ecx
jle 0x140261b0e
lea rax, [rdx + 0x22]
dec ecx
mov word [rax], r9w
lea rax, [rax + 0x28]
test ecx, ecx
jg 0x140261b00
mov eax, dword [r8]
mov rcx, qword [r8 + 8]
test eax, eax
jle 0x140261b2e
add rcx, 0x22
nop dword [rax]
dec eax
mov word [rcx], r9w
lea rcx, [rcx + 0x28]
test eax, eax
jg 0x140261b20
cmp qword [rdi + 0x20], 0x64
jbe 0x140261b47
mov qword [rdi + 0x20], 0x64
jmp 0x140261b47
mov qword [rdi + 0x20], 1
mov rcx, rbx
call fcn.140221a10
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 0x140261ba3
mov eax, dword [rcx]
inc eax
jmp 0x140261ba5
xor eax, eax
mov dword [rbp - 0x34], eax
mov rax, qword [rbp - 0x78]
mov qword [rbp - 0x28], rcx
test rax, rax
je 0x140261bc1
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.1402398e0
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140261bd7
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.1402398e0
mov rax, qword [rbp + 0x48]
test rax, rax
je 0x140261c42
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, [0x140239650]
mov qword [rbp + 0x90], rcx
lea rcx, [fcn.14000ef90]
mov qword [rbp + 0x98], rcx
lea rcx, [rbp + 0x58]
mov qword [rbp + 0xb8], rcx
lea rcx, [rbp + 0x90]
call fcn.140230c00
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 0x140261cd4
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 0x140261caa
lea rcx, [rbp + 0x58]
mov rdx, rax
call fcn.1402398e0
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 0x140261c70
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 0x140262dfb
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140262941
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.14025a9e0
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.140221790
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
mov dword [rsp + 0x54], eax
mov edx, eax
test r8, r8
je 0x140261da0
cmp byte [rcx + 0x50], 0
jne 0x140261da0
test eax, eax
jns 0x140261d4b
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.140221d60
mov rax, qword [rbp + 0x108]
mov r8, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rax + 0x10], rcx
test r8, r8
jne 0x140261d8b
mov qword [rax + 0x10], rcx
mov byte [rax + 1], cl
jmp 0x140261daf
mov qword [rax + 0x10], r8
mov byte [rax + 1], 0xfa
jmp 0x140261daf
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140221d60
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.140221a10
inc dword [rsi + 0x58]
mov dword [rbp - 0x50], eax
mov eax, dword [rsi + 0x58]
mov rcx, rbx
mov dword [rbp - 0x44], eax
call fcn.140221a10
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.140221790
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.140221790
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.140221790
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.140221790
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.140271aa0
mov qword [rbp + 0x20], rax
test rax, rax
je 0x1402612af
cmp byte [rax + 0x34], 0
mov r8d, 0xa
je 0x140261ecc
xor edi, edi
mov r9d, edi
mov dword [rsp + 0x70], edi
jmp 0x140262198
cmp byte [rbp + 0xf0], 0
je 0x140261ee2
test byte [rdi + 0xa], 1
lea rdx, str.DISTINCT
je 0x140261ee9
lea rdx, str.GROUP_BY
mov rcx, rsi
call fcn.14025aac0
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 0x140261f34
mov rax, qword [rbp - 0x20]
add rax, 0x10
nop
cmp dword [rax], ecx
jl 0x140261f28
inc edi
inc ecx
add rax, 0x20
dec rdx
jne 0x140261f20
mov dword [rbp - 0x58], edi
mov ecx, dword [rsi + 0x48]
mov r11d, dword [rsi + 0x4c]
mov dword [rbp + 0xf0], r11d
cmp edi, ecx
jg 0x140261f54
lea eax, [rdi + r11]
sub ecx, edi
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x48], ecx
jmp 0x140261f67
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.140236e30
mov rdx, qword [rsp + 0x58]
xor r9d, r9d
mov r8d, r11d
mov rcx, rsi
call fcn.140238610
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.140221790
mov r9d, dword [rbp - 0x18]
xor edx, edx
mov r8d, edx
mov dword [rbp - 0x68], edx
test r9d, r9d
jle 0x140262043
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 0x14026202c
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.140236d50
cmp edi, eax
je 0x140262014
xor ecx, ecx
mov r9d, edi
mov r8d, eax
lea edx, [rcx + 0x22]
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.140221790
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 0x140261fd0
mov edi, dword [rbp - 0x58]
movzx eax, byte [rsi + 0x1f]
test al, al
jne 0x140262053
inc dword [rsi + 0x58]
mov eax, dword [rsi + 0x58]
jmp 0x14026205f
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.140221790
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.140221790
mov edx, dword [rsp + 0x50]
test edx, edx
je 0x1402620d7
movzx r8d, byte [rsi + 0x1f]
cmp r8b, 8
jae 0x1402620d7
xor eax, eax
mov ecx, eax
lea rax, [rsi + 0x88]
cmp dword [rax + 0xc], edx
je 0x1402620d3
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x1402620b6
movzx eax, r8b
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x1f]
jmp 0x1402620d7
mov byte [rax + 6], 1
mov edx, dword [rbp + 0xf0]
mov r8d, edi
mov rcx, rsi
call fcn.1402399e0
mov rcx, qword [rbp + 0x20]
call fcn.140272430
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 0x140262110
inc dword [rsi + 0x58]
mov eax, dword [rsi + 0x58]
jmp 0x14026211c
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.140221790
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.140221790
mov byte [rbp - 0x3f], 1
lea rcx, [rsi + 0x94]
lea r8d, [rdi + 0xa]
nop
mov edx, dword [rcx]
test edx, edx
je 0x140262184
cmp byte [rcx - 6], dil
je 0x140262182
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x14026217e
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 0x140262160
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 0x1402621c9
cmp byte [rcx - 6], 0
je 0x1402621c7
movzx eax, byte [rsi + 0x1f]
cmp al, 8
jae 0x1402621c3
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 0x1402621a5
test r9d, r9d
je 0x1402621f6
mov r9d, dword [rsp + 0x50]
mov r8d, dword [rbp - 0x3c]
mov edx, 0x5f
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.140221790
mov r9d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
cmp dword [rdx], 0
jle 0x14026228e
movsxd rcx, r9d
xor eax, eax
mov qword [rbp + 0x28], rcx
mov qword [rbp + 0xf0], rax
test rcx, rcx
je 0x140262252
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.140221790
test edi, edi
jne 0x14026226d
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14026226d
movsxd rax, dword [rbx + 0x3c]
lea rcx, [rax + rax*2]
mov byte [rdx + rcx*8 - 0x15], 0x20
jmp 0x14026226d
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.1402384f0
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 0x140262214
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14026229a
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 0x1402622c2
mov rcx, rbx
call fcn.1402216e0
test eax, eax
je 0x1402622c2
mov edi, 1
jmp 0x1402622f7
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 0x140262350
cmp byte [rcx + 0x50], 0
jne 0x140262350
test edi, edi
jns 0x140262312
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.140221d60
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rdi + 0x10], rcx
test rax, rax
jne 0x140262345
mov qword [rdi + 0x10], rcx
mov byte [rdi + 1], cl
jmp 0x14026235f
mov qword [rdi + 0x10], rax
mov byte [rdi + 1], 0xfa
jmp 0x14026235f
mov r8, qword [rsp + 0x60]
mov edx, 0xfffffffa
call fcn.140221d60
mov rax, qword [rbx + 0x30]
mov edi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x140262377
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x1402623a9
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.140236e80
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf0], ecx
cmp dword [rax + 0x64], ecx
jg 0x1402623e4
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x14026241c
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 0x140262440
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x140262477
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 0x14026249b
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x1402624cd
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 0x1402624e0
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.140260ac0
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x140262511
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x140262544
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 0x1402625a6
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 0x140262572
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x1402625f4
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 0x1402625f4
mov rcx, qword [rbp + 0x20]
call fcn.140272430
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x1402625f4
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.140221d60
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 0x1402625f4
mov dword [rbx + 0x3c], eax
mov rax, qword [rbx + 0x30]
movsxd rdi, dword [rbx + 0x3c]
cmp dword [rax + 0x64], edi
jg 0x14026260d
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x140262642
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 0x14026265b
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x14026268a
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 0x1402626a7
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x1402626dc
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 0x1402626f5
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x140262724
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 0x140262745
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140262745
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 0x140262767
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x140262797
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 0x1402627bb
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x1402627ed
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.140260990
mov rdx, qword [rbp + 0x48]
inc edi
mov r8d, edi
mov r9d, 8
mov rcx, rsi
call fcn.140238d80
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.140259e00
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf8], ecx
cmp dword [rax + 0x64], ecx
jg 0x140262878
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x1402628aa
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 0x1402628cb
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x1402628cb
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 0x1402628e8
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140260840
mov ecx, dword [rbx + 0x3c]
mov rax, qword [rbx + 0x30]
mov dword [rbp + 0xf8], ecx
cmp dword [rax + 0x64], ecx
jg 0x140262910
mov rcx, rbx
call fcn.1402216e0
test eax, eax
jne 0x140262d4e
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 0x140262d4e
cmp qword [rdi + 0x30], 0
mov qword [rbp - 0x58], r11
jne 0x140262b93
mov rax, qword [rdi]
cmp dword [rax], 1
jne 0x140262b93
mov r10, qword [rdi + 0x28]
cmp dword [r10], 1
jne 0x140262b93
cmp qword [r10 + 0x30], 0
jne 0x140262b93
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 0x140262b93
cmp byte [rdx], 0x9b
jne 0x140262b93
test r8d, r8d
je 0x140262b93
mov rax, qword [rbp - 0x10]
mov rcx, qword [rax + 8]
mov eax, 0x100
test word [rcx + 2], ax
je 0x140262b93
test byte [rdx + 4], 0x10
jne 0x140262b93
mov rdx, qword [r10 + 0x70]
mov rcx, qword [rsi]
call fcn.140258430
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.1402441e0
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.14023d9d0
mov r8, qword [rsp + 0x68]
test byte [r8 + 0x48], 0x20
je 0x140262a59
mov rcx, qword [r8 + 0x10]
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x140262a5e
nop dword [rax]
mov eax, dword [rcx + 0x64]
and al, 3
cmp al, 2
je 0x140262a52
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x140262a40
mov qword [rsp + 0x60], rcx
jmp 0x140262a5e
mov rcx, qword [rsp + 0x60]
mov rax, qword [r8 + 0x10]
test rax, rax
je 0x140262a9b
test byte [rax + 0x64], 4
jne 0x140262a8d
movzx edx, word [rax + 0x5c]
cmp dx, word [r8 + 0x46]
jge 0x140262a8d
cmp qword [rax + 0x48], 0
jne 0x140262a8d
test rcx, rcx
je 0x140262a8a
cmp dx, word [rcx + 0x5c]
jge 0x140262a8d
mov rcx, rax
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140262a67
mov qword [rsp + 0x60], rcx
test rcx, rcx
je 0x140262ab7
mov eax, dword [rcx + 0x58]
mov rdx, rcx
mov rcx, rsi
mov dword [rsp + 0x54], eax
call fcn.140244c50
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.140221970
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140262b3f
mov r8, qword [rbx + 8]
mov rcx, qword [rbx]
test r8, r8
je 0x140262b32
cmp byte [rcx + 0x50], 0
jne 0x140262b32
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.140221d60
mov rax, qword [rsp + 0x58]
mov byte [rdi + 1], 0xfa
mov qword [rdi + 0x10], rax
mov rdi, qword [rbp + 0xf8]
jmp 0x140262b3f
mov r8, rax
mov edx, 0xfffffffa
call fcn.140221d60
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.140221790
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.140221790
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, rsi
call fcn.140261040
jmp 0x140262cf1
cmp qword [rdi + 0x40], 0
mov qword [rbp + 0xf0], r11
mov byte [rbp + 0xf8], 0
jne 0x140262c41
mov rdx, r11
mov qword [rbp + 0xf0], rdx
mov qword [rbp + 0x108], rdx
cmp r8d, 1
jne 0x140262c3a
lea rdx, [rbp + 0x108]
lea rcx, [rbp - 0x40]
call fcn.14025f0f0
mov byte [rbp + 0xf8], al
test al, al
je 0x140262c2a
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp - 0x80]
xor r8d, r8d
call fcn.140234d20
mov r10, rax
mov qword [rbp + 0xf0], rax
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140262c41
mov rax, qword [rbp - 0x80]
cmp byte [rax + 0x50], 0
jne 0x140262c41
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 0x140262c41
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0xf0], rax
jmp 0x140262c41
mov byte [rbp + 0xf8], 0
mov ecx, dword [rbp - 8]
add ecx, dword [rbp - 0x18]
je 0x140262c55
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140260840
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.140271aa0
mov qword [rbp + 0xf8], rax
test rax, rax
jne 0x140262ca5
mov rbx, qword [rbp - 0x80]
mov rdx, qword [rbp - 0x58]
mov rcx, rbx
call fcn.140235410
jmp 0x1402612b3
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140260ac0
mov rax, qword [rbp + 0xf8]
cmp byte [rax + 0x34], 0
je 0x140262cdd
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.140221790
mov rax, qword [rbp + 0xf8]
mov rcx, rax
call fcn.140272430
lea rdx, [rbp - 0x40]
mov rcx, rsi
call fcn.140260990
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.140238d80
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.140259e00
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x80]
call fcn.140235410
mov r9, qword [rbx + 0x30]
or eax, 0xffffffff
sub eax, dword [rbp - 0x70]
js 0x140262d70
mov r8, qword [r9 + 0x80]
test r8, r8
je 0x140262d70
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 0x140262d8e
lea rdx, str.DISTINCT
mov rcx, rsi
call fcn.14025aac0
cmp qword [rsp + 0x68], 0
je 0x140262dc6
lea rdx, str.ORDER_BY
mov rcx, rsi
call fcn.14025aac0
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.14025acf0
mov r9, qword [rbx + 0x30]
or rax, 0xffffffffffffffff
sub eax, dword [rbp]
js 0x140262de8
mov rdx, qword [r9 + 0x80]
test rdx, rdx
je 0x140262de8
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 0x1402612af
mov rbx, rax
jmp 0x1402612b3
mov eax, ecx
add rsp, 0x1c8
pop rdi
pop rsi
pop rbx
pop rbp
ret