Function at 0x467ca0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
mov edx, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [edx + 0x18]
mov dword [esp + 0x34], edi
mov cl, byte [esi]
movzx eax, cl
mov ebx, dword [edi]
mov dword [esp + 0x18], 1
cmp eax, 0x37
ja 0x467e1c
je 0x467d48
cmp eax, 0x32
ja 0x467d30
je 0x467d82
sub eax, 0x14
je 0x467cfa
sub eax, 0x19
je 0x4682c1
sub eax, 3
je 0x467d48
sub eax, 1
jne 0x468348
test dword [esi + 4], 0x1000
je 0x468348
test byte [edi + 0x18], 0x2e
mov eax, dword [edi + 0x10]
mov dword [esp + 0x34], eax
je 0x467e6d
push esi
push esi
push str.subqueries
mov edx, edi
mov ecx, ebx
call fcn.00467be1
add esp, 0xc
jmp 0x467e78
sub eax, 0x33
je 0x467d82
sub eax, 1
je 0x467d48
sub eax, 1
je 0x467d48
sub eax, 1
jne 0x468348
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x468348
mov ecx, dword [esi + 0xc]
call fcn.00469495
cmp byte [esi], 0x30
mov edi, eax
jne 0x46830b
mov edx, dword [esi + 0x14]
mov ecx, dword [edx + 8]
call fcn.00469495
cmp eax, edi
jne 0x468317
mov ecx, dword [edx + 0x1c]
jmp 0x46830e
xor ecx, ecx
mov edx, edi
cmp ecx, 8
jge 0x467d9a
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0xc]
mov dword [esp + ecx*4 + 0x40], eax
inc ecx
test edx, edx
jne 0x467d86
mov edx, dword [esi + 0xc]
test edx, edx
je 0x467da9
mov ecx, dword [ebp + 8]
call fcn.00466c57
mov ecx, dword [esi + 0xc]
call fcn.0046b01c
test eax, eax
jne 0x4682b8
cmp byte [ebx + 0xd4], 2
jae 0x4682b8
cmp byte [esi], 0x33
mov edx, 0x20000000
mov eax, 0x10000000
cmovne eax, edx
mov edx, str.true
or dword [esi + 4], eax
mov eax, str.false
cmp byte [esi], 0x33
cmove eax, edx
xor ecx, ecx
mov dword [esi + 8], eax
mov byte [esi], 0xaa
cmp ecx, 8
jge 0x467e05
mov eax, dword [esp + ecx*4 + 0x40]
inc ecx
mov dword [edi + 0x10], eax
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x467df1
mov edx, dword [esi + 0xc]
test edx, edx
je 0x467e13
mov ecx, dword [ebx]
call fcn.00469f9d
and dword [esi + 0xc], 0
jmp 0x4682b8
cmp eax, 0x8a
ja 0x467e92
je 0x467cfa
sub eax, 0x38
je 0x467d48
sub eax, 1
je 0x467d48
dec eax
sub eax, 1
je 0x468357
sub eax, 0x10
jne 0x468348
mov ecx, dword [edi + 4]
mov byte [esi], 0xa7
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x2c], eax
mov eax, dword [ecx + 0x34]
dec word [esi + 0x20]
mov dword [esi + 0x1c], eax
mov byte [esi + 1], 0x44
jmp 0x468348
mov edx, dword [esi + 0x14]
mov ecx, dword [ebp + 8]
call fcn.00466db0
mov eax, dword [esp + 0x34]
cmp eax, dword [edi + 0x10]
je 0x468348
or dword [esi + 4], 0x40
or dword [edi + 0x18], 0x40
jmp 0x468348
sub eax, 0x8d
je 0x468357
sub eax, 0xf
je 0x46832f
sub eax, 0xf
je 0x4682c1
sub eax, 1
jne 0x468348
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov dword [esp + 0x30], eax
test eax, eax
je 0x467ecd
mov edx, dword [eax]
mov dword [esp + 0x28], edx
jmp 0x467ed3
mov edx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [ebx]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x10], ecx
mov al, byte [eax + 0x54]
mov byte [esp + 0x24], al
mov eax, dword [edi + 0x18]
and eax, 0x4001
test dword [esi + 4], 0x1000000
mov dword [esp + 0x3c], eax
je 0x467f0a
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
cmp byte [eax + 0x10], 0xa6
jne 0x467f0e
mov dword [esp + 0x1c], ecx
mov eax, dword [esi + 8]
push ecx
push dword [esp + 0x28]
mov ecx, dword [ebx]
push edx
mov edx, eax
mov dword [esp + 0x44], eax
call fcn.00479e80
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
test edx, edx
jne 0x467f67
mov edx, dword [esp + 0x38]
mov ecx, dword [ebx]
push eax
push dword [esp + 0x28]
push 0xfffffffffffffffe
call fcn.00479e80
mov ecx, eax
add esp, 0xc
xor eax, eax
mov dword [esp + 0x14], ecx
test ecx, ecx
sete al
mov dword [esp + 0x20], eax
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 0x2c], eax
jmp 0x4680b0
xor eax, eax
cmp dword [edx + 0x14], eax
setne al
test dword [edx + 4], 0x400
mov dword [esp + 0x10], eax
je 0x467fb3
or dword [esi + 4], 0x80000
cmp dword [esp + 0x28], 2
jne 0x467ff6
mov ecx, dword [esp + 0x30]
mov ecx, dword [ecx + 0x1c]
call fcn.00467c3a
mov dword [esi + 0x1c], eax
test eax, eax
jns 0x467faf
push esi
push str.second_argument_to__T___must_be_a_constant_between_0.0_and_1.0
push ebx
call fcn.00441b18
add esp, 0xc
inc dword [edi + 0x14]
mov edx, dword [esp + 0x14]
push 0
push dword [edx + 0x20]
mov ecx, ebx
push 0
push 0x1f
pop edx
call fcn.00473b56
add esp, 0xc
test eax, eax
je 0x468013
xor ecx, ecx
inc ecx
mov dword [esp + 0x18], ecx
cmp eax, ecx
jne 0x467fec
push esi
push str.not_authorized_to_use_function:__T
push ebx
call fcn.00441b18
mov ecx, dword [esp + 0x24]
add esp, 0xc
inc dword [edi + 0x14]
mov byte [esi], 0x79
mov eax, ecx
jmp 0x4683f8
mov eax, dword [edx + 0x20]
mov ecx, 0x7800000
mov dword [esp + 0x38], 0x800000
cmp byte [eax], 0x75
cmove ecx, dword [esp + 0x38]
mov dword [esi + 0x1c], ecx
jmp 0x467fb3
mov ecx, dword [esp + 0x14]
test dword [ecx + 4], 0x2800
je 0x468027
or dword [esi + 4], 0x100000
test dword [ecx + 4], 0x800
jne 0x468050
test byte [edi + 0x18], 0x2a
je 0x468068
push esi
push 0
push str.non_deterministic_functions
mov edx, edi
mov ecx, ebx
call fcn.00467be1
mov ecx, dword [esp + 0x20]
add esp, 0xc
jmp 0x468068
mov al, byte [edi + 0x18]
and al, 0x2e
mov byte [esi + 2], al
test dword [edi + 0x18], 0x40000
je 0x468068
or dword [esi + 4], 0x40000000
test dword [ecx + 4], 0x40000
je 0x46808f
cmp byte [ebx + 0x12], 0
jne 0x46808f
mov eax, dword [ebx]
test byte [eax + 0x18], 0x20
jne 0x46808f
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
jmp 0x4680b4
test dword [ecx + 4], 0x280000
je 0x4680b0
cmp byte [ebx + 0xd4], 2
jae 0x4680b0
push ecx
mov edx, esi
mov ecx, ebx
call fcn.00469ded
pop ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp byte [ebx + 0xd4], 2
jae 0x4681a9
mov eax, dword [esp + 0x1c]
test ecx, ecx
je 0x4680de
cmp dword [ecx + 0x18], 0
jne 0x4680de
test eax, eax
je 0x4680de
push esi
push str._T___may_not_be_used_as_a_window_function
jmp 0x468161
mov edx, dword [esp + 0x10]
test edx, edx
je 0x46813a
test byte [edi + 0x18], 1
je 0x468106
test dword [ecx + 4], 0x10000
je 0x4680f9
test eax, eax
je 0x468118
test eax, eax
je 0x46813a
test dword [edi + 0x18], 0x4000
jne 0x46813a
test dword [ecx + 4], 0x10000
jne 0x468118
test eax, eax
mov eax, str.aggregate
je 0x46811d
mov eax, str.window
push esi
push eax
push str.misuse_of__s_function__T__
push ebx
call fcn.00441b18
add esp, 0x10
inc dword [edi + 0x14]
and dword [esp + 0x10], 0
jmp 0x4681bb
cmp dword [esp + 0x20], 0
je 0x468154
mov eax, dword [ebx]
cmp byte [eax + 0xb1], 0
jne 0x468154
push esi
push str.no_such_function:__T
jmp 0x468161
cmp dword [esp + 0x2c], 0
je 0x468188
push esi
push str.wrong_number_of_arguments_to_function__T__
push ebx
call fcn.00441b18
mov edx, dword [esp + 0x1c]
add esp, 0xc
inc dword [edi + 0x14]
test edx, edx
je 0x4681bb
xor eax, eax
cmp dword [esp + 0x1c], eax
setne al
add eax, 0xffffbffe
and dword [edi + 0x18], eax
jmp 0x4681bb
test edx, edx
jne 0x468175
test dword [esi + 4], 0x1000000
je 0x4681bb
push esi
push str.FILTER_may_not_be_used_with_non_aggregate__T__
push ebx
call fcn.00441b18
add esp, 0xc
inc dword [edi + 0x14]
jmp 0x4681bb
test dword [esi + 4], 0x1000000
mov eax, dword [esp + 0x10]
cmovne eax, edx
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 8]
call fcn.00466cea
cmp dword [esp + 0x10], 0
je 0x4682b8
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x468249
cmp byte [ebx + 0xd4], 2
mov esi, dword [edi + 0x1c]
jae 0x46820e
test esi, esi
je 0x4681ef
mov eax, dword [esi + 0x48]
jmp 0x4681f1
xor eax, eax
mov ecx, dword [esp + 0x14]
push ecx
push edx
mov edx, eax
mov ecx, ebx
call fcn.0049fe8c
mov eax, dword [ebx]
pop ecx
pop ecx
cmp byte [eax + 0x57], 0
jne 0x468348
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebp + 8]
mov edx, dword [ebx + 8]
call fcn.00466cea
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebp + 8]
call fcn.00466cea
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x468237
mov ecx, dword [ebp + 8]
call fcn.00466c57
mov edx, ebx
mov ecx, esi
call fcn.004a0c23
or dword [edi + 0x18], 0x8000
jmp 0x4682b1
test dword [esi + 4], 0x1000000
mov byte [esi], 0xa8
mov byte [esi + 2], 0
je 0x46826b
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x46826b
mov ecx, dword [ebp + 8]
call fcn.00466c57
push dword [edi + 4]
mov edx, esi
mov ecx, ebx
call fcn.0046ef4e
pop ecx
test eax, eax
jne 0x468286
inc byte [esi + 2]
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x46826b
mov dword [esp + 0x20], edi
test edi, edi
mov edi, dword [esp + 0x34]
je 0x4682b1
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4682b1
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x20]
xor eax, 0xffffefff
and eax, 0x8001000
or eax, 0x10
or dword [ecx + 0x18], eax
mov eax, dword [esp + 0x3c]
or dword [edi + 0x18], eax
mov eax, dword [esp + 0x18]
jmp 0x4683f8
mov ecx, dword [esi + 0x10]
call fcn.004691d3
mov edi, eax
test edi, edi
je 0x467d48
mov al, byte [edi]
cmp al, 0x3b
je 0x4682e1
cmp al, 0xaa
jne 0x467d48
push edi
push edx
call fcn.00467ca0
pop ecx
pop ecx
cmp eax, 2
je 0x4683f8
cmp byte [edi], 0xaa
jne 0x467d48
mov al, byte [esi]
mov byte [esi + 2], al
xor eax, eax
mov byte [esi], 0xaf
jmp 0x4683f8
mov ecx, dword [esi + 0x10]
call fcn.00469495
cmp edi, eax
je 0x468348
push str.row_value_misused
push ebx
call fcn.00441b18
pop ecx
pop ecx
mov ecx, dword [ebx]
mov edx, esi
call fcn.004408cb
jmp 0x468348
test byte [edi + 0x18], 0x2e
je 0x468348
push esi
push esi
push str.parameters
mov edx, edi
mov ecx, ebx
call fcn.00467be1
add esp, 0xc
mov eax, dword [ebx + 0x24]
neg eax
sbb eax, eax
and eax, 2
jmp 0x4683f8
xor eax, eax
cmp cl, 0x3b
jne 0x468368
mov ecx, dword [esi + 8]
mov edx, eax
jmp 0x4683e8
test byte [edi + 0x18], 0x28
mov edx, dword [esi + 0xc]
mov dword [esp + 0x20], edx
je 0x46838e
push esi
push eax
push str.the__.__operator
mov edx, edi
mov ecx, ebx
call fcn.00467be1
mov edx, dword [esp + 0x2c]
add esp, 0xc
xor eax, eax
mov ecx, dword [esi + 0x10]
cmp byte [ecx], 0x3b
je 0x4683a3
mov eax, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x20], edx
cmp byte [ebx + 0xd4], 2
mov edi, dword [ecx + 8]
mov edx, dword [edx + 8]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov dword [esp + 0x3c], edx
jb 0x4683e4
push ecx
mov edx, esi
mov ecx, ebx
call fcn.0046fe88
pop ecx
push dword [esp + 0x20]
lea edx, [esi + 0x2c]
mov ecx, ebx
call fcn.0046fe88
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
pop ecx
mov ecx, dword [esp + 0x2c]
push esi
push edi
push ecx
push edx
mov edx, eax
mov ecx, ebx
call fcn.004670e8
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret