Function at 0x1007bb90
Capabilities:
Encode data using xor
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov eax, dword [0x101d2014]
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
xor eax, ebp
mov esi, edx
mov dword [esp + 0xa8], eax
mov edi, dword [ebx + 0x18]
mov al, byte [edx]
mov ecx, dword [edi]
cmp al, 0x13
mov dword [esp + 4], ecx
jle 0x1007beec
mov edx, eax
add dl, 0xd3
cmp dl, 0xe
ja case.default.0x1007bbd9
movzx eax, dl
jmp dword [eax*4 + 0x1019b938]
mov eax, dword [ecx]
mov edx, dword [esi + 8]
mov dword [esp + 0xc], edi
xor edi, edi
xor ebx, ebx
mov dword [esi + 0x1c], 0xffffffff
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], eax
lea eax, [esi + 0x1c]
mov dword [esp + 0x3c], eax
test edi, edi
lea esi, [esi + 0x2c]
mov dword [esp + 0x34], ebx
mov dword [esp], edx
mov dword [esp + 0x4c], 0xa4
mov dword [esp + 0x5c], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], edi
setne al
test ebx, ebx
mov dword [esp + 0x54], esi
lea esi, [edx + 1]
mov edx, dword [esp + 0xc]
sete bl
mov dword [esp + 0x60], esi
and bl, al
lea eax, [ecx + 0x78]
xor ecx, ecx
xor bl, 1
xor esi, esi
mov dword [esp + 0x48], eax
dec esi
mov byte [esp + 0x43], bl
mov dword [esp + 0x20], edx
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
test eax, eax
je 0x1007c65b
cmp dword [eax], 0
jle 0x1007bde3
lea edi, [eax + 8]
xor esi, esi
mov dword [esp + 0x50], 0
mov dword [esp + 0x6c], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0x14]
test eax, eax
jne 0x1007c5f2
cmp dword [esp + 0x34], 0
jne 0x1007ca55
cmp dword [esp + 0x18], 0
jne 0x1007bd96
cmp dword [esp + 0x10], 0
mov eax, dword [esp]
cmove ecx, edi
test eax, eax
mov dword [esp + 0x14], ecx
je 0x1007bddc
mov cl, byte [eax]
test cl, cl
je 0x1007bddc
mov edx, dword [esp + 0x60]
xor ebx, ebx
movzx eax, cl
mov cl, byte [edx]
inc edx
add bl, byte [eax + 0x10194380]
test cl, cl
jne 0x1007bcdf
mov eax, dword [esp + 0x24]
inc dword [esp + 0x10]
mov dword [esp + 8], ebx
movzx ecx, word [eax + 0x2a]
test cx, cx
mov dword [esp + 0x1c], ecx
jle 0x1007c5e1
mov ebx, dword [eax + 4]
xor ecx, ecx
mov dword [esp + 0x28], esi
mov eax, dword [esp + 8]
cmp byte [ebx + 0xf], al
je 0x1007bd2d
inc ecx
add ebx, 0x14
cmp ecx, dword [esp + 0x1c]
jne 0x1007bd15
jmp 0x1007c63f
mov esi, dword [ebx]
xor edi, edi
mov eax, dword [esp]
movzx edx, byte [esi + edi]
movzx eax, byte [eax + edi]
cmp dl, al
jne 0x1007c155
test dl, dl
je 0x1007bd4b
inc edi
jmp 0x1007bd31
mov esi, dword [esp + 0x28]
cmp esi, 1
je 0x1007cbb1
mov eax, dword [esp + 0x24]
inc esi
mov edi, 0xffff
mov edx, dword [ebp + 0xc]
movsx eax, word [eax + 0x28]
cmp ecx, eax
cmove ecx, edi
mov edi, dword [esp + 0x2c]
mov word [edx + 0x20], cx
mov ecx, edi
mov edx, esi
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x6c]
add edi, 0x48
inc esi
cmp esi, dword [eax]
mov dword [esp + 0x50], esi
mov esi, edx
jl 0x1007bc8c
jmp 0x1007bde5
mov edi, dword [edi + 0xc]
mov dword [esp + 0x14], ecx
test edi, edi
mov ecx, edi
je 0x1007c16c
xor edx, edx
mov eax, dword [esp + 0x18]
movzx ebx, byte [ecx + edx]
movzx eax, byte [eax + edx]
cmp bl, al
jne 0x1007bdc4
test bl, bl
je 0x1007c0c5
inc edx
jmp 0x1007bda9
mov bl, byte [ebx + 0x10194380]
cmp bl, byte [eax + 0x10194380]
je 0x1007bdc1
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
jmp 0x1007bd78
xor ebx, ebx
jmp 0x1007bcef
xor esi, esi
test ecx, ecx
je 0x1007c3a3
mov eax, dword [ecx + 0x2c]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x54]
mov dword [edx], eax
mov eax, dword [ecx + 0x10]
mov dword [ebx], eax
test byte [ecx + 0x24], 8
jne 0x1007c662
mov eax, dword [eax + 0x48]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x10], 0
mov dword [esp + 0x14], ecx
setne al
or al, byte [esp + 0x43]
je 0x1007c27a
test ecx, ecx
setne bl
je 0x1007be3c
cmp dword [esp + 0x10], 1
jne 0x1007be3c
test esi, esi
je 0x1007c114
cmp dword [esp + 0x18], 0
jne 0x1007be56
test esi, esi
jne 0x1007be56
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
test al, al
js 0x1007c82e
cmp esi, 1
je 0x1007cab6
jmp 0x1007c700
mov ecx, dword [esp]
movzx edx, byte [eax + str.ROWID]
movzx ecx, byte [ecx + eax]
cmp cl, dl
je 0x1007be8b
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [edx + 0x10194380]
jne 0x1007c7e0
inc eax
jmp 0x1007be64
test cl, cl
je 0x1007d422
jmp 0x1007be88
movzx ecx, cl
add al, byte [ecx + 0x10194380]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x1007be95
jmp 0x1007c6ca
cmp byte [ecx + 0xf], al
je 0x1007bec2
mov edx, esi
add ecx, 0x14
inc edx
cmp edx, dword [esp + 0x1c]
mov esi, edx
jne 0x1007beaa
jmp 0x1007cf10
mov edx, dword [ecx]
xor edi, edi
mov dword [esp + 8], edx
mov edx, dword [esp + 8]
movzx ebx, byte [edx + edi]
mov edx, dword [esp]
movzx edx, byte [edx + edi]
cmp bl, dl
jne 0x1007cd84
test bl, bl
je 0x1007c311
inc edi
jmp 0x1007beca
cmp al, 0x98
jle 0x1007bfc9
cmp al, 0x99
je 0x1007c007
cmp al, 0xa9
je 0x1007c177
cmp al, 0xa8
jne case.0x1007bbd9.210
mov eax, dword [esi + 0x10]
test eax, eax
mov dword [esp], eax
je case.0x1007bbd9.208
mov ecx, dword [esp + 4]
mov eax, dword [esp]
mov eax, dword [eax + 4]
test eax, 0x41000
je 0x1007cd07
bt eax, 0x12
jb 0x1007bf37
add dword [esp], 0xc
jmp 0x1007bf43
mov eax, dword [esp]
mov eax, dword [eax + 0x14]
add eax, 4
mov dword [esp], eax
mov eax, dword [esp]
mov esi, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
mov dword [esp], eax
jne 0x1007bf1a
mov eax, dword [ecx]
cmp byte [eax + 0x51], 0
jne case.0x1007bbd9.210
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
cmp cl, 0xad
je 0x1007c9fa
cmp cl, 0x88
je 0x1007cdc9
cmp cl, 0xae
je 0x1007cdd1
xor eax, eax
inc eax
cmp byte [esi], 0x30
je 0x1007c970
mov ecx, dword [esi + 0x10]
mov dl, byte [ecx]
cmp dl, 0xad
je 0x1007c5ea
cmp dl, 0x88
je 0x1007cddd
cmp dl, 0xae
je 0x1007cde5
xor edx, edx
inc edx
mov ecx, dword [esp + 4]
cmp eax, edx
je case.0x1007bbd9.210
push str.row_value_misused
push ecx
call fcn.1000f470
mov ecx, dword [esp + 0xc]
add esp, 8
jmp case.0x1007bbd9.210
cmp al, 0x8b
je 0x1007c052
cmp al, 0x88
jne case.0x1007bbd9.210
test byte [esi + 5], 8
je case.0x1007bbd9.210
mov eax, dword [edi + 0x18]
mov ebx, dword [edi + 0x10]
test al, 0x2e
jne 0x1007d290
mov edx, dword [esi + 0x14]
mov ecx, dword [ebp + 8]
call fcn.10076a70
cmp ebx, dword [edi + 0x10]
mov ecx, dword [esp + 4]
je case.0x1007bbd9.210
or byte [esi + 4], 0x20
or byte [edi + 0x18], 0x40
jmp case.0x1007bbd9.210
mov eax, dword [edi + 0x18]
test al, 0x2e
jne 0x1007cdef
cmp dword [ecx + 0x24], 0
jne 0x1007d6d3
mov eax, dword [ecx]
xor ebx, ebx
cmp byte [eax + 0x51], 0
setne bl
add ebx, ebx
jmp 0x1007cb6d
cmp al, 0x14
je case.0x1007bbd9.207
cmp al, 0x4b
jne case.0x1007bbd9.210
mov eax, dword [edi + 4]
mov byte [esi], 0xa4
mov edx, dword [eax + 0x18]
mov dword [esi + 0x2c], edx
mov eax, dword [eax + 0x34]
mov dword [esi + 0x1c], eax
dec word [esi + 0x20]
mov byte [esi + 1], 0x44
jmp case.0x1007bbd9.210
mov eax, dword [edi + 0x18]
mov ebx, dword [esi + 0xc]
mov edx, esi
mov dword [esp + 0xc], edi
test al, 0x28
jne 0x1007ce51
mov eax, dword [edx + 0x10]
mov esi, edx
mov dword [esp + 0x34], 0
cmp byte [eax], 0x3b
jne 0x1007ce95
mov edx, dword [eax + 8]
mov edi, dword [ebx + 8]
cmp byte [ecx + 0xcc], 2
mov dword [esp], edx
jae 0x1007cea7
mov eax, dword [ecx]
cmp dword [esp + 0x34], 0
mov edx, esi
lea edx, [esi + 0x1c]
mov dword [esi + 0x1c], 0xffffffff
mov dword [esp + 0x30], 0
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], eax
jne 0x1007ced5
mov edx, dword [esp]
xor ebx, ebx
jmp 0x1007bc07
test edi, edi
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
je 0x1007bcb8
cmp byte [eax + 0xcc], 2
jb 0x1007bcb8
mov eax, dword [eax + 0x114]
test eax, eax
je 0x1007bcb8
mov ecx, dword [esp + 0x54]
cmp dword [eax], ecx
je 0x1007d2da
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
test eax, eax
jne 0x1007c0f4
jmp 0x1007bcb8
mov eax, dword [esp + 0x20]
mov bl, 1
test byte [eax + 0x18], 0x28
jne 0x1007d448
xor eax, eax
mov ecx, dword [esp]
movzx edx, byte [eax + str._ROWID_]
movzx ecx, byte [ecx + eax]
cmp cl, dl
je 0x1007cf43
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [edx + 0x10194380]
je 0x1007cf4b
xor eax, eax
jmp 0x1007be64
mov dl, byte [edx + 0x10194380]
cmp dl, byte [eax + 0x10194380]
jne 0x1007bd1e
jmp 0x1007bd48
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
jmp 0x1007bda7
mov eax, dword [esi + 0x14]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp], 0
test eax, eax
je 0x1007c196
mov edx, dword [eax]
mov dword [esp], edx
mov ebx, dword [ecx]
mov edx, dword [esp + 0xc]
mov ecx, 0x4001
mov dword [esp + 0x1c], eax
and ecx, dword [edx + 0x18]
mov al, byte [ebx + 0x4e]
test byte [esi + 7], 1
mov byte [esp + 0x10], al
mov dword [esp + 0x14], ecx
jne 0x1007cf51
mov esi, dword [esi + 8]
test esi, esi
je 0x1007cf66
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
mov dword [esp + 0x24], eax
movzx edi, byte [esp + 0x10]
mov ecx, ebx
mov dword [esp + 0x20], esi
mov edx, esi
push 0
push edi
push dword [esp + 8]
call fcn.10015a00
add esp, 0xc
test eax, eax
je 0x1007cf73
xor ebx, ebx
cmp dword [eax + 0x14], 0
mov edx, dword [esp + 4]
mov esi, eax
setne byte [esp + 0x10]
test byte [eax + 5], 4
jne 0x1007cfa5
mov eax, dword [edx]
mov edi, dword [ebp + 0xc]
cmp byte [eax + 0xa5], 0
jne 0x1007c23e
cmp byte [edx + 0xcc], 0
jne 0x1007c23e
mov ecx, dword [eax + 0x148]
test ecx, ecx
jne 0x1007d194
mov eax, dword [esi + 4]
test eax, 0x2800
je 0x1007c251
or byte [edi + 6], 8
mov ecx, esi
mov eax, dword [esi + 4]
mov ecx, dword [esp + 0xc]
bt eax, 0xb
mov eax, dword [ecx + 0x18]
jae 0x1007c3aa
and al, 0x2e
mov byte [edi + 2], al
test byte [ecx + 0x1a], 4
je 0x1007c3b2
or byte [edi + 7], 0x40
jmp 0x1007c3b2
mov eax, dword [esp + 0x48]
cmp dword [eax], 0
je 0x1007c8c9
mov eax, dword [esp + 4]
mov al, byte [eax + 0x94]
cmp al, 0x7e
jne 0x1007c5a4
xor eax, eax
mov edx, dword [esp + 0x18]
movzx ecx, byte [eax + 0x101b2a58]
movzx edx, byte [edx + eax]
cmp cl, dl
je 0x1007c2c3
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [edx + 0x10194380]
jne 0x1007ca4e
inc eax
jmp 0x1007c29b
test cl, cl
jne 0x1007c2c0
mov eax, dword [esp + 0x3c]
mov dword [eax], 0
mov eax, dword [esp + 0x48]
mov ebx, dword [eax]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
test byte [eax + 0x19], 2
jne 0x1007c66e
test ebx, ebx
je 0x1007c81c
mov eax, dword [esp]
test eax, eax
je 0x1007c6c8
mov cl, byte [eax]
test cl, cl
je 0x1007c6c8
mov edx, dword [esp + 0x60]
xor eax, eax
jmp 0x1007be95
mov ebx, dword [esp + 0x10]
mov edx, esi
movsx eax, word [ebx + 0x28]
cmp esi, eax
mov esi, dword [esp + 0x1c]
mov eax, 0xffffffff
cmove edx, eax
cmp edx, esi
jge 0x1007cf1a
cmp edx, esi
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x28]
jge 0x1007c393
mov eax, dword [esp + 0x3c]
inc esi
mov eax, dword [eax]
cmp eax, 2
je 0x1007ca02
test edx, edx
js 0x1007c7d4
mov ecx, edx
xor edx, edx
mov edi, 0xffffffff
inc edx
mov ebx, ecx
shl edx, cl
cmp ecx, 0x1f
cmovg edx, edi
test eax, eax
jne 0x1007c64c
mov eax, dword [esp + 4]
or dword [eax + 0x8c], edx
mov edx, ebx
mov ebx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], 0x4d
mov dword [eax + 0x2c], ebx
mov word [eax + 0x20], dx
mov ecx, dword [esp + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
jmp 0x1007be26
xor ecx, ecx
jmp 0x1007be10
test al, 0x2a
jne 0x1007d211
mov al, byte [esp + 0x10]
mov bl, al
mov eax, esi
mov dword [esp], ebx
mov ebx, dword [esi + 4]
bt ebx, 0x12
jb 0x1007c9b3
test ebx, 0x280000
je 0x1007c3e5
cmp byte [edx + 0xcc], 1
ja 0x1007c3e5
test byte [edi + 7], 0x40
jne 0x1007c7a1
mov byte [esp + 0x10], 1
mov bl, 1
cmp byte [edx + 0xcc], 2
mov esi, dword [esp + 8]
lea ecx, [edx + 0xcc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], ecx
jae 0x1007d03b
test eax, eax
je 0x1007cfda
test esi, esi
je 0x1007c421
cmp dword [eax + 0x18], 0
je 0x1007d207
cmp dword [esp], 0
mov eax, dword [esp + 0x1c]
jne 0x1007c8d0
test bl, bl
je 0x1007cfe7
cmp byte [esp + 0x10], 0
mov ecx, dword [esp]
je 0x1007d005
test ecx, ecx
jne 0x1007c94e
xor esi, esi
test byte [edi + 7], 1
mov ebx, dword [esp + 0xc]
jne 0x1007d04f
test eax, eax
je 0x1007c48a
mov ebx, dword [eax]
test ebx, ebx
jle 0x1007c48a
add eax, 4
inc ebx
mov edx, dword [eax]
test edx, edx
je 0x1007c481
mov ecx, dword [ebp + 8]
mov edi, eax
call fcn.10076970
test eax, eax
mov eax, edi
jne 0x1007c48a
dec ebx
add eax, 0x14
cmp ebx, 1
jg 0x1007c46b
xor ebx, ebx
inc ebx
test esi, esi
je 0x1007cb6d
cmp dword [esp + 8], 0
jne 0x1007d4e9
mov edi, dword [ebp + 0xc]
mov byte [edi], 0xa5
mov byte [edi + 2], 0
test byte [edi + 7], 1
jne 0x1007d5aa
cmp dword [esp + 0xc], 0
je 0x1007c594
mov edx, dword [esp + 0xc]
xorps xmm0, xmm0
xor esi, esi
lea ecx, [esp + 0x70]
mov eax, dword [edx + 4]
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x84], 0x1007eb50
mov dword [esp + 0x88], 0x1007eba0
mov dword [esp + 0x98], ecx
mov ecx, bind
mov dword [esp], edx
test eax, eax
mov dword [esp + 0x70], eax
je 0x1007c51a
cmp dword [eax], 0
je 0x1007c51a
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov esi, dword [edi + 0x14]
test esi, esi
je 0x1007c559
mov edi, dword [esi]
test edi, edi
jle 0x1007c559
add esi, 4
inc edi
mov edx, dword [esi]
test edx, edx
je 0x1007c550
lea ecx, [esp + 0x80]
call fcn.10076970
xorps xmm0, xmm0
test eax, eax
jne 0x1007c559
dec edi
add esi, 0x14
cmp edi, 1
jg 0x1007c537
mov edi, dword [ebp + 0xc]
test byte [edi + 7], 1
jne 0x1007d5c5
cmp dword [esp + 0x78], 0
mov ecx, dword [esp + 0x18]
jg 0x1007c57c
cmp dword [esp + 0x7c], 0
jne 0x1007d70e
mov edx, dword [esp]
test ecx, ecx
je 0x1007c594
mov eax, 0x1000
and eax, dword [ecx + 4]
or eax, dword [edx + 0x18]
or eax, 0x10
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
or dword [eax + 0x18], ecx
jmp 0x1007cb6d
xor ecx, ecx
mov ebx, dword [esp + 0x18]
movzx edx, byte [ecx + 0x101ac9ca]
movzx ebx, byte [ebx + ecx]
cmp dl, bl
je 0x1007c5ce
mov dl, byte [edx + 0x10194380]
cmp dl, byte [ebx + 0x10194380]
jne 0x1007c8bd
inc ecx
jmp 0x1007c5a6
test dl, dl
jne 0x1007c5cb
mov eax, dword [esp + 0x3c]
mov dword [eax], 1
jmp 0x1007c2d1
mov ecx, dword [esp + 0x14]
jmp 0x1007bd78
mov dl, byte [ecx + 2]
jmp 0x1007bf98
test byte [eax + 5], 8
je 0x1007bca2
mov edi, dword [eax + 0x1c]
mov dword [esp + 0x28], esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 8], 0
mov ebx, dword [edi]
test ebx, ebx
jg 0x1007d60e
cmp dword [esp + 0x18], 0
je 0x1007c63f
cmp dword [esp + 8], 0
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
je 0x1007bca2
jmp 0x1007bd78
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
jmp 0x1007bdd6
mov eax, dword [esp + 4]
or dword [eax + 0x90], edx
jmp 0x1007c37b
xor esi, esi
jmp 0x1007be10
mov ebx, dword [ebp + 0xc]
or byte [ebx + 6], 0x10
jmp 0x1007be09
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
test eax, eax
je 0x1007c2e9
xor ecx, ecx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x18]
movzx edx, byte [ecx + str.excluded]
movzx ebx, byte [ebx + ecx]
cmp dl, bl
je 0x1007c6ab
mov dl, byte [edx + 0x10194380]
cmp dl, byte [ebx + 0x10194380]
jne 0x1007c9a6
inc ecx
jmp 0x1007c683
test dl, dl
jne 0x1007c6a8
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [eax + 0x18]
mov dword [ecx], 2
mov ecx, dword [esp + 0x14]
jmp 0x1007c2e9
xor eax, eax
mov dword [esp + 0x28], esi
mov edx, dword [ebx + 0x48]
movsx esi, word [ebx + 0x2a]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x30], edx
test esi, esi
mov edx, 0
mov dword [esp + 0x24], ecx
jle 0x1007c329
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], esi
xor esi, esi
jmp 0x1007beaa
test esi, esi
jne 0x1007ca6b
mov eax, dword [esp + 0x20]
inc dword [esp + 0x5c]
mov eax, dword [eax + 0xc]
test eax, eax
mov dword [esp + 0x20], eax
jne 0x1007bc63
mov ecx, dword [esp + 0x18]
mov dword [esp + 8], str.no_such_column
test ecx, ecx
jne 0x1007d3e5
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
test cl, 0x40
je 0x1007d302
mov eax, dword [esp + 0x38]
cmp byte [eax + 0xa5], 0
jne 0x1007c77a
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0xc]
mov edx, dword [eax + 0x20]
mov esi, dword [eax + 0x24]
test byte [edi + 0x1a], 1
jne 0x1007d3fa
xor eax, eax
mov edi, 0x40000000
and esi, eax
and edx, edi
or edx, esi
je 0x1007d302
push dword [esp]
push str.double_quoted_string_literal:___w_
push 0x1c
call sym.nss3.dll_sqlite3_log
add esp, 0xc
mov eax, dword [ebp + 0xc]
xor ebx, ebx
inc ebx
mov byte [eax], 0x73
mov dword [eax + 0x2c], 0
jmp 0x1007cb6d
bt ebx, 0x13
mov byte [esp + 0x10], 1
jb 0x1007c7b8
mov ecx, dword [edx]
cmp byte [ecx + 0x20], 0
js 0x1007c3ea
push dword [eax + 0x20]
push str.unsafe_use_of__s__
push edx
call fcn.1000f470
mov edx, dword [esp + 0x10]
mov eax, esi
add esp, 0xc
jmp 0x1007c3ea
mov eax, dword [ebp + 0xc]
mov byte [eax + 1], 0x44
jmp 0x1007c381
xor eax, eax
mov ecx, dword [esp]
movzx edx, byte [eax + 0x101b908e]
movzx ecx, byte [ecx + eax]
cmp cl, dl
je 0x1007d418
mov cl, byte [ecx + 0x10194380]
xor esi, esi
cmp cl, byte [edx + 0x10194380]
je 0x1007d41c
mov ecx, dword [esp + 0x14]
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
jmp 0x1007be3c
test ecx, ecx
mov dword [esp + 0x10], 0
setne bl
jmp 0x1007be3c
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x50], eax
jle 0x1007c708
xor esi, esi
mov eax, dword [esp + 8]
lea edx, [esi + esi*4]
mov dword [esp + 0x1c], edx
test byte [eax + edx*4 + 0x10], 3
je 0x1007c86b
inc esi
cmp esi, dword [esp + 0x50]
jne 0x1007c84d
jmp 0x1007c708
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax + edx*4 + 8]
test eax, eax
mov dword [esp + 0x24], eax
je 0x1007d341
cmp dword [esp], 0
je 0x1007c85f
xor edi, edi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp]
movzx eax, byte [eax + edi]
movzx edx, byte [ecx + edi]
cmp al, dl
jne 0x1007c8a9
test al, al
je 0x1007d34b
inc edi
jmp 0x1007c88b
mov al, byte [eax + 0x10194380]
mov ecx, dword [esp + 0x14]
cmp al, byte [edx + 0x10194380]
jne 0x1007c85f
jmp 0x1007c8a6
mov ecx, dword [esp + 0x14]
cmp al, 0x7d
jne 0x1007c299
xor ebx, ebx
jmp 0x1007c2db
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
test dl, 1
je 0x1007c90d
test esi, esi
jne 0x1007c8f9
mov esi, ecx
and esi, 0x10000
mov esi, dword [esp + 8]
jne 0x1007c90d
test esi, esi
je 0x1007c42f
and edx, 0x4000
jne 0x1007c42f
and ecx, 0x10000
mov eax, str.window
mov edx, str.aggregate
or ecx, esi
cmovne edx, eax
push dword [esp + 0x20]
push dword [esp + 0x28]
push edx
push str.misuse_of__s_function__.s__
push dword [esp + 0x14]
call fcn.1000f470
add esp, 0x14
mov eax, dword [esp + 0xc]
xor esi, esi
inc dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
jmp 0x1007c45d
mov ecx, dword [esp + 0xc]
xor eax, eax
cmp dword [esp + 8], 0
sete al
xor eax, 0xffffbfff
and dword [ecx + 0x18], eax
xor esi, esi
mov eax, dword [esp + 0x1c]
inc esi
jmp 0x1007c45d
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx + 4]
mov bl, byte [edx]
cmp bl, 0xad
je 0x1007d5e7
cmp bl, 0x88
je 0x1007d5ef
cmp bl, 0xae
je 0x1007d5f7
xor edx, edx
inc edx
cmp edx, eax
jne 0x1007bfad
mov ecx, dword [ecx + 0x18]
jmp 0x1007bf8d
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
jmp 0x1007c2e9
cmp byte [edx + 0x12], 0
jne 0x1007c3ca
mov ecx, dword [edx]
mov eax, esi
test byte [ecx + 0x18], 0x20
jne 0x1007c3ca
cmp byte [edx + 0xcc], 2
lea eax, [edx + 0xcc]
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], eax
jae 0x1007d03b
mov esi, dword [esp + 8]
xor ebx, ebx
mov byte [esp + 0x10], 1
jmp 0x1007c421
mov cl, byte [eax + 2]
jmp 0x1007bf6c
cmp byte [ecx + 0xcc], 2
jae 0x1007d6f7
mov eax, dword [esp + 0x20]
test dx, dx
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x18]
js 0x1007ca32
mov ecx, dword [ebx + 0x24]
mov dword [esp + 8], edx
and ecx, 0x20
jne 0x1007d753
mov edx, dword [esp + 8]
mov ecx, dword [ebp + 0xc]
movsx edx, dx
add eax, edx
mov dword [ecx + 0x1c], eax
or byte [ecx + 6], 0x40
mov dword [esp + 0x4c], 0xad
jmp 0x1007c393
xor ebx, ebx
jmp 0x1007c2d7
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
cmp dword [edx + 0x48], eax
jne 0x1007bd78
jmp 0x1007bcad
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], esi
mov dword [esp + 8], str.ambiguous_column_name
cmp dword [esp + 0x34], 0
je 0x1007cd5b
push dword [esp]
push ecx
push dword [esp + 0x3c]
push dword [esp + 0x14]
push str._s:__s._s._s
push dword [esp + 0x18]
call fcn.1000f470
add esp, 0x18
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov byte [eax + 0x11], 1
inc dword [ecx + 0x14]
mov esi, dword [esp + 0x28]
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0xc]
movzx eax, word [eax + 0x20]
test ax, ax
sets cl
xor bl, 1
or bl, cl
jne 0x1007cb0d
mov ecx, dword [esp + 0x54]
mov ebx, esi
mov ecx, dword [ecx]
test byte [ecx + 0x24], 0x60
jne 0x1007cc3f
cmp ax, 0x3f
mov ecx, 0x3f
cmovl ecx, eax
xor eax, eax
xor edx, edx
xor esi, esi
inc eax
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
mov ecx, dword [esp + 0x14]
mov esi, ebx
or dword [ecx + 0x38], eax
or dword [ecx + 0x3c], edx
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx + 0xc]
test edx, edx
jne 0x1007cb85
mov dword [ebx + 0xc], 0
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x1007cb90
mov eax, dword [esp + 0x4c]
mov dword [ebx + 0x10], 0
mov byte [ebx], al
or byte [ebx + 6], 0x80
cmp esi, 1
jne 0x1007d6d3
test byte [ebx + 6], 0x40
jne 0x1007cb5f
cmp dword [esp + 0x30], 0
je 0x1007cb5f
mov eax, dword [esp + 4]
mov ecx, dword [eax]
cmp dword [ecx + 0x148], 0
jne 0x1007cc7f
inc dword [edi + 0x10]
xor ebx, ebx
mov eax, edi
inc ebx
cmp edi, dword [esp + 0x20]
jne 0x1007cb9b
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.10192ef0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x38]
call fcn.1004bd70
jmp 0x1007cb17
mov ecx, dword [esp + 0x38]
call fcn.1004bd70
jmp 0x1007cb25
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
inc dword [eax + 0x10]
mov dword [esp + 0xc], eax
cmp eax, dword [esp + 0x20]
je 0x1007cb6d
jmp 0x1007cb9b
mov eax, dword [esp + 0x2c]
test byte [eax + 0x24], 4
jne 0x1007bd1e
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov edx, dword [eax + 0x34]
test edx, edx
je 0x1007bd58
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0x64], eax
jle 0x1007bd58
mov eax, dword [edx]
mov dword [esp + 0x44], 0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x44]
xor edi, edi
mov esi, dword [eax + edx*8]
mov eax, dword [esp]
movzx edx, byte [esi + edi]
movzx eax, byte [eax + edi]
cmp dl, al
jne 0x1007cc14
test dl, dl
jne 0x1007cc22
jmp 0x1007bd1e
mov dl, byte [edx + 0x10194380]
cmp dl, byte [eax + 0x10194380]
jne 0x1007cc25
inc edi
jmp 0x1007cbfc
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x28]
inc edx
cmp edx, dword [esp + 0x64]
mov eax, edx
mov dword [esp + 0x44], edx
jne 0x1007cbef
jmp 0x1007bd58
mov edx, dword [ecx + 4]
lea esi, [eax + eax*4]
test byte [edx + esi*4 + 0x10], 0x60
je 0x1007cae0
movzx ecx, word [ecx + 0x2a]
xor esi, esi
xor eax, eax
mov edx, 0xffffffff
dec esi
shl esi, cl
test cl, 0x20
cmovne edx, esi
cmove eax, esi
xor esi, esi
dec esi
xor eax, esi
xor edx, esi
cmp cx, 0x3f
cmovg edx, esi
cmovg eax, esi
jmp 0x1007cb01
mov eax, dword [esp + 0x20]
mov ecx, dword [ecx + 0x10]
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 4]
add ecx, 0xc
inc dword [esp + 0x58]
cmp dword [ecx], edx
lea ecx, [ecx + 0x10]
jne 0x1007cc90
mov ecx, dword [ebp + 0xc]
cmp byte [ecx], 0x4d
jne 0x1007cd9b
mov eax, dword [esp + 0x48]
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x1007cb5f
movsx ecx, word [ecx + 0x20]
test cx, cx
jns 0x1007ccd3
movzx ecx, word [eax + 0x28]
mov esi, str.ROWID
test cx, cx
js 0x1007ccdc
mov edx, dword [eax + 4]
lea ecx, [ecx + ecx*4]
mov esi, dword [edx + ecx*4]
mov edx, dword [eax]
mov ecx, dword [esp + 4]
push dword [esp + 0x58]
push esi
call fcn.1007ea00
add esp, 8
cmp eax, 2
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0xc]
jne 0x1007cb5f
mov byte [eax], 0x77
jmp 0x1007cb5f
mov eax, dword [esp]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 4]
mov al, byte [eax]
cmp al, 0x3b
je 0x1007cd1f
cmp al, 0xa7
jne case.0x1007bbd9.208
push dword [esp]
push ebx
call fcn.1007bb90
add esp, 8
mov ebx, 2
cmp eax, 2
je 0x1007cb6d
mov eax, dword [esp]
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 4]
cmp byte [eax], 0xa7
jne case.0x1007bbd9.208
mov al, byte [esi]
xor ebx, ebx
mov byte [esi + 2], al
mov byte [esi], 0xac
jmp 0x1007cb6d
cmp dword [esp + 0x18], 0
je 0x1007ce34
push dword [esp]
push ecx
push dword [esp + 0x10]
push str._s:__s._s
push dword [esp + 0x14]
call fcn.1000f470
add esp, 0x14
jmp 0x1007caa3
mov bl, byte [ebx + 0x10194380]
cmp bl, byte [edx + 0x10194380]
je 0x1007bee9
jmp 0x1007beaf
mov ecx, dword [eax]
mov edi, dword [esp + 0xc]
test ecx, ecx
jle 0x1007cb5f
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0xc]
add eax, 0x34
mov edx, dword [edx]
cmp edx, dword [eax]
je 0x1007cf04
add eax, 0x48
dec ecx
jne 0x1007cdb6
jmp 0x1007cb5f
mov eax, dword [eax + 0x14]
add eax, 0x1c
jmp 0x1007cdd4
add eax, 0x14
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x1007bf81
mov ecx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x1c]
jmp 0x1007cde8
mov ecx, dword [ecx + 0x14]
mov edx, dword [ecx]
jmp 0x1007bfad
mov edi, esi
mov ecx, str.index_expressions
test al, 0x20
jne 0x1007ce12
mov ecx, str.CHECK_constraints
test al, 4
jne 0x1007ce12
test al, 8
mov eax, str.partial_index_WHERE_clauses
mov ecx, str.generated_columns
cmove ecx, eax
push ecx
push str.parameters
push str._s_prohibited_in__s
mov esi, dword [esp + 0x10]
push esi
call fcn.1000f470
mov ecx, esi
add esp, 0x10
mov byte [edi], 0x77
jmp case.0x1007bbd9.210
push dword [esp]
push dword [esp + 0xc]
push 0x101aeaf1
push dword [esp + 0x10]
call fcn.1000f470
add esp, 0x10
jmp 0x1007caa3
mov edi, edx
mov ecx, str.index_expressions
test al, 0x20
jne 0x1007ce74
mov ecx, str.CHECK_constraints
test al, 4
jne 0x1007ce74
test al, 8
mov eax, str.partial_index_WHERE_clauses
mov ecx, str.generated_columns
cmove ecx, eax
push ecx
push str.the__.__operator
push str._s_prohibited_in__s
mov esi, dword [esp + 0x10]
push esi
call fcn.1000f470
mov ecx, esi
add esp, 0x10
mov edx, edi
jmp 0x1007c066
mov edx, dword [ebx + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x34], edx
jmp 0x1007c07c
mov edx, dword [ecx + 0x114]
test edx, edx
mov dword [esp + 8], edx
je 0x1007c092
mov edx, dword [esp + 8]
mov dword [esp + 0x18], edi
cmp dword [edx], eax
je 0x1007d0e5
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x1007cec1
jmp 0x1007d0f8
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], edi
mov dword [esp + 0x30], 0
test byte [eax + 0x18], 6
je 0x1007d07b
xor ebx, ebx
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp]
mov edi, dword [esp + 0x18]
jmp 0x1007bc07
add eax, 0xffffffe4
mov dword [esp + 0x48], eax
jmp 0x1007cca7
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov edx, esi
mov ecx, dword [esp]
mov edi, edx
call fcn.10018570
test eax, eax
je 0x1007d074
mov al, byte [ebx + 0x25]
mov ecx, 0
mov edx, edi
and al, 2
cmp al, 1
sbb ecx, ecx
or edx, ecx
jmp 0x1007c331
test cl, cl
je 0x1007d422
inc eax
jmp 0x1007c126
mov eax, dword [esi + 0x2c]
xor ecx, ecx
cmp byte [eax + 0x10], 0xa3
cmovne ecx, eax
mov dword [esp + 8], ecx
jmp 0x1007c1bd
mov dword [esp + 0x24], 0
jmp 0x1007c1da
mov esi, dword [esp + 4]
mov edx, dword [esp + 0x20]
mov ecx, dword [esi]
push 0
push edi
push 0xfffffffffffffffe
call fcn.10015a00
mov edx, esi
add esp, 0xc
mov edi, dword [ebp + 0xc]
test eax, eax
mov dword [esp], 0
sete byte [esp + 0x10]
setne bl
jmp 0x1007c3ec
mov eax, dword [ebp + 0xc]
or byte [eax + 6], 4
cmp dword [esp], 2
je 0x1007d44f
mov eax, dword [esi + 0x20]
mov edx, dword [ebp + 0xc]
mov ecx, 0x7800000
cmp byte [eax], 0x75
mov eax, 0x800000
cmove ecx, eax
xor ebx, ebx
mov dword [edx + 0x1c], ecx
mov edx, dword [esp + 4]
jmp 0x1007c219
mov dword [esp + 0x18], 0
jmp 0x1007c421
mov eax, dword [esp + 4]
mov eax, dword [eax]
cmp byte [eax + 0xa5], 0
mov eax, dword [esp + 0x1c]
jne 0x1007c437
mov eax, str.no_such_function:__.s
jmp 0x1007d00a
mov eax, str.wrong_number_of_arguments_to_function__.s__
push dword [esp + 0x20]
push dword [esp + 0x28]
push eax
push dword [esp + 0x10]
call fcn.1000f470
add esp, 0x10
mov ecx, dword [esp + 0xc]
xor esi, esi
inc dword [ecx + 0x14]
cmp dword [esp], 0
mov eax, dword [esp + 0x1c]
je 0x1007c45d
jmp 0x1007c952
xor esi, esi
mov eax, dword [esp + 0x1c]
inc esi
test byte [edi + 7], 1
cmove esi, dword [esp]
jmp 0x1007c45d
push dword [esp + 0x20]
push dword [esp + 0x28]
push str.FILTER_may_not_be_used_with_non_aggregate__.s__
push dword [esp + 0x10]
call fcn.1000f470
mov eax, dword [esp + 0x2c]
add esp, 0x10
inc dword [ebx + 0x14]
jmp 0x1007c45d
mov edx, edi
jmp 0x1007c331
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x14]
test eax, eax
mov dword [esp + 8], eax
jle 0x1007d269
mov eax, dword [esp + 0x38]
xor ebx, ebx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov esi, ebx
xor ecx, ecx
shl esi, 4
mov edi, dword [eax + esi]
mov eax, dword [esp + 0x34]
movzx edx, byte [edi + ecx]
movzx eax, byte [eax + ecx]
cmp dl, al
jne 0x1007d0bf
test dl, dl
jne 0x1007d0cd
jmp 0x1007d13c
mov dl, byte [edx + 0x10194380]
cmp dl, byte [eax + 0x10194380]
jne 0x1007d0d0
inc ecx
jmp 0x1007d0a9
mov eax, ebx
inc eax
cmp eax, dword [esp + 8]
mov ebx, eax
jne 0x1007d09b
mov dword [esp + 0x30], 0
jmp 0x1007d14e
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x114]
mov dword [esp + 8], eax
cmp dword [esp + 8], 0
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x18]
je 0x1007c092
mov edi, dword [esp + 0x18]
lea eax, [esi + 0x2c]
mov ecx, dword [esp + 8]
cmp dword [ecx], ebx
je 0x1007d253
mov ecx, dword [esp + 8]
mov esi, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 8], ecx
test ecx, ecx
mov ecx, dword [esp + 4]
jne 0x1007d115
jmp 0x1007c092
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + esi + 0xc]
mov dword [esp + 0x30], eax
cmp ebx, dword [esp + 8]
jne 0x1007d17d
xor eax, eax
mov edx, dword [esp + 0x34]
movzx ecx, byte [eax + str.main]
movzx edx, byte [edx + eax]
cmp cl, dl
jne 0x1007d16c
test cl, cl
jne 0x1007d17a
jmp 0x1007d2ed
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [edx + 0x10194380]
jne 0x1007d17d
inc eax
jmp 0x1007d150
mov esi, dword [ebp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
jmp 0x1007bc07
mov eax, dword [eax + 0x14c]
mov ebx, dword [esi + 0x20]
mov edi, dword [edx + 0xf4]
mov dword [esp], eax
call dword [section..00cfg]
xor eax, eax
push edi
push eax
push ebx
push eax
push 0x1f
push dword [esp + 0x14]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x1007d278
mov ebx, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [esp + 8]
push edi
call fcn.1000f470
add esp, 8
mov dword [edi + 0xc], ebx
push dword [esi + 0x20]
push str.not_authorized_to_use_function:__s
push edi
call fcn.1000f470
add esp, 0xc
mov eax, dword [esp + 0xc]
mov edi, dword [ebp + 0xc]
inc dword [eax + 0x14]
xor ebx, ebx
mov byte [edi], 0x77
inc ebx
jmp 0x1007cb6d
mov eax, str._.s___may_not_be_used_as_a_window_function
jmp 0x1007d00a
mov ecx, str.index_expressions
test al, 0x20
jne 0x1007d232
mov ecx, str.CHECK_constraints
test al, 4
jne 0x1007d232
test al, 8
mov eax, str.partial_index_WHERE_clauses
mov ecx, str.generated_columns
cmove ecx, eax
push ecx
push str.non_deterministic_functions
push str._s_prohibited_in__s
mov ebx, dword [esp + 0x10]
push ebx
call fcn.1000f470
mov edx, ebx
add esp, 0x10
xor ebx, ebx
jmp 0x1007c3b2
mov ecx, dword [esp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x18]
mov dword [ecx], eax
mov ecx, dword [esp + 4]
jmp 0x1007c092
xor ebx, ebx
mov dword [esp + 0x30], 0
jmp 0x1007d148
test eax, 0xfffffffd
je 0x1007d3cc
xor ebx, ebx
mov eax, str.authorizer_malfunction
inc ebx
jmp 0x1007d1d0
mov ecx, str.index_expressions
test al, 0x20
mov dword [esp + 0xc], edi
jne 0x1007d2b5
mov ecx, str.CHECK_constraints
test al, 4
jne 0x1007d2b5
test al, 8
mov eax, str.partial_index_WHERE_clauses
mov ecx, str.generated_columns
cmove ecx, eax
push ecx
push str.subqueries
push str._s_prohibited_in__s
push dword [esp + 0x10]
call fcn.1000f470
add esp, 0x10
mov edi, esi
mov edi, dword [esp + 0xc]
mov byte [esi], 0x77
jmp 0x1007bfe9
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x2c]
mov dword [eax], 0
jmp 0x1007bcb8
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov ebx, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x30], eax
jmp 0x1007cef1
bt ecx, 0x1a
jb 0x1007d4d2
mov eax, dword [ebp + 0xc]
xor esi, esi
mov edi, dword [eax + 8]
movzx edx, byte [edi + esi]
movzx eax, byte [esi + str.true]
cmp dl, al
jne 0x1007d32c
test dl, dl
jne 0x1007d33e
jmp 0x1007d490
mov dl, byte [edx + 0x10194380]
cmp dl, byte [eax + 0x10194380]
jne 0x1007d4a7
inc esi
jmp 0x1007d314
cmp dword [esp], 0
jne 0x1007c85f
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
test byte [esp + 0x2c], 1
mov edi, dword [eax + ecx*4 + 4]
mov ecx, dword [esp + 4]
mov eax, dword [edi + 4]
jne 0x1007d374
mov ecx, dword [esp + 4]
mov edx, eax
and edx, 0x10
jne 0x1007d72d
test ax, ax
js 0x1007d67d
mov al, byte [edi]
cmp al, 0xad
je 0x1007d6a3
cmp al, 0x88
je 0x1007d6ab
cmp al, 0xae
je 0x1007d6b3
mov edx, dword [esp + 8]
mov ebx, ecx
push dword [esp + 0x5c]
push 0x101c3b42
mov edi, dword [ebp + 0xc]
push edi
push esi
call fcn.1007e700
add esp, 0x10
cmp byte [ebx + 0xcc], 2
jae 0x1007d6dd
mov edi, dword [esp + 0xc]
mov ebx, dword [ebp + 0xc]
jmp 0x1007cb3f
mov edi, dword [ebp + 0xc]
mov edx, dword [esp + 4]
test eax, eax
mov ebx, 0
je 0x1007c23e
jmp 0x1007d1fc
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
jmp 0x1007ca7b
mov eax, edx
and eax, 0x50000001
xor eax, 0x40000001
je 0x1007c77a
xor eax, eax
mov edi, 0x20000000
jmp 0x1007c76e
test cl, cl
je 0x1007d422
inc eax
jmp 0x1007c7e2
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x10]
test byte [eax + 0x25], 2
jne 0x1007d448
mov eax, dword [ebp + 0xc]
xor esi, esi
inc esi
mov dword [esp + 0x10], esi
mov word [eax + 0x20], 0xffff
mov byte [eax + 1], 0x44
jmp 0x1007be3c
xor esi, esi
jmp 0x1007c810
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x18]
call fcn.1007e2c0
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 4]
test eax, eax
mov ebx, 0
mov dword [ecx + 0x1c], eax
jns 0x1007c219
push str.second_argument_to_likelihood___must_be_a_constant_between_0.0_and_1.0
push edx
call fcn.1000f470
mov edx, dword [esp + 0xc]
add esp, 8
mov eax, dword [esp + 0xc]
inc dword [eax + 0x14]
jmp 0x1007c219
or ecx, sym.nss3.dll_Ordinal_0
mov eax, dword [ebp + 0xc]
xor ebx, ebx
inc ebx
mov byte [eax], 0xa7
mov dword [eax + 4], ecx
jmp 0x1007cb6d
xor esi, esi
movzx edx, byte [edi + esi]
movzx eax, byte [esi + str.false]
cmp dl, al
jne 0x1007d4c1
test dl, dl
jne 0x1007d4cf
jmp 0x1007d603
mov dl, byte [edx + 0x10194380]
cmp dl, byte [eax + 0x10194380]
jne 0x1007d4d2
inc esi
jmp 0x1007d4a9
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], 0
xor ecx, ecx
jmp 0x1007ca7b
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + 0x1c]
cmp byte [ecx], 1
mov dword [esp], eax
ja 0x1007d51e
xor edx, edx
cmp dword [esp], 0
je 0x1007d50a
mov eax, dword [esp]
mov edx, dword [eax + 0x48]
mov ecx, dword [esp + 4]
push dword [esp + 0x18]
push dword [esp + 0xc]
call fcn.1007e350
add esp, 8
mov eax, dword [esp + 8]
mov esi, dword [eax + 8]
test esi, esi
je 0x1007d54e
mov edi, dword [esi]
test edi, edi
jle 0x1007d54e
add esi, 4
inc edi
mov edx, dword [esi]
test edx, edx
je 0x1007d545
mov ecx, dword [ebp + 8]
call fcn.10076970
test eax, eax
jne 0x1007d54e
dec edi
add esi, 0x14
cmp edi, 1
jg 0x1007d533
mov eax, dword [esp + 8]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x1007d57e
mov edi, dword [esi]
test edi, edi
jle 0x1007d57e
add esi, 4
inc edi
mov edx, dword [esi]
test edx, edx
je 0x1007d575
mov ecx, dword [ebp + 8]
call fcn.10076970
test eax, eax
jne 0x1007d57e
dec edi
add esi, 0x14
cmp edi, 1
jg 0x1007d563
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x1007d591
mov ecx, dword [ebp + 8]
call fcn.10076970
mov ecx, dword [esp]
mov edx, dword [esp + 8]
call fcn.1007a390
mov eax, dword [esp + 0xc]
or byte [eax + 0x19], 0x80
jmp 0x1007c594
mov eax, dword [edi + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x1007c4b4
mov ecx, dword [ebp + 8]
call fcn.10076970
jmp 0x1007c4b4
mov eax, dword [edi + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x1007c566
lea ecx, [esp + 0x80]
call fcn.10076970
xorps xmm0, xmm0
jmp 0x1007c566
mov bl, byte [edx + 2]
jmp 0x1007c981
mov edx, dword [edx + 0x14]
add edx, 0x1c
jmp 0x1007d5fa
add edx, 0x14
mov edx, dword [edx]
mov edx, dword [edx]
jmp 0x1007c996
or ecx, 0x20000000
jmp 0x1007d496
lea eax, [edi + 4]
mov dword [esp + 0x1c], 0
mov dword [esp + 8], 0
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp]
push dword [esp + 0x34]
push dword [esp + 0x1c]
call fcn.1007e590
add esp, 8
test eax, eax
je 0x1007d665
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
inc dword [esp + 0x28]
mov dword [esp + 0x10], 2
mov word [esi + 0x20], ax
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov ebx, dword [edi]
inc ecx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x1c]
add dword [esp + 0x44], 0x14
inc eax
cmp eax, ebx
mov dword [esp + 0x1c], eax
jge 0x1007c61c
jmp 0x1007d625
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0xc]
jne 0x1007d695
and dword [esp + 0x2c], 0x4000
jne 0x1007d37d
push dword [esp + 0x24]
push str.misuse_of_aliased_window_function__s
jmp 0x1007d736
mov al, byte [edi + 2]
jmp 0x1007d387
mov edi, dword [edi + 0x14]
add edi, 0x1c
jmp 0x1007d6b6
add edi, 0x14
mov eax, dword [edi]
mov ecx, dword [esp + 4]
cmp dword [eax], 1
je 0x1007d397
push str.row_value_misused
push ecx
call fcn.1000f470
add esp, 8
mov ebx, 2
jmp 0x1007cb6d
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x114]
test eax, eax
je 0x1007d747
mov ecx, dword [ebp + 0xc]
cmp dword [eax], ecx
je 0x1007d741
mov eax, dword [eax + 0xc]
jmp 0x1007d6e7
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], 0xa4
mov word [eax + 0x20], dx
mov dword [eax + 0x2c], ebx
jmp 0x1007c393
inc byte [edi + 2]
mov esi, 0
lea ecx, [esp + 0x70]
mov edx, dword [esp]
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x1007c4cc
jmp 0x1007c594
push dword [esp + 0x24]
push str.misuse_of_aliased_aggregate__s
push ecx
call fcn.1000f470
add esp, 0xc
jmp 0x1007d6d3
mov dword [eax], 0
mov ebx, dword [ebp + 0xc]
mov edi, dword [esp + 0xc]
jmp 0x1007cb3f
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], esi
movzx edx, word [ecx + 0x10]
and edx, 0x20
cmp word [esp + 8], 0
jle 0x1007d7a3
movsx edi, word [esp + 8]
mov esi, 1
test edi, edi
cmovle edi, esi
add dword [esp + 0x24], 0x24
xor ecx, ecx
mov ebx, edi
mov esi, dword [esp + 0x24]
movzx edx, dx
shr edx, 5
xor edx, 1
add ecx, edx
movzx edx, word [esi]
add esi, 0x14
mov dword [esp + 0x24], esi
and edx, 0x20
dec ebx
jne 0x1007d782
jmp 0x1007d7a7
xor edi, edi
xor ecx, ecx
test dx, dx
je 0x1007d7c1
mov edx, dword [esp + 0x10]
sub edi, ecx
mov esi, dword [esp + 0x28]
add di, word [edx + 0x2c]
mov edx, edi
jmp 0x1007ca32
mov esi, dword [esp + 0x28]
mov edx, ecx
jmp 0x1007ca32