Function at 0x10148370
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, 0xb0
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0xa8], eax
mov esi, dword [edi + 0x18]
mov eax, dword [esi]
mov dword [esp + 0xc], eax
mov al, byte [edx]
cmp al, 0xaa
mov dword [esp + 0x10], esi
jle 0x1014878b
mov ecx, eax
add cl, 0xd3
cmp cl, 0x1e
ja case.default.0x101483bb
movzx eax, cl
jmp dword [eax*4 + 0x101a409c]
mov ebx, dword [edx + 8]
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
lea eax, [edx + 0x1c]
mov dword [esp + 0x40], eax
mov dword [edx + 0x1c], 0xffffffff
xor eax, eax
mov dword [esp + 0x38], 0
xor ecx, ecx
lea edi, [edx + 0x2c]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x28], eax
test eax, eax
sete byte [esp + 0x3f]
lea eax, [ebx + 1]
mov dword [esp + 0x60], eax
mov dword [esp + 0x1c], 0
xor eax, eax
dec eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
xor edi, edi
mov eax, esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
test eax, eax
je 0x101490af
cmp dword [eax], 0
jle 0x101485b8
lea edx, [eax + 8]
mov dword [esp + 0x64], 0
mov dword [esp + 0x20], 0
mov dword [esp + 8], ebx
mov dword [esp + 0x6c], eax
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x24], edx
mov eax, dword [edx + 0x14]
test eax, eax
mov dword [esp + 0x48], ecx
jne 0x10148e14
cmp dword [esp + 0x30], 0
jne 0x10149500
cmp dword [esp + 0x28], 0
jne 0x1014856b
test edi, edi
mov eax, dword [esp + 0x1c]
cmove eax, dword [esp + 0x24]
test ebx, ebx
mov dword [esp + 0x1c], eax
je 0x101485b1
mov cl, byte [ebx]
test cl, cl
je 0x101485b1
xor eax, eax
mov edx, dword [esp + 0x60]
movzx ecx, cl
add al, byte [ecx + 0x1019c728]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x101484a7
inc edi
mov ecx, dword [esp + 0x48]
movzx edx, word [ecx + 0x2a]
mov dword [esp + 0x14], edx
test dx, dx
jle 0x10148545
mov dword [esp + 0x34], edi
mov edi, dword [ecx + 4]
xor ecx, ecx
cmp byte [edi + 0xf], al
je 0x101484e3
inc ecx
add edi, 0x14
cmp ecx, dword [esp + 0x14]
jne 0x101484d2
jmp 0x1014853d
mov edx, dword [edi]
mov dword [esp + 0x18], edx
xor esi, esi
mov edx, dword [esp + 0x18]
movzx edx, byte [edx + esi]
movzx ebx, byte [ebx + esi]
cmp dl, bl
jne 0x10148ade
test dl, dl
mov ebx, dword [esp + 8]
je 0x1014850a
inc esi
jmp 0x101484eb
mov esi, dword [esp + 0x20]
cmp esi, 1
je 0x101495ba
inc esi
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x48]
movsx eax, word [eax + 0x28]
cmp ecx, eax
mov eax, 0xffff
cmove ecx, eax
mov edx, dword [ebp + 0xc]
mov word [edx + 0x20], cx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
mov ecx, edi
mov edi, esi
mov esi, dword [esp + 0x64]
inc esi
mov edx, dword [esp + 0x24]
add edx, 0x48
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x64], esi
cmp esi, dword [eax]
mov esi, edi
mov edi, ecx
jl 0x10148454
jmp 0x101485c0
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0xc]
mov ecx, esi
test esi, esi
je 0x10148ad3
xor edx, edx
movzx ebx, byte [ecx + edx]
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + edx]
cmp bl, al
jne 0x10148599
test bl, bl
je 0x10148a41
inc edx
jmp 0x1014857e
mov bl, byte [ebx + 0x1019c728]
cmp bl, byte [eax + 0x1019c728]
je 0x10148596
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
jmp 0x10148545
xor eax, eax
jmp 0x101484b7
mov dword [esp + 0x20], 0
mov edx, esi
mov esi, edi
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x10148c21
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [ecx], eax
test byte [edi + 0x24], 8
jne 0x101490bc
mov eax, dword [eax + 0x48]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x30]
mov edi, esi
mov esi, edx
mov edx, dword [ebp + 0xc]
test ecx, ecx
jne 0x10148638
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x101489e5
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x1c], 0
setne byte [esp + 0x18]
je 0x1014862b
cmp edi, 1
jne 0x1014862b
test ecx, ecx
je 0x10148a94
test ecx, ecx
jne 0x101486ca
jmp 0x101491fd
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
jmp 0x10148612
mov edx, eax
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + str.ROWID]
cmp dl, bl
je 0x10148668
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
jne 0x10149331
inc ecx
jmp 0x10148642
test dl, dl
je 0x10149f16
jmp 0x10148665
movzx ecx, cl
add al, byte [ecx + 0x1019c728]
mov cl, byte [edx]
inc edx
test cl, cl
jne 0x10148672
jmp 0x101491c3
cmp byte [edi + 0xf], al
je 0x1014869f
mov ecx, esi
inc ecx
add edi, 0x14
mov esi, ecx
cmp ecx, dword [esp + 0x24]
jne 0x10148687
jmp 0x10149891
mov ecx, dword [edi]
mov dword [esp + 0x14], ecx
xor ebx, ebx
mov ecx, dword [esp + 0x14]
movzx edx, byte [ecx + ebx]
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + ebx]
cmp dl, cl
jne 0x101497a2
test dl, dl
je 0x10148b7e
inc ebx
jmp 0x101486a7
cmp ecx, 1
jne 0x10149668
xor ecx, ecx
inc ecx
mov edi, dword [esp + 0xc]
mov bl, byte [esp + 0x18]
mov dword [esp + 0x2c], eax
mov byte [esp + 8], 0xa6
test bl, bl
je 0x1014873d
movzx eax, word [edx + 0x20]
test ax, ax
js 0x1014873d
mov ebx, ecx
movzx edx, ax
mov ecx, dword [esp + 0x4c]
mov ecx, dword [ecx]
test byte [ecx + 0x24], 0x60
jne 0x101496b8
cmp ax, 0x3f
mov ecx, 0x3f
cmovl ecx, edx
xor eax, eax
inc eax
xor esi, esi
xor edx, edx
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, esi
mov ecx, dword [esp + 0x1c]
or dword [ecx + 0x38], eax
or dword [ecx + 0x3c], edx
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, ebx
mov eax, dword [edx + 4]
test eax, 0x804000
je 0x101487e9
mov bl, byte [esp + 8]
mov byte [edx], bl
or eax, 0x800000
mov dword [edx + 4], eax
cmp ecx, 1
jne 0x10149f9f
mov edx, dword [edi]
cmp dword [edx + 0x150], 0
jne 0x10149512
inc dword [esi + 0x10]
xor ebx, ebx
inc ebx
mov eax, dword [esp + 0x2c]
cmp esi, eax
je 0x10148934
mov esi, dword [esi + 0xc]
inc dword [esi + 0x10]
jmp 0x1014877b
cmp al, 0x9a
jle 0x1014881d
cmp al, 0x9b
jne 0x1014887f
mov eax, dword [esi + 0x18]
test al, 0x2e
je case.0x101483bb.210
mov ecx, str.index_expressions
test al, 0x20
jne 0x101487c7
mov ecx, str.CHECK_constraints
test al, 4
jne 0x101487c7
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.100394d0
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov byte [eax], pe_nt_image_headers32
jmp case.0x101483bb.210
mov esi, edx
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x101489c1
mov dword [esi + 0xc], 0
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x101489d3
mov dword [esi + 0x10], 0
mov eax, dword [esi + 4]
mov edx, esi
mov esi, dword [esp + 0x10]
jmp 0x1014874b
cmp al, 0x8c
je 0x1014894c
cmp al, 0x89
jne case.0x101483bb.210
test byte [edx + 5], 8
je case.0x101483bb.210
mov ebx, esi
mov esi, dword [esi + 0x10]
mov eax, dword [ebx + 0x18]
test al, 0x2e
jne 0x10149d1f
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0x14]
mov ecx, edi
call fcn.10035b30
mov eax, dword [ebp + 0xc]
cmp esi, dword [ebx + 0x10]
je case.0x101483bb.210
or byte [eax + 4], 0x20
or byte [ebx + 0x18], 0x40
jmp case.0x101483bb.210
cmp al, 0xab
je 0x10148cb5
cmp al, 0x14
jne case.0x101483bb.210
jmp case.0x101483bb.207
cmp al, 0xaa
jne case.0x101483bb.210
mov esi, dword [edx + 0x10]
test esi, esi
je case.0x101483bb.208
mov eax, dword [esi + 4]
test eax, 0x41000
je 0x101496fc
bt eax, 0x12
jb 0x101488a7
add esi, 0xc
jmp 0x101488ad
mov esi, dword [esi + 0x14]
add esi, 8
mov esi, dword [esi]
test esi, esi
mov edx, dword [ebp + 0xc]
jne 0x1014888e
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
cmp byte [eax + 0x53], 0
jne case.0x101483bb.210
mov eax, dword [edx + 0xc]
mov cl, byte [eax]
cmp cl, 0xaf
je 0x10149329
cmp cl, 0x89
je 0x10149763
cmp cl, 0xb0
je 0x1014976b
xor eax, eax
inc eax
cmp byte [edx], 0x30
je 0x1014939a
mov ecx, dword [edx + 0x10]
mov dl, byte [ecx]
cmp dl, 0xaf
je 0x10148e0c
cmp dl, 0x89
je 0x1014977a
cmp dl, 0xb0
je 0x10149782
xor edx, edx
inc edx
cmp eax, edx
jne 0x1014978c
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x24], 0
jne 0x10149f9f
mov eax, dword [eax]
xor ebx, ebx
cmp byte [eax + 0x53], 0
setne bl
add ebx, ebx
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.1014dc80
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, esi
mov esi, dword [edx + 0xc]
mov eax, dword [eax + 0x18]
test al, 0x28
jne 0x101497e7
mov eax, dword [edx + 0x10]
cmp byte [eax], 0x3b
mov edi, dword [esp + 0xc]
jne 0x10149827
mov dword [esp + 0x30], 0
mov ecx, dword [esi + 8]
mov dword [esp + 0x28], ecx
mov ebx, dword [eax + 8]
cmp byte [edi + 0xc8], 2
jae 0x10149839
mov eax, dword [edi]
mov dword [esp + 0x44], eax
lea eax, [edx + 0x1c]
mov dword [esp + 0x40], eax
mov dword [edx + 0x1c], 0xffffffff
mov dword [esp + 0x38], 0
cmp dword [esp + 0x30], 0
jne 0x10149861
xor ecx, ecx
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
jmp 0x101483e9
mov ebx, ecx
mov ecx, dword [esp + 0x44]
call fcn.10139110
mov ecx, ebx
jmp 0x101487f6
mov ebx, ecx
mov ecx, dword [esp + 0x44]
call fcn.10139110
mov ecx, ebx
jmp 0x10148808
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x18], 0
test ecx, ecx
jne 0x10148af9
cmp dword [esp + 0x28], 0
je 0x10148a17
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x18]
mov ecx, 0x200
and eax, ecx
jne 0x101490c8
xor ecx, ecx
cmp dword [esp + 0x18], 0
je 0x1014860e
test ebx, ebx
je 0x101491c1
mov cl, byte [ebx]
test cl, cl
je 0x101491c1
xor eax, eax
mov edx, dword [esp + 0x60]
jmp 0x10148672
test esi, esi
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
je 0x10148480
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xc8], 2
jb 0x10148480
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10c]
test eax, eax
je 0x10148480
mov ecx, dword [esp + 0x4c]
cmp dword [eax], ecx
je 0x10149d66
mov eax, dword [eax + 0xc]
test eax, eax
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
jne 0x10148a74
jmp 0x10148480
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
test al, 0x28
jne 0x101498d8
xor ecx, ecx
mov eax, ebx
movzx edx, byte [ebx + ecx]
movzx ebx, byte [ecx + str._ROWID_]
cmp dl, bl
je 0x101498e0
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
je 0x101498e8
xor ecx, ecx
jmp 0x10148642
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
jmp 0x1014857c
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
mov ebx, dword [esp + 8]
jne 0x101484d7
jmp 0x10148507
mov dword [esp + 0x24], ecx
mov cl, byte [eax + 0x90]
mov byte [esp + 0x14], cl
cmp byte [eax + 0x91], 0
jne 0x10149971
cmp dword [esp + 0x28], 0
je 0x10148dab
cmp byte [esp + 0x14], 0x7f
je 0x10148dab
mov eax, ebx
xor ecx, ecx
movzx edx, byte [ecx + 0x101b528c]
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx + ecx]
cmp dl, bl
je 0x10148b5b
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
mov edx, dword [ebp + 0xc]
mov ebx, eax
jne 0x10148dab
inc ecx
jmp 0x10148b2e
test dl, dl
mov edx, dword [ebp + 0xc]
jne 0x10148b58
mov ebx, eax
mov eax, dword [esp + 0x40]
mov dword [eax], 1
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x18], eax
jmp 0x101489fc
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x28]
mov ecx, esi
cmp esi, eax
mov eax, 0xffffffff
cmove ecx, eax
mov edx, dword [esp + 0x24]
cmp ecx, edx
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x34]
jge 0x10149899
cmp ecx, edx
mov edx, dword [ebp + 0xc]
jge 0x101499c8
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
cmp eax, 2
je 0x101493dd
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x18]
mov dword [ecx], ebx
mov edi, dword [esp + 0xc]
cmp byte [edi + 0x91], 0
jne 0x101499d0
mov ebx, dword [esp + 0x14]
mov word [edx + 0x20], bx
test ebx, ebx
js 0x10149318
xor edx, edx
inc edx
mov ecx, ebx
shl edx, cl
xor ecx, ecx
dec ecx
cmp ebx, 0x1f
cmovle ecx, edx
test eax, eax
jne 0x101490a4
or dword [edi + 0x88], ecx
mov byte [esp + 8], 0x4d
mov edx, dword [ebp + 0xc]
xor ecx, ecx
inc ecx
jmp 0x1014873d
mov dword [esp + 0x1c], 0
mov edi, esi
mov esi, edx
mov edx, dword [ebp + 0xc]
mov ecx, dword [esp + 0x30]
jmp 0x101485fe
xor eax, eax
mov ecx, esi
mov edx, dword [ecx + 0x10]
mov dword [esp + eax*4 + 0x80], edx
cmp eax, 6
ja 0x10148c54
mov ecx, dword [ecx + 0xc]
inc eax
test ecx, ecx
jne 0x10148c3d
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x10148c65
mov ecx, edi
call fcn.10148200
mov eax, dword [ebp + 0xc]
lea esi, [eax + 0xc]
mov eax, esi
mov edi, dword [esp + 0xc]
mov eax, dword [eax]
mov cl, byte [eax]
cmp cl, 0xaf
je 0x101494d1
mov edx, ecx
add dl, 0x54
cmp dl, 1
jbe 0x101494d9
cmp cl, 0xa6
mov edx, dword [ebp + 0xc]
je 0x10149125
cmp cl, 0x74
je 0x10149157
add cl, 0x68
cmp cl, 3
jb 0x10149157
xor ebx, ebx
inc ebx
jmp 0x10148934
mov eax, dword [edx + 0x14]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
test eax, eax
je 0x10148cd2
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
mov ebx, dword [eax]
mov ecx, 0x4001
test byte [edx + 7], 1
jne 0x10149a9e
mov al, byte [ebx + 0x50]
mov byte [esp + 8], al
and ecx, dword [esi + 0x18]
mov dword [esp + 0x2c], ecx
mov esi, dword [edx + 8]
test esi, esi
je 0x10149ac0
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 8]
mov ecx, ebx
mov dword [esp + 0x20], esi
mov edx, esi
push 0
mov dword [esp + 0xc], eax
push eax
mov esi, dword [esp + 0x20]
push esi
call fcn.10130d40
add esp, 0xc
test eax, eax
je 0x10149acd
mov ebx, eax
cmp dword [eax + 0x14], 0
setne al
mov dword [esp + 8], eax
test byte [ebx + 5], 4
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x1c], ebx
jne 0x10149b0b
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax + 0x150]
test ecx, ecx
mov esi, dword [esp + 0x10]
jne 0x10149b3a
mov eax, dword [ebx + 4]
test eax, 0x2800
je 0x10148d86
or byte [edx + 6], 8
mov eax, dword [ebx + 4]
bt eax, 0xb
mov eax, dword [esi + 0x18]
jae 0x10148eb7
and al, 0x2e
mov byte [edx + 2], al
test byte [esi + 0x1a], 4
je 0x10148ebf
or byte [edx + 7], 0x40
jmp 0x10148ebf
cmp dword [esp + 0x28], 0
je 0x101489fc
cmp byte [esp + 0x14], 0x7e
je 0x101489fc
xor eax, eax
movzx ecx, byte [eax + 0x101bb438]
mov edx, dword [esp + 0x28]
movzx edx, byte [edx + eax]
cmp cl, dl
je 0x10148deb
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x101493d0
inc eax
jmp 0x10148dc3
test cl, cl
jne 0x10148de8
mov eax, dword [esp + 0x40]
mov dword [eax], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 0xc]
jmp 0x101489fc
mov dl, byte [ecx + 2]
jmp 0x101488fc
test byte [eax + 5], 8
je 0x1014846a
mov dword [esp + 0x34], edi
mov esi, dword [eax + 0x1c]
mov eax, dword [esi]
test eax, eax
jle 0x10149e39
mov ebx, eax
lea eax, [esi + 8]
mov dword [esp + 0x18], eax
xor edi, edi
mov dword [esp + 0x14], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 8]
push dword [esp + 0x30]
push dword [esp + 0x2c]
call fcn.10168b10
add esp, 8
test eax, eax
je 0x10148e82
inc dword [esp + 0x20]
mov eax, dword [ebp + 0xc]
mov word [eax + 0x20], di
mov ebx, dword [esi]
mov dword [esp + 0x34], 2
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
inc edi
add dword [esp + 0x18], 0x14
cmp edi, ebx
jl 0x10148e42
cmp dword [esp + 0x28], 0
je 0x10149ea1
cmp dword [esp + 0x14], 0
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
je 0x1014846a
jmp 0x10148545
test al, 0x2a
jne 0x10149cd7
mov eax, dword [ebx + 4]
bt eax, 0x12
jb 0x101494a2
mov bl, 1
test eax, 0x280000
je 0x10148eec
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0xc8], 1
ja 0x10148eec
test byte [edx + 7], 0x40
jne 0x10149364
mov al, 1
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0xc8], 1
ja 0x10149bd7
cmp dword [esp + 0x1c], 0
je 0x10148f1b
cmp dword [esp + 0x14], 0
je 0x10148f1b
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x18], 0
je 0x10149ccd
cmp byte [esp + 8], 0
jne 0x1014942c
test al, al
je 0x10149bea
test bl, bl
mov ecx, dword [ebp + 0xc]
je 0x10149c1c
cmp byte [esp + 8], 0
jne 0x10149c46
xor ebx, ebx
test byte [ecx + 7], 1
jne 0x10149c60
mov dword [esp + 8], ebx
mov esi, dword [esp + 0x24]
test esi, esi
je 0x10148f80
mov ebx, dword [esi]
test ebx, ebx
jle 0x10148f80
add esi, 8
inc ebx
mov edx, dword [esi]
test edx, edx
je 0x10148f77
mov ecx, edi
call fcn.10148200
test eax, eax
jne 0x10148f80
add esi, 0x14
dec ebx
cmp ebx, 1
jg 0x10148f66
xor ebx, ebx
inc ebx
cmp dword [esp + 8], 0
je 0x10148934
cmp dword [esp + 0x14], 0
jne 0x1014a0df
mov eax, dword [ebp + 0xc]
mov byte [eax], 0xa7
mov byte [eax + 2], 0
test byte [eax + 7], 1
mov esi, dword [esp + 0x10]
jne 0x1014a1d3
test esi, esi
je 0x10149098
xorps xmm0, xmm0
xor edi, edi
lea ecx, [esp + 0x70]
mov eax, esi
mov dword [esp + 8], eax
mov eax, dword [eax + 4]
movaps xmmword [esp + 0x80], xmm0
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x84], 0x1007f850
mov dword [esp + 0x88], 0x10198280
mov dword [esp + 0x98], ecx
mov dword [esp + 0x70], eax
mov ecx, bind
test eax, eax
mov edx, dword [ebp + 0xc]
je 0x10149016
cmp dword [eax], 0
je 0x10149016
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov edi, dword [edx + 0x14]
test edi, edi
je 0x10149055
mov esi, dword [edi]
test esi, esi
jle 0x10149055
add edi, 8
inc esi
mov edx, dword [edi]
test edx, edx
je 0x1014904c
lea ecx, [esp + 0x80]
call fcn.10148200
xorps xmm0, xmm0
test eax, eax
jne 0x10149055
add edi, 0x14
dec esi
cmp esi, 1
jg 0x10149033
mov eax, dword [ebp + 0xc]
test byte [eax + 7], 1
jne 0x1014a1f0
cmp dword [esp + 0x78], 0
mov esi, dword [esp + 0x10]
jg 0x10149078
cmp dword [esp + 0x7c], 0
jne 0x1014a264
cmp dword [esp + 0x1c], 0
mov edx, dword [esp + 8]
je 0x10149098
mov eax, 0x1000
mov ecx, dword [esp + 0x1c]
and eax, dword [ecx + 4]
or eax, dword [edx + 0x18]
or eax, 0x10
mov dword [edx + 0x18], eax
mov eax, dword [esp + 0x2c]
or dword [esi + 0x18], eax
jmp 0x10148934
or dword [edi + 0x8c], ecx
jmp 0x10148c11
mov dword [esp + 0x20], 0
jmp 0x101485fe
mov ecx, dword [ebp + 0xc]
or byte [ecx + 6], 0x10
jmp 0x101485ec
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
test eax, eax
je 0x10148a17
mov dword [esp + 8], ebx
xor ecx, ecx
movzx edx, byte [ecx + str.excluded]
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx + ecx]
cmp dl, bl
je 0x10149101
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
jne 0x10149119
inc ecx
jmp 0x101490dd
test dl, dl
jne 0x101490fe
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
mov dword [eax], 2
mov edx, dword [ebp + 0xc]
mov ebx, dword [esp + 8]
jmp 0x10148a17
test byte [eax + 6], 0x10
jne 0x10148cad
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x10148cad
movsx eax, word [eax + 0x20]
test eax, eax
js 0x10149157
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x10149157
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 0xc], 0
je 0x10148cad
cmp byte [edi + 0xc8], 1
ja 0x10148cad
xor eax, eax
cmp byte [edx], 0x33
setne al
mov ecx, str.true
mov ebx, edx
mov edx, str.false
cmove edx, ecx
shl eax, 0x1c
add eax, sym.nss3.dll_Ordinal_0
mov dword [ebx + 8], edx
or dword [ebx + 4], eax
mov byte [ebx], 0xa9
xor eax, eax
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x80]
mov dword [edx + 0x10], ecx
cmp eax, 6
ja 0x101491a9
mov edx, dword [edx + 0xc]
inc eax
test edx, edx
jne 0x10149192
mov edx, dword [esi]
test edx, edx
je 0x101491b6
mov ecx, dword [edi]
call fcn.10139110
mov dword [esi], 0
jmp 0x10148cad
xor eax, eax
mov dword [esp + 0x34], edi
mov dword [esp + 8], ebx
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 0x48]
mov dword [esp + 0x38], ecx
movsx edx, word [edx + 0x2a]
test edx, edx
mov ecx, 0
mov dword [esp + 0x24], edx
jle 0x10148b96
xor esi, esi
mov edi, dword [esp + 0x20]
jmp 0x10148687
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], edi
cmp dword [esp + 0x28], 0
jne 0x10149289
cmp byte [esp + 0x14], 0
jns 0x10149289
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
mov dword [esp + 0x24], eax
mov eax, dword [eax]
mov dword [esp + 0x48], eax
test eax, eax
jle 0x10149289
xor esi, esi
lea ecx, [esi + esi*4]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
test byte [eax + ecx*4 + 0x14], 3
jne 0x10149282
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ecx, dword [eax + ecx*4 + 0xc]
test ecx, ecx
je 0x10149db0
test ebx, ebx
je 0x10149282
mov eax, ebx
xor edi, edi
movzx ebx, byte [ecx + edi]
movzx edx, byte [eax + edi]
cmp bl, dl
jne 0x10149272
test bl, bl
je 0x10149db8
inc edi
jmp 0x1014925b
mov bl, byte [ebx + 0x1019c728]
cmp bl, byte [edx + 0x1019c728]
mov ebx, eax
je 0x1014926f
inc esi
cmp esi, dword [esp + 0x48]
jne 0x1014922d
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
inc dword [esp + 0x5c]
test eax, eax
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
jne 0x10148421
cmp dword [esp + 0x28], 0
jne 0x10149eae
mov ecx, dword [edx + 4]
test cl, 0x40
je 0x10149e46
mov eax, dword [esp + 0x44]
cmp byte [eax + 0xa9], 0
jne 0x101492f6
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test byte [esi + 0x1a], 1
jne 0x10149eec
xor edi, edi
mov esi, 0x40000000
and edx, edi
and eax, esi
or eax, edx
je 0x10149e46
push ebx
push str.double_quoted_string_literal:___w_
push 0x1c
call sym.nss3.dll_sqlite3_log
add esp, 0xc
mov eax, dword [ebp + 0xc]
mov byte [eax], 0x74
mov dword [eax + 0x2c], 0
jmp 0x10148cad
mov byte [edx + 1], 0x44
xor ecx, ecx
inc ecx
mov byte [esp + 8], 0x4d
jmp 0x1014873d
mov cl, byte [eax + 2]
jmp 0x101488d0
xor ecx, ecx
mov edx, eax
movzx edx, byte [eax + ecx]
movzx ebx, byte [ecx + 0x101c1afc]
cmp dl, bl
je 0x10149f0c
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
je 0x10149f10
xor edi, edi
inc edi
mov ebx, eax
jmp 0x10149204
bt eax, 0x13
jb 0x1014937a
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
cmp byte [eax + 0x20], 0
js 0x10148eec
mov eax, dword [esp + 0x1c]
push dword [eax + 0x20]
push str.unsafe_use_of__s__
push dword [esp + 0x14]
call fcn.100394d0
mov edx, dword [ebp + 0xc]
add esp, 0xc
jmp 0x10148eec
mov ecx, dword [edx + 0x14]
mov edx, dword [ecx + 8]
mov bl, byte [edx]
cmp bl, 0xaf
je 0x1014a064
cmp bl, 0x89
je 0x1014a06c
cmp bl, 0xb0
je 0x1014a074
xor edx, edx
inc edx
cmp edx, eax
jne 0x10148911
mov ecx, dword [ecx + 0x1c]
jmp 0x101488f1
mov dword [esp + 0x18], 0
jmp 0x10148e04
mov edi, dword [esp + 0xc]
cmp byte [edi + 0xc8], 2
mov ecx, dword [esp + 0x18]
jae 0x1014a0c7
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x24]
cmp word [esp + 0x14], 0
js 0x10149410
mov ecx, dword [ecx + 0x24]
and ecx, 0x20
jne 0x1014a235
mov ecx, dword [esp + 0x14]
movsx ecx, cx
add eax, ecx
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
xor ecx, ecx
inc ecx
mov byte [esp + 8], 0xaf
jmp 0x1014873d
mov edx, dword [esi + 0x18]
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 4]
test dl, 1
je 0x10149467
cmp dword [esp + 0x14], 0
jne 0x10149450
mov esi, ecx
and esi, 0x10000
mov esi, dword [esp + 0x10]
jne 0x10149467
cmp dword [esp + 0x14], 0
je 0x10148f26
and edx, 0x4000
jne 0x10148f26
and ecx, 0x10000
mov eax, str.window
mov edx, str.aggregate
or ecx, dword [esp + 0x14]
cmovne edx, eax
push dword [esp + 0x20]
push dword [esp + 0x34]
push edx
push str.misuse_of__s_function__.s__
push dword [esp + 0x1c]
call fcn.100394d0
add esp, 0x14
inc dword [esi + 0x14]
xor ebx, ebx
jmp 0x10148f50
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0x12], 0
jne 0x10148ecc
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx]
test byte [ecx + 0x18], 0x20
jne 0x10148ecc
xor eax, eax
mov bl, 1
mov dword [esp + 0x1c], 0
jmp 0x10148eee
mov cl, byte [eax + 2]
jmp 0x10148c8c
add eax, 0xc
jmp 0x10148c71
mov eax, dword [esi + 4]
mov byte [edx], 0xa6
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x2c], ecx
mov eax, dword [eax + 0x34]
mov dword [edx + 0x1c], eax
dec word [edx + 0x20]
mov byte [edx + 1], 0x44
jmp case.0x101483bb.210
mov eax, dword [esp + 0x38]
cmp dword [ecx + 0x48], eax
jne 0x10148545
jmp 0x10148475
mov eax, dword [ebp + 0xc]
mov cl, byte [eax]
cmp cl, 0x4d
je 0x10149525
cmp cl, 0xa6
jne 0x10148771
cmp dword [esp + 0x38], 0
je 0x10148771
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov edx, dword [edx + 0x10]
add edx, 0xc
mov edi, dword [esp + 0x38]
inc dword [esp + 0x58]
lea esi, [edx + 0x10]
cmp dword [edx], edi
mov edx, esi
jne 0x10149541
cmp cl, 0x4d
jne 0x101497b9
mov eax, dword [esp + 0xc]
add eax, 0x78
mov eax, dword [eax]
test eax, eax
mov esi, dword [esp + 0x10]
je 0x10148771
mov ecx, dword [ebp + 0xc]
movsx ecx, word [ecx + 0x20]
test cx, cx
jns 0x10149586
movzx ecx, word [eax + 0x28]
mov esi, str.ROWID
test cx, cx
js 0x1014958f
mov edx, dword [eax + 4]
lea ecx, [ecx + ecx*4]
mov esi, dword [edx + ecx*4]
mov edx, dword [eax]
mov ecx, dword [esp + 0xc]
push dword [esp + 0x58]
push esi
call fcn.10168ce0
add esp, 8
cmp eax, 2
mov esi, dword [esp + 0x10]
jne 0x10148771
mov eax, dword [ebp + 0xc]
mov byte [eax], pe_nt_image_headers32
jmp 0x10148771
mov edx, dword [esp + 0x24]
test byte [edx + 0x24], 4
jne 0x101484d7
mov edx, dword [esp + 0x24]
mov edx, dword [edx + 0x34]
mov dword [esp + 0x18], edx
test edx, edx
mov esi, dword [esp + 0x20]
je 0x10148517
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 4]
mov dword [esp + 0x54], edx
cmp dword [esp + 0x54], 0
jle 0x10148517
mov edx, dword [esp + 0x18]
mov edx, dword [edx]
mov dword [esp + 0x68], edx
mov dword [esp + 0x50], 0
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x50]
mov edx, dword [edx + esi*8]
mov dword [esp + 0x18], edx
xor esi, esi
mov edx, dword [esp + 0x18]
movzx edx, byte [edx + esi]
mov ebx, dword [esp + 8]
movzx ebx, byte [ebx + esi]
cmp dl, bl
jne 0x10149639
test dl, dl
mov ebx, dword [esp + 8]
jne 0x1014964b
jmp 0x101484d7
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
mov ebx, dword [esp + 8]
jne 0x1014964e
inc esi
jmp 0x10149618
mov esi, dword [esp + 0x50]
inc esi
mov edx, esi
mov dword [esp + 0x50], esi
cmp esi, dword [esp + 0x54]
mov esi, dword [esp + 0x20]
jne 0x10149607
jmp 0x10148517
mov dword [esp + 0x20], ecx
mov edi, ebx
mov eax, str.ambiguous_column_name
cmp dword [esp + 0x30], 0
je 0x10149740
push edi
push dword [esp + 0x2c]
push dword [esp + 0x38]
push eax
push str._s:__s._s._s
push dword [esp + 0x20]
call fcn.100394d0
add esp, 0x18
mov edi, dword [esp + 0xc]
mov byte [edi + 0x11], 1
mov esi, dword [esp + 0x10]
inc dword [esi + 0x14]
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
jmp 0x101486da
mov esi, dword [ecx + 4]
lea edi, [edx + edx*4]
test byte [esi + edi*4 + 0x10], 0x60
mov edi, dword [esp + 0xc]
je 0x10148709
movzx ecx, word [ecx + 0x2a]
xor esi, esi
dec esi
mov edi, esi
shl edi, cl
xor eax, eax
test cl, 0x20
mov edx, esi
cmovne edx, edi
cmove eax, edi
mov edi, dword [esp + 0xc]
xor eax, esi
xor edx, esi
cmp cx, 0x3f
cmovg edx, esi
cmovg eax, esi
jmp 0x1014872a
mov al, byte [esi]
cmp al, 0x3b
mov edx, dword [ebp + 0xc]
je 0x1014970d
cmp al, 0xa9
jne case.0x101483bb.208
push esi
push edi
call fcn.10148370
add esp, 8
mov ebx, 2
cmp eax, 2
je 0x10148934
cmp byte [esi], 0xa9
mov edx, dword [ebp + 0xc]
jne case.0x101483bb.208
mov al, byte [edx]
mov byte [edx + 2], al
mov byte [edx], 0xae
xor ebx, ebx
jmp 0x10148934
cmp byte [esp + 0x3f], 0
je 0x10149ed0
push edi
push eax
push 0x101b744e
push dword [esp + 0x18]
call fcn.100394d0
add esp, 0x10
jmp 0x10149699
mov eax, dword [eax + 0x14]
add eax, 0x1c
jmp 0x1014976e
add eax, 0x14
mov eax, dword [eax]
mov eax, dword [eax]
mov edx, dword [ebp + 0xc]
jmp 0x101488e5
mov ecx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x1c]
jmp 0x10149785
mov ecx, dword [ecx + 0x14]
mov edx, dword [ecx]
jmp 0x10148911
push str.row_value_misused
push dword [esp + 0x10]
call fcn.100394d0
add esp, 8
jmp case.0x101483bb.210
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ecx + 0x1019c728]
je 0x101486c7
jmp 0x1014868c
mov ecx, dword [eax]
test ecx, ecx
mov esi, dword [esp + 0x10]
jle 0x10148771
mov edx, dword [esp + 0x40]
mov edx, dword [edx]
add eax, 0x34
mov esi, dword [esp + 0x10]
cmp edx, dword [eax]
je 0x10149889
add eax, 0x48
dec ecx
jne 0x101497d4
jmp 0x10148771
mov ecx, str.index_expressions
test al, 0x20
jne 0x10149808
mov ecx, str.CHECK_constraints
test al, 4
jne 0x10149808
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.100394d0
add esp, 0x10
mov edx, dword [ebp + 0xc]
jmp 0x1014895c
mov ecx, dword [esi + 8]
mov dword [esp + 0x30], ecx
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
jmp 0x10148974
mov ecx, dword [edi + 0x10c]
test ecx, ecx
je 0x1014898b
mov dword [esp + 8], ebx
mov edx, ecx
cmp dword [edx], eax
je 0x10149a01
mov edx, dword [edx + 0xc]
test edx, edx
jne 0x1014984d
jmp 0x10149a10
mov dword [esp + 8], ebx
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x10]
test byte [eax + 0x18], 6
je 0x101498f0
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
jmp 0x101489b8
add eax, 0xffffffe4
jmp 0x1014955e
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 8]
mov dword [esp + 0x14], ecx
mov ecx, ebx
call fcn.10158380
test eax, eax
je 0x1014995c
mov eax, dword [esp + 0x18]
mov al, byte [eax + 0x25]
and al, 2
xor ecx, ecx
cmp al, 1
sbb ecx, ecx
mov eax, dword [esp + 0x14]
or eax, ecx
mov ecx, eax
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
jmp 0x10148baa
xor edi, edi
inc edi
jmp 0x10149204
test dl, dl
je 0x10149f16
inc ecx
mov ebx, eax
jmp 0x10148aa5
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
test eax, eax
jle 0x10149c93
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
xor ecx, ecx
mov esi, ecx
shl esi, 4
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + esi]
xor ebx, ebx
movzx edx, byte [edi + ebx]
mov eax, dword [esp + 0x30]
movzx eax, byte [eax + ebx]
cmp dl, al
jne 0x10149937
test dl, dl
jne 0x10149945
jmp 0x10149a45
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [eax + 0x1019c728]
jne 0x10149948
inc ebx
jmp 0x1014991e
inc ecx
cmp ecx, dword [esp + 0x18]
jne 0x10149910
mov dword [esp + 0x38], 0
jmp 0x10149a57
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
jmp 0x101498cf
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x2c]
test byte [ebx + 0x19], 4
mov ebx, dword [esp + 8]
je 0x101489fc
cmp dword [esp + 0x28], 0
je 0x10149ca2
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
xor edx, edx
mov eax, dword [esp + 0x28]
movzx ebx, byte [eax + edx]
movzx ecx, byte [esi + edx]
cmp bl, cl
jne 0x101499b3
test bl, bl
jne 0x101499c5
jmp 0x10149ca2
mov ah, byte [ebx + 0x1019c728]
cmp ah, byte [ecx + 0x1019c728]
jne 0x10149e2c
inc edx
jmp 0x1014999a
inc edi
xor ecx, ecx
jmp 0x1014860e
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 8]
movsx edi, word [ebx + 0x2a]
inc edi
imul edi, eax
movsx edx, word [esp + 0x14]
mov ecx, ebx
call fcn.10168c70
mov edx, dword [ebp + 0xc]
cwde
add eax, esi
mov esi, dword [esp + 0x10]
add eax, edi
inc eax
mov edi, dword [esp + 0xc]
jmp 0x10149419
mov eax, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10c]
test ecx, ecx
mov edi, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
mov ebx, dword [esp + 8]
je 0x1014898b
lea eax, [edx + 0x2c]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 8]
cmp dword [ecx], esi
je 0x10149c81
mov ecx, dword [ecx + 0xc]
test ecx, ecx
mov edx, dword [ebp + 0xc]
jne 0x10149a2e
jmp 0x1014898b
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + esi + 0xc]
mov dword [esp + 0x38], eax
cmp ecx, dword [esp + 0x18]
jne 0x10149a86
xor eax, eax
movzx ecx, byte [eax + str.main]
mov edx, dword [esp + 0x30]
movzx edx, byte [edx + eax]
cmp cl, dl
jne 0x10149a75
test cl, cl
jne 0x10149a83
jmp 0x10149d79
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x10149a86
inc eax
jmp 0x10149a59
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
jmp 0x101483e9
mov eax, dword [edx + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
cmp byte [eax + 0x10], 0xa5
mov eax, 0
cmovne eax, dword [esp + 8]
mov dword [esp + 0x14], eax
jmp 0x10148ceb
mov dword [esp + 0x30], 0
jmp 0x10148d16
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
push 0
push dword [esp + 0xc]
push 0xfffffffffffffffe
call fcn.10130d40
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10149d8e
mov al, 1
mov dword [esp + 8], 0
xor ebx, ebx
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
jmp 0x10148eee
or byte [edx + 6], 4
cmp esi, 2
je 0x10149fdf
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x20]
cmp byte [eax], 0x75
mov eax, 0x800000
mov ecx, 0x7800000
cmove ecx, eax
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x1c], ecx
jmp 0x10148d5d
cmp byte [eax + 0xa9], 0
jne 0x10148d75
mov edx, dword [esp + 0xc]
cmp byte [edx + 0xc8], 0
mov edx, dword [ebp + 0xc]
jne 0x10148d75
mov esi, dword [ebx + 0x20]
mov edx, dword [esp + 0xc]
mov ebx, dword [edx + 0xf0]
mov eax, dword [eax + 0x154]
mov dword [esp + 0x18], eax
call dword [section..00cfg]
xor eax, eax
push ebx
push eax
push esi
push eax
push 0x1f
push dword [esp + 0x2c]
call ecx
add esp, 0x18
cmp eax, 1
jne 0x10149fc7
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [esp + 0x10]
push edi
call fcn.100394d0
add esp, 8
mov dword [edi + 0xc], esi
mov eax, dword [esp + 0x1c]
push dword [eax + 0x20]
push str.not_authorized_to_use_function:__s
push dword [esp + 0x14]
call fcn.100394d0
add esp, 0xc
mov eax, dword [esp + 0x10]
inc dword [eax + 0x14]
mov eax, dword [ebp + 0xc]
mov byte [eax], pe_nt_image_headers32
jmp 0x10148cad
mov al, byte [edx + 7]
and al, 1
mov ecx, dword [esp + 8]
or cl, al
movzx ebx, cl
jmp 0x10148f50
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
cmp byte [eax + 0xa9], 0
mov ecx, str.no_such_function:__.s
mov eax, str.wrong_number_of_arguments_to_function__.s__
cmove eax, ecx
je 0x10149da7
xor bl, 1
mov ecx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
je 0x10148f39
jmp 0x10149c21
mov eax, str.wrong_number_of_arguments_to_function__.s__
push dword [esp + 0x20]
push dword [esp + 0x34]
push eax
push dword [esp + 0x18]
call fcn.100394d0
add esp, 0x10
inc dword [esi + 0x14]
xor ebx, ebx
cmp byte [esp + 8], 0
je 0x10148f50
xor eax, eax
cmp dword [esp + 0x14], 0
sete al
xor eax, 0xffffbfff
and dword [esi + 0x18], eax
xor ebx, ebx
inc ebx
jmp 0x10148f50
push dword [esp + 0x20]
push dword [esp + 0x34]
push str.FILTER_may_not_be_used_with_non_aggregate__.s__
push dword [esp + 0x18]
call fcn.100394d0
add esp, 0x10
inc dword [esi + 0x14]
jmp 0x10148f50
mov dword [ecx], eax
mov edi, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
mov ebx, dword [esp + 8]
jmp 0x1014898b
xor ecx, ecx
mov dword [esp + 0x38], 0
jmp 0x10149a51
xor ecx, ecx
cmp byte [esp + 0x14], 0x7f
setne cl
mov eax, dword [esp + 0x40]
mov dword [eax], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x78]
mov dword [esp + 0x18], eax
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
jmp 0x101489fc
mov eax, str._.s___may_not_be_used_as_a_window_function
jmp 0x10149c21
mov ecx, str.index_expressions
test al, 0x20
jne 0x10149cf8
mov ecx, str.CHECK_constraints
test al, 4
jne 0x10149cf8
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
push dword [esp + 0x18]
call fcn.100394d0
add esp, 0x10
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
jmp 0x10148ebf
mov ecx, str.index_expressions
test al, 0x20
jne 0x10149d40
mov ecx, str.CHECK_constraints
test al, 4
jne 0x10149d40
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.100394d0
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov byte [eax], pe_nt_image_headers32
mov ebx, dword [esp + 0x10]
jmp 0x10148847
mov dword [eax], 0
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
jmp 0x10148480
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x38], eax
jmp 0x10149879
mov dword [esp + 8], 0
mov bl, 1
xor eax, eax
mov dword [esp + 0x1c], 0
jmp 0x10149aff
mov esi, dword [esp + 0x10]
jmp 0x10149c21
test ebx, ebx
jne 0x10149282
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov edi, dword [eax + edx*4 + 8]
mov edx, dword [edi + 4]
test byte [esp + 0x14], 1
jne 0x10149dd9
mov ebx, edx
and ebx, 0x10
jne 0x1014a080
test dx, dx
js 0x10149f4d
mov al, byte [edi]
cmp al, 0xaf
je 0x10149f70
cmp al, 0x89
je 0x10149f78
cmp al, 0xb0
je 0x10149f80
mov edi, dword [esp + 0xc]
mov ecx, edi
mov edx, dword [esp + 0x24]
push dword [esp + 0x5c]
push dword [ebp + 0xc]
push esi
call fcn.10005a10
add esp, 0xc
cmp byte [edi + 0xc8], 2
jae 0x10149fa9
mov esi, dword [esp + 0x10]
jmp 0x10148762
mov dword [esp + 0x18], 0
jmp 0x10149cbd
mov dword [esp + 0x14], 0
jmp 0x10148e8c
mov edi, ebx
mov byte [esp + 0x3f], 1
mov eax, str.no_such_column
mov dword [esp + 0x2c], 0
bt ecx, 0x1a
jb 0x1014a228
mov edx, dword [ebp + 0xc]
mov edx, dword [edx + 8]
mov dword [esp + 0x14], edx
xor esi, esi
mov edx, dword [esp + 0x14]
movzx ebx, byte [edx + esi]
movzx edx, byte [esi + str.true]
cmp bl, dl
jne 0x10149e8c
test bl, bl
jne 0x10149e9e
jmp 0x1014a01d
mov bl, byte [ebx + 0x1019c728]
cmp bl, byte [edx + 0x1019c728]
jne 0x1014a031
inc esi
jmp 0x10149e70
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
jmp 0x10148541
mov edi, ebx
mov eax, str.no_such_column
mov dword [esp + 0x20], 0
mov dword [esp + 0x2c], 0
cmp dword [esp + 0x30], 0
jne 0x1014967e
push edi
push dword [esp + 0x2c]
push eax
push str._s:__s._s
push dword [esp + 0x1c]
call fcn.100394d0
add esp, 0x14
jmp 0x10149699
mov esi, eax
and esi, 0x50000001
xor esi, 0x40000001
je 0x101492f6
xor edi, edi
mov esi, 0x20000000
jmp 0x101492ea
test dl, dl
je 0x10149f16
inc ecx
jmp 0x10149333
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x10]
test byte [ecx + 0x25], 2
mov edi, 1
mov edx, dword [ebp + 0xc]
mov ebx, eax
jne 0x10149204
mov word [edx + 0x20], 0xffff
mov byte [edx + 1], 0x44
xor ecx, ecx
inc ecx
mov bl, 1
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0xc]
jmp 0x101486de
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x10]
jne 0x10149f65
and dword [esp + 0x14], 0x4000
jne 0x10149de2
push ecx
push str.misuse_of_aliased_window_function__s
jmp 0x1014a086
mov al, byte [edi + 2]
jmp 0x10149dec
mov edi, dword [edi + 0x14]
add edi, 0x1c
jmp 0x10149f83
add edi, 0x14
mov eax, dword [edi]
cmp dword [eax], 1
je 0x10149dfc
push str.row_value_misused
push dword [esp + 0x10]
call fcn.100394d0
add esp, 8
mov ebx, 2
jmp 0x10148934
mov eax, dword [edi + 0x10c]
test eax, eax
je 0x1014a09d
mov ecx, dword [ebp + 0xc]
cmp dword [eax], ecx
je 0x1014a097
mov eax, dword [eax + 0xc]
jmp 0x10149faf
test eax, 0xfffffffd
je 0x1014a0a6
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x10149b9c
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x1c]
call fcn.10168dd0
mov edx, dword [ebp + 0xc]
mov dword [edx + 0x1c], eax
test eax, eax
mov ebx, dword [esp + 0x1c]
jns 0x10148d5d
push str.second_argument_to_likelihood___must_be_a_constant_between_0.0_and_1.0
push dword [esp + 0x10]
call fcn.100394d0
mov edx, dword [ebp + 0xc]
add esp, 8
mov eax, dword [esp + 0x10]
inc dword [eax + 0x14]
jmp 0x10148d5d
or ecx, sym.nss3.dll_Ordinal_0
mov eax, dword [ebp + 0xc]
mov byte [eax], 0xa9
mov dword [eax + 4], ecx
jmp 0x10148cad
xor esi, esi
mov edx, dword [esp + 0x14]
movzx ebx, byte [edx + esi]
movzx edx, byte [esi + str.false]
cmp bl, dl
jne 0x1014a04f
test bl, bl
jne 0x1014a061
jmp 0x1014a215
mov bl, byte [ebx + 0x1019c728]
cmp bl, byte [edx + 0x1019c728]
jne 0x1014a220
inc esi
jmp 0x1014a033
mov bl, byte [edx + 2]
jmp 0x101493ab
mov edx, dword [edx + 0x14]
add edx, 0x1c
jmp 0x1014a077
add edx, 0x14
mov edx, dword [edx]
mov edx, dword [edx]
jmp 0x101493c0
push ecx
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x14]
call fcn.100394d0
add esp, 0xc
jmp 0x10149f9f
mov dword [eax], 0
mov edi, dword [esp + 0xc]
jmp 0x10149e23
test eax, eax
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
je 0x10148d75
cmp eax, 1
je 0x10149bad
jmp 0x10149bcc
mov eax, dword [esp + 0x14]
mov word [edx + 0x20], ax
mov dword [edx + 0x2c], ecx
xor ecx, ecx
inc ecx
mov byte [esp + 8], 0xa6
jmp 0x1014873d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xc8], 1
ja 0x1014a129
xor edx, edx
cmp dword [esp + 0x18], 0
je 0x1014a107
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x48]
mov esi, dword [esp + 0xc]
mov ecx, esi
push dword [esp + 0x1c]
push dword [esp + 0x18]
call fcn.10168e60
add esp, 8
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
jne case.0x101483bb.210
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
test eax, eax
je 0x1014a168
mov eax, dword [esp + 8]
mov esi, dword [eax]
test esi, esi
jle 0x1014a168
add dword [esp + 8], 8
inc esi
mov eax, dword [esp + 8]
mov edx, dword [eax]
test edx, edx
je 0x1014a15d
mov ecx, edi
call fcn.10148200
test eax, eax
jne 0x1014a168
add dword [esp + 8], 0x14
dec esi
cmp esi, 1
jg 0x1014a148
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], eax
test eax, eax
je 0x1014a1a7
mov eax, dword [esp + 8]
mov esi, dword [eax]
test esi, esi
jle 0x1014a1a7
add dword [esp + 8], 8
inc esi
mov eax, dword [esp + 8]
mov edx, dword [eax]
test edx, edx
je 0x1014a19c
mov ecx, edi
call fcn.10148200
test eax, eax
jne 0x1014a1a7
add dword [esp + 8], 0x14
dec esi
cmp esi, 1
jg 0x1014a187
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x1014a1b9
mov ecx, edi
call fcn.10148200
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
call fcn.10168970
mov esi, dword [esp + 0x10]
or byte [esi + 0x19], 0x80
jmp 0x10149098
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x10148fb1
mov ecx, edi
call fcn.10148200
jmp 0x10148fb1
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x10149062
lea ecx, [esp + 0x80]
call fcn.10148200
xorps xmm0, xmm0
jmp 0x10149062
or ecx, 0x20000000
jmp 0x1014a023
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
jmp 0x10149673
cmp word [esp + 0x14], 0
jle 0x1014a287
mov ecx, dword [esp + 0x14]
movsx esi, cx
movsx edx, cx
mov ecx, dword [esp + 0x20]
lea edi, [ecx + 0x10]
xor ecx, ecx
mov bl, byte [edi]
and bl, 0x20
cmp bl, 1
adc cx, 0
add edi, 0x14
dec edx
jne 0x1014a250
jmp 0x1014a28b
mov eax, dword [ebp + 0xc]
inc byte [eax + 2]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xc]
test eax, eax
mov edi, 0
lea ecx, [esp + 0x70]
jne 0x10148fc4
jmp 0x10149098
xor esi, esi
xor ecx, ecx
lea edx, [esi + esi*4]
mov edi, dword [esp + 0x20]
test byte [edi + edx*4 + 0x10], 0x20
je 0x1014a2a5
sub esi, ecx
mov edx, dword [esp + 0x18]
add si, word [edx + 0x2c]
mov ecx, esi
mov edi, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
mov esi, dword [esp + 0x10]
jmp 0x10149414