Function at 0x665ceea0
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x11c
mov eax, dword [esp + 0x130]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x134]
movzx eax, byte [eax]
cmp al, 0x4b
ja 0x665cef2e
cmp al, 0x13
jbe case.0x665cef38.1
lea edx, [eax - 0x14]
cmp dl, 0x37
ja case.0x665cef38.1
movzx edx, dl
jmp dword [edx*4 + 0x66680490]
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x134]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x34]
sub word [edi + 0x20], 1
mov dword [edi + 0x1c], eax
mov eax, edi
mov dword [edi + 0x2c], edx
mov edi, 0x44a6
mov word [eax], di
lea esi, [esi]
nop
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 0x24]
test eax, eax
jne 0x665cef5e
mov edx, dword [edi]
cmp byte [edx + 0x53], 0
jne 0x665cef5e
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret
add eax, 0x77
cmp al, 0x22
ja case.0x665cef38.1
movzx eax, al
jmp dword [eax*4 + 0x66680570]
movzx eax, byte [ebx]
cmp al, 0x3b
je 0x665cfcb6
cmp al, 0xa9
je 0x665cfcb6
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
cmp byte [eax + 0x53], 0
je 0x665cef6e
add esp, 0x11c
mov eax, 2
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 0xc]
movzx ecx, byte [eax]
cmp cl, 0xaf
jne 0x665cef84
movzx ecx, byte [eax + 2]
cmp cl, 0xb0
je 0x665d0800
mov edx, 1
cmp cl, 0x89
jne 0x665cef9f
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
mov eax, dword [esp + 0x134]
cmp byte [eax], 0x30
je 0x665cfa71
mov eax, dword [esp + 0x134]
mov ecx, dword [eax + 0x10]
movzx ebx, byte [ecx]
cmp bl, 0xaf
je 0x665cfab5
cmp bl, 0xb0
je 0x665d099b
mov eax, 1
cmp bl, 0x89
je 0x665cfc4b
cmp eax, edx
je case.0x665cef38.1
mov eax, dword [esp + 0x44]
mov dword [esp + 4], str.row_value_misused
mov dword [esp], eax
call fcn.665b3dd0
jmp case.0x665cef38.1
mov eax, dword [esp + 0x60]
mov edx, dword [eax + 0x18]
test dl, 0x2e
je case.0x665cef38.1
mov eax, str.index_expressions
test dl, 0x20
jne 0x665cf031
mov eax, str.CHECK_constraints
test dl, 4
jne 0x665cf031
and edx, 8
mov eax, str.partial_index_WHERE_clauses
mov edx, str.generated_columns
cmovne eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], str.parameters
mov dword [esp], eax
mov dword [esp + 4], str._s_prohibited_in__s
call fcn.665b3dd0
mov eax, dword [esp + 0x134]
mov byte [eax], 0x78
jmp case.0x665cef38.1
mov eax, dword [esp + 0x134]
test byte [eax + 5], 8
je case.0x665cef38.1
mov eax, dword [esp + 0x60]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x10]
test dl, 0x2e
jne 0x665cfc58
mov eax, dword [esp + 0x134]
mov edx, dword [eax + 0x14]
test edx, edx
je case.0x665cef38.1
mov eax, dword [esp + 0x130]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x665cf0a9
call fcn.665a6d70
mov eax, dword [esp + 0x60]
cmp dword [eax + 0x10], ebx
je case.0x665cef38.1
mov esi, dword [esp + 0x134]
or dword [esi + 4], 0x20
or dword [eax + 0x18], 0x40
jmp case.0x665cef38.1
mov eax, dword [esp + 0x134]
mov ebx, dword [eax + 0x10]
test ebx, ebx
jne 0x665cf0ee
jmp case.0x665ceedb.28
mov eax, dword [ebx + 0x14]
mov ebx, dword [eax + 4]
test ebx, ebx
je case.0x665ceedb.28
mov eax, dword [ebx + 4]
test eax, 0x41000
je 0x665cef3f
test eax, 0x40000
jne 0x665cf0e0
mov ebx, dword [ebx + 0xc]
jmp 0x665cf0e6
mov eax, dword [esp + 0x134]
xor ebx, ebx
mov esi, dword [eax + 0x14]
test esi, esi
je 0x665cf11a
mov ebx, dword [esi]
mov eax, dword [esp + 0x44]
xor ebp, ebp
mov eax, dword [eax]
mov edi, eax
movzx eax, byte [eax + 0x50]
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x134]
test byte [eax + 7], 1
je 0x665cf153
mov ebp, dword [eax + 0x2c]
mov eax, 0
cmp byte [ebp + 0x10], 0xa5
cmove ebp, eax
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
test eax, eax
je 0x665d09c9
mov dword [esp], eax
call sub.msvcrt.dll_strlen
and eax, 0x3fffffff
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], eax
mov dword [esp + 0x24], eax
mov eax, edi
call fcn.6659f700
mov dword [esp + 0x20], eax
test eax, eax
je 0x665d0908
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x14]
mov dword [esp + 0x30], edi
test byte [eax + 5], 4
jne 0x665cf58d
mov eax, dword [eax + 0x20]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov edx, 0x1f
mov dword [esp + 4], 0
call fcn.665b6330
mov ebx, eax
test eax, eax
jne 0x665d086f
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
test ch, 0x28
je 0x665cf1fe
mov eax, dword [esp + 0x134]
or dword [eax + 4], 0x80000
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
test ch, 8
je 0x665cfbf6
mov edi, dword [esp + 0x134]
mov edx, eax
and edx, 0x2e
mov byte [edi + 2], dl
test eax, 0x40000
je 0x665cf22b
or dword [edi + 4], 0x40000000
mov edx, dword [esp + 0x30]
xor eax, eax
test edx, edx
setne al
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
movzx edx, byte [eax + 0xc8]
test ecx, 0x40000
je 0x665d0491
cmp byte [eax + 0x12], 0
jne 0x665d0491
mov eax, dword [eax]
test byte [eax + 0x18], 0x20
jne 0x665d0491
cmp dl, 1
jbe 0x665d0cc8
mov eax, dword [esp + 0x134]
mov dword [esp + 0x20], 0
mov eax, dword [eax + 4]
test eax, 0x1000000
je 0x665d072f
test esi, esi
je 0x665cf2ce
mov ebx, dword [esi]
mov dword [esp + 0x24], 1
add esi, 4
test ebx, ebx
jle 0x665cf2ce
mov edi, dword [esp + 0x130]
mov edx, dword [esi]
test edx, edx
je 0x665cf2ba
mov eax, edi
call fcn.665a6500
test eax, eax
jne 0x665cf2c2
add esi, 0x14
sub ebx, 1
jne 0x665cf2a9
mov eax, dword [esp + 0x24]
test eax, eax
je 0x665cf474
test ebp, ebp
je 0x665d0b3b
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x44]
cmp byte [eax + 0xc8], 1
ja 0x665cf369
mov eax, dword [esp + 0x24]
mov edi, dword [ebp]
test eax, eax
je 0x665d0dba
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x48]
test edi, edi
je 0x665cf312
cmp byte [ebp + 0x10], 0
je 0x665cfb3a
mov eax, dword [esp + 0x44]
mov ecx, ebx
mov edx, ebp
call fcn.665bb2b0
movzx eax, byte [ebp + 0x10]
cmp al, 0x59
je 0x665d1010
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x20]
mov eax, dword [edi]
test byte [esi + 6], 1
je 0x665cf358
mov ebx, dword [ebp + 0x28]
test ebx, ebx
je 0x665d11da
mov dword [esp + 4], str.FILTER_clause_may_only_be_used_with_aggregate_window_functions
mov dword [esp], edi
call fcn.665b3dd0
mov eax, dword [edi]
mov esi, dword [esp + 0x20]
mov dword [ebp + 0x2c], esi
cmp byte [eax + 0x53], 0
jne 0x665cef5e
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x665cf397
mov esi, dword [ebx]
add ebx, 4
test esi, esi
jle 0x665cf397
mov edx, dword [ebx]
test edx, edx
je 0x665cf38f
mov eax, dword [esp + 0x130]
call fcn.665a6500
test eax, eax
jne 0x665cf397
add ebx, 0x14
sub esi, 1
jne 0x665cf379
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x665cf3c5
mov esi, dword [ebx]
add ebx, 4
test esi, esi
jle 0x665cf3c5
mov edx, dword [ebx]
test edx, edx
je 0x665cf3bd
mov eax, dword [esp + 0x130]
call fcn.665a6500
test eax, eax
jne 0x665cf3c5
add ebx, 0x14
sub esi, 1
jne 0x665cf3a7
mov edx, dword [ebp + 0x28]
test edx, edx
je 0x665cf3d8
mov eax, dword [esp + 0x130]
call fcn.665a6500
mov eax, dword [esp + 0x24]
mov edx, ebp
call fcn.665c4ab0
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x20], eax
or ah, 0x80
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x60]
and edx, 0x4001
or eax, edx
mov dword [esi + 0x18], eax
mov eax, 1
jmp 0x665cef23
mov eax, dword [esp + 0x60]
xor edx, edx
lea ebx, [esp + 0x90]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [ebx + edx*4], ecx
add edx, 1
test eax, eax
je 0x665cf430
cmp edx, 7
jle 0x665cf41b
mov eax, dword [esp + 0x134]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x665cf454
mov eax, dword [esp + 0x130]
call fcn.665a6500
mov eax, dword [esp + 0x134]
mov edx, dword [eax + 0xc]
mov eax, edx
mov dword [esp + 0x20], edx
call fcn.66583070
test eax, eax
jne 0x665cf474
mov edi, dword [esp + 0x44]
cmp byte [edi + 0xc8], 1
jbe 0x665cfabe
add esp, 0x11c
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x60]
mov edi, dword [edi + 0x18]
mov dword [esp + 0x78], edi
cmp al, 0x3b
je 0x665cf5ca
mov eax, dword [esp + 0x134]
mov ebx, dword [eax + 0xc]
test byte [esp + 0x78], 0x28
jne 0x665cfa13
mov eax, dword [esp + 0x134]
mov esi, dword [esp + 0x44]
mov edi, dword [ebx + 8]
mov edx, dword [eax + 0x10]
movzx eax, byte [esi + 0xc8]
mov dword [esp + 0x40], edi
mov edi, dword [esi]
cmp byte [edx], 0x3b
mov dword [esp + 0x74], edi
je 0x665cf9dd
mov ebx, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
mov edi, dword [ebx + 8]
mov dword [esp + 0x38], edi
mov edi, dword [edx + 8]
cmp al, 1
jbe 0x665cf539
mov eax, dword [esi + 0x10c]
mov dword [esp + 0x58], eax
test eax, eax
je 0x665cf539
mov eax, dword [esp + 0x58]
jmp 0x665cf50a
mov eax, dword [eax + 0xc]
test eax, eax
je 0x665d09c0
cmp dword [eax], edx
jne 0x665cf4ff
mov esi, dword [esp + 0x134]
mov dword [eax], esi
mov eax, dword [esp + 0x58]
jmp 0x665cf527
mov eax, dword [eax + 0xc]
test eax, eax
je 0x665cf539
cmp dword [eax], ebx
jne 0x665cf520
mov esi, dword [esp + 0x134]
mov ebx, eax
lea eax, [esi + 0x2c]
mov dword [ebx], eax
mov eax, dword [esp + 0x134]
mov esi, dword [esp + 0x40]
mov dword [eax + 0x1c], 0xffffffff
test esi, esi
je 0x665d104e
mov ebp, dword [esp + 0x78]
and ebp, 6
je 0x665d0672
mov dword [esp + 0x6c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x40], 0
jmp 0x665cf60c
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x78], eax
jmp 0x665cf497
mov eax, dword [esp + 0x134]
or dword [eax + 4], 0x40000
cmp ebx, 2
je 0x665d0eea
mov eax, dword [esp + 0x20]
mov edx, 0x800000
mov ecx, 0x7800000
mov edi, dword [esp + 0x134]
mov eax, dword [eax + 0x20]
cmp byte [eax], 0x75
cmovne edx, ecx
mov dword [edi + 0x1c], edx
jmp 0x665cf1bf
mov eax, dword [esp + 0x134]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x38], 0
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x58], 0
mov dword [esp + 0x40], 0
mov eax, dword [eax]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x134]
mov dword [eax + 0x1c], 0xffffffff
mov eax, dword [esp + 0x78]
mov dword [esp + 0x48], 0
mov ebp, edi
mov dword [esp + 0x70], 0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 4]
test eax, eax
jne 0x665cfd78
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x665cfd00
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x24], eax
test eax, eax
je 0x665d00ea
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x91], 0
movzx esi, byte [eax + 0x90]
je 0x665d0189
mov edi, dword [esp + 0x64]
mov eax, edi
and eax, 0x200
and edi, 0x400
mov dword [esp + 0x34], eax
jne 0x665d0415
test eax, eax
je 0x665d0104
mov eax, dword [esp + 0x38]
test eax, eax
je 0x665d0177
mov eax, dword [esp + 0x5c]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x665d0177
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x38]
xor edx, edx
mov eax, 0x65
jmp 0x665cf6f9
movzx ecx, byte [ecx + 0x66690a80]
cmp byte [eax + 0x66690a80], cl
jne 0x665cf71d
movzx eax, byte [edx + 0x666801fa]
add edx, 1
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x665cf6e0
test eax, eax
jne 0x665cf6ef
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x134]
mov dword [eax + 0x1c], 2
mov eax, dword [esp + 0x24]
test eax, eax
je 0x665d0177
test ebp, ebp
je 0x665d0487
movzx eax, byte [ebp]
test al, al
je 0x665d0487
mov edx, ebp
xor ecx, ecx
lea esi, [esi]
add edx, 1
add cl, byte [eax + 0x66690a80]
movzx eax, byte [edx]
test al, al
jne 0x665cf748
mov byte [esp + 0x20], cl
mov eax, dword [esp + 0x24]
add dword [esp + 0x4c], 1
mov edi, dword [eax + 0x48]
mov esi, dword [eax + 4]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x58], edi
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x665d0152
mov dword [esp + 0x28], ebp
xor edi, edi
mov ebp, eax
jmp 0x665cf79e
add edi, 1
add esi, 0x14
cmp edi, ebp
je 0x665d014e
movzx eax, byte [esp + 0x20]
cmp byte [esi + 0xf], al
jne 0x665cf790
mov ecx, dword [esi]
mov edx, dword [esp + 0x28]
jmp 0x665cf7c5
movzx ebx, byte [ebx + 0x66690a80]
cmp byte [eax + 0x66690a80], bl
jne 0x665cf790
add ecx, 1
add edx, 1
movzx eax, byte [ecx]
movzx ebx, byte [edx]
cmp eax, ebx
jne 0x665cf7b0
test eax, eax
jne 0x665cf7bf
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
movsx eax, word [eax + 0x28]
cmp eax, edi
je 0x665d08eb
cmp dword [esp + 0x2c], edi
jle 0x665d0152
mov edx, edi
mov eax, dword [esp + 0x134]
mov ecx, dword [eax + 0x1c]
cmp ecx, 2
je 0x665d057b
mov eax, ebp
mov esi, dword [esp + 0x24]
mov ebp, edi
mov edi, eax
mov eax, dword [esp + 0x134]
mov dword [eax + 0x2c], esi
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x91], 0
je 0x665d0535
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x5c]
add eax, 1
imul eax, ecx
add eax, dword [ebx + 8]
mov ebx, eax
test byte [esi + 0x24], 0x20
je 0x665d08e3
cmp ebp, 0xffffffff
je 0x665cf85b
mov eax, dword [esp + 0x24]
mov edx, ebp
call fcn.66588d10
movsx ebp, ax
mov esi, dword [esp + 0x134]
lea eax, [ebp + ebx + 1]
mov ebx, 0xaf
mov dword [esi + 0x1c], eax
test byte [esp + 0x64], 0x80
jne 0x665d05ae
mov dword [esp + 0x34], 1
mov dword [esp + 0x48], 0
mov esi, dword [esp + 0x48]
test esi, esi
setne al
cmp dword [esp + 0x34], 1
mov esi, eax
mov eax, str.ambiguous_column_name
je 0x665d05b8
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x665d08b2
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str._s:__s._s._s
mov dword [esp], eax
call fcn.665b3dd0
mov eax, dword [esp + 0x44]
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x60]
add dword [eax + 0x14], 1
mov eax, dword [esp + 0x134]
movzx eax, word [eax + 0x20]
mov edx, eax
not edx
shr dx, 0xf
and edx, esi
test dl, dl
je 0x665cf91a
mov edi, dword [esp + 0x134]
mov edx, dword [edi + 0x2c]
call fcn.6658d5f0
mov edi, dword [esp + 0x48]
or dword [edi + 0x38], eax
or dword [edi + 0x3c], edx
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 4]
test eax, 0x804000
jne 0x665cf971
mov eax, dword [esp + 0x134]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x665cf942
mov eax, dword [esp + 0x74]
call fcn.665978b0
mov eax, dword [esp + 0x134]
mov edx, dword [eax + 0x10]
mov dword [eax + 0xc], 0
test edx, edx
je 0x665cf960
mov eax, dword [esp + 0x74]
call fcn.665978b0
mov eax, dword [esp + 0x134]
mov dword [eax + 0x10], 0
mov eax, dword [eax + 4]
mov edi, dword [esp + 0x134]
or eax, 0x800000
cmp dword [esp + 0x34], 1
mov byte [edi], bl
mov dword [edi + 4], eax
jne 0x665cef5e
mov eax, dword [esp + 0x44]
mov edx, dword [eax]
mov ebx, dword [edx + 0x158]
test ebx, ebx
je 0x665cf9b7
mov eax, dword [esp + 0x134]
movzx eax, byte [eax]
cmp al, 0xa6
je 0x665d09d6
cmp al, 0x4d
je 0x665d09d6
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
add dword [eax + 0x10], 1
cmp eax, edi
je 0x665cf474
mov edx, edi
mov eax, dword [eax + 0xc]
add dword [eax + 0x10], 1
cmp edx, eax
jne 0x665cf9cd
jmp 0x665cf474
mov edi, dword [edx + 8]
cmp al, 1
jbe 0x665d0e12
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x10c]
mov dword [esp + 0x58], eax
test eax, eax
je 0x665d1169
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], eax
jmp 0x665cf4f9
mov edi, dword [esp + 0x78]
mov eax, str.index_expressions
test edi, 0x20
jne 0x665cfa41
mov eax, str.CHECK_constraints
test edi, 4
jne 0x665cfa41
and edi, 8
mov eax, str.partial_index_WHERE_clauses
mov edx, str.generated_columns
cmovne eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], str.the__.__operator
mov dword [esp], eax
mov dword [esp + 4], str._s_prohibited_in__s
call fcn.665b3dd0
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x78], eax
jmp 0x665cf4ac
mov esi, dword [eax + 0x14]
mov eax, dword [esi + 4]
movzx ecx, byte [eax]
cmp cl, 0xaf
jne 0x665cfa83
movzx ecx, byte [eax + 2]
cmp cl, 0xb0
je 0x665d0e4d
mov ebx, 1
cmp cl, 0x89
jne 0x665cfa9e
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov ebx, dword [eax]
cmp edx, ebx
jne 0x665cefe4
mov ecx, dword [esi + 0x18]
movzx ebx, byte [ecx]
cmp bl, 0xaf
jne 0x665cefc5
movzx ebx, byte [ecx + 2]
jmp 0x665cefc5
mov edi, dword [esp + 0x134]
mov edx, dword [esp + 0x20]
cmp byte [edi], 0x33
mov ecx, dword [edi + 4]
je 0x665d0ed5
mov edi, dword [esp + 0x134]
or ecx, 0x20000000
mov dword [edi + 8], str.false
mov dword [edi + 4], ecx
mov edi, dword [esp + 0x134]
mov ecx, dword [esp + 0x60]
mov byte [edi], 0xa9
jmp 0x665cfb01
cmp eax, 7
jg 0x665cfb11
mov esi, dword [ebx + eax*4]
add eax, 1
mov dword [ecx + 0x10], esi
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x665cfafc
test edx, edx
je 0x665cfb20
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
call fcn.665978b0
mov eax, dword [esp + 0x134]
mov dword [eax + 0xc], 0
jmp 0x665cf474
mov ebx, dword [esp + 0x28]
mov ebx, dword [ebx + 0x24]
test ebx, ebx
je 0x665d10eb
mov dword [esp + 0x28], ebx
mov edx, dword [ebx]
mov eax, edi
jmp 0x665cfb65
movzx ebx, byte [esi + 0x66690a80]
cmp byte [ecx + 0x66690a80], bl
jne 0x665cfb33
add edx, 1
add eax, 1
movzx ecx, byte [edx]
movzx esi, byte [eax]
cmp ecx, esi
jne 0x665cfb50
test ecx, ecx
jne 0x665cfb5f
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x44]
xor ecx, ecx
mov edx, dword [ebx + 8]
mov eax, dword [edi]
call fcn.665a7910
mov edx, dword [ebx + 0xc]
xor ecx, ecx
mov dword [ebp + 8], eax
mov eax, dword [edi]
call fcn.665a7910
mov edx, dword [ebx + 0x18]
mov dword [ebp + 0xc], eax
mov eax, dword [edi]
test edx, edx
je 0x665cfbb2
mov dword [esp], 0
xor ecx, ecx
call fcn.665a7430
mov edx, eax
mov dword [ebp + 0x18], edx
mov edx, dword [ebx + 0x1c]
test edx, edx
je 0x665cfbd2
mov eax, dword [esp + 0x44]
mov dword [esp], 0
xor ecx, ecx
mov eax, dword [eax]
call fcn.665a7430
mov edx, eax
mov dword [ebp + 0x1c], edx
movzx eax, byte [ebx + 0x11]
mov byte [ebp + 0x11], al
movzx eax, byte [ebx + 0x12]
mov byte [ebp + 0x12], al
movzx eax, byte [ebx + 0x10]
mov byte [ebp + 0x10], al
movzx edx, byte [ebx + 0x14]
mov byte [ebp + 0x14], dl
jmp 0x665cf323
test al, 0x2a
je 0x665cf22b
mov edx, str.index_expressions
test al, 0x20
jne 0x665cfc1f
mov edx, str.CHECK_constraints
test al, 4
jne 0x665cfc1f
test al, 8
mov edx, str.partial_index_WHERE_clauses
mov eax, str.generated_columns
cmovne edx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], str.non_deterministic_functions
mov dword [esp], eax
mov dword [esp + 4], str._s_prohibited_in__s
call fcn.665b3dd0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
jmp 0x665cf22b
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x665cefdc
mov eax, str.index_expressions
test dl, 0x20
jne 0x665cfc7c
mov eax, str.CHECK_constraints
test dl, 4
jne 0x665cfc7c
and edx, 8
mov eax, str.partial_index_WHERE_clauses
mov edx, str.generated_columns
cmovne eax, edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], str.subqueries
mov dword [esp], eax
mov dword [esp + 4], str._s_prohibited_in__s
call fcn.665b3dd0
mov eax, dword [esp + 0x134]
mov edx, dword [eax + 0x14]
mov byte [eax], 0x78
test edx, edx
jne 0x665cf096
jmp 0x665cf0a9
mov eax, dword [esp + 0x130]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.665ceea0
cmp eax, 2
je 0x665cef5e
cmp byte [ebx], 0xa9
jne case.0x665ceedb.28
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x134]
movzx eax, byte [eax]
mov byte [edi], 0xae
mov byte [edi + 2], al
xor eax, eax
jmp 0x665cef23
mov eax, dword [esp + 0x34]
test eax, eax
sete cl
cmp dword [esp + 0x4c], 1
jne 0x665d00af
test cl, cl
je 0x665d00af
mov eax, dword [esp + 0x48]
test eax, eax
je 0x665cfd2f
test byte [esp + 0x64], 0x28
je 0x665d03b0
test byte [esp + 0x64], 0x80
je 0x665cfd42
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x665d026c
mov dword [esp + 0x4c], 1
mov eax, dword [esp + 0x5c]
add dword [esp + 0x70], 1
mov eax, dword [eax + 0xc]
mov dword [esp + 0x5c], eax
test eax, eax
je 0x665d05e0
mov eax, dword [eax + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 4]
test eax, eax
je 0x665cf645
lea edi, [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x28], edi
mov dword [esp + 0x54], eax
test eax, eax
jle 0x665d050d
mov dword [esp + 0x34], 0
mov edi, ebp
mov dword [esp + 0x30], 0
jmp 0x665cfdc0
add dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
add dword [esp + 0x28], 0x48
cmp eax, dword [esp + 0x54]
je 0x665d006d
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x3c], esi
test eax, eax
je 0x665cfddc
test byte [eax + 5], 8
jne 0x665cffac
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x665cfdf1
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x58]
cmp dword [eax + 0x48], esi
jne 0x665cfda8
mov edx, dword [esp + 0x38]
test edx, edx
je 0x665cfe48
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 0xc]
mov edx, esi
test esi, esi
je 0x665d0062
mov ecx, dword [esp + 0x38]
jmp 0x665cfe25
movzx ebx, byte [ebx + 0x66690a80]
cmp byte [eax + 0x66690a80], bl
jne 0x665cfda8
add edx, 1
add ecx, 1
movzx eax, byte [edx]
movzx ebx, byte [ecx]
cmp eax, ebx
jne 0x665cfe10
test eax, eax
jne 0x665cfe1f
mov eax, dword [esp + 0x44]
cmp byte [eax + 0xc8], 1
jbe 0x665cfe48
test esi, esi
jne 0x665d010e
mov eax, dword [esp + 0x4c]
add dword [esp + 0x4c], 1
test eax, eax
mov eax, dword [esp + 0x48]
cmove eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
test edi, edi
je 0x665d00e0
movzx eax, byte [edi]
test al, al
je 0x665d00e0
mov edx, edi
xor ecx, ecx
lea esi, [esi]
nop
add edx, 1
add cl, byte [eax + 0x66690a80]
movzx eax, byte [edx]
test al, al
jne 0x665cfe80
mov byte [esp + 0x24], cl
mov eax, dword [esp + 0x3c]
mov ebp, dword [eax + 4]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x665cfda8
mov dword [esp + 0x20], 0
jmp 0x665cfece
add dword [esp + 0x20], 1
add ebp, 0x14
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x2c]
je 0x665cfda8
movzx eax, byte [esp + 0x24]
cmp byte [ebp + 0xf], al
jne 0x665cfeb8
mov ecx, dword [ebp]
xor eax, eax
jmp 0x665cfef2
movzx edx, byte [edx + 0x66690a80]
cmp byte [ebx + 0x66690a80], dl
jne 0x665cfeb8
add eax, 1
movzx ebx, byte [ecx + eax]
movzx edx, byte [edi + eax]
cmp ebx, edx
jne 0x665cfee0
test ebx, ebx
jne 0x665cfeef
cmp dword [esp + 0x34], 1
jne 0x665cff79
mov eax, dword [esp + 0x28]
test byte [eax + 0x24], 4
jne 0x665cfeb8
mov eax, dword [eax + 0x34]
test eax, eax
je 0x665cff79
mov esi, dword [eax + 4]
mov dword [esp + 0x50], esi
test esi, esi
jle 0x665cff79
mov eax, dword [eax]
mov dword [esp + 0x68], ebp
mov ebp, eax
lea esi, [esi]
mov esi, dword [ebp + ebx*8]
xor eax, eax
jmp 0x665cff52
movzx ecx, byte [ecx + 0x66690a80]
cmp byte [edx + 0x66690a80], cl
jne 0x665cff70
add eax, 1
movzx edx, byte [esi + eax]
movzx ecx, byte [edi + eax]
cmp edx, ecx
jne 0x665cff40
test edx, edx
jne 0x665cff4f
mov ebp, dword [esp + 0x68]
jmp 0x665cfeb8
add ebx, 1
cmp ebx, dword [esp + 0x50]
jne 0x665cff30
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x20]
add dword [esp + 0x34], 1
movsx eax, word [eax + 0x28]
cmp eax, esi
mov eax, 0xffffffff
cmovne eax, esi
mov esi, dword [esp + 0x134]
mov word [esi + 0x20], ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
jmp 0x665cfda8
mov esi, dword [eax + 0x1c]
mov ebp, dword [esi]
test ebp, ebp
jle 0x665d0480
mov dword [esp + 0x20], 0
xor ebx, ebx
lea esi, [esi]
nop
lea eax, [ebx + ebx*4]
shl eax, 2
movzx ecx, byte [esi + eax + 0x10]
and ecx, 3
cmp cl, 2
jne 0x665d001d
mov ecx, dword [esp + 0x40]
mov eax, dword [esi + eax + 8]
mov edx, edi
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
call fcn.6659f5f0
test eax, eax
je 0x665d001d
mov eax, dword [esp + 0x134]
add dword [esp + 0x34], 1
mov dword [esp + 0x20], 1
mov word [eax + 0x20], bx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], 2
mov dword [esp + 0x48], eax
add ebx, 1
cmp ebx, ebp
jne 0x665cffc8
movzx eax, byte [esp + 0x20]
and eax, 1
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x665cfda8
test al, al
jne 0x665cfda8
mov eax, dword [esp + 0x40]
test eax, eax
je 0x665cfdf9
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x58]
cmp esi, dword [eax + 0x48]
jne 0x665cfda8
jmp 0x665cfdf9
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
jmp 0x665cfe0a
mov eax, dword [esp + 0x34]
mov ebp, edi
or eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x48]
test esi, esi
je 0x665cf651
mov edx, dword [esi + 0x2c]
mov edi, dword [esp + 0x134]
mov dword [edi + 0x1c], edx
mov edx, dword [esi + 0x10]
mov dword [edi + 0x2c], edx
test byte [esi + 0x24], 8
je 0x665d00a3
or dword [edi + 4], 0x100000
mov edi, dword [edx + 0x48]
mov dword [esp + 0x58], edi
jmp 0x665cf651
test byte [esp + 0x64], 0x80
je 0x665d00c4
mov eax, dword [esp + 0x38]
or eax, dword [esp + 0x34]
je 0x665d0274
mov edi, dword [esp + 0x34]
test edi, edi
je 0x665cfd4a
mov edi, ebp
mov ebx, 0xa6
jmp 0x665cf889
mov byte [esp + 0x24], 0
jmp 0x665cfe94
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x20], eax
and eax, 0x200
mov dword [esp + 0x34], eax
jne 0x665cf6a7
mov ecx, 1
jmp 0x665cfd09
mov eax, dword [esp + 0x134]
lea edx, [eax + 0x2c]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x10c]
test eax, eax
jne 0x665d013b
jmp 0x665cfe48
mov eax, dword [eax + 0xc]
test eax, eax
je 0x665cfe48
cmp edx, dword [eax]
jne 0x665d0130
mov dword [eax], 0
mov eax, dword [esp + 0x4c]
jmp 0x665cfe4c
mov ebp, dword [esp + 0x28]
mov eax, ebp
call fcn.6659dd60
mov dword [esp + 0x34], eax
test eax, eax
je 0x665d0104
mov eax, dword [esp + 0x24]
test byte [eax + 0x25], 2
jne 0x665d0177
mov eax, dword [esp + 0x2c]
test eax, eax
jns 0x665d08eb
mov dword [esp + 0x34], 0
mov ecx, 1
jmp 0x665cfd09
mov ecx, dword [esp + 0x38]
test ecx, ecx
setne bl
cmp esi, 0x7f
je 0x665d020d
test bl, bl
je 0x665d020d
mov byte [esp + 0x20], bl
xor edx, edx
mov eax, 0x6e
jmp 0x665d01c9
movzx ebx, byte [edi + 0x66690a80]
cmp byte [eax + 0x66690a80], bl
jne 0x665d0208
movzx eax, byte [edx + 0x6667f48b]
add edx, 1
movzx edi, byte [ecx + edx]
cmp eax, edi
jne 0x665d01b0
test eax, eax
jne 0x665d01bf
mov eax, dword [esp + 0x134]
mov dword [eax + 0x1c], 1
test dword [esp + 0x64], 0x200
je 0x665cf729
mov eax, dword [esp + 0x5c]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x665cf729
jmp 0x665cf6ca
movzx ebx, byte [esp + 0x20]
cmp esi, 0x7e
setne cl
and cl, bl
je 0x665d00ea
mov esi, dword [esp + 0x38]
xor edx, edx
mov eax, 0x6f
jmp 0x665d024d
movzx ebx, byte [ebx + 0x66690a80]
cmp byte [eax + 0x66690a80], bl
jne 0x665d080a
movzx eax, byte [edx + 0x6667f487]
add edx, 1
movzx ebx, byte [esi + edx]
cmp eax, ebx
jne 0x665d0230
test eax, eax
jne 0x665d0243
mov eax, dword [esp + 0x134]
mov dword [eax + 0x1c], 0
jmp 0x665d01e3
mov dword [esp + 0x4c], 1
mov eax, dword [esp + 0x5c]
mov edi, dword [eax + 8]
mov eax, dword [edi]
mov dword [esp + 0x20], eax
test eax, eax
jle 0x665cfd4a
xor ebx, ebx
jmp 0x665d029d
add ebx, 1
cmp ebx, dword [esp + 0x20]
je 0x665cfd4a
lea eax, [ebx + ebx*4]
lea edx, [eax*4]
test byte [edi + eax*4 + 0x10], 3
jne 0x665d0290
mov esi, dword [edi + edx + 8]
test esi, esi
je 0x665d0408
test ebp, ebp
je 0x665d0290
xor eax, eax
jmp 0x665d02da
movzx ecx, byte [ecx + 0x66690a80]
cmp byte [edx + 0x66690a80], cl
jne 0x665d0290
add eax, 1
movzx edx, byte [esi + eax]
movzx ecx, byte [ebp + eax]
cmp edx, ecx
jne 0x665d02c8
test edx, edx
jne 0x665d02d7
lea eax, [ebx + ebx*4]
mov ebp, edi
mov eax, dword [edi + eax*4 + 4]
mov edx, dword [eax + 4]
test byte [esp + 0x64], 1
jne 0x665d0307
test dl, 0x10
jne 0x665d11b8
and dh, 0x80
je 0x665d0328
test dword [esp + 0x64], 0x4000
je 0x665d0dcf
mov ecx, dword [esp + 0x5c]
cmp dword [esp + 0x60], ecx
jne 0x665d0dcf
movzx edx, byte [eax]
cmp dl, 0xaf
jne 0x665d0334
movzx edx, byte [eax + 2]
cmp dl, 0xb0
je 0x665d0fc8
cmp dl, 0x89
je 0x665d0f99
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x44]
mov ecx, ebx
mov edx, ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov eax, edi
call fcn.665a7d50
cmp byte [edi + 0xc8], 1
jbe 0x665cf98d
mov eax, dword [edi + 0x10c]
test eax, eax
jne 0x665d0393
jmp 0x665cf98d
mov eax, dword [eax + 0xc]
test eax, eax
je 0x665cf98d
mov edi, dword [eax]
cmp dword [esp + 0x134], edi
jne 0x665d0388
mov dword [eax], 0
jmp 0x665cf98d
mov eax, ebp
call fcn.6659dd60
test eax, eax
je 0x665cfd2f
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
test byte [eax + 0x25], 2
jne 0x665cfd2f
mov eax, dword [esp + 0x134]
mov ebp, 0xffffffff
mov word [eax + 0x20], bp
mov byte [eax + 1], 0x44
mov eax, dword [eax + 4]
test eax, 0x804000
jne 0x665d0fcf
mov dword [esp + 0x34], 1
mov ebx, 0xa6
jmp 0x665cf92b
test ebp, ebp
jne 0x665d0290
jmp 0x665d02eb
mov edi, dword [esp + 0x38]
test edi, edi
je 0x665d051e
mov eax, dword [esp + 0x24]
mov ebx, dword [eax]
xor eax, eax
jmp 0x665d0446
movzx ecx, byte [ecx + 0x66690a80]
cmp byte [edx + 0x66690a80], cl
jne 0x665d0847
add eax, 1
movzx edx, byte [edi + eax]
movzx ecx, byte [ebx + eax]
cmp edx, ecx
jne 0x665d0430
test edx, edx
jne 0x665d0443
xor eax, eax
mov edi, dword [esp + 0x134]
cmp esi, 0x7f
mov ecx, dword [esp + 0x34]
setne al
mov dword [edi + 0x1c], eax
test ecx, ecx
jne 0x665d01f1
jmp 0x665cf729
xor eax, eax
jmp 0x665d002c
mov byte [esp + 0x20], 0
jmp 0x665cf75c
test ecx, 0x280000
je 0x665d04f5
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 4]
cmp dl, 1
ja 0x665cf282
test eax, 0x40000000
je 0x665d0750
and ecx, 0x80000
jne 0x665d04cf
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
test byte [eax + 0x20], 0x80
jne 0x665d0750
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x44]
mov eax, dword [eax + 0x20]
mov dword [esp + 4], str.unsafe_use_of__s__
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.665b3dd0
movzx edx, byte [edi + 0xc8]
cmp dl, 1
jbe 0x665d0750
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 4]
jmp 0x665cf282
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x6c]
jmp 0x665d0077
xor eax, eax
cmp esi, 0x7f
mov esi, dword [esp + 0x134]
setne al
mov dword [esi + 0x1c], eax
jmp 0x665cf729
mov eax, dword [esp + 0x134]
mov word [eax + 0x20], dx
cmp ebp, 0xffffffff
je 0x665d08fa
mov esi, dword [esp + 0x44]
test ecx, ecx
jne 0x665d088c
mov edx, dword [esi + 0x88]
mov ebx, 0x4d
mov eax, edx
mov edx, 0xffffffff
bts eax, ebp
cmp ebp, 0x20
cmovge eax, edx
mov dword [esi + 0x88], eax
jmp 0x665cf86e
mov eax, dword [esp + 0x44]
cmp byte [eax + 0xc8], 1
jbe 0x665d0954
mov eax, dword [esp + 0x134]
mov edi, dword [esp + 0x24]
mov word [eax + 0x20], dx
mov dword [eax + 0x2c], edi
test byte [esp + 0x64], 0x80
jne 0x665d0a8e
mov ebx, 0xa6
mov dword [esp + 0x48], 0
xor esi, esi
mov eax, dword [esp + 0x134]
mov dword [esp + 0x34], 1
movzx eax, word [eax + 0x20]
mov edx, eax
not edx
shr dx, 0xf
and edx, esi
jmp 0x665cf8fd
mov edi, ebp
mov ebp, dword [esp + 0x38]
test ebp, ebp
jne 0x665d0650
mov eax, dword [esp + 0x134]
test byte [eax + 4], 0x40
je 0x665d063c
mov eax, dword [esp + 0x74]
cmp byte [eax + 0xa9], 0
jne 0x665d0e62
mov eax, dword [eax + 0x20]
test dword [esp + 0x78], 0x10000
je 0x665d0e57
mov edx, eax
and edx, 0x10000001
cmp edx, 1
jne 0x665d0631
test eax, 0x40000000
jne 0x665d0e62
test eax, 0x20000000
jne 0x665d0e62
mov eax, dword [esp + 0x134]
call fcn.6659db80
test eax, eax
jne 0x665cf474
mov esi, dword [esp + 0x48]
mov dword [esp + 0x34], 0
mov ebx, 0xa6
test esi, esi
setne al
mov esi, eax
mov eax, str.no_such_column
jmp 0x665cf8a4
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x20], eax
test eax, eax
jle 0x665d09a5
mov eax, dword [esp + 0x74]
mov esi, dword [eax + 0x10]
mov ecx, dword [esi]
mov edx, dword [esp + 0x40]
jmp 0x665d06ad
movzx ebx, byte [ebx + 0x66690a80]
cmp byte [eax + 0x66690a80], bl
jne 0x665d06d0
add ecx, 1
add edx, 1
movzx eax, byte [ecx]
movzx ebx, byte [edx]
cmp eax, ebx
jne 0x665d0698
test eax, eax
jne 0x665d06a7
mov eax, dword [esi + 0xc]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x6c], eax
jmp 0x665cf60c
add ebp, 1
add esi, 0x10
cmp ebp, dword [esp + 0x20]
jne 0x665d068c
xor ecx, ecx
mov eax, 0x6d
jmp 0x665d0702
movzx ebx, byte [edx + 0x66690a80]
cmp byte [eax + 0x66690a80], bl
jne 0x665d09ab
movzx eax, byte [ecx + 0x6667dd05]
add ecx, 1
mov esi, dword [esp + 0x40]
movzx edx, byte [esi + ecx]
cmp eax, edx
jne 0x665d06e5
test eax, eax
jne 0x665d06f8
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x58], esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], eax
jmp 0x665cf60c
test esi, esi
je 0x665cf2c2
mov ebx, dword [esi]
add esi, 4
test ebx, ebx
jg 0x665cf2a2
jmp 0x665cf2c2
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x665d0763
test ebp, ebp
jne 0x665d1119
mov eax, dword [esp + 0x24]
xor ecx, ecx
test eax, eax
je 0x665d110a
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
mov edi, dword [edi + 4]
mov edx, edi
mov edi, eax
and edx, 0x10000
and edi, 1
mov dword [esp + 0x24], edi
jne 0x665d0d60
or edx, ebp
mov eax, str.window
mov edx, str.aggregate
cmove eax, edx
mov edi, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], str.misuse_of__s_function__.s__
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 0xc], edi
call fcn.665b3dd0
mov eax, dword [esp + 0x60]
add dword [eax + 0x14], 1
test esi, esi
je 0x665cf474
mov ebx, dword [esi]
mov dword [esp + 0x24], 0
add esi, 4
test ebx, ebx
jg 0x665cf2a2
jmp 0x665cf474
mov eax, dword [eax + 0x14]
mov edx, dword [eax]
jmp 0x665cef9f
mov eax, dword [esp + 0x5c]
mov esi, dword [eax + 0x18]
mov edi, esi
mov dword [esp + 0x20], esi
and edi, 0x200
mov dword [esp + 0x34], edi
je 0x665cfd09
mov ebx, dword [eax + 8]
mov dword [esp + 0x24], 0
test ebx, ebx
jne 0x665cf6ca
mov dword [esp + 0x34], 0
jmp 0x665cfd09
mov edi, dword [esp + 0x34]
test edi, edi
je 0x665d0104
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x24], 0
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x665cf6ca
jmp 0x665d0177
cmp eax, 1
je 0x665d0d34
mov eax, dword [esp + 0x134]
mov byte [eax], 0x78
mov eax, 1
jmp 0x665cef23
mov edx, dword [esi + 0x8c]
mov ebx, 0x4d
mov eax, edx
mov edx, 0xffffffff
bts eax, ebp
cmp ebp, 0x20
cmovge eax, edx
mov dword [esi + 0x8c], eax
jmp 0x665cf86e
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x665d0df1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str._s:__s._s
mov dword [esp], eax
call fcn.665b3dd0
jmp 0x665cf8d8
movsx ebp, dx
jmp 0x665cf85b
mov edx, 0xffffffff
mov edi, 0xffffffff
jmp 0x665cf7f3
mov byte [eax + 1], 0x44
mov ebx, 0x4d
jmp 0x665cf86e
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, 0xfffffffe
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
call fcn.6659f700
mov dword [esp + 0x20], eax
test eax, eax
je 0x665d0aa3
mov eax, dword [esp + 0x44]
mov dword [esp + 0x24], 0
mov ebx, 1
movzx edx, byte [eax + 0xc8]
jmp 0x665d04f5
mov eax, ebp
mov ebp, edi
mov edi, eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax + 8]
mov ebx, dword [eax + 0x24]
mov eax, dword [esp + 0x24]
test byte [eax + 0x24], 0x20
je 0x665d0e45
cmp ebp, 0xffffffff
je 0x665d0985
mov eax, dword [esp + 0x24]
mov edx, ebp
call fcn.66588d10
movsx ebp, ax
mov eax, dword [esp + 0x134]
add ebx, ebp
mov dword [eax + 0x1c], ebx
mov ebx, 0xaf
jmp 0x665cf86e
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
jmp 0x665cefdc
je 0x665d06dc
mov eax, dword [esp + 0x40]
mov dword [esp + 0x58], 0
mov dword [esp + 0x6c], eax
jmp 0x665cf60c
mov eax, dword [esp + 0x58]
jmp 0x665cf527
mov dword [esp + 0x2c], 0
jmp 0x665cf17a
mov edi, dword [esp + 0x58]
test edi, edi
je 0x665cf9b7
mov edx, dword [edx + 0x10]
xor ebx, ebx
cmp dword [edx + 0xc], edi
je 0x665d09fe
add ebx, 1
mov edi, dword [esp + 0x58]
mov ecx, ebx
shl ecx, 4
cmp dword [edx + ecx + 0xc], edi
jne 0x665d09ec
cmp al, 0x4d
je 0x665d10c8
mov eax, dword [esp + 0x5c]
mov edx, dword [eax + 4]
mov esi, dword [edx]
test esi, esi
jle 0x665cf9b7
mov eax, dword [esp + 0x134]
lea ecx, [edx + 0x34]
mov edi, dword [eax + 0x1c]
xor eax, eax
jmp 0x665d0a36
add eax, 1
add ecx, 0x48
cmp esi, eax
je 0x665cf9b7
cmp edi, dword [ecx]
jne 0x665d0a28
lea eax, [eax + eax*8]
mov eax, dword [edx + eax*8 + 0x18]
mov edi, dword [esp + 0x134]
movsx edx, word [edi + 0x20]
test eax, eax
je 0x665cf9b7
test dx, dx
js 0x665d10d4
mov ecx, dword [eax + 4]
lea edx, [edx + edx*4]
lea edx, [ecx + edx*4]
mov ecx, dword [edx]
mov dword [esp], ebx
mov edx, dword [eax]
mov eax, dword [esp + 0x44]
call fcn.665ced90
cmp eax, 2
jne 0x665cf9b7
mov eax, dword [esp + 0x134]
mov byte [eax], 0x78
jmp 0x665cf9b7
mov dword [esp + 0x48], 0
mov dword [esp + 0x34], 1
jmp 0x665d00b6
mov eax, dword [esp + 0x44]
cmp byte [eax + 0xc8], 1
ja 0x665d10ae
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
cmp byte [eax + 0xa9], 0
jne 0x665d0cee
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x28]
mov dword [esp + 4], str.no_such_function:__.s
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.665b3dd0
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
add dword [eax + 0x14], 1
test ebx, ebx
je 0x665d0d27
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
test ebp, ebp
jne 0x665d0c99
mov edi, dword [esp + 0x60]
and eax, 0xffffbffe
mov dword [edi + 0x18], eax
test esi, esi
je 0x665d0b3b
mov ebx, dword [esi]
mov dword [esp + 0x24], 1
add esi, 4
test ebx, ebx
jg 0x665cf2a2
mov eax, dword [esp + 0x134]
mov byte [eax], 0xa7
mov byte [eax + 2], 0
test byte [eax + 7], 1
je 0x665d0b65
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x665d0b65
mov eax, dword [esp + 0x130]
call fcn.665a6500
mov ebp, dword [esp + 0x60]
lea ebx, [esp + 0x90]
mov edx, dword [ebp + 4]
xor eax, eax
mov dword [ebx + eax], 0
add eax, 4
cmp eax, 0x18
jb 0x665d0b75
lea eax, [esp + 0x80]
mov dword [esp + 0x80], edx
mov dword [esp + 0xa8], eax
mov eax, 0x7fffffff
mov dword [esp + 0x94], 0x6658cc10
mov dword [esp + 0x98], 0x66583140
test edx, edx
je 0x665d0bc1
mov ecx, dword [edx]
test ecx, ecx
je 0x665d0bc1
mov eax, dword [edx + 0x34]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov esi, dword [eax + 0x14]
test esi, esi
je 0x665d0c67
mov edi, dword [esi]
add esi, 4
test edi, edi
jle 0x665d0c67
mov edx, dword [esi]
test edx, edx
je 0x665d0c06
mov eax, ebx
call fcn.665a6500
test eax, eax
jne 0x665d0c0e
add esi, 0x14
sub edi, 1
jne 0x665d0bf5
mov eax, dword [esp + 0x134]
test byte [eax + 7], 1
je 0x665d0c33
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x665d0c33
mov eax, ebx
call fcn.665a6500
mov edi, dword [esp + 0x88]
test edi, edi
jle 0x665d0c76
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x665d0c5b
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
and eax, 0x1000
or eax, dword [ebp + 0x18]
or eax, 0x10
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
jmp 0x665cf3f1
mov eax, dword [esp + 0x134]
test byte [eax + 7], 1
je 0x665d0c3e
jmp 0x665d0c1b
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x665d0c3e
mov eax, dword [esp + 0x134]
add byte [eax + 2], 1
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jne 0x665d0b70
jmp 0x665d0c5b
mov edi, dword [esp + 0x60]
and ah, 0xbf
mov dword [edi + 0x18], eax
test esi, esi
je 0x665cf2d6
mov ebx, dword [esi]
mov dword [esp + 0x24], 1
add esi, 4
test ebx, ebx
jg 0x665cf2a2
jmp 0x665cf2d6
mov edx, dword [esp + 0x30]
mov dword [esp + 0x20], 0
mov ecx, 1
test edx, edx
jne 0x665d0771
cmp byte [eax + 0xa9], 0
je 0x665d0ac7
mov eax, dword [esp + 0x134]
test byte [eax + 7], 1
je 0x665d0d27
mov eax, dword [esp + 0x28]
mov dword [esp + 4], str.FILTER_may_not_be_used_with_non_aggregate__.s__
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.665b3dd0
mov eax, dword [esp + 0x60]
add dword [eax + 0x14], 1
test esi, esi
jne 0x665d07dd
jmp 0x665cf474
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
mov dword [esp + 4], str.not_authorized_to_use_function:__s
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.665b3dd0
mov eax, dword [esp + 0x60]
add dword [eax + 0x14], 1
jmp 0x665d0878
test edx, edx
je 0x665d0ff0
test ebp, ebp
je 0x665d0fe6
test ah, 0x40
je 0x665d0fe6
test ecx, ecx
jne 0x665d1194
test ebx, ebx
je 0x665d0c99
mov eax, dword [esp + 0x28]
mov dword [esp + 4], str.wrong_number_of_arguments_to_function__.s__
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.665b3dd0
mov eax, dword [esp + 0x60]
add dword [eax + 0x14], 1
jmp 0x665d0aff
test edi, edi
je 0x665d0dc8
cmp byte [ebp + 0x10], 0
je 0x665d10eb
xor ebx, ebx
jmp 0x665cf312
mov eax, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 4], str.misuse_of_aliased_window_function__s
mov dword [esp], eax
call fcn.665b3dd0
mov eax, 2
jmp 0x665cef23
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], edi
mov dword [esp + 4], str._s:__s
mov dword [esp], eax
call fcn.665b3dd0
jmp 0x665cf8d8
mov eax, dword [esp + 0x134]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x58], 0
mov dword [eax + 0x1c], 0xffffffff
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], eax
jmp 0x665cf60c
movsx ebp, dx
jmp 0x665d0985
mov eax, dword [eax + 0x14]
mov ebx, dword [eax]
jmp 0x665cfa9e
test eax, 0x40000000
je 0x665d063c
mov eax, dword [esp + 0x74]
test byte [eax + 0xac], 8
je 0x665d0ea7
mov eax, dword [eax + 0xb0]
xor ecx, ecx
mov ebx, dword [eax]
jmp 0x665d0e92
movzx edx, byte [edx + 0x66690a80]
cmp byte [eax + 0x66690a80], dl
jne 0x665d0ea7
add ecx, 1
movzx eax, byte [edi + ecx]
movzx edx, byte [ebx + ecx]
cmp eax, edx
jne 0x665d0e80
test eax, eax
jne 0x665d0e8f
jmp 0x665d063c
mov dword [esp + 8], edi
mov dword [esp + 4], str.double_quoted_string_literal:___w_
mov dword [esp], 0x1c
call sym.libsqlite3_0.dll_sqlite3_log
mov eax, dword [esp + 0x134]
mov byte [eax], 0x74
mov dword [eax + 0x2c], 0
jmp 0x665cf474
or ecx, 0x10000000
mov dword [edi + 8], str.true
mov dword [edi + 4], ecx
jmp 0x665cfaec
mov eax, dword [esi + 0x18]
fld1
fchs
fstp qword [esp + 0x90]
cmp byte [eax], 0x98
jne 0x665d1065
mov eax, dword [eax + 8]
mov edi, eax
test eax, eax
je 0x665d109b
mov dword [esp], eax
call sub.msvcrt.dll_strlen
fldz
mov ecx, eax
fstp qword [esp + 0x90]
and ecx, 0x3fffffff
je 0x665d109b
mov dword [esp], 1
lea ebx, [esp + 0x90]
mov eax, edi
mov edx, ebx
call fcn.665882a0
fld1
fld qword [esp + 0x90]
fcomi st(1)
fstp st(1)
ja 0x665d1063
fnstcw word [esp + 0x7e]
fmul dword [0x66690d44]
mov edi, dword [esp + 0x134]
movzx eax, word [esp + 0x7e]
or ah, 0xc
mov word [esp + 0x7c], ax
fldcw word [esp + 0x7c]
fistp dword [esp + 0x24]
fldcw word [esp + 0x7e]
mov eax, dword [esp + 0x24]
mov dword [edi + 0x1c], eax
test eax, eax
js 0x665d1073
mov eax, dword [esp + 0x20]
jmp 0x665cf1bc
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
cmp eax, 1
je 0x665d0346
mov eax, dword [esp + 0x44]
mov dword [esp + 4], str.row_value_misused
mov dword [esp], eax
call fcn.665b3dd0
mov eax, 2
jmp 0x665cef23
mov eax, dword [eax + 0x14]
mov eax, dword [eax]
jmp 0x665d0fa1
mov edi, dword [esp + 0x134]
or eax, 0x800000
mov byte [edi], 0xa6
mov dword [edi + 4], eax
jmp 0x665cf98d
mov eax, str.window
jmp 0x665d07a5
test ebp, ebp
jne 0x665d0d70
test ecx, ecx
jne 0x665d1194
test ebx, ebx
je 0x665d0b16
jmp 0x665d0d89
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x665d1042
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x665d1027
cmp dword [eax], 1
je 0x665cf32b
mov edi, dword [esp + 0x44]
mov dword [esp + 4], str.RANGE_with_offset_PRECEDING_FOLLOWING_requires_one_ORDER_BY_expression
mov dword [esp], edi
call fcn.665b3dd0
mov eax, dword [edi]
jmp 0x665cf358
mov esi, dword [ebp + 0x1c]
test esi, esi
jne 0x665d1017
jmp 0x665cf32b
mov dword [esp + 0x58], 0
mov dword [esp + 0x6c], 0
jmp 0x665cf60c
fstp st(0)
mov eax, dword [esp + 0x134]
mov dword [eax + 0x1c], 0xffffffff
mov eax, dword [esp + 0x44]
mov dword [esp + 4], str.second_argument_to_likelihood___must_be_a_constant_between_0.0_and_1.0
mov dword [esp], eax
call fcn.665b3dd0
mov eax, dword [esp + 0x60]
add dword [eax + 0x14], 1
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x20]
jmp 0x665cf1bf
mov eax, dword [esp + 0x134]
mov dword [eax + 0x1c], 0
jmp 0x665d0f90
mov eax, dword [esp + 0x134]
mov dword [esp + 0x24], 0
mov eax, dword [eax + 4]
jmp 0x665cf282
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x78]
jmp 0x665d0a41
movsx edx, word [eax + 0x28]
mov ecx, str.ROWID
test dx, dx
jns 0x665d0a5d
jmp 0x665d0a68
mov dword [esp + 8], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 4], str.no_such_window:__s
mov dword [esp], edi
call fcn.665b3dd0
mov eax, dword [edi]
jmp 0x665cf35f
test ebx, ebx
je 0x665d0cee
xor ebx, ebx
jmp 0x665d0d89
mov eax, dword [esp + 0x28]
mov dword [esp + 4], str._.s___may_not_be_used_as_a_window_function
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.665b3dd0
mov eax, dword [esp + 0x60]
add dword [eax + 0x14], 1
mov eax, dword [esp + 0x24]
test eax, eax
je 0x665d0d27
mov eax, dword [esp + 0x60]
and dword [eax + 0x18], 0xffffbfff
test esi, esi
jne 0x665d0cab
jmp 0x665cf2d6
mov eax, dword [esp + 0x134]
mov dword [esp + 0x6c], 0
mov dword [eax + 0x1c], 0xffffffff
mov eax, dword [esp + 0x40]
mov dword [esp + 0x40], 0
mov dword [esp + 0x38], eax
jmp 0x665cf60c
mov edi, dword [esp + 0x44]
mov edx, dword [edi]
cmp byte [edx + 0xa9], 0
je 0x665d0acf
test ebx, ebx
jne 0x665d0d89
jmp 0x665d0b0e
mov eax, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 4], str.misuse_of_aliased_aggregate__s
mov dword [esp], eax
call fcn.665b3dd0
mov eax, 2
jmp 0x665cef23
lea ebx, [esp + 0x90]
mov esi, 0x6667b120
mov ecx, 0x20
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
mov edx, dword [esi + 0x20]
xor esi, esi
jmp 0x665d1206
add esi, 1
cmp esi, 8
je 0x665cf358
mov ecx, esi
shl ecx, 4
cmp edx, dword [ebx + ecx]
jne 0x665d11fa
mov edx, dword [ebp + 0x18]
test edx, edx
je 0x665d1224
mov dword [esp + 0x28], eax
call fcn.665978b0
mov eax, dword [esp + 0x28]
mov edx, dword [ebp + 0x1c]
test edx, edx
je 0x665d1238
mov dword [esp + 0x28], eax
call fcn.665978b0
mov eax, dword [esp + 0x28]
shl esi, 4
mov dword [ebp + 0x18], 0
mov edx, dword [esp + esi + 0x94]
mov dword [ebp + 0x1c], 0
mov byte [ebp + 0x10], dl
mov edx, dword [esp + esi + 0x98]
mov byte [ebp + 0x11], dl
mov ecx, dword [esp + esi + 0x9c]
mov byte [ebp + 0x14], 0
mov byte [ebp + 0x12], cl
cmp dl, 0x56
je 0x665d127b
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
jmp 0x665cf358
mov dword [esp], 0
mov edx, 0x9a
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], 0x6667f484
mov dword [esp + 0x84], 1
call fcn.6658c010
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
jmp 0x665cf358