Function at 0x100d6b20
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
mov eax, dword [0x10141004]
xor eax, esp
mov dword [esp + 0x58], eax
mov edx, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [edx + 0x18]
mov dword [esp + 0x18], edx
mov cl, byte [esi]
movzx eax, cl
mov ebx, dword [edi]
add eax, 0xffffffec
cmp eax, 0x97
ja case.0x100d6b60.21
movzx eax, byte [eax + 0x100d7364]
jmp dword [eax*4 + 0x100d7340]
mov ecx, dword [edi + 4]
mov byte [esi], 0xa6
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 case.0x100d6b60.21
xor edx, edx
mov ecx, edi
nop word [eax + eax]
cmp edx, 8
jge 0x100d6ba4
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
mov dword [esp + edx*4 + 0x44], eax
inc edx
test ecx, ecx
jne 0x100d6b90
mov edx, dword [esi + 0xc]
test edx, edx
je 0x100d6bb4
mov ecx, dword [esp + 0x18]
call fcn.100d8830
mov ecx, dword [esi + 0xc]
call fcn.100d2880
test eax, eax
jne 0x100d6c1a
cmp byte [ebx + 0xc8], 2
jae 0x100d6c1a
cmp byte [esi], 0x33
jne 0x100d6bde
or dword [esi + 4], 0x10000000
mov dword [esi + 8], str.true
jmp 0x100d6bec
or dword [esi + 4], 0x20000000
mov dword [esi + 8], str.false
mov byte [esi], 0xa9
xor ecx, ecx
cmp ecx, 8
jge 0x100d6c05
mov eax, dword [esp + ecx*4 + 0x44]
inc ecx
mov dword [edi + 0x10], eax
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x100d6bf1
mov edx, dword [esi + 0xc]
test edx, edx
je 0x100d6c13
mov ecx, dword [ebx]
call fcn.100d4300
mov dword [esi + 0xc], 0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret
cmp cl, 0x3b
jne 0x100d6c5d
mov eax, dword [esi + 8]
xor ecx, ecx
push esi
push edi
push eax
push ecx
xor edx, edx
mov ecx, ebx
call fcn.100d75c0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x18]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x18], ecx
test al, 0x28
je 0x100d6ca8
mov ecx, str.partial_index_WHERE_clauses
test al, 0x20
je 0x100d6c7b
mov eax, str.index_expressions
jmp 0x100d6c90
test al, 4
je 0x100d6c86
mov eax, str.CHECK_constraints
jmp 0x100d6c90
test al, 8
mov eax, str.generated_columns
cmove eax, ecx
push eax
push str.the__.__operator
push str._s_prohibited_in__s
push ebx
call fcn.1010dfc0
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [esi + 0x10]
cmp byte [eax], 0x3b
jne 0x100d6cb4
xor edx, edx
jmp 0x100d6cc1
mov edx, dword [ecx + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], ecx
cmp byte [ebx + 0xc8], 2
mov ecx, dword [ecx + 8]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
jb 0x100d6d06
push eax
mov edx, esi
mov ecx, ebx
call fcn.100cb8f0
add esp, 4
lea edx, [esi + 0x2c]
mov ecx, ebx
push dword [esp + 0x18]
call fcn.100cb8f0
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push esi
push edi
push eax
push ecx
mov ecx, ebx
call fcn.100d75c0
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
mov dword [esp + 0x34], eax
test eax, eax
je 0x100d6d3d
mov ecx, dword [eax]
mov dword [esp + 0x38], ecx
jmp 0x100d6d45
mov dword [esp + 0x38], 0
mov eax, dword [ebx]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x1c], 0
mov al, byte [eax + 0x50]
mov byte [esp + 0x30], al
lea eax, [edi + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [eax]
and eax, 0x4001
test dword [esi + 4], 0x1000000
mov dword [esp + 0x3c], eax
je 0x100d6d8e
mov eax, dword [esi + 0x2c]
mov dword [esp + 0x28], eax
cmp byte [eax + 0x10], 0xa5
jne 0x100d6d94
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov eax, dword [esi + 8]
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.1010e230
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx]
push 0
push dword [esp + 0x34]
mov dword [esp + 0x1c], eax
push dword [esp + 0x40]
call fcn.100bae30
mov edx, eax
add esp, 0xc
mov dword [esp + 0x10], edx
test edx, edx
jne 0x100d6e01
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx]
push eax
push dword [esp + 0x34]
push 0xfffffffffffffffe
call fcn.100bae30
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x100d6df4
mov dword [esp + 0x2c], 1
jmp 0x100d6f8a
mov dword [esp + 0x40], 1
jmp 0x100d6f8a
xor eax, eax
cmp dword [edx + 0x14], eax
setne al
test dword [edx + 4], 0x400
mov dword [esp + 0x1c], eax
je 0x100d6e4c
or dword [esi + 4], 0x40000
cmp dword [esp + 0x38], 2
jne 0x100d6e9d
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x1c]
call fcn.100d7400
mov dword [esi + 0x1c], eax
test eax, eax
jns 0x100d6e48
push str.second_argument_to_likelihood___must_be_a_constant_between_0.0_and_1.0
push ebx
call fcn.1010dfc0
add esp, 8
inc dword [edi + 0x14]
mov edx, dword [esp + 0x10]
push 0
push dword [edx + 0x20]
mov edx, 0x1f
mov ecx, ebx
push 0
call fcn.100c4370
add esp, 0xc
test eax, eax
je 0x100d6eba
cmp eax, 1
jne 0x100d6e83
mov ecx, dword [esp + 0x10]
push dword [ecx + 0x20]
push str.not_authorized_to_use_function:__s
push ebx
call fcn.1010dfc0
add esp, 0xc
inc dword [edi + 0x14]
mov byte [esi], 0x78
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x20]
mov ecx, 0x7800000
mov dword [esp + 0x30], 0x800000
cmp byte [eax], 0x75
cmove ecx, dword [esp + 0x30]
mov dword [esi + 0x1c], ecx
jmp 0x100d6e4c
mov ecx, dword [esp + 0x10]
test dword [ecx + 4], 0x2800
je 0x100d6ece
or dword [esi + 4], 0x80000
test dword [ecx + 4], 0x800
jne 0x100d6f20
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test al, 0x2a
je 0x100d6f3a
mov ecx, str.partial_index_WHERE_clauses
test al, 0x20
je 0x100d6ef1
mov eax, str.index_expressions
jmp 0x100d6f06
test al, 4
je 0x100d6efc
mov eax, str.CHECK_constraints
jmp 0x100d6f06
test al, 8
mov eax, str.generated_columns
cmove eax, ecx
push eax
push str.non_deterministic_functions
push str._s_prohibited_in__s
push ebx
call fcn.1010dfc0
mov ecx, dword [esp + 0x20]
add esp, 0x10
jmp 0x100d6f3a
mov edx, dword [esp + 0x20]
mov al, byte [edx]
and al, 0x2e
mov byte [esi + 2], al
test dword [edx], 0x40000
je 0x100d6f3a
or dword [esi + 4], 0x40000000
mov edx, dword [ecx + 4]
test edx, 0x40000
je 0x100d6f63
cmp byte [ebx + 0x12], 0
jne 0x100d6f63
mov eax, dword [ebx]
test byte [eax + 0x18], 0x20
jne 0x100d6f63
xor ecx, ecx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x10], ecx
jmp 0x100d6f8a
test edx, 0x280000
je 0x100d6f8a
cmp byte [ebx + 0xc8], 2
jae 0x100d6f8a
test dword [esi + 4], 0x40000000
je 0x100d6f8a
mov edx, ecx
mov ecx, ebx
call fcn.100d4510
mov ecx, dword [esp + 0x10]
cmp byte [ebx + 0xc8], 2
mov edx, 1
jae 0x100d70be
mov eax, dword [esp + 0x28]
test ecx, ecx
je 0x100d6fc0
cmp dword [ecx + 0x18], 0
jne 0x100d6fc0
test eax, eax
je 0x100d6fc0
push dword [esp + 0x24]
push dword [esp + 0x18]
push str._.s___may_not_be_used_as_a_window_function
jmp 0x100d706b
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x100d7036
mov edx, dword [esp + 0x20]
mov edx, dword [edx]
test dl, 1
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x1c]
je 0x100d6ff8
test dword [ecx + 4], 0x10000
je 0x100d6fea
test eax, eax
je 0x100d6ff8
jmp 0x100d6fee
test eax, eax
je 0x100d7036
test dword [esp + 0x30], 0x4000
jne 0x100d7036
test dword [ecx + 4], 0x10000
jne 0x100d700a
test eax, eax
mov eax, str.aggregate
je 0x100d700f
mov eax, str.window
push dword [esp + 0x24]
push dword [esp + 0x18]
push eax
push str.misuse_of__s_function__.s__
push ebx
call fcn.1010dfc0
add esp, 0x14
mov dword [esp + 0x1c], 0
inc dword [edi + 0x14]
jmp 0x100d70d0
cmp dword [esp + 0x2c], 0
je 0x100d7057
mov eax, dword [ebx]
cmp byte [eax + 0xb1], 0
jne 0x100d7057
push dword [esp + 0x24]
push dword [esp + 0x18]
push str.no_such_function:__.s
jmp 0x100d706b
cmp dword [esp + 0x40], 0
je 0x100d7096
push dword [esp + 0x24]
push dword [esp + 0x18]
push str.wrong_number_of_arguments_to_function__.s__
push ebx
call fcn.1010dfc0
inc dword [edi + 0x14]
add esp, 0x10
cmp dword [esp + 0x1c], 0
je 0x100d70d0
mov ecx, dword [esp + 0x28]
xor eax, eax
test ecx, ecx
mov ecx, dword [esp + 0x20]
setne al
add eax, 0xffffbffe
and dword [ecx], eax
jmp 0x100d70d0
test edx, edx
jne 0x100d707e
test dword [esi + 4], 0x1000000
je 0x100d70d0
push dword [esp + 0x24]
push dword [esp + 0x18]
push str.FILTER_may_not_be_used_with_non_aggregate__.s__
push ebx
call fcn.1010dfc0
add esp, 0x10
inc dword [edi + 0x14]
jmp 0x100d70d0
test dword [esi + 4], 0x1000000
mov eax, dword [esp + 0x1c]
cmovne eax, edx
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x18]
call fcn.100d87e0
cmp dword [esp + 0x1c], 0
je 0x100d7202
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100d7181
cmp byte [ebx + 0xc8], 2
mov esi, dword [edi + 0x1c]
jae 0x100d7127
test esi, esi
je 0x100d7109
mov edx, dword [esi + 0x48]
jmp 0x100d710b
xor edx, edx
mov ecx, dword [esp + 0x10]
push ecx
push eax
mov ecx, ebx
call fcn.10083360
mov eax, dword [ebx]
add esp, 8
cmp byte [eax + 0x53], 0
jne case.0x100d6b60.21
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov ecx, edi
mov edx, dword [ebx + 8]
call fcn.100d87e0
mov edx, dword [ebx + 0xc]
mov ecx, edi
call fcn.100d87e0
mov edx, dword [ebx + 0x28]
test edx, edx
je 0x100d7151
mov ecx, edi
call fcn.100d8830
mov edx, ebx
mov ecx, esi
call fcn.10082250
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
or dword [eax], 0x8000
or dword [eax], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret
test dword [esi + 4], 0x1000000
mov byte [esi], 0xa7
mov byte [esi + 2], 0
je 0x100d71a4
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x100d71a4
mov ecx, dword [esp + 0x18]
call fcn.100d8830
mov edx, dword [edi + 4]
mov ecx, esi
call fcn.100ccc60
test eax, eax
jne 0x100d71db
inc byte [esi + 2]
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x100d71a4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
or dword [eax], ecx
lea eax, [edi + 1]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x100d71f8
mov ecx, dword [ecx + 4]
xor ecx, 0xffffefff
and ecx, 0x8001000
or ecx, 0x10
or dword [edi + 0x18], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
or dword [eax], ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret
test dword [esi + 4], 0x800
je case.0x100d6b60.21
test byte [edi + 0x18], 0x2e
mov eax, dword [edi + 0x10]
mov dword [esp + 0x3c], eax
je 0x100d7247
push esi
push str.subqueries
mov edx, edi
mov ecx, ebx
call fcn.100d7470
add esp, 8
jmp 0x100d7253
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.100d85e0
mov eax, dword [esp + 0x3c]
cmp eax, dword [edi + 0x10]
je case.0x100d6b60.21
or dword [esi + 4], 0x20
or dword [edi + 0x18], 0x40
jmp case.0x100d6b60.21
test byte [edi + 0x18], 0x2e
je case.0x100d6b60.21
push esi
push str.parameters
mov edx, edi
mov ecx, ebx
call fcn.100d7470
jmp 0x100d7315
mov ecx, dword [esi + 0x10]
call fcn.100d5a50
mov edi, eax
test edi, edi
je case.0x100d6b60.48
mov al, byte [edi]
cmp al, 0x3b
je 0x100d72a3
cmp al, 0xa9
jne case.0x100d6b60.48
push edi
push edx
call fcn.100d6b20
add esp, 8
cmp eax, 2
je 0x100d7326
cmp byte [edi], 0xa9
jne case.0x100d6b60.48
mov al, byte [esi]
mov byte [esi + 2], al
mov byte [esi], 0xae
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
jne case.0x100d6b60.21
mov ecx, dword [esi + 0xc]
call fcn.100d54d0
cmp byte [esi], 0x30
mov edx, eax
jne 0x100d72fe
mov esi, dword [esi + 0x14]
mov ecx, dword [esi + 8]
call fcn.100d54d0
cmp eax, edx
jne 0x100d730a
mov ecx, dword [esi + 0x1c]
jmp 0x100d7301
mov ecx, dword [esi + 0x10]
call fcn.100d54d0
cmp edx, eax
je case.0x100d6b60.21
push str.row_value_misused
push ebx
call fcn.1010dfc0
add esp, 8
cmp dword [ebx + 0x24], 0
jne 0x100d7326
mov eax, dword [ebx]
cmp byte [eax + 0x53], 0
je 0x100d72bf
mov ecx, dword [esp + 0x64]
mov eax, 2
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100011bc
mov esp, ebp
pop ebp
ret