Function at 0x4279b9
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
push ebx
mov ebx, ecx
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0x10]
xor ecx, ecx
push esi
mov esi, dword [ebp + 0x14]
mov eax, dword [ebx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], ecx
push edi
mov edi, ecx
mov dword [esp + 0x4c], ebx
mov ecx, 0xa2
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ecx
or ecx, 0xffffffff
mov dword [esi + 0x18], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], edi
mov dword [esp + 0x40], edx
test ecx, ecx
je 0x427a64
test byte [edx + 0x18], 6
je 0x427a1a
and dword [esp + 0x24], edi
jmp 0x427a64
xor edi, edi
cmp dword [eax + 0x14], edi
jle 0x427a64
mov eax, dword [eax + 0x10]
mov dword [esp + 0x38], eax
mov edx, ecx
mov ecx, dword [eax]
call fcn.00406f6f
mov ecx, dword [esp + 0x28]
test eax, eax
je 0x427a50
mov eax, dword [esp + 0x38]
inc edi
add eax, 0x10
cmp edi, dword [ecx + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
jl 0x427a28
jmp 0x427a5d
mov eax, dword [ecx + 0x10]
add edi, edi
mov eax, dword [eax + edi*8 + 0xc]
mov dword [esp + 0x2c], eax
mov edx, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov dword [esp + 0x54], eax
test eax, eax
je 0x427cb0
xor edx, edx
lea edi, [eax + 8]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edi
cmp dword [eax], edx
jle 0x427c88
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x30], ecx
test eax, eax
je 0x427b21
test dword [eax + 8], 0x800
je 0x427b21
mov eax, dword [eax]
xor edi, edi
and dword [esp + 0x38], 0
mov dword [esp + 0x48], eax
cmp dword [eax], edi
jle 0x427b13
lea ebx, [eax + 0xc]
push dword [esp + 0x24]
mov edx, dword [ebp + 0xc]
push dword [ebp + 8]
mov ecx, dword [ebx]
call fcn.00427927
pop ecx
pop ecx
test eax, eax
je 0x427aef
inc dword [esp + 0x10]
xor ecx, ecx
mov eax, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], eax
mov word [esi + 0x1c], di
mov dword [esp + 0x38], ecx
jmp 0x427af3
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
inc edi
add ebx, 0x18
cmp edi, dword [eax]
jl 0x427ab7
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x427c6c
mov ecx, dword [esp + 0x30]
cmp dword [ebp + 8], 0
mov edi, dword [esp + 0x1c]
je 0x427c70
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
je 0x427b3d
mov eax, dword [esp + 0x2c]
cmp dword [ecx + 0x48], eax
jne 0x427c70
cmp dword [ebp + 8], 0
je 0x427b7b
mov edi, dword [edi + 0xc]
test edi, edi
je 0x427b4e
mov ecx, edi
jmp 0x427b50
mov ecx, dword [ecx]
mov edx, dword [ebp + 8]
call fcn.00406f6f
test eax, eax
jne 0x427c68
cmp byte [ebx + 0xc0], 2
jb 0x427b7b
test edi, edi
je 0x427b7b
lea eax, [esi + 0x28]
xor edx, edx
push eax
mov ecx, ebx
call fcn.0042f471
pop ecx
inc dword [esp + 0x18]
cmp dword [esp + 0x48], 0
mov edi, dword [esp + 0x1c]
mov eax, edi
cmovne eax, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], edx
mov ecx, dword [eax + 4]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x48], ecx
test eax, eax
jle 0x427c68
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx]
call fcn.00406f6f
test eax, eax
jne 0x427c38
mov edx, dword [esp + 0x10]
cmp edx, 1
jne 0x427c0e
test byte [edi + 0x24], 4
jne 0x427c38
mov eax, dword [edi + 0x34]
test eax, eax
je 0x427c0e
mov ecx, dword [eax + 4]
and dword [esp + 0x44], 0
mov dword [esp + 0x50], ecx
test ecx, ecx
jle 0x427c0e
mov edi, dword [eax]
mov edx, dword [ebp + 0xc]
mov ecx, dword [edi]
call fcn.00406f6f
test eax, eax
je 0x427c34
mov eax, dword [esp + 0x44]
add edi, 8
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [esp + 0x50]
jl 0x427be6
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
inc edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
push 0xffffffffffffffff
movsx eax, word [eax + 0x28]
cmp edx, eax
movzx ecx, dx
pop eax
cmove ecx, eax
mov dword [esp + 0x14], edi
mov word [esi + 0x1c], cx
jmp 0x427c68
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
inc eax
add ecx, 0x10
mov dword [esp + 0x38], eax
movsx edx, word [ebx + 0x2a]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x48], ecx
cmp eax, edx
jl 0x427bb0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
inc edx
add edi, 0x48
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], edi
cmp edx, dword [eax]
jl 0x427a88
mov edi, dword [esp + 0x14]
test edi, edi
je 0x427cb0
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x10]
mov dword [esi + 0x28], eax
test byte [edi + 0x24], 8
je 0x427ca9
or dword [esi + 4], 0x100000
mov eax, dword [eax + 0x48]
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x24], 0
mov eax, dword [esp + 0x18]
jne 0x427ecc
cmp dword [ebp + 8], 0
je 0x427ecc
test eax, eax
jne 0x427ecc
xor edi, edi
mov dword [esp + 0x20], edi
cmp dword [ebx + 0x70], edi
je 0x427d26
mov al, byte [ebx + 0x88]
mov byte [esp + 0xf], al
cmp al, 0x7c
je 0x427d0b
mov edx, dword [ebp + 8]
mov ecx, 0x48b130
call fcn.00406f6f
test eax, eax
jne 0x427d04
mov dword [esi + 0x18], 1
jmp 0x427d1f
cmp byte [esp + 0xf], 0x7b
je 0x427d26
mov edx, dword [ebp + 8]
mov ecx, 0x48b134
call fcn.00406f6f
test eax, eax
jne 0x427d26
and dword [esi + 0x18], edi
mov edi, dword [ebx + 0x70]
mov dword [esp + 0x20], edi
mov eax, dword [ebp + 0x10]
test dword [eax + 0x18], 0x200
je 0x427d61
mov eax, dword [eax + 8]
test eax, eax
je 0x427d61
mov edx, dword [ebp + 8]
mov ecx, str.excluded
call fcn.00406f6f
test eax, eax
jne 0x427d61
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 8]
mov eax, dword [eax + 0x14]
mov edi, dword [eax + 0x18]
mov dword [esp + 0x20], edi
mov dword [esi + 0x18], 2
test edi, edi
je 0x427e82
mov edx, dword [esp + 0x20]
mov eax, dword [edi + 0x48]
xor edi, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x18], 1
movsx eax, word [edx + 0x2a]
mov ecx, dword [edx + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], eax
test eax, eax
jle 0x427dcc
mov edx, dword [ebp + 0xc]
mov ecx, dword [ecx]
call fcn.00406f6f
test eax, eax
je 0x427db3
mov ecx, dword [esp + 0x48]
inc edi
add ecx, 0x10
mov dword [esp + 0x48], ecx
cmp edi, dword [esp + 0x44]
jl 0x427d91
jmp 0x427dd0
mov edx, dword [esp + 0x20]
movsx eax, word [edx + 0x28]
cmp edi, eax
jne 0x427dc8
or eax, 0xffffffff
mov edi, eax
mov ecx, eax
jmp 0x427dfe
movsx eax, word [edx + 0x2a]
cmp edi, eax
jl 0x427df4
mov ecx, dword [ebp + 0xc]
call fcn.0042b108
mov edx, dword [esp + 0x20]
test eax, eax
je 0x427df0
test byte [edx + 0x24], 0x40
push 0xffffffffffffffff
pop eax
cmove edi, eax
movsx eax, word [edx + 0x2a]
jmp 0x427df4
mov eax, dword [esp + 0x44]
mov ecx, edi
cmp edi, eax
jge 0x427e82
inc dword [esp + 0x10]
cmp dword [esi + 0x18], 2
jne 0x427e41
cmp byte [ebx + 0xc0], 2
mov ecx, dword [ebp + 0x10]
jb 0x427e25
mov word [esi + 0x1c], di
mov dword [esi + 0x28], edx
mov dword [esp + 0x34], 0xa2
jmp 0x427e85
mov eax, dword [ecx + 8]
mov dword [esp + 0x34], 0xab
mov eax, dword [eax + 0x18]
add eax, edi
or dword [esi + 4], 0x400000
mov dword [esi + 0x18], eax
jmp 0x427e85
test edi, edi
jns 0x427e4b
mov byte [esi + 1], 0x44
jmp 0x427e73
xor eax, eax
inc eax
shl eax, cl
cmp dword [esi + 0x18], 0
push 0xffffffffffffffff
pop ecx
jne 0x427e67
cmp edi, 0x20
cmovge eax, ecx
or dword [ebx + 0x80], eax
jmp 0x427e73
cmp edi, 0x20
cmovge eax, ecx
or dword [ebx + 0x84], eax
mov dword [esi + 0x28], edx
mov word [esi + 0x1c], di
mov dword [esp + 0x34], 0x4d
mov ecx, dword [ebp + 0x10]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x10], 0
jne 0x427ed1
cmp eax, 1
jne 0x427ed1
test edi, edi
je 0x427ed1
test byte [ecx + 0x18], 0x20
jne 0x427ed1
mov ecx, dword [ebp + 0xc]
call fcn.0042b108
test eax, eax
je 0x427ed1
mov eax, dword [edi + 0x10]
test byte [eax + 0x24], 0x40
jne 0x427ed1
xor edi, edi
mov byte [esi + 1], 0x44
inc edi
or eax, 0xffffffff
mov dword [esp + 0x10], edi
mov word [esi + 0x1c], ax
jmp 0x427ed5
mov ecx, dword [ebp + 0x10]
jmp 0x427e8d
mov edi, dword [esp + 0x10]
mov edx, dword [ebp + 0x10]
test byte [edx + 0x18], 0x80
je 0x427f31
test edi, edi
jne 0x427f35
cmp dword [ebp + 8], edi
jne 0x427f78
mov eax, dword [edx + 8]
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
test ecx, ecx
jle 0x427f74
add eax, 8
mov dword [esp + 0x30], eax
cmp dword [eax], 0
je 0x427f1e
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax]
call fcn.00406f6f
test eax, eax
je 0x427fe9
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
inc edi
add eax, 0x18
mov dword [esp + 0x30], eax
cmp edi, ecx
jl 0x427eff
mov edx, dword [ebp + 0x10]
mov edi, dword [esp + 0x10]
test edi, edi
je 0x427f78
cmp edi, 1
je 0x428101
push dword [ebp + 0xc]
test edi, edi
mov ecx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, ecx
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4280cd
push dword [ebp + 8]
push ecx
push eax
push str._s:__s._s._s
push ebx
call fcn.00406e9c
add esp, 0x18
jmp 0x4280f6
mov edi, dword [esp + 0x10]
mov edx, dword [edx + 0xc]
inc dword [esp + 0x3c]
mov dword [ebp + 0x10], edx
test edx, edx
jne 0x427a60
cmp dword [ebp + 8], edx
jne 0x427f3e
test byte [esi + 4], 0x40
je 0x4280bc
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0xa5], dl
jne 0x42809b
mov eax, dword [esp + 0x40]
test dword [eax + 0x18], 0x10000
je 0x42808e
call fcn.004329bc
test eax, eax
je 0x427fd8
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
and eax, 0x40000000
or eax, 0
jne 0x42809b
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
and eax, 0x20000000
jmp 0x428096
mov ecx, dword [ebp + 0x10]
imul eax, edi, 0x18
mov edx, dword [ecx + 8]
mov ecx, dword [eax + edx + 4]
mov eax, dword [ebp + 0x10]
test byte [eax + 0x18], 1
jne 0x428023
test byte [ecx + 4], 0x10
je 0x428023
mov ecx, dword [esp + 0x30]
push dword [ecx]
push str.misuse_of_aliased_aggregate__s
push ebx
call fcn.00406e9c
add esp, 0xc
push 2
pop eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [eax + 0x18], 0x4000
jne 0x428042
test dword [ecx + 4], 0x8000
je 0x428042
mov ecx, dword [esp + 0x30]
push dword [ecx]
push str.misuse_of_aliased_window_function__s
jmp 0x428010
call fcn.004299dc
cmp eax, 1
je 0x42805b
push str.row_value_misused
push ebx
call fcn.00406e9c
pop ecx
pop ecx
jmp 0x428019
mov eax, dword [esp + 0x3c]
mov ecx, ebx
push eax
push 0x4898a8
push esi
push edi
call fcn.00427825
add esp, 0x10
cmp byte [ebx + 0xc0], 2
jb 0x42817b
push esi
xor edx, edx
mov ecx, ebx
call fcn.0042f471
pop ecx
jmp 0x42817b
mov eax, dword [ecx + 0x20]
and eax, 0x40000000
or eax, 0
je 0x4280bc
push dword [ebp + 0xc]
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.004065b6
add esp, 0xc
mov byte [esi], 0x71
and dword [esi + 0x28], 0
xor eax, eax
inc eax
jmp 0x42801c
mov ecx, esi
call fcn.0042ad89
test eax, eax
je 0x427f3e
jmp 0x4280b4
cmp dword [ebp + 8], 0
je 0x4280e7
push dword [ebp + 8]
push eax
push str._s:__s._s
push ebx
call fcn.00406e9c
add esp, 0x14
jmp 0x4280f6
push eax
push str._s:__s
push ebx
call fcn.00406e9c
add esp, 0x10
mov eax, dword [esp + 0x40]
mov byte [ebx + 0x11], 1
inc dword [eax + 0x14]
movzx eax, word [esi + 0x1c]
test ax, ax
js 0x42813d
mov edi, dword [esp + 0x14]
test edi, edi
je 0x428139
movsx edx, ax
cmp edx, 0x40
push 0x3f
pop eax
cmovge edx, eax
xor eax, eax
xor ecx, ecx
bts eax, edx
cmp edx, 0x20
cmovae ecx, eax
xor eax, ecx
cmp edx, 0x40
cmovae ecx, eax
or dword [edi + 0x38], eax
or dword [edi + 0x3c], ecx
mov edi, dword [esp + 0x10]
mov edx, dword [esi + 0xc]
test edx, edx
je 0x42814d
mov ecx, dword [esp + 0x28]
call fcn.0042a139
and dword [esi + 0xc], 0
mov edx, dword [esi + 0x10]
test edx, edx
je 0x428161
mov ecx, dword [esp + 0x28]
call fcn.0042a139
and dword [esi + 0x10], 0
mov ecx, dword [esp + 0x34]
or dword [esi + 4], 0x800000
mov byte [esi], cl
cmp edi, 1
jne 0x428019
test dword [esi + 4], 0x400000
jne 0x428199
mov ecx, dword [ebp + 0x10]
mov edx, esi
push dword [ecx + 4]
mov ecx, ebx
push dword [esp + 0x30]
call fcn.00431efe
pop ecx
pop ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [ebp + 0x10]
jmp 0x4281a5
mov eax, dword [eax + 0xc]
inc dword [eax + 0x10]
cmp eax, ecx
jne 0x4281a2
jmp 0x4280b4