Function at 0x14016d9c0
Capabilities:
Inspect section memory permissions

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov rax, qword [0x1402d3700]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov r14, qword [rcx + 0x28]
mov rbx, rdx
movzx edx, byte [rdx]
mov r13, rcx
mov r12, qword [r14]
lea eax, [rdx - 0x14]
cmp eax, 0x98
ja case.0x14016da29.21
lea r8, [0x140000000]
cdqe
mov esi, 1
movzx eax, byte [r8 + rax + 0x16e56c]
mov ecx, dword [r8 + rax*4 + 0x16e548]
add rcx, r8
jmp rcx
mov rcx, qword [r14 + 8]
mov byte [rbx], 0xa7
mov rax, qword [rcx + 0x28]
mov qword [rbx + 0x40], rax
mov eax, dword [rcx + 0x4c]
dec word [rbx + 0x30]
mov dword [rbx + 0x2c], eax
mov byte [rbx + 1], 0x44
jmp case.0x14016da29.21
xor ebp, ebp
mov r8, r14
mov edx, ebp
cmp rdx, 8
jge 0x14016da71
mov eax, dword [r8 + 0x20]
mov r8, qword [r8 + 0x18]
mov dword [rsp + rdx*4 + 0x80], eax
inc rdx
test r8, r8
jne 0x14016da54
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14016da82
mov rcx, r13
call fcn.1401d9110
cmp byte [r12 + 0x134], 2
jae 0x14016e2e1
mov rcx, qword [rbx + 0x10]
call fcn.14018a8c0
test eax, eax
jne 0x14016e2e1
mov rax, r14
nop word [rax + rax]
test dword [rax + 0x28], 0x100000
je 0x14016e2e1
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x14016dab0
cmp byte [rbx], 0x33
mov eax, ebp
mov byte [rbx], 0x9b
mov rdx, rbp
sete al
or dword [rbx + 4], 0x800
mov dword [rbx + 8], eax
nop
cmp rdx, 8
jge 0x14016dafd
mov eax, dword [rsp + rdx*4 + 0x80]
inc rdx
mov dword [r14 + 0x20], eax
mov r14, qword [r14 + 0x18]
test r14, r14
jne 0x14016dae0
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14016db0f
mov rcx, qword [r12]
call fcn.14018e430
mov qword [rbx + 0x10], rbp
mov eax, esi
jmp 0x14016e51c
cmp dl, 0x3b
jne 0x14016db2c
xor ebp, ebp
mov r9, rbx
mov r8d, ebp
jmp 0x14016dc0f
mov ecx, dword [r14 + 0x28]
mov rdi, qword [rbx + 0x10]
test cl, 0x28
je 0x14016dba2
lea rax, str.partial_index_WHERE_clauses
test cl, 0x20
je 0x14016db4e
lea r9, str.index_expressions
jmp 0x14016db6a
test cl, 4
je 0x14016db5c
lea r9, str.CHECK_constraints
jmp 0x14016db6a
test cl, 8
lea r9, str.generated_columns
cmove r9, rax
lea r8, str.the__.__operator
mov rcx, r12
lea rdx, str._s_prohibited_in__s
call fcn.1401897f0
mov rdx, qword [r12]
mov rax, rbx
test byte [rax + 4], 3
jne 0x14016db94
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x14016db9f
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14016db87
jmp 0x14016dba2
mov dword [rdx + 0x54], ecx
mov r9, qword [rbx + 0x18]
cmp byte [r9], 0x3b
jne 0x14016dbb0
xor ebp, ebp
jmp 0x14016dbbc
mov rbp, qword [rdi + 8]
mov rdi, qword [r9 + 0x10]
mov r9, qword [r9 + 0x18]
cmp byte [r12 + 0x134], 2
mov r8, qword [rdi + 8]
jb 0x14016dc0f
mov rax, qword [r12 + 0x1a0]
test rax, rax
je 0x14016dbeb
cmp qword [rax], r9
je 0x14016dbe8
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x14016dbd8
jmp 0x14016dbeb
mov qword [rax], rbx
mov rcx, qword [r12 + 0x1a0]
test rcx, rcx
je 0x14016dc0f
cmp qword [rcx], rdi
je 0x14016dc08
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x14016dbf8
jmp 0x14016dc0f
lea rax, [rbx + 0x40]
mov qword [rcx], rax
mov qword [rsp + 0x28], rbx
mov rdx, rbp
mov rcx, r12
mov qword [rsp + 0x20], r14
call fcn.14015b8c0
jmp 0x14016e51c
mov rax, qword [rbx + 0x20]
xor edx, edx
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14016dc3d
mov edi, dword [rax]
jmp 0x14016dc3f
mov edi, edx
mov rcx, qword [r12]
mov eax, dword [r14 + 0x28]
and eax, 0x4001
mov dword [rsp + 0x34], edx
test dword [rbx + 4], 0x1000000
movzx ebp, byte [rcx + 0x64]
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x4c], eax
je 0x14016dc74
mov r15, qword [rbx + 0x40]
cmp byte [r15 + 0x20], 0xa6
jne 0x14016dc77
mov r15, rdx
mov rsi, qword [rbx + 8]
movzx r9d, bpl
mov byte [rsp + 0x20], dl
mov r8d, edi
mov rdx, rsi
call fcn.1401901d0
mov qword [rsp + 0x38], rax
mov rdx, rax
test rax, rax
jne 0x14016dcdd
mov rcx, qword [r12]
movzx r9d, bpl
mov r8d, 0xfffffffe
mov byte [rsp + 0x20], al
mov rdx, rsi
call fcn.1401901d0
mov esi, dword [rsp + 0x48]
xor ebp, ebp
mov rdi, qword [rsp + 0x40]
test rax, rax
mov ecx, ebp
mov qword [rsp + 0x38], rax
sete cl
mov edx, ebp
test rax, rax
mov r8, rax
setne dl
jmp 0x14016df38
xor ebp, ebp
mov esi, ebp
cmp qword [rax + 0x20], rsi
setne sil
test dword [rax + 4], 0x400
je 0x14016de04
or dword [rbx + 4], 0x80000
cmp edi, 2
mov rdi, qword [rsp + 0x40]
jne 0x14016dde9
mov rcx, qword [rdi + 0x28]
movsd xmm0, qword [0x140294de0]
movsd qword [rsp + 0x40], xmm0
cmp byte [rcx], 0x99
je 0x14016dd2b
mov dword [rbx + 0x2c], 0xffffffff
jmp 0x14016dd89
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14016dd39
mov r8d, ebp
jmp 0x14016dd50
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], bpl
jne 0x14016dd40
and r8d, 0x3fffffff
mov r9b, 1
lea rdx, [rsp + 0x40]
call fcn.14017ace0
movsd xmm0, qword [rsp + 0x40]
comisd xmm0, xmmword [0x140266a18]
jbe 0x14016dd76
mov dword [rbx + 0x2c], 0xffffffff
jmp 0x14016dd89
mulsd xmm0, qword [0x140294d30]
cvttsd2si eax, xmm0
mov dword [rbx + 0x2c], eax
test eax, eax
jns 0x14016dd9f
mov r8, rbx
lea rdx, str.second_argument_to__T___must_be_a_constant_between_0.0_and_1.0
mov rcx, r12
call fcn.1401897f0
inc dword [r14 + 0x24]
mov rdx, qword [rsp + 0x38]
mov r9, qword [rdx + 0x38]
xor r8d, r8d
mov edx, 0x1f
mov qword [rsp + 0x20], rbp
mov rcx, r12
call fcn.14017b790
test eax, eax
je 0x14016de0b
cmp eax, 1
jne 0x14016dddc
mov r8, rbx
lea rdx, str.not_authorized_to_use_function:__T
mov rcx, r12
call fcn.1401897f0
inc dword [r14 + 0x24]
mov byte [rbx], 0x79
mov eax, 1
jmp 0x14016e51c
mov rax, qword [rax + 0x38]
mov ecx, 0x7800000
mov r8d, 0x800000
cmp byte [rax], 0x75
cmove ecx, r8d
mov dword [rbx + 0x2c], ecx
jmp 0x14016dda4
mov rdi, qword [rsp + 0x40]
jmp 0x14016dda4
mov r8, qword [rsp + 0x38]
test dword [r8 + 4], 0x2800
je 0x14016de21
or dword [rbx + 4], 0x100000
test dword [r8 + 4], 0x800
jne 0x14016ded0
mov ecx, dword [r14 + 0x28]
test cl, 0x2a
je 0x14016dea1
lea rax, str.partial_index_WHERE_clauses
test cl, 0x20
je 0x14016de4d
lea r9, str.index_expressions
jmp 0x14016de69
test cl, 4
je 0x14016de5b
lea r9, str.CHECK_constraints
jmp 0x14016de69
test cl, 8
lea r9, str.generated_columns
cmove r9, rax
lea r8, str.non_deterministic_functions
mov rcx, r12
lea rdx, str._s_prohibited_in__s
call fcn.1401897f0
mov rdx, qword [r12]
mov rax, rbx
test byte [rax + 4], 3
jne 0x14016de93
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x14016decb
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14016de86
mov r8, qword [rsp + 0x38]
mov ecx, dword [r8 + 4]
bt ecx, 0x12
jae 0x14016deed
cmp byte [r12 + 0x1e], bpl
jne 0x14016deed
mov rax, qword [r12]
test byte [rax + 0x2c], 0x20
jne 0x14016deed
mov ecx, 1
mov qword [rsp + 0x38], rbp
mov r8, rbp
jmp 0x14016df34
mov dword [rdx + 0x54], ecx
jmp 0x14016de9c
movzx eax, byte [r14 + 0x28]
and al, 0x2e
mov byte [rbx + 2], al
test dword [r14 + 0x28], 0x40000
je 0x14016dea1
or dword [rbx + 4], 0x40000000
jmp 0x14016dea1
test ecx, 0x280000
je 0x14016df30
cmp byte [r12 + 0x134], 2
jae 0x14016df30
test dword [rbx + 4], 0x40000000
je 0x14016df30
bt ecx, 0x13
jb 0x14016df19
mov rax, qword [r12]
test byte [rax + 0x30], 0x80
jne 0x14016df30
mov r8, rbx
lea rdx, str.unsafe_use_of__T__
mov rcx, r12
call fcn.1401897f0
mov r8, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
cmp byte [r12 + 0x134], 2
jae 0x14016e076
test r8, r8
je 0x14016df99
cmp qword [r8 + 0x28], 0
jne 0x14016df99
test r15, r15
je 0x14016df99
mov r8, rbx
lea rdx, str._T___may_not_be_used_as_a_window_function
mov rcx, r12
call fcn.1401897f0
inc dword [r14 + 0x24]
test esi, esi
je 0x14016e086
xor esi, esi
mov rdx, rdi
mov eax, esi
test r15, r15
mov rcx, r13
setne al
add eax, 0xffffbffe
and dword [r14 + 0x28], eax
call fcn.1401d90a0
jmp 0x14016e0a8
test esi, esi
je 0x14016dffb
mov eax, dword [r14 + 0x28]
test al, 1
je 0x14016dfc1
test dword [r8 + 4], 0x10000
je 0x14016dfb6
test r15, r15
je 0x14016dfd7
jmp 0x14016dfbb
test r15, r15
je 0x14016dffb
bt eax, 0xe
jb 0x14016dffb
test dword [r8 + 4], 0x10000
jne 0x14016dfd7
lea r8, str.aggregate
test r15, r15
je 0x14016dfde
lea r8, str.window
mov r9, rbx
lea rdx, str.misuse_of__s_function__T__
mov rcx, r12
call fcn.1401897f0
inc dword [r14 + 0x24]
mov esi, ebp
jmp 0x14016e086
test ecx, ecx
je 0x14016e01b
mov rax, qword [r12]
cmp byte [rax + 0xc5], 0
jne 0x14016e01b
mov r8, rbx
lea rdx, str.no_such_function:__T
jmp 0x14016df62
test edx, edx
je 0x14016e02e
mov r8, rbx
lea rdx, str.wrong_number_of_arguments_to_function__T__
jmp 0x14016df62
test esi, esi
jne 0x14016df76
test dword [rbx + 4], 0x1000000
je 0x14016e057
mov r8, rbx
lea rdx, str.FILTER_may_not_be_used_with_non_aggregate__T__
mov rcx, r12
call fcn.1401897f0
inc dword [r14 + 0x24]
jmp 0x14016e086
cmp qword [rbx + 0x10], 0
je 0x14016e086
mov r8, rbx
lea rdx, str.ORDER_BY_may_not_be_used_with_non_aggregate__T__
mov rcx, r12
call fcn.1401897f0
inc dword [r14 + 0x24]
jmp 0x14016e086
test dword [rbx + 4], 0x1000000
jne 0x14016e09b
cmp qword [rbx + 0x10], 0
jne 0x14016e09b
mov rdx, rdi
mov rcx, r13
call fcn.1401d90a0
test esi, esi
je 0x14016e2dc
jmp 0x14016e0a6
mov rdx, rdi
mov rcx, r13
call fcn.1401d90a0
xor esi, esi
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14016e0bd
mov rdx, qword [rdx + 0x20]
mov rcx, r13
call fcn.1401d90a0
test r15, r15
je 0x14016e14f
cmp byte [r12 + 0x134], 2
mov rbx, qword [r14 + 0x30]
jae 0x14016e0ff
test rbx, rbx
je 0x14016e0de
mov rsi, qword [rbx + 0x78]
mov r9, qword [rsp + 0x38]
mov r8, r15
mov rdx, rsi
mov rcx, r12
call fcn.1401e3710
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
jne case.0x14016da29.21
mov rdx, qword [r15 + 0x10]
mov rcx, r13
call fcn.1401d90a0
mov rdx, qword [r15 + 0x18]
mov rcx, r13
call fcn.1401d90a0
mov rdx, qword [r15 + 0x48]
test rdx, rdx
je 0x14016e128
mov rcx, r13
call fcn.1401d9110
mov rdx, r15
mov rcx, rbx
call fcn.1401e21b0
mov eax, dword [rsp + 0x4c]
mov esi, 1
or dword [r14 + 0x28], 0x8000
or dword [r14 + 0x28], eax
mov eax, esi
jmp 0x14016e51c
test dword [rbx + 4], 0x1000000
mov byte [rbx], 0xa8
mov byte [rbx + 2], 0
je 0x14016e174
mov rax, qword [rbx + 0x40]
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x14016e174
mov rcx, r13
call fcn.1401d9110
mov rbp, r14
lea r15, [0x140108510]
lea r13, [0x1401766e0]
lea rax, [0x1401767e0]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
lea rax, [rsp + 0x80]
mov qword [rsp + 0x70], rsi
mov rsi, qword [rbx + 0x20]
mov qword [rsp + 0x78], rax
mov rax, qword [r12]
mov qword [rsp + 0x80], rax
mov rax, qword [rbp + 8]
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r13
movdqu xmmword [rsp + 0x90], xmm0
test rsi, rsi
je 0x14016e210
mov edi, dword [rsi]
add rsi, 8
test edi, edi
jle 0x14016e210
nop dword [rax]
mov rdx, qword [rsi]
test rdx, rdx
je 0x14016e206
lea rcx, [rsp + 0x50]
call fcn.1401d9110
test eax, eax
jne 0x14016e210
dec edi
add rsi, 0x20
test edi, edi
jg 0x14016e1f0
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x14016e250
mov rsi, qword [rsi + 0x20]
test rsi, rsi
je 0x14016e250
mov edi, dword [rsi]
add rsi, 8
test edi, edi
jle 0x14016e250
nop dword [rax]
mov rdx, qword [rsi]
test rdx, rdx
je 0x14016e246
lea rcx, [rsp + 0x50]
call fcn.1401d9110
test eax, eax
jne 0x14016e250
dec edi
add rsi, 0x20
test edi, edi
jg 0x14016e230
test dword [rbx + 4], 0x1000000
je 0x14016e270
mov rax, qword [rbx + 0x40]
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x14016e270
lea rcx, [rsp + 0x50]
call fcn.1401d9110
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x14016e286
mov rcx, qword [r12]
call fcn.140186dc0
movzx eax, word [rsp + 0x74]
test al, 1
jne 0x14016e2ad
test ax, ax
je 0x14016e2ad
movzx eax, byte [rbp + 0x2c]
inc al
add byte [rbx + 2], al
mov rbp, qword [rbp + 0x18]
test rbp, rbp
je 0x14016e2d4
xor esi, esi
jmp 0x14016e185
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14016e2d4
movzx eax, byte [rbx + 2]
add al, byte [rbp + 0x2c]
mov byte [rbx + 2], al
mov eax, dword [rcx + 4]
xor eax, 0xffffefff
and eax, 0x8001000
or eax, 0x10
or dword [rbp + 0x28], eax
mov eax, dword [rsp + 0x4c]
or dword [r14 + 0x28], eax
mov esi, 1
mov eax, esi
jmp 0x14016e51c
test dword [rbx + 4], 0x1000
je case.0x14016da29.21
mov ecx, dword [r14 + 0x28]
mov edi, dword [r14 + 0x20]
test cl, 0x2e
je 0x14016e370
lea rax, str.partial_index_WHERE_clauses
test cl, 0x20
je 0x14016e317
lea r9, str.index_expressions
jmp 0x14016e333
test cl, 4
je 0x14016e325
lea r9, str.CHECK_constraints
jmp 0x14016e333
test cl, 8
lea r9, str.generated_columns
cmove r9, rax
lea r8, str.subqueries
mov rcx, r12
lea rdx, str._s_prohibited_in__s
call fcn.1401897f0
mov byte [rbx], 0x79
mov rax, rbx
mov rdx, qword [r12]
test byte [rax + 4], 3
jne 0x14016e360
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x14016e36b
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14016e353
jmp 0x14016e37c
mov dword [rdx + 0x54], ecx
jmp 0x14016e37c
mov rdx, qword [rbx + 0x20]
mov rcx, r13
call fcn.1401d91e0
cmp edi, dword [r14 + 0x20]
je 0x14016e391
mov rax, qword [rbx + 0x20]
or dword [rbx + 4], 0x40
or dword [rax + 4], 0x20000000
or dword [r14 + 0x28], 0x40
jmp case.0x14016da29.21
mov ecx, dword [r14 + 0x28]
test cl, 0x2e
je case.0x14016da29.21
lea rax, str.partial_index_WHERE_clauses
test cl, 0x20
je 0x14016e3bd
lea r9, str.index_expressions
jmp 0x14016e3d9
test cl, 4
je 0x14016e3cb
lea r9, str.CHECK_constraints
jmp 0x14016e3d9
test cl, 8
lea r9, str.generated_columns
cmove r9, rax
lea r8, str.parameters
mov rcx, r12
lea rdx, str._s_prohibited_in__s
call fcn.1401897f0
mov byte [rbx], 0x79
mov rcx, qword [r12]
test byte [rbx + 4], 3
jne 0x14016e407
mov eax, dword [rbx + 0x34]
test eax, eax
jg 0x14016e50d
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14016e3f6
jmp case.0x14016da29.21
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je case.0x14016da29.48
nop
mov eax, dword [rdi + 4]
test eax, 0x82000
je 0x14016e44d
bt eax, 0x13
jae 0x14016e43a
mov rax, qword [rdi + 0x20]
mov rdi, qword [rax + 8]
jmp 0x14016e443
cmp byte [rdi], 0x71
jne 0x14016e448
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x14016e420
test rdi, rdi
je case.0x14016da29.48
movzx eax, byte [rdi]
cmp al, 0x3b
je 0x14016e458
cmp al, 0xaa
jne case.0x14016da29.48
mov rdx, rdi
mov rcx, r13
call fcn.14016d9c0
cmp eax, 2
jne 0x14016e46d
jmp 0x14016e51c
cmp byte [rdi], 0xaa
jne case.0x14016da29.48
movzx eax, byte [rbx]
mov byte [rbx + 2], al
xor eax, eax
mov byte [rbx], 0xaf
jmp 0x14016e51c
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
jne case.0x14016da29.21
mov rcx, qword [rbx + 0x10]
movzx eax, byte [rcx]
cmp al, 0xb0
jne 0x14016e49f
movzx eax, byte [rcx + 2]
cmp al, 0xb1
jne 0x14016e4ab
mov rax, qword [rcx + 0x20]
mov esi, dword [rax]
jmp 0x14016e4b9
cmp al, 0x8a
jne 0x14016e4b9
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 0x20]
mov esi, dword [rcx]
cmp byte [rbx], 0x30
jne 0x14016e4d5
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rdx + 8]
call fcn.14018ff00
cmp eax, esi
jne 0x14016e4e2
mov rcx, qword [rdx + 0x28]
jmp 0x14016e4d9
mov rcx, qword [rbx + 0x18]
call fcn.14018ff00
cmp esi, eax
je case.0x14016da29.21
lea rdx, str.row_value_misused
mov rcx, r12
call fcn.1401897f0
mov rcx, qword [r12]
test byte [rbx + 4], 3
jne 0x14016e502
mov eax, dword [rbx + 0x34]
test eax, eax
jg 0x14016e50d
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14016e4f5
jmp case.0x14016da29.21
mov dword [rcx + 0x54], eax
mov eax, dword [r12 + 0x30]
neg eax
sbb eax, eax
and eax, 2
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.14025e200
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret