Function at 0x493340
Capabilities:
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, 0xa0
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov al, byte [edx]
mov ecx, eax
add cl, 0xec
cmp cl, 0x27
ja case.default.0x493371
movzx eax, cl
jmp dword [eax*4 + 0x50c068]
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
jne case.0x4933c3.119
mov ecx, dword [edx + 0xc]
mov esi, edx
mov dl, byte [ecx]
cmp dl, 0xad
jne 0x493397
mov dl, byte [ecx + 2]
cmp dl, 0x88
je 0x493493
mov eax, 1
cmp dl, 0xae
jne 0x49349d
add ecx, 0x14
jmp 0x493499
add al, 0x78
cmp al, 0x21
ja case.0x4933c3.119
movzx eax, al
jmp dword [eax*4 + 0x50bfe0]
test byte [edx + 5], 8
je case.0x4933c3.119
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
test al, 0x2e
je 0x493421
mov edi, edx
mov ecx, str.index_expressions
test al, 0x20
jne 0x493405
mov ecx, str.CHECK_constraints
test al, 4
jne 0x493405
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 + 0x18]
call fcn.0042af90
add esp, 0x10
mov edx, edi
mov byte [edi], 0x77
mov edi, edx
mov edx, dword [edx + 0x14]
mov ecx, ebx
call fcn.0048d270
mov eax, dword [esp + 0x18]
cmp esi, dword [eax + 0x10]
je case.0x4933c3.119
or byte [edi + 4], 0x20
mov ecx, edi
mov eax, dword [esp + 0x18]
or byte [eax + 0x18], 0x40
jmp case.0x4933c3.119
mov esi, dword [edx + 0x10]
test esi, esi
jne 0x493470
jmp case.0x493371.208
mov esi, dword [esi + 0x14]
add esi, 4
mov esi, dword [esi]
test esi, esi
je case.0x493371.208
mov eax, dword [esi + 4]
test eax, 0x41000
je 0x49366e
test eax, 0x40000
jne 0x493460
add esi, 0xc
mov esi, dword [esi]
test esi, esi
jne 0x493470
jmp case.0x493371.208
mov ecx, dword [ecx + 0x14]
add ecx, 0x1c
mov eax, dword [ecx]
mov eax, dword [eax]
cmp byte [esi], 0x30
jne 0x4934d1
mov ecx, dword [esi + 0x14]
mov esi, dword [ecx + 4]
mov bl, byte [esi]
cmp bl, 0xad
jne 0x4934b2
mov bl, byte [esi + 2]
cmp bl, 0x88
je 0x4936a4
mov edx, 1
cmp bl, 0xae
jne 0x4936ae
add esi, 0x14
jmp 0x4936aa
mov ecx, dword [esi + 0x10]
jmp 0x4936b5
mov eax, dword [esp + 0xc]
mov ebx, dword [edx + 8]
mov edi, edx
xor esi, esi
mov eax, dword [eax]
mov dword [edx + 0x1c], 0xffffffff
mov dword [esp + 0x40], eax
lea eax, [edx + 0x1c]
xor edx, edx
mov dword [esp + 0x38], eax
xor eax, eax
jmp 0x4939c2
mov eax, dword [esp + 0x18]
mov esi, dword [edx + 0xc]
mov eax, dword [eax + 0x18]
test al, 0x28
je 0x49354b
mov edi, edx
mov ecx, str.index_expressions
test al, 0x20
jne 0x493532
mov ecx, str.CHECK_constraints
test al, 4
jne 0x493532
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
push dword [esp + 0x18]
call fcn.0042af90
add esp, 0x10
mov edx, edi
mov ecx, dword [edx + 0x10]
xor eax, eax
cmp byte [ecx], 0x3b
je 0x49355e
mov eax, dword [esi + 8]
mov esi, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
mov edi, edx
mov edx, dword [esi + 8]
mov ebx, dword [ecx + 8]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xc]
cmp byte [edx + 0xc8], 2
jb 0x49398e
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x110]
test edx, edx
je 0x49398e
mov edi, edx
nop
cmp dword [edi], ecx
je 0x4937cf
mov edi, dword [edi + 0xc]
test edi, edi
jne 0x493590
mov edi, dword [ebp + 0xc]
jmp 0x4937e0
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x18]
test al, 0x2e
je case.0x4933c3.119
mov esi, edx
mov ecx, str.index_expressions
test al, 0x20
jne 0x4935d9
mov ecx, str.CHECK_constraints
test al, 4
jne 0x4935d9
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
push dword [esp + 0x18]
call fcn.0042af90
add esp, 0x10
mov byte [esi], 0x77
jmp case.0x4933c3.119
mov esi, dword [edx + 0x14]
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
test esi, esi
je 0x493615
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
mov ecx, 0x4001
mov ebx, dword [eax]
and ecx, dword [edi + 0x18]
test byte [edx + 7], 1
mov al, byte [ebx + 0x4e]
mov dword [esp + 0x24], ecx
mov byte [esp + 0x14], al
je 0x493648
mov eax, dword [edx + 0x2c]
xor ecx, ecx
cmp byte [eax + 0x10], 0xa3
cmovne ecx, eax
mov dword [esp + 8], ecx
mov edx, dword [edx + 8]
test edx, edx
je 0x493716
push edx
mov edi, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, edi
add esp, 4
and eax, 0x3fffffff
mov dword [esp + 0x20], eax
jmp 0x49371e
cmp byte [esi], 0x3b
jne case.0x493371.208
push esi
push ebx
mov edi, edx
call fcn.00493340
add esp, 8
mov ebx, 2
cmp eax, 2
je 0x49370c
cmp byte [esi], 0xa7
mov edx, edi
jne case.0x493371.208
mov al, byte [edx]
xor ebx, ebx
mov byte [edx + 2], al
mov byte [edx], 0xac
jmp 0x49370c
mov esi, dword [esi + 0x14]
add esi, 0x1c
mov edx, dword [esi]
mov edx, dword [edx]
cmp edx, eax
jne 0x4936db
mov ecx, dword [ecx + 0x14]
mov bl, byte [ecx]
cmp bl, 0xad
jne 0x4936bf
mov bl, byte [ecx + 2]
cmp bl, 0x88
je 0x4936d3
mov edx, 1
cmp bl, 0xae
jne 0x4936db
mov ecx, dword [ecx + 0x14]
jmp 0x4936d9
mov ecx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [ecx]
cmp eax, edx
je case.0x4933c3.119
push str.row_value_misused
push dword [esp + 0x10]
call fcn.0042af90
add esp, 8
mov eax, dword [esp + 0xc]
mov ebx, 2
cmp dword [eax + 0x24], 0
jne 0x49370c
mov eax, dword [eax]
xor ebx, ebx
cmp byte [eax + 0x51], 0
setne bl
add ebx, ebx
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x20], 0
movzx edi, byte [esp + 0x14]
mov ecx, ebx
mov ebx, edx
push 0
push edi
push dword [esp + 0x18]
call fcn.00431280
add esp, 0xc
test eax, eax
mov dword [esp + 0x34], ebx
je 0x49379e
cmp dword [eax + 0x14], 0
mov ebx, dword [ebp + 8]
mov edx, eax
setne byte [esp + 0x2c]
test byte [eax + 5], 4
je 0x493815
mov edi, dword [ebp + 0xc]
or byte [edi + 6], 4
cmp dword [esp + 0x10], 2
jne 0x4937ff
mov ecx, dword [esi + 0x14]
mov edi, edx
call fcn.004954b0
mov ecx, dword [ebp + 0xc]
mov edx, edi
test eax, eax
mov dword [ecx + 0x1c], eax
jns 0x493815
push str.second_argument_to_likelihood___must_be_a_constant_between_0.0_and_1.0
push dword [esp + 0x10]
call fcn.0042af90
mov edx, edi
add esp, 8
mov eax, dword [esp + 0x18]
inc dword [eax + 0x14]
jmp 0x493815
mov eax, dword [esp + 0xc]
mov edx, ebx
mov ecx, dword [eax]
push 0
push edi
push 0xfffffffffffffffe
call fcn.00431280
add esp, 0xc
mov edi, dword [ebp + 0xc]
test eax, eax
mov edx, eax
mov dword [esp + 0x10], 0
sete byte [esp + 0x1c]
setne bl
jmp 0x493919
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0xc]
mov dword [edi], ecx
mov edi, ecx
mov edx, dword [edx + 0x110]
test edx, edx
je 0x49398e
lea ecx, [edi + 0x2c]
cmp dword [edx], esi
je 0x49398c
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x4937eb
jmp 0x49398e
mov eax, dword [edx + 0x20]
mov ecx, 0x7800000
cmp byte [eax], 0x75
mov eax, 0x800000
cmove ecx, eax
mov dword [edi + 0x1c], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
cmp byte [eax + 0xa5], 0
jne 0x493835
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0xc8], 0
je 0x494588
mov eax, dword [edx + 4]
mov edi, dword [ebp + 0xc]
test eax, 0x2800
je 0x493849
or byte [edi + 6], 8
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x18]
test eax, 0x800
mov eax, dword [ecx + 0x18]
jne 0x49387b
test al, 0x2a
je 0x49388a
mov edi, edx
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
push 0
push str.non_deterministic_functions
call fcn.00495460
mov edx, edi
mov edi, dword [ebp + 0xc]
add esp, 8
jmp 0x49388a
and al, 0x2e
mov byte [edi + 2], al
test byte [ecx + 0x1a], 4
je 0x49388a
or byte [edi + 7], 0x40
mov cl, byte [esp + 0x2c]
xor eax, eax
mov al, cl
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
test eax, 0x40000
je 0x4938eb
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0x12], 0
jne 0x4938eb
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
test byte [ecx + 0x18], 0x20
jne 0x4938eb
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xc8], 2
lea ecx, [eax + 0xc8]
mov dword [esp + 0x2c], ecx
jae 0x494bb9
mov dword [esp + 0x14], 0
mov byte [esp + 0x1c], 1
mov dword [esp + 0x48], 0
jmp 0x494643
mov bl, 1
test eax, 0x280000
je 0x493914
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0xc8], 1
ja 0x493914
mov edi, edx
mov edx, dword [ebp + 0xc]
push edi
call fcn.004895d0
mov edx, edi
mov edi, dword [ebp + 0xc]
add esp, 4
mov byte [esp + 0x1c], 1
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xc8], 2
lea ecx, [eax + 0xc8]
mov dword [esp + 0x2c], ecx
jae 0x49395e
test edx, edx
mov dword [esp + 0x48], ebx
je 0x49397c
cmp dword [esp + 8], 0
mov dword [esp + 0x14], edx
je 0x494640
cmp dword [edx + 0x18], 0
mov ebx, dword [ebp + 8]
mov ecx, str._.s___may_not_be_used_as_a_window_function
je 0x4947ab
jmp 0x494643
mov ebx, dword [ebp + 8]
mov dword [esp + 0x14], edx
test byte [edi + 7], 1
mov eax, 1
cmove eax, dword [esp + 0x10]
mov dword [esp + 0x10], eax
jmp 0x4947f2
mov ebx, dword [ebp + 8]
mov dword [esp + 0x14], 0
jmp 0x494643
mov dword [edx], ecx
mov ecx, dword [esp + 0xc]
test eax, eax
mov esi, edi
mov edx, dword [ecx]
lea ecx, [edi + 0x1c]
mov dword [edi + 0x1c], 0xffffffff
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], edx
je 0x4939ba
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x18], 6
je 0x494492
xor edx, edx
xor esi, esi
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x4c], 0xa4
mov dword [esp + 0x60], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 8], ebx
setne al
test edx, edx
lea edx, [edi + 0x2c]
sete cl
mov dword [esp + 0x5c], edx
xor edx, edx
and cl, al
mov eax, dword [esp + 0xc]
xor cl, 1
mov byte [esp + 0x3f], cl
add eax, 0x78
mov dword [esp + 0x50], eax
lea eax, [ebx + 1]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], eax
test ecx, ecx
je 0x493d85
cmp dword [ecx], 0
jle 0x493d91
lea eax, [ecx + 8]
mov dword [esp + 0x20], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x28], esi
mov dword [esp + 0x44], ecx
jmp 0x493a9a
mov eax, dword [esp + 0x54]
inc dword [esp + 0x20]
mov ecx, 0xffff
mov edx, dword [ebp + 0xc]
movsx eax, word [eax + 0x28]
cmp edi, eax
cmove edi, ecx
mov ecx, dword [esp + 0x24]
mov word [edx + 0x20], di
mov dword [esp + 0x2c], ecx
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x24]
inc edi
add eax, 0x48
cmp edi, dword [ecx]
mov dword [esp + 0x68], edi
jge 0x493d99
mov edi, dword [eax + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x14]
test eax, eax
je 0x493b70
test byte [eax + 5], 8
je 0x493b70
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x54], edi
mov ecx, dword [eax]
test ecx, ecx
jle 0x493b36
lea ebx, [eax + 4]
xor edi, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], 0
jmp 0x493b0e
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x24]
inc dword [esp + 0x20]
mov edx, 2
mov dword [esp + 0x1c], 1
mov word [eax + 0x20], di
mov dword [esp + 0x2c], esi
mov ecx, dword [ecx]
inc edi
add ebx, 0x10
cmp edi, ecx
jge 0x493b3e
mov esi, edx
mov edx, dword [esp + 8]
mov dword [esp + 0x14], ecx
mov ecx, ebx
push dword [esp + 0x34]
push dword [esp + 0x14]
call fcn.00495830
add esp, 8
test eax, eax
jne 0x493ae0
mov ecx, dword [esp + 0x14]
mov edx, esi
jmp 0x493b06
mov dword [esp + 0x1c], 0
cmp dword [esp + 0x10], 0
mov edi, dword [esp + 0x54]
je 0x493c21
cmp dword [esp + 0x1c], 0
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x44]
jne 0x493a82
nop word cs:[eax + eax]
nop
cmp dword [esp + 0x34], 0
je 0x493b80
cmp dword [edi + 0x48], esi
jne 0x493a82
cmp dword [esp + 0x10], 0
mov dword [esp + 0x54], edi
je 0x493c40
mov eax, dword [esp + 0x24]
mov edi, edx
mov esi, dword [eax + 0xc]
test esi, esi
mov ecx, esi
jne 0x493ba4
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
xor edx, edx
jmp 0x493bb5
test bl, bl
je 0x493be3
inc edx
mov eax, dword [esp + 0x10]
movzx ebx, byte [ecx + edx]
movzx eax, byte [eax + edx]
cmp bl, al
je 0x493bb0
movzx ebx, byte [ebx + 0x50ce7b]
cmp bl, byte [eax + 0x50ce7b]
je 0x493bb4
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 8]
mov edx, edi
jmp 0x493a7e
mov ebx, dword [esp + 8]
test esi, esi
mov edx, edi
je 0x493c40
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xc8], 2
jb 0x493c40
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x110]
test eax, eax
je 0x493c40
nop dword [eax + eax]
mov ecx, dword [esp + 0x5c]
cmp dword [eax], ecx
je 0x493c2e
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x493c10
jmp 0x493c40
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 8]
jmp 0x493a7e
mov dword [eax], 0
nop word cs:[eax + eax]
nop
mov edi, dword [esp + 0x2c]
test edx, edx
mov esi, edx
cmove edi, dword [esp + 0x24]
test ebx, ebx
je 0x493c73
mov cl, byte [ebx]
xor ebx, ebx
test cl, cl
je 0x493c75
mov edx, dword [esp + 0x64]
nop dword [eax]
movzx eax, cl
movzx ecx, byte [edx]
inc edx
add bl, byte [eax + 0x50ce7b]
test cl, cl
jne 0x493c60
jmp 0x493c75
xor ebx, ebx
mov eax, dword [esp + 0x54]
mov edx, esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], edi
inc edx
movzx ecx, word [eax + 0x2a]
test cx, cx
mov dword [esp + 0x1c], ecx
jle 0x493d74
mov ebx, dword [eax + 4]
xor edi, edi
mov dword [esp + 0x58], edx
jmp 0x493cae
inc edi
add ebx, 0x14
cmp edi, dword [esp + 0x1c]
je 0x493a72
mov eax, dword [esp + 0x14]
cmp byte [ebx + 0xf], al
jne 0x493ca0
mov esi, dword [ebx]
xor edx, edx
jmp 0x493cd0
movzx eax, byte [eax + 0x50ce7b]
cmp al, byte [ecx + 0x50ce7b]
jne 0x493ca0
inc edx
mov ecx, dword [esp + 8]
movzx eax, byte [esi + edx]
movzx ecx, byte [ecx + edx]
cmp al, cl
jne 0x493cc0
test al, al
jne 0x493ccf
cmp dword [esp + 0x20], 1
jne 0x493a4d
mov eax, dword [esp + 0x24]
test byte [eax + 0x24], 4
jne 0x493ca0
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x30]
test eax, eax
je 0x493a4d
mov ecx, dword [eax + 4]
test ecx, ecx
mov dword [esp + 0x70], ecx
jle 0x493a4d
mov eax, dword [eax]
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, dword [eax + ecx*8]
xor esi, esi
mov dword [esp + 0x48], ecx
jmp 0x493d40
movzx eax, byte [eax + 0x50ce7b]
cmp al, byte [ecx + 0x50ce7b]
jne 0x493d60
inc esi
mov ecx, dword [esp + 8]
movzx eax, byte [edx + esi]
movzx ecx, byte [ecx + esi]
cmp al, cl
jne 0x493d30
test al, al
jne 0x493d3f
jmp 0x493ca0
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x6c]
inc ecx
cmp ecx, dword [esp + 0x70]
jne 0x493d1f
jmp 0x493a4d
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 8]
jmp 0x493a82
mov ecx, esi
mov dword [esp + 0x20], 0
jmp 0x493dd3
mov dword [esp + 0x20], 0
mov ecx, esi
mov esi, edx
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x493dc9
mov eax, dword [edx + 0x28]
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov ecx, dword [esp + 0x5c]
mov eax, dword [edx + 0x10]
mov dword [ecx], eax
test byte [edx + 0x24], 8
je 0x493dc4
mov ecx, dword [ebp + 0xc]
or byte [ecx + 6], 0x10
mov ecx, dword [eax + 0x48]
jmp 0x493dd1
mov dword [esp + 0x2c], 0
mov edx, esi
test edx, edx
setne al
or al, byte [esp + 0x3f]
jne 0x493e40
mov eax, dword [esp + 0x50]
mov esi, ecx
cmp dword [eax], 0
je 0x493e87
mov eax, dword [esp + 0xc]
mov cl, byte [eax + 0x90]
cmp cl, 0x7e
je 0x493e52
xor eax, eax
jmp 0x493e10
movzx edx, byte [edx + 0x50ce7b]
cmp dl, byte [ebx + 0x50ce7b]
jne 0x493e47
inc eax
mov ebx, dword [esp + 0x10]
movzx edx, byte [eax + 0x513d3f]
movzx ebx, byte [ebx + eax]
cmp dl, bl
jne 0x493e00
test dl, dl
jne 0x493e0f
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 8]
mov dword [eax], 1
jmp 0x493e99
mov esi, ecx
jmp 0x4941a0
mov ebx, dword [esp + 8]
xor edx, edx
cmp cl, 0x7d
je 0x493e9b
xor eax, eax
jmp 0x493e65
test cl, cl
je 0x493e8b
inc eax
mov edx, dword [esp + 0x10]
movzx ecx, byte [eax + 0x513d43]
movzx edx, byte [edx + eax]
cmp cl, dl
je 0x493e60
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
je 0x493e64
xor edx, edx
jmp 0x493e9b
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov dword [eax], 0
mov edx, dword [ecx]
mov eax, dword [esp + 0x30]
test byte [eax + 0x19], 2
je 0x493f00
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x493f00
mov edi, edx
xor eax, eax
jmp 0x493ec9
test dl, dl
je 0x4940e7
inc eax
mov ebx, dword [esp + 0x10]
movzx edx, byte [eax + str.excluded]
movzx ebx, byte [ebx + eax]
cmp dl, bl
je 0x493ec0
movzx edx, byte [edx + 0x50ce7b]
cmp dl, byte [ebx + 0x50ce7b]
je 0x493ec8
mov ebx, dword [esp + 8]
mov edx, edi
nop word cs:[eax + eax]
nop dword [eax + eax]
test edx, edx
je 0x494103
xor edi, edi
mov esi, edx
test ebx, ebx
je 0x493f33
mov al, byte [ebx]
xor ecx, ecx
test al, al
je 0x493f35
mov edx, dword [esp + 0x64]
nop dword [eax]
movzx eax, al
add cl, byte [eax + 0x50ce7b]
movzx eax, byte [edx]
inc edx
test al, al
jne 0x493f20
jmp 0x493f35
xor ecx, ecx
mov edx, esi
mov esi, dword [esi + 0x48]
movsx eax, word [edx + 0x2a]
mov dword [esp + 0x1c], edx
test eax, eax
mov dword [esp + 0x24], eax
jle 0x493fd2
mov dword [esp + 0x28], esi
mov esi, dword [edx + 4]
mov dword [esp + 0x14], 0
jmp 0x493f76
mov eax, dword [esp + 0x14]
add esi, 0x14
inc eax
cmp eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
je 0x494394
cmp byte [esi + 0xf], cl
jne 0x493f60
mov edi, dword [esi]
xor eax, eax
jmp 0x493fa4
movzx edx, byte [edx + 0x50ce7b]
cmp dl, byte [ebx + 0x50ce7b]
mov ebx, dword [esp + 8]
jne 0x493f60
inc eax
movzx edx, byte [edi + eax]
movzx ebx, byte [ebx + eax]
cmp dl, bl
jne 0x493f90
mov ebx, dword [esp + 8]
test dl, dl
jne 0x493fa3
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov ecx, 0xffffffff
movsx eax, word [edx + 0x28]
cmp edi, eax
cmove edi, ecx
cmp edi, dword [esp + 0x24]
mov ecx, edi
jl 0x4940a1
mov ebx, esi
xor eax, eax
mov dword [esp + 0x14], ecx
jmp 0x493ff9
test dl, dl
je 0x494083
inc eax
mov ecx, dword [esp + 8]
movzx edx, byte [ecx + eax]
movzx ecx, byte [eax + str._ROWID_]
cmp dl, cl
je 0x493ff0
movzx edx, byte [edx + 0x50ce7b]
cmp dl, byte [ecx + 0x50ce7b]
je 0x493ff8
xor esi, esi
jmp 0x494025
test al, al
je 0x494083
inc esi
mov eax, dword [esp + 8]
movzx ecx, byte [esi + str.ROWID]
movzx eax, byte [eax + esi]
cmp al, cl
je 0x494020
movzx eax, byte [eax + 0x50ce7b]
cmp al, byte [ecx + 0x50ce7b]
je 0x494024
xor eax, eax
jmp 0x494055
test dl, dl
je 0x494083
inc eax
mov ecx, dword [esp + 8]
movzx edx, byte [ecx + eax]
movzx ecx, byte [eax + 0x51924e]
cmp dl, cl
je 0x494050
movzx edx, byte [edx + 0x50ce7b]
cmp dl, byte [ecx + 0x50ce7b]
je 0x494054
mov esi, ebx
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x14]
jmp 0x4940a1
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov esi, ebx
mov ebx, dword [esp + 8]
mov edx, 0
mov al, byte [eax + 0x25]
and al, 2
cmp al, 1
sbb edx, edx
or ecx, edx
cmp ecx, dword [esp + 0x24]
mov edx, 1
jge 0x4941a0
mov eax, dword [esp + 0x38]
inc dword [esp + 0x20]
mov eax, dword [eax]
cmp eax, 2
jne 0x49411c
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xc8], 2
jb 0x494144
mov eax, dword [ebp + 0xc]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x4c], 0xa4
mov word [eax + 0x20], cx
mov dword [eax + 0x2c], edi
jmp 0x4941a0
mov eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 8]
mov edx, dword [eax + 0x18]
mov dword [ecx], 2
test edx, edx
jne 0x493f08
cmp dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x28], esi
setne byte [esp + 0x1c]
xor edx, edx
jmp 0x4941de
test ecx, ecx
js 0x494162
mov edx, 1
mov edi, ecx
shl edx, cl
cmp ecx, 0x1f
mov ecx, 0xffffffff
cmovg edx, ecx
test eax, eax
je 0x49416b
mov eax, dword [esp + 0xc]
or dword [eax + 0x8c], edx
jmp 0x494175
mov eax, dword [esp + 0x30]
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 8]
add ecx, dword [eax + 0x18]
mov dword [edi + 0x1c], ecx
or byte [edi + 6], 0x40
mov dword [esp + 0x4c], 0xad
jmp 0x4941a0
mov eax, dword [ebp + 0xc]
mov byte [eax + 1], 0x44
jmp 0x49417f
mov eax, dword [esp + 0xc]
or dword [eax + 0x88], edx
mov eax, dword [ebp + 0xc]
mov edx, 1
mov ecx, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x4c], 0x4d
mov dword [eax + 0x2c], edi
mov word [eax + 0x20], cx
nop word cs:[eax + eax]
nop dword [eax]
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x28], esi
setne al
je 0x4941d6
cmp dword [esp + 0x20], 0
jne 0x4941d6
cmp edx, 1
jne 0x4941d6
mov eax, dword [esp + 0x30]
mov edx, 1
test byte [eax + 0x18], 0x28
je 0x4942b9
mov byte [esp + 0x1c], 1
xor ecx, ecx
jmp 0x4941de
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x1c], al
cmp dword [esp + 0x10], 0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x58], edx
jne 0x494220
test ecx, ecx
jne 0x494220
mov edx, dword [eax + 0x18]
test dl, dl
jns 0x494220
mov eax, dword [eax + 8]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x24], eax
jle 0x494228
xor eax, eax
jmp 0x494267
test ecx, ecx
jne 0x494547
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x58]
inc dword [esp + 0x60]
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x493a18
jmp 0x4944fd
cmp dword [esp + 8], 0
je 0x4943a1
nop word [eax + eax]
inc eax
cmp eax, dword [esp + 0x24]
je 0x494228
mov ecx, dword [esp + 0x14]
mov edi, eax
shl edi, 4
test byte [ecx + edi + 0xd], 3
jne 0x494260
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + edi + 8]
test esi, esi
je 0x49424c
cmp dword [esp + 8], 0
je 0x494260
xor ecx, ecx
jmp 0x4942a0
movzx ebx, byte [ebx + 0x50ce7b]
cmp bl, byte [edx + 0x50ce7b]
jne 0x494260
inc ecx
mov edx, dword [esp + 8]
movzx ebx, byte [esi + ecx]
movzx edx, byte [edx + ecx]
cmp bl, dl
jne 0x494290
test bl, bl
jne 0x49429f
jmp 0x4943a1
xor eax, eax
mov byte [esp + 0x1c], 1
jmp 0x4942d9
test cl, cl
je 0x49435f
inc eax
movzx ecx, byte [ebx + eax]
movzx edx, byte [eax + str._ROWID_]
cmp cl, dl
je 0x4942d0
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
je 0x4942d8
xor eax, eax
jmp 0x494305
test cl, cl
je 0x49435f
inc eax
movzx ecx, byte [ebx + eax]
movzx edx, byte [eax + str.ROWID]
cmp cl, dl
je 0x494300
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
je 0x494304
xor eax, eax
jmp 0x494335
test cl, cl
je 0x49435f
inc eax
movzx ecx, byte [ebx + eax]
movzx edx, byte [eax + 0x51924e]
cmp cl, dl
je 0x494330
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
je 0x494334
xor ecx, ecx
mov edx, 1
jmp 0x4941de
mov eax, dword [esp + 0x2c]
xor ecx, ecx
mov eax, dword [eax + 0x10]
test byte [eax + 0x25], 2
jne 0x49438a
mov eax, dword [ebp + 0xc]
mov edx, 1
mov ecx, 1
mov word [eax + 0x20], 0xffff
mov byte [eax + 1], 0x44
jmp 0x4941de
mov edx, 1
jmp 0x4941de
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
jmp 0x493fde
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov edi, dword [ecx + edi + 4]
test bl, 1
mov ecx, dword [edi + 4]
jne 0x4943d8
mov edx, ecx
and edx, 0x10
je 0x4943d8
push esi
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x14]
call fcn.0042af90
add esp, 0xc
mov ebx, 2
jmp 0x49370c
test cx, cx
jns 0x4943f7
mov ecx, dword [esp + 0x30]
cmp ecx, dword [esp + 0x18]
jne 0x494520
and ebx, 0x4000
je 0x494520
mov cl, byte [edi]
cmp cl, 0xad
jne 0x494401
mov cl, byte [edi + 2]
cmp cl, 0x88
je 0x494410
cmp cl, 0xae
jne 0x49441d
add edi, 0x14
jmp 0x494416
mov edi, dword [edi + 0x14]
add edi, 0x1c
mov ecx, dword [edi]
cmp dword [ecx], 1
jne 0x494477
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [esp + 0x60]
push 0x50ce6c
mov edi, dword [ebp + 0xc]
mov ebx, edi
push edi
push eax
call fcn.00495990
add esp, 0x10
cmp byte [esi + 0xc8], 2
jb 0x49446c
mov eax, dword [esi + 0x110]
test eax, eax
je 0x49446c
mov esi, dword [esp + 0x28]
mov ecx, ebx
cmp dword [eax], ecx
je 0x494613
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x494458
jmp 0x494b4a
mov esi, dword [esp + 0x28]
mov ecx, ebx
jmp 0x494b4a
push str.row_value_misused
push dword [esp + 0x10]
call fcn.0042af90
add esp, 8
mov ebx, 2
jmp 0x49370c
mov ecx, dword [edx + 0x14]
mov dword [esp + 8], ebx
test ecx, ecx
jle 0x4945d2
mov edx, dword [edx + 0x10]
xor edi, edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], edi
shl edi, 4
xor esi, esi
mov ebx, dword [edx + edi]
jmp 0x4944d0
movzx ecx, byte [ecx + 0x50ce7b]
cmp cl, byte [edx + 0x50ce7b]
jne 0x4944e2
inc esi
movzx ecx, byte [ebx + esi]
movzx edx, byte [eax + esi]
cmp cl, dl
jne 0x4944c0
test cl, cl
jne 0x4944cf
jmp 0x49452b
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
inc edi
cmp edi, ecx
jne 0x4944ae
mov edi, dword [ebp + 0xc]
xor esi, esi
jmp 0x4945da
mov ecx, dword [esp + 0x10]
mov eax, str.no_such_column
mov dword [esp + 0x20], 0
test ecx, ecx
je 0x4946fb
mov dword [esp + 0x30], 0
jmp 0x494561
push esi
push str.misuse_of_aliased_window_function__s
jmp 0x4943c2
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x14]
mov esi, dword [ecx + edi + 0xc]
mov edi, dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
jmp 0x4945d6
cmp ecx, 1
mov dword [esp + 0x20], ecx
je 0x494a63
mov eax, str.ambiguous_column_name
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
test edx, edx
je 0x49461e
push ebx
push ecx
push edx
push eax
push str._s:__s._s._s
mov esi, dword [esp + 0x20]
push esi
call fcn.0042af90
add esp, 0x18
jmp 0x494a58
mov ecx, dword [eax + 0x150]
test ecx, ecx
je 0x493835
mov edi, edx
mov edx, dword [esp + 0xc]
push dword [edx + 0xf0]
push 0
mov dword [esp + 0x1c], edi
push dword [edi + 0x20]
push 0
push 0x1f
push dword [eax + 0x154]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x4949f2
mov esi, 0x17
mov eax, str.not_authorized
jmp 0x494a07
xor edx, edx
xor esi, esi
cmp edx, ecx
jne 0x49460c
xor ecx, ecx
jmp 0x4945e7
test dl, dl
je 0x494758
inc ecx
movzx edx, byte [ecx + str.main]
movzx ebx, byte [eax + ecx]
cmp dl, bl
je 0x4945de
movzx edx, byte [edx + 0x50ce7b]
cmp dl, byte [ebx + 0x50ce7b]
je 0x4945e6
mov edx, eax
jmp 0x494764
mov edx, eax
jmp 0x4939be
mov dword [eax], 0
jmp 0x494b4a
test ecx, ecx
je 0x494a44
push ebx
push ecx
push eax
push str._s:__s._s
mov esi, dword [esp + 0x1c]
push esi
call fcn.0042af90
add esp, 0x14
jmp 0x494a58
mov ebx, dword [ebp + 8]
cmp dword [esp + 0x10], 0
je 0x4946bd
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x18]
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
test dl, 1
je 0x494680
cmp dword [esp + 8], 0
jne 0x494671
mov edi, ecx
and edi, 0x10000
mov edi, dword [ebp + 0xc]
jne 0x494680
cmp dword [esp + 8], 0
je 0x4946bd
and edx, 0x4000
jne 0x4946bd
and ecx, 0x10000
mov eax, str.window
mov edx, str.aggregate
or ecx, dword [esp + 8]
cmovne edx, eax
push dword [esp + 0x34]
push dword [esp + 0x24]
push edx
push str.misuse_of__s_function__.s__
push dword [esp + 0x1c]
call fcn.0042af90
add esp, 0x14
mov eax, dword [esp + 0x18]
inc dword [eax + 0x14]
jmp 0x4947ea
cmp byte [esp + 0x48], 0
jne 0x4946d7
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
cmp byte [ecx + 0xa5], 0
je 0x4947a6
cmp byte [esp + 0x1c], 0
mov ecx, str.wrong_number_of_arguments_to_function__.s__
je 0x4947ab
cmp dword [esp + 0x10], 0
je 0x494c3f
mov ecx, dword [esp + 0x18]
jmp 0x4947ce
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 4]
test cl, 0x40
jne 0x49476d
test ecx, 0x4000000
mov dword [esp + 0x20], 0
jne 0x494c76
mov edx, dword [ebp + 0xc]
mov edi, ecx
xor esi, esi
mov edx, dword [edx + 8]
jmp 0x49473a
movzx ebx, byte [ebx + 0x50ce7b]
cmp bl, byte [ecx + 0x50ce7b]
jne 0x494c90
inc esi
movzx ebx, byte [edx + esi]
movzx ecx, byte [esi + str.true]
cmp bl, cl
jne 0x494726
test bl, bl
jne 0x494739
or edi, 0x10000000
jmp 0x494cc1
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x10]
mov edx, dword [eax]
mov esi, dword [eax + 0xc]
mov ebx, dword [esp + 8]
jmp 0x4939be
mov edx, dword [esp + 0x40]
mov edi, ecx
cmp byte [edx + 0xa5], 0
jne 0x494d07
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x20]
mov esi, dword [ecx + 0x24]
mov ecx, dword [esp + 0x18]
test byte [ecx + 0x1a], 1
jne 0x494cde
mov ecx, edi
xor ebx, ebx
mov edi, 0x40000000
jmp 0x494cf7
mov ecx, str.no_such_function:__.s
push dword [esp + 0x34]
push dword [esp + 0x24]
push ecx
push dword [esp + 0x18]
call fcn.0042af90
add esp, 0x10
mov ecx, dword [esp + 0x18]
inc dword [ecx + 0x14]
cmp dword [esp + 0x10], 0
je 0x4947ea
xor eax, eax
cmp dword [esp + 8], 0
sete al
xor eax, 0xffffbfff
and dword [ecx + 0x18], eax
mov dword [esp + 0x10], 1
jmp 0x4947f2
mov dword [esp + 0x10], 0
test esi, esi
je 0x49482a
mov edi, dword [esi]
test edi, edi
jle 0x49482a
add esi, 4
inc edi
jmp 0x494819
dec edi
add esi, 0x10
cmp edi, 1
jle 0x49482a
mov edx, dword [esi]
test edx, edx
je 0x494810
mov ecx, ebx
call fcn.0048d1b0
test eax, eax
je 0x494810
cmp dword [esp + 0x10], 0
mov ebx, 1
je 0x49370c
cmp dword [esp + 8], 0
je 0x494869
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
mov esi, dword [edi + 0x1c]
cmp byte [eax], 1
ja 0x4949a4
test esi, esi
je 0x494992
mov edx, dword [esi + 0x48]
jmp 0x494994
mov esi, dword [ebp + 0xc]
mov edi, dword [esp + 0x18]
mov byte [esi], 0xa5
mov byte [esi + 2], 0
test byte [esi + 7], 1
je 0x49488f
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x49488f
mov ecx, dword [ebp + 8]
call fcn.0048d1b0
test edi, edi
je 0x4949e6
mov edx, edi
mov eax, dword [edx + 4]
xorps xmm0, xmm0
lea ecx, [esp + 0x74]
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 8], edx
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x84], 0x495d90
mov dword [esp + 0x88], 0x495df0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov edi, dword [esi + 0x14]
test edi, edi
je 0x49492f
mov esi, dword [edi]
test esi, esi
jle 0x49492f
add edi, 4
inc esi
jmp 0x494919
dec esi
add edi, 0x10
cmp esi, 1
jle 0x49492f
mov edx, dword [edi]
test edx, edx
je 0x494910
lea ecx, [esp + 0x80]
call fcn.0048d1b0
test eax, eax
je 0x494910
mov esi, dword [ebp + 0xc]
test byte [esi + 7], 1
je 0x49494e
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x49494e
lea ecx, [esp + 0x80]
call fcn.0048d1b0
cmp dword [esp + 0x78], 0
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 8]
jg 0x494974
cmp dword [esp + 0x7c], 0
je 0x494974
inc byte [esi + 2]
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x494899
jmp 0x4949e6
cmp dword [esp + 0x14], 0
je 0x4949e6
mov ecx, dword [esp + 0x14]
mov eax, 0x1000
and eax, dword [ecx + 4]
or eax, dword [edx + 0x18]
or eax, 0x10
mov dword [edx + 0x18], eax
jmp 0x4949e6
xor edx, edx
push dword [esp + 0x14]
push dword [esp + 0xc]
call fcn.00495520
add esp, 8
mov eax, dword [esp + 8]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x10], esi
mov edx, dword [eax + 8]
call fcn.0048d480
mov esi, dword [esp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [esi + 0xc]
call fcn.0048d480
mov edx, dword [esi + 0x28]
test edx, edx
je 0x4949d5
mov ecx, dword [ebp + 8]
call fcn.0048d1b0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
call fcn.00490a20
or byte [edi + 0x19], 0x80
mov eax, dword [esp + 0x24]
or dword [edi + 0x18], eax
jmp 0x49370c
test eax, 0xfffffffd
je 0x494c7f
mov esi, 1
mov eax, str.authorizer_malfunction
push eax
mov ebx, dword [esp + 0x10]
push ebx
call fcn.0042af90
add esp, 8
mov eax, dword [esp + 0x14]
mov dword [ebx + 0xc], esi
push dword [eax + 0x20]
push str.not_authorized_to_use_function:__s
push ebx
call fcn.0042af90
add esp, 0xc
mov eax, dword [esp + 0x18]
inc dword [eax + 0x14]
mov eax, dword [ebp + 0xc]
mov ebx, 1
mov byte [eax], 0x77
jmp 0x49370c
push ebx
push eax
push str._s:__s
mov esi, dword [esp + 0x18]
push esi
call fcn.0042af90
add esp, 0x10
mov eax, dword [esp + 0x18]
mov byte [esi + 0x11], 1
inc dword [eax + 0x14]
mov eax, dword [ebp + 0xc]
mov dl, byte [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x4c]
movzx eax, word [eax + 0x20]
test ax, ax
sets cl
xor dl, 1
or dl, cl
jne 0x494afd
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
test byte [ecx + 0x24], 0x60
je 0x494acc
mov edx, dword [ecx + 4]
lea esi, [eax + eax*4]
test byte [edx + esi*4 + 0x10], 0x60
je 0x494acc
movzx ecx, word [ecx + 0x2a]
mov edi, 0xffffffff
xor eax, eax
mov edx, 0xffffffff
mov esi, 0xffffffff
shl edi, cl
test cl, 0x20
cmovne edx, edi
cmove eax, edi
cmp cx, 0x3f
not eax
not edx
cmovg edx, esi
cmovg eax, esi
jmp 0x494aef
cmp ax, 0x3f
mov ecx, 0x3f
cmovl ecx, eax
mov eax, 1
xor edx, edx
xor esi, esi
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
mov ecx, dword [esp + 0x2c]
or dword [ecx + 0x38], eax
or dword [ecx + 0x3c], edx
mov esi, dword [esp + 0x28]
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x494b10
mov ecx, dword [esp + 0x40]
call fcn.00469b50
mov eax, dword [ebp + 0xc]
mov dword [eax + 0xc], 0
mov edx, dword [eax + 0x10]
test edx, edx
je 0x494b2a
mov ecx, dword [esp + 0x40]
call fcn.00469b50
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0x10], 0
mov byte [ecx], bl
or byte [ecx + 6], 0x80
mov ebx, 2
cmp dword [esp + 0x20], 1
jne 0x49370c
test byte [ecx + 6], 0x40
jne 0x494c0b
test esi, esi
je 0x494c0b
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
cmp dword [eax + 0x150], 0
je 0x494c0b
mov edi, ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 0x10]
mov eax, 0xffffffff
mov ecx, dword [ecx + 4]
add edx, 0xc
nop word cs:[eax + eax]
nop dword [eax]
inc eax
cmp dword [edx], esi
lea edx, [edx + 0x10]
jne 0x494b90
cmp byte [edi], 0x4d
je 0x494bca
mov edx, dword [ecx]
test edx, edx
jle 0x494c0b
mov esi, dword [esp + 0x38]
add ecx, 0x18
mov esi, dword [esi]
cmp esi, dword [ecx + 0x18]
je 0x494bc6
add ecx, 0x48
dec edx
jne 0x494bac
jmp 0x494c0b
mov dword [esp + 0x14], 0
jmp 0x493965
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
test ecx, ecx
je 0x494c0b
movsx edx, word [edi + 0x20]
test dx, dx
jns 0x494bea
movzx edx, word [ecx + 0x28]
test dx, dx
js 0x494cd4
mov esi, dword [ecx + 4]
lea edx, [edx + edx*4]
mov esi, dword [esi + edx*4]
mov edx, dword [ecx]
mov ecx, dword [esp + 0xc]
push eax
push esi
call fcn.00495cc0
add esp, 8
cmp eax, 2
jne 0x494c0b
mov byte [edi], 0x77
mov eax, dword [esp + 0x18]
mov ebx, 1
inc dword [eax + 0x10]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
je 0x49370c
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [eax + 0xc]
inc dword [eax + 0x10]
cmp eax, ecx
jne 0x494c30
jmp 0x49370c
test byte [edi + 7], 1
mov dword [esp + 0x10], 0
je 0x4947f2
push dword [esp + 0x34]
push dword [esp + 0x24]
push str.FILTER_may_not_be_used_with_non_aggregate__.s__
push dword [esp + 0x18]
call fcn.0042af90
add esp, 0x10
mov eax, dword [esp + 0x18]
inc dword [eax + 0x14]
jmp 0x4947f2
mov ecx, dword [esp + 0x10]
jmp 0x494516
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x494a34
jmp 0x493835
xor esi, esi
jmp 0x494ca8
movzx ebx, byte [ebx + 0x50ce7b]
cmp bl, byte [ecx + 0x50ce7b]
jne 0x494d2e
inc esi
movzx ebx, byte [edx + esi]
movzx ecx, byte [esi + str.false]
cmp bl, cl
jne 0x494c94
test bl, bl
jne 0x494ca7
or edi, 0x20000000
mov eax, dword [ebp + 0xc]
mov ebx, 1
mov byte [eax], 0xa7
mov dword [eax + 4], edi
jmp 0x49370c
mov esi, str.ROWID
jmp 0x494bf3
mov ecx, edx
and ecx, 0x50000001
xor ecx, 0x40000001
je 0x494d07
mov ecx, edi
xor ebx, ebx
mov edi, 0x20000000
and esi, ebx
mov ebx, dword [esp + 8]
and edx, edi
or edx, esi
je 0x494706
push ebx
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.0041f100
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov ebx, 1
mov byte [eax], 0x73
mov dword [eax + 0x2c], 0
jmp 0x49370c
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], 0
jmp 0x494559