Function at 0x14004c620
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 [section..data]
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.0x14004c689.21
lea r8, [0x140000000]
cdqe
mov esi, 1
movzx eax, byte [r8 + rax + 0x4d1cc]
mov ecx, dword [r8 + rax*4 + 0x4d1a8]
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.0x14004c689.21
xor ebp, ebp
mov r8, r14
mov edx, ebp
cmp rdx, 8
jge 0x14004c6d1
mov eax, dword [r8 + 0x20]
mov r8, qword [r8 + 0x18]
mov dword [rsp + rdx*4 + 0x80], eax
inc rdx
test r8, r8
jne 0x14004c6b4
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14004c6e2
mov rcx, r13
call fcn.14004a780
cmp byte [r12 + 0x134], 2
jae 0x14004cf41
mov rcx, qword [rbx + 0x10]
call fcn.140052490
test eax, eax
jne 0x14004cf41
mov rax, r14
nop word [rax + rax]
test dword [rax + 0x28], 0x100000
je 0x14004cf41
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x14004c710
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 0x14004c75d
mov eax, dword [rsp + rdx*4 + 0x80]
inc rdx
mov dword [r14 + 0x20], eax
mov r14, qword [r14 + 0x18]
test r14, r14
jne 0x14004c740
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14004c76f
mov rcx, qword [r12]
call fcn.140050440
mov qword [rbx + 0x10], rbp
mov eax, esi
jmp 0x14004d17c
cmp dl, 0x3b
jne 0x14004c78c
xor ebp, ebp
mov r9, rbx
mov r8d, ebp
jmp 0x14004c86f
mov ecx, dword [r14 + 0x28]
mov rdi, qword [rbx + 0x10]
test cl, 0x28
je 0x14004c802
lea rax, str.partial_index_WHERE_clauses
test cl, 0x20
je 0x14004c7ae
lea r9, str.index_expressions
jmp 0x14004c7ca
test cl, 4
je 0x14004c7bc
lea r9, str.CHECK_constraints
jmp 0x14004c7ca
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.14000bf90
mov rdx, qword [r12]
mov rax, rbx
test byte [rax + 4], 3
jne 0x14004c7f4
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x14004c7ff
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14004c7e7
jmp 0x14004c802
mov dword [rdx + 0x54], ecx
mov r9, qword [rbx + 0x18]
cmp byte [r9], 0x3b
jne 0x14004c810
xor ebp, ebp
jmp 0x14004c81c
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 0x14004c86f
mov rax, qword [r12 + 0x1a0]
test rax, rax
je 0x14004c84b
cmp qword [rax], r9
je 0x14004c848
mov rax, qword [rax + 0x18]
test rax, rax
jne 0x14004c838
jmp 0x14004c84b
mov qword [rax], rbx
mov rcx, qword [r12 + 0x1a0]
test rcx, rcx
je 0x14004c86f
cmp qword [rcx], rdi
je 0x14004c868
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x14004c858
jmp 0x14004c86f
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.14004b150
jmp 0x14004d17c
mov rax, qword [rbx + 0x20]
xor edx, edx
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14004c89d
mov edi, dword [rax]
jmp 0x14004c89f
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 0x14004c8d4
mov r15, qword [rbx + 0x40]
cmp byte [r15 + 0x20], 0xa6
jne 0x14004c8d7
mov r15, rdx
mov rsi, qword [rbx + 8]
movzx r9d, bpl
mov byte [rsp + 0x20], dl
mov r8d, edi
mov rdx, rsi
call fcn.14006e020
mov qword [rsp + 0x38], rax
mov rdx, rax
test rax, rax
jne 0x14004c93d
mov rcx, qword [r12]
movzx r9d, bpl
mov r8d, 0xfffffffe
mov byte [rsp + 0x20], al
mov rdx, rsi
call fcn.14006e020
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 0x14004cb98
xor ebp, ebp
mov esi, ebp
cmp qword [rax + 0x20], rsi
setne sil
test dword [rax + 4], 0x400
je 0x14004ca64
or dword [rbx + 4], 0x80000
cmp edi, 2
mov rdi, qword [rsp + 0x40]
jne 0x14004ca49
mov rcx, qword [rdi + 0x28]
vmovsd xmm0, qword [0x1400e28d8]
vmovsd qword [rsp + 0x40], xmm0
cmp byte [rcx], 0x99
je 0x14004c98b
mov dword [rbx + 0x2c], 0xffffffff
jmp 0x14004c9e9
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x14004c999
mov r8d, ebp
jmp 0x14004c9b0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rcx + r8], bpl
jne 0x14004c9a0
and r8d, 0x3fffffff
mov r9b, 1
lea rdx, [rsp + 0x40]
call fcn.14000c480
vmovsd xmm0, qword [rsp + 0x40]
vcomisd xmm0, qword [0x1400e27a8]
jbe 0x14004c9d6
mov dword [rbx + 0x2c], 0xffffffff
jmp 0x14004c9e9
vmulsd xmm0, xmm0, qword [0x1400e2820]
vcvttsd2si eax, xmm0
mov dword [rbx + 0x2c], eax
test eax, eax
jns 0x14004c9ff
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.14000bf90
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.140062d00
test eax, eax
je 0x14004ca6b
cmp eax, 1
jne 0x14004ca3c
mov r8, rbx
lea rdx, str.not_authorized_to_use_function:__T
mov rcx, r12
call fcn.14000bf90
inc dword [r14 + 0x24]
mov byte [rbx], 0x79
mov eax, 1
jmp 0x14004d17c
mov rax, qword [rax + 0x38]
mov ecx, 0x7800000
mov r8d, 0x800000
cmp byte [rax], 0x75
cmove ecx, r8d
mov dword [rbx + 0x2c], ecx
jmp 0x14004ca04
mov rdi, qword [rsp + 0x40]
jmp 0x14004ca04
mov r8, qword [rsp + 0x38]
test dword [r8 + 4], 0x2800
je 0x14004ca81
or dword [rbx + 4], 0x100000
test dword [r8 + 4], 0x800
jne 0x14004cb30
mov ecx, dword [r14 + 0x28]
test cl, 0x2a
je 0x14004cb01
lea rax, str.partial_index_WHERE_clauses
test cl, 0x20
je 0x14004caad
lea r9, str.index_expressions
jmp 0x14004cac9
test cl, 4
je 0x14004cabb
lea r9, str.CHECK_constraints
jmp 0x14004cac9
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.14000bf90
mov rdx, qword [r12]
mov rax, rbx
test byte [rax + 4], 3
jne 0x14004caf3
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x14004cb2b
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14004cae6
mov r8, qword [rsp + 0x38]
mov ecx, dword [r8 + 4]
bt ecx, 0x12
jae 0x14004cb4d
cmp byte [r12 + 0x1e], bpl
jne 0x14004cb4d
mov rax, qword [r12]
test byte [rax + 0x2c], 0x20
jne 0x14004cb4d
mov ecx, 1
mov qword [rsp + 0x38], rbp
mov r8, rbp
jmp 0x14004cb94
mov dword [rdx + 0x54], ecx
jmp 0x14004cafc
movzx eax, byte [r14 + 0x28]
and al, 0x2e
mov byte [rbx + 2], al
test dword [r14 + 0x28], 0x40000
je 0x14004cb01
or dword [rbx + 4], 0x40000000
jmp 0x14004cb01
test ecx, 0x280000
je 0x14004cb90
cmp byte [r12 + 0x134], 2
jae 0x14004cb90
test dword [rbx + 4], 0x40000000
je 0x14004cb90
bt ecx, 0x13
jb 0x14004cb79
mov rax, qword [r12]
test byte [rax + 0x30], 0x80
jne 0x14004cb90
mov r8, rbx
lea rdx, str.unsafe_use_of__T__
mov rcx, r12
call fcn.14000bf90
mov r8, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x30]
cmp byte [r12 + 0x134], 2
jae 0x14004ccd6
test r8, r8
je 0x14004cbf9
cmp qword [r8 + 0x28], 0
jne 0x14004cbf9
test r15, r15
je 0x14004cbf9
mov r8, rbx
lea rdx, str._T___may_not_be_used_as_a_window_function
mov rcx, r12
call fcn.14000bf90
inc dword [r14 + 0x24]
test esi, esi
je 0x14004cce6
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.14004a850
jmp 0x14004cd08
test esi, esi
je 0x14004cc5b
mov eax, dword [r14 + 0x28]
test al, 1
je 0x14004cc21
test dword [r8 + 4], 0x10000
je 0x14004cc16
test r15, r15
je 0x14004cc37
jmp 0x14004cc1b
test r15, r15
je 0x14004cc5b
bt eax, 0xe
jb 0x14004cc5b
test dword [r8 + 4], 0x10000
jne 0x14004cc37
lea r8, str.aggregate
test r15, r15
je 0x14004cc3e
lea r8, str.window
mov r9, rbx
lea rdx, str.misuse_of__s_function__T__
mov rcx, r12
call fcn.14000bf90
inc dword [r14 + 0x24]
mov esi, ebp
jmp 0x14004cce6
test ecx, ecx
je 0x14004cc7b
mov rax, qword [r12]
cmp byte [rax + 0xc5], 0
jne 0x14004cc7b
mov r8, rbx
lea rdx, str.no_such_function:__T
jmp 0x14004cbc2
test edx, edx
je 0x14004cc8e
mov r8, rbx
lea rdx, str.wrong_number_of_arguments_to_function__T__
jmp 0x14004cbc2
test esi, esi
jne 0x14004cbd6
test dword [rbx + 4], 0x1000000
je 0x14004ccb7
mov r8, rbx
lea rdx, str.FILTER_may_not_be_used_with_non_aggregate__T__
mov rcx, r12
call fcn.14000bf90
inc dword [r14 + 0x24]
jmp 0x14004cce6
cmp qword [rbx + 0x10], 0
je 0x14004cce6
mov r8, rbx
lea rdx, str.ORDER_BY_may_not_be_used_with_non_aggregate__T__
mov rcx, r12
call fcn.14000bf90
inc dword [r14 + 0x24]
jmp 0x14004cce6
test dword [rbx + 4], 0x1000000
jne 0x14004ccfb
cmp qword [rbx + 0x10], 0
jne 0x14004ccfb
mov rdx, rdi
mov rcx, r13
call fcn.14004a850
test esi, esi
je 0x14004cf3c
jmp 0x14004cd06
mov rdx, rdi
mov rcx, r13
call fcn.14004a850
xor esi, esi
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x14004cd1d
mov rdx, qword [rdx + 0x20]
mov rcx, r13
call fcn.14004a850
test r15, r15
je 0x14004cdaf
cmp byte [r12 + 0x134], 2
mov rbx, qword [r14 + 0x30]
jae 0x14004cd5f
test rbx, rbx
je 0x14004cd3e
mov rsi, qword [rbx + 0x78]
mov r9, qword [rsp + 0x38]
mov r8, r15
mov rdx, rsi
mov rcx, r12
call fcn.1400ba9a0
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
jne case.0x14004c689.21
mov rdx, qword [r15 + 0x10]
mov rcx, r13
call fcn.14004a850
mov rdx, qword [r15 + 0x18]
mov rcx, r13
call fcn.14004a850
mov rdx, qword [r15 + 0x48]
test rdx, rdx
je 0x14004cd88
mov rcx, r13
call fcn.14004a780
mov rdx, r15
mov rcx, rbx
call fcn.1400bc910
mov eax, dword [rsp + 0x4c]
mov esi, 1
or dword [r14 + 0x28], 0x8000
or dword [r14 + 0x28], eax
mov eax, esi
jmp 0x14004d17c
test dword [rbx + 4], 0x1000000
mov byte [rbx], 0xa8
mov byte [rbx + 2], 0
je 0x14004cdd4
mov rax, qword [rbx + 0x40]
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x14004cdd4
mov rcx, r13
call fcn.14004a780
mov rbp, r14
lea r15, [0x140059870]
lea r13, [0x140059750]
lea rax, [0x140059850]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x78], rax
mov rax, qword [r12]
mov qword [rsp + 0x70], rsi
mov rsi, qword [rbx + 0x20]
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
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [rsp + 0x90], xmm0
test rsi, rsi
je 0x14004ce70
mov edi, dword [rsi]
add rsi, 8
test edi, edi
jle 0x14004ce70
nop word [rax + rax]
mov rdx, qword [rsi]
test rdx, rdx
je 0x14004ce66
lea rcx, [rsp + 0x50]
call fcn.14004a780
test eax, eax
jne 0x14004ce70
dec edi
add rsi, 0x20
test edi, edi
jg 0x14004ce50
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x14004ceb0
mov rsi, qword [rsi + 0x20]
test rsi, rsi
je 0x14004ceb0
mov edi, dword [rsi]
add rsi, 8
test edi, edi
jle 0x14004ceb0
nop dword [rax]
mov rdx, qword [rsi]
test rdx, rdx
je 0x14004cea6
lea rcx, [rsp + 0x50]
call fcn.14004a780
test eax, eax
jne 0x14004ceb0
dec edi
add rsi, 0x20
test edi, edi
jg 0x14004ce90
test dword [rbx + 4], 0x1000000
je 0x14004ced0
mov rax, qword [rbx + 0x40]
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x14004ced0
lea rcx, [rsp + 0x50]
call fcn.14004a780
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x14004cee6
mov rcx, qword [r12]
call fcn.140007ce0
movzx eax, word [rsp + 0x74]
test al, 1
jne 0x14004cf0d
test ax, ax
je 0x14004cf0d
movzx eax, byte [rbp + 0x2c]
inc al
add byte [rbx + 2], al
mov rbp, qword [rbp + 0x18]
test rbp, rbp
je 0x14004cf34
xor esi, esi
jmp 0x14004cde5
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x14004cf34
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 0x14004d17c
test dword [rbx + 4], 0x1000
je case.0x14004c689.21
mov ecx, dword [r14 + 0x28]
mov edi, dword [r14 + 0x20]
test cl, 0x2e
je 0x14004cfd0
lea rax, str.partial_index_WHERE_clauses
test cl, 0x20
je 0x14004cf77
lea r9, str.index_expressions
jmp 0x14004cf93
test cl, 4
je 0x14004cf85
lea r9, str.CHECK_constraints
jmp 0x14004cf93
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.14000bf90
mov byte [rbx], 0x79
mov rax, rbx
mov rdx, qword [r12]
test byte [rax + 4], 3
jne 0x14004cfc0
mov ecx, dword [rax + 0x34]
test ecx, ecx
jg 0x14004cfcb
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14004cfb3
jmp 0x14004cfdc
mov dword [rdx + 0x54], ecx
jmp 0x14004cfdc
mov rdx, qword [rbx + 0x20]
mov rcx, r13
call fcn.14004a8c0
cmp edi, dword [r14 + 0x20]
je 0x14004cff1
mov rax, qword [rbx + 0x20]
or dword [rbx + 4], 0x40
or dword [rax + 4], 0x20000000
or dword [r14 + 0x28], 0x40
jmp case.0x14004c689.21
mov ecx, dword [r14 + 0x28]
test cl, 0x2e
je case.0x14004c689.21
lea rax, str.partial_index_WHERE_clauses
test cl, 0x20
je 0x14004d01d
lea r9, str.index_expressions
jmp 0x14004d039
test cl, 4
je 0x14004d02b
lea r9, str.CHECK_constraints
jmp 0x14004d039
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.14000bf90
mov byte [rbx], 0x79
mov rcx, qword [r12]
test byte [rbx + 4], 3
jne 0x14004d067
mov eax, dword [rbx + 0x34]
test eax, eax
jg 0x14004d16d
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14004d056
jmp case.0x14004c689.21
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je case.0x14004c689.48
nop
mov eax, dword [rdi + 4]
test eax, 0x82000
je 0x14004d0ad
bt eax, 0x13
jae 0x14004d09a
mov rax, qword [rdi + 0x20]
mov rdi, qword [rax + 8]
jmp 0x14004d0a3
cmp byte [rdi], 0x71
jne 0x14004d0a8
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x14004d080
test rdi, rdi
je case.0x14004c689.48
movzx eax, byte [rdi]
cmp al, 0x3b
je 0x14004d0b8
cmp al, 0xaa
jne case.0x14004c689.48
mov rdx, rdi
mov rcx, r13
call fcn.14004c620
cmp eax, 2
jne 0x14004d0cd
jmp 0x14004d17c
cmp byte [rdi], 0xaa
jne case.0x14004c689.48
movzx eax, byte [rbx]
mov byte [rbx + 2], al
xor eax, eax
mov byte [rbx], 0xaf
jmp 0x14004d17c
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
jne case.0x14004c689.21
mov rcx, qword [rbx + 0x10]
movzx eax, byte [rcx]
cmp al, 0xb0
jne 0x14004d0ff
movzx eax, byte [rcx + 2]
cmp al, 0xb1
jne 0x14004d10b
mov rax, qword [rcx + 0x20]
mov esi, dword [rax]
jmp 0x14004d119
cmp al, 0x8a
jne 0x14004d119
mov rax, qword [rcx + 0x20]
mov rcx, qword [rax + 0x20]
mov esi, dword [rcx]
cmp byte [rbx], 0x30
jne 0x14004d135
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rdx + 8]
call fcn.14004ed50
cmp eax, esi
jne 0x14004d142
mov rcx, qword [rdx + 0x28]
jmp 0x14004d139
mov rcx, qword [rbx + 0x18]
call fcn.14004ed50
cmp esi, eax
je case.0x14004c689.21
lea rdx, [0x1400fb610]
mov rcx, r12
call fcn.14000bf90
mov rcx, qword [r12]
test byte [rbx + 4], 3
jne 0x14004d162
mov eax, dword [rbx + 0x34]
test eax, eax
jg 0x14004d16d
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x14004d155
jmp case.0x14004c689.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.1400d91b0
mov rbx, qword [rsp + 0x100]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret