Function at 0xaeed5c
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
movzx eax, al
cmp eax, 0x39
jg 0xaeedc0
cmp eax, 0x34
jge 0xaef817
cmp eax, 0x30
je 0xaef817
cmp eax, 0x30
jg 0xaeedb2
cmp eax, 0x14
je 0xaef6e2
cmp eax, 0x2d
je 0xaef79e
jmp 0xaef8c0
cmp eax, 0x31
je 0xaef6e2
jmp 0xaeee65
cmp eax, 0x8c
je 0xaeef8e
cmp eax, 0x8c
jg 0xaeedf0
cmp eax, 0x4b
je 0xaeee16
cmp eax, 0x89
je 0xaef6e2
cmp eax, 0x3b
je 0xaeef8e
jmp 0xaef8c0
cmp eax, 0xaa
je 0xaef79e
cmp eax, 0xab
je 0xaef084
cmp eax, 0x9b
je 0xaef772
jmp 0xaef8c0
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 4]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
add eax, 8
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 0xc]
mov byte [eax], 0xa6
mov eax, dword [ebp - 0x74]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x74]
mov edx, dword [eax + 0x2c]
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp + 0xc]
movzx eax, word [eax + 0x20]
sub eax, 1
mov edx, eax
mov eax, dword [ebp + 0xc]
mov word [eax + 0x20], dx
mov eax, dword [ebp + 0xc]
mov byte [eax + 1], 0x44
jmp 0xaef8c0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc], eax
jmp 0xaeee91
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa4], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc], eax
add dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
je 0xaeee9d
cmp dword [ebp - 0x10], 7
jle 0xaeee74
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
sub esp, 8
push eax
push dword [ebp + 8]
call fcn.00aed731
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
sub esp, 0xc
push eax
call fcn.00af3c06
add esp, 0x10
test eax, eax
jne 0xaeef84
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0xc8]
cmp al, 1
ja 0xaeef84
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp al, 0x33
jne 0xaeef07
mov eax, dword [ebp + 0xc]
mov dword [eax + 8], str.true
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
or eax, 0x10000000
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], edx
jmp 0xaeef24
mov eax, dword [ebp + 0xc]
mov dword [eax + 8], str.false
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
or eax, 0x20000000
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0xc]
mov byte [eax], 0xa9
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0xc], eax
jmp 0xaeef56
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + eax*4 - 0xa4]
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc], eax
add dword [ebp - 0x10], 1
cmp dword [ebp - 0xc], 0
je 0xaeef62
cmp dword [ebp - 0x10], 7
jle 0xaeef39
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
sub esp, 8
push edx
push eax
call fcn.00af21bc
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], 0
mov eax, 1
jmp 0xaef8e3
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp al, 0x3b
jne 0xaeefb4
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x14], eax
jmp 0xaef062
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 0x28
test eax, eax
je 0xaeefdf
push 0
push str.the__.__operator
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.00aeec6a
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
cmp al, 0x3b
jne 0xaeeffb
mov dword [ebp - 0x1c], 0
jmp 0xaef016
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0xc8]
cmp al, 1
jbe 0xaef062
sub esp, 4
push dword [ebp - 0x20]
push dword [ebp + 0xc]
push dword [ebp - 0x48]
call fcn.00afa745
add esp, 0x10
mov eax, dword [ebp + 0xc]
add eax, 0x2c
sub esp, 4
push dword [ebp - 0x24]
push eax
push dword [ebp - 0x48]
call fcn.00afa745
add esp, 0x10
sub esp, 8
push dword [ebp + 0xc]
push dword [ebp - 0x44]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x48]
call fcn.00aedf51
add esp, 0x20
jmp 0xaef8e3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0xaef09a
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
jmp 0xaef09f
mov eax, 0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
movzx eax, byte [eax + 0x50]
mov byte [ebp - 0x51], al
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 0x4001
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
and eax, 0x1000000
test eax, eax
je 0xaef0f6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x2c]
movzx eax, byte [eax + 0x10]
cmp al, 0xa5
je 0xaef0f6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x2c]
jmp 0xaef0fb
mov eax, 0
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 0x60], eax
sub esp, 0xc
push dword [ebp - 0x60]
call fcn.00aae942
add esp, 0x10
mov dword [ebp - 0x64], eax
movzx edx, byte [ebp - 0x51]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
sub esp, 0xc
push 0
push edx
push dword [ebp - 0x50]
push dword [ebp - 0x60]
push eax
call fcn.00b08d88
add esp, 0x20
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0xaef17d
movzx edx, byte [ebp - 0x51]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
sub esp, 0xc
push 0
push edx
push 0xfffffffffffffffe
push dword [ebp - 0x60]
push eax
call fcn.00b08d88
add esp, 0x20
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0xaef171
mov dword [ebp - 0x28], 1
jmp 0xaef376
mov dword [ebp - 0x2c], 1
jmp 0xaef376
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x14]
test eax, eax
setne al
movzx eax, al
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, 0x400
test eax, eax
je 0xaef221
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
or eax, 0x40000
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], edx
cmp dword [ebp - 0x50], 2
jne 0xaef202
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x1c]
sub esp, 0xc
push eax
call fcn.00aeecdc
add esp, 0x10
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x1c]
test eax, eax
jns 0xaef221
sub esp, 8
push str.second_argument_to_likelihood___must_be_a_constant_between_0.0_and_1.0
push dword [ebp - 0x48]
call fcn.00aaeb3c
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
jmp 0xaef221
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x20]
movzx eax, byte [eax]
cmp al, 0x75
jne 0xaef216
mov edx, 0x800000
jmp 0xaef21b
mov edx, 0x7800000
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x1c], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x20]
sub esp, 0xc
push 0
push eax
push 0
push 0x1f
push dword [ebp - 0x48]
call fcn.00affb84
add esp, 0x20
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0
je 0xaef284
cmp dword [ebp - 0x68], 1
jne 0xaef274
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x20]
sub esp, 4
push eax
push str.not_authorized_to_use_function:__s
push dword [ebp - 0x48]
call fcn.00aaeb3c
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
mov eax, dword [ebp + 0xc]
mov byte [eax], 0x78
mov eax, 1
jmp 0xaef8e3
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, 0x2800
test eax, eax
je 0xaef2a6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
or eax, 0x80000
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, 0x800
test eax, eax
jne 0xaef2d9
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 0x2a
test eax, eax
je 0xaef30c
push 0
push str.non_deterministic_functions
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.00aeec6a
add esp, 0x10
jmp 0xaef30c
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 0x2e
mov edx, eax
mov eax, dword [ebp + 0xc]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 0x40000
test eax, eax
je 0xaef30c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
or eax, 0x40000000
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, 0x40000
test eax, eax
je 0xaef345
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0x12]
test al, al
jne 0xaef345
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
and eax, 0x20
test eax, eax
jne 0xaef345
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x34], 0
jmp 0xaef376
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, 0x280000
test eax, eax
je 0xaef376
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0xc8]
cmp al, 1
ja 0xaef376
sub esp, 4
push dword [ebp - 0x34]
push dword [ebp + 0xc]
push dword [ebp - 0x48]
call fcn.00af1dfa
add esp, 0x10
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0xc8]
cmp al, 1
ja 0xaef539
cmp dword [ebp - 0x34], 0
je 0xaef3c8
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0xaef3c8
cmp dword [ebp - 0x5c], 0
je 0xaef3c8
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push str._.s___may_not_be_used_as_a_window_function
push dword [ebp - 0x48]
call fcn.00aaeb3c
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
jmp 0xaef511
cmp dword [ebp - 0x30], 0
je 0xaef3db
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 1
test eax, eax
je 0xaef411
cmp dword [ebp - 0x30], 0
je 0xaef3f6
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, 0x10000
test eax, eax
je 0xaef3f6
cmp dword [ebp - 0x5c], 0
je 0xaef411
cmp dword [ebp - 0x30], 0
je 0xaef46d
cmp dword [ebp - 0x5c], 0
je 0xaef46d
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 0x4000
test eax, eax
jne 0xaef46d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, 0x10000
test eax, eax
jne 0xaef426
cmp dword [ebp - 0x5c], 0
je 0xaef42f
mov dword [ebp - 0x38], str.window
jmp 0xaef436
mov dword [ebp - 0x38], str.aggregate
sub esp, 0xc
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push dword [ebp - 0x38]
push str.misuse_of__s_function__.s__
push dword [ebp - 0x48]
call fcn.00aaeb3c
add esp, 0x20
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
mov dword [ebp - 0x30], 0
jmp 0xaef511
cmp dword [ebp - 0x28], 0
je 0xaef4aa
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
movzx eax, byte [eax + 0xa9]
test al, al
jne 0xaef4aa
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push str.no_such_function:__.s
push dword [ebp - 0x48]
call fcn.00aaeb3c
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
jmp 0xaef511
cmp dword [ebp - 0x2c], 0
je 0xaef4d7
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push str.wrong_number_of_arguments_to_function__.s__
push dword [ebp - 0x48]
call fcn.00aaeb3c
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
jmp 0xaef511
cmp dword [ebp - 0x30], 0
jne 0xaef511
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
and eax, 0x1000000
test eax, eax
je 0xaef511
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push str.FILTER_may_not_be_used_with_non_aggregate__.s__
push dword [ebp - 0x48]
call fcn.00aaeb3c
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x14]
lea edx, [eax + 1]
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
cmp dword [ebp - 0x30], 0
je 0xaef54f
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
cmp dword [ebp - 0x5c], 0
jne 0xaef52a
mov edx, 0xffffbffe
jmp 0xaef52f
mov edx, 0xffffbfff
and edx, eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x18], edx
jmp 0xaef54f
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
and eax, 0x1000000
test eax, eax
je 0xaef54f
mov dword [ebp - 0x30], 1
sub esp, 8
push dword [ebp - 0x4c]
push dword [ebp + 8]
call fcn.00aed757
add esp, 0x10
cmp dword [ebp - 0x30], 0
je 0xaef6d8
cmp dword [ebp - 0x5c], 0
je 0xaef627
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x48]
movzx eax, byte [eax + 0xc8]
cmp al, 1
ja 0xaef5c1
cmp dword [ebp - 0x6c], 0
je 0xaef599
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x48]
jmp 0xaef59e
mov eax, 0
push dword [ebp - 0x34]
push dword [ebp - 0x5c]
push eax
push dword [ebp - 0x48]
call fcn.00b3ea93
add esp, 0x10
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
movzx eax, byte [eax + 0x53]
test al, al
jne 0xaef8b3
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 8]
sub esp, 8
push eax
push dword [ebp + 8]
call fcn.00aed757
add esp, 0x10
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0xc]
sub esp, 8
push eax
push dword [ebp + 8]
call fcn.00aed757
add esp, 0x10
mov eax, dword [ebp - 0x5c]
mov eax, dword [eax + 0x28]
sub esp, 8
push eax
push dword [ebp + 8]
call fcn.00aed731
add esp, 0x10
sub esp, 8
push dword [ebp - 0x5c]
push dword [ebp - 0x6c]
call fcn.00b3fd3b
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
or ah, 0x80
mov edx, eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x18], edx
jmp 0xaef6c7
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0xc]
mov byte [eax], 0xa7
mov eax, dword [ebp + 0xc]
mov byte [eax + 2], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
and eax, 0x1000000
test eax, eax
je 0xaef67c
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x28]
sub esp, 8
push eax
push dword [ebp + 8]
call fcn.00aed731
add esp, 0x10
jmp 0xaef67c
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax + 2]
lea edx, [eax + 1]
mov eax, dword [ebp + 0xc]
mov byte [eax + 2], dl
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0xaef69b
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 4]
sub esp, 8
push eax
push dword [ebp + 0xc]
call fcn.00af8fbe
add esp, 0x10
test eax, eax
je 0xaef663
cmp dword [ebp - 0x3c], 0
je 0xaef6c7
cmp dword [ebp - 0x34], 0
je 0xaef6c7
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x18]
mov edx, eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
and eax, 0x1000
or eax, edx
or eax, 0x10
mov edx, eax
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
or eax, dword [ebp - 0x58]
mov edx, eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x18], edx
mov eax, 1
jmp 0xaef8e3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
and eax, 0x800
test eax, eax
je 0xaef8b6
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 0x2e
test eax, eax
je 0xaef724
push dword [ebp + 0xc]
push str.subqueries
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.00aeec6a
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
sub esp, 8
push eax
push dword [ebp + 8]
call fcn.00aed980
add esp, 0x10
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x10]
cmp dword [ebp - 0x84], eax
je 0xaef8b6
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
or eax, 0x20
mov edx, eax
mov eax, dword [ebp + 0xc]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
or eax, 0x40
mov edx, eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0x18], edx
jmp 0xaef8b6
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x18]
and eax, 0x2e
test eax, eax
je 0xaef8b9
push dword [ebp + 0xc]
push str.parameters
push dword [ebp - 0x44]
push dword [ebp - 0x48]
call fcn.00aeec6a
add esp, 0x10
jmp 0xaef8b9
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub esp, 0xc
push eax
call fcn.00af0c41
add esp, 0x10
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0xaef817
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax]
cmp al, 0x3b
je 0xaef7cd
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax]
cmp al, 0xa9
jne 0xaef817
sub esp, 8
push dword [ebp - 0x78]
push dword [ebp + 8]
call fcn.00aeed5c
add esp, 0x10
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 2
jne 0xaef7f1
mov eax, 2
jmp 0xaef8e3
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax]
cmp al, 0xa9
jne 0xaef817
mov eax, dword [ebp + 0xc]
movzx edx, byte [eax]
mov eax, dword [ebp + 0xc]
mov byte [eax + 2], dl
mov eax, dword [ebp + 0xc]
mov byte [eax], 0xae
mov eax, 0
jmp 0xaef8e3
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
movzx eax, byte [eax + 0x53]
test al, al
jne 0xaef8bc
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
sub esp, 0xc
push eax
call fcn.00af122c
add esp, 0x10
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
cmp al, 0x30
jne 0xaef881
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 8]
sub esp, 0xc
push eax
call fcn.00af122c
add esp, 0x10
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x80]
jne 0xaef896
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
sub esp, 0xc
push eax
call fcn.00af122c
add esp, 0x10
mov dword [ebp - 0x40], eax
jmp 0xaef896
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
sub esp, 0xc
push eax
call fcn.00af122c
add esp, 0x10
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebp - 0x40]
je 0xaef8bf
sub esp, 8
push str.row_value_misused
push dword [ebp - 0x48]
call fcn.00aaeb3c
add esp, 0x10
jmp 0xaef8bf
nop
jmp 0xaef8c0
nop
jmp 0xaef8c0
nop
jmp 0xaef8c0
nop
jmp 0xaef8c0
nop
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x24]
test eax, eax
jne 0xaef8d7
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
movzx eax, byte [eax + 0x53]
test al, al
je 0xaef8de
mov eax, 2
jmp 0xaef8e3
mov eax, 0
leave
ret