Function at 0x10025f40
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x120
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [esp + 0x118], eax
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x10], ecx
cmp dword [ecx + 0x24], 0
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x38], eax
jne 0x10026b20
mov esi, edx
cmp byte [ebp + 0x28], 2
je 0x10025fa8
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 1
je 0x10026b20
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x1002642c
cmp dword [ebp + 0x10], 0
je 0x10025fdd
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jle 0x10025fdd
mov ecx, dword [ebp + 0x10]
add ecx, 0x14
test byte [ecx], 0x20
jne 0x1002766c
add ecx, 0x14
dec eax
jne 0x10025fce
cmp dword [ebp + 0xc], 0
jne 0x10026226
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xf4]
test eax, eax
je 0x10026b20
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x3c]
xor edx, edx
test eax, eax
je 0x100277d2
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
add ecx, 0xc
xor esi, esi
dec esi
inc esi
lea edi, [ecx + 0x10]
cmp dword [ecx], eax
mov ecx, edi
jne 0x10026017
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 0x10]
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0x2c], esi
je 0x10026077
mov cl, byte [eax]
mov edi, str.sqlite_
test cl, cl
je 0x1002769a
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x53
je 0x100273ce
movzx ecx, cl
mov bl, byte [ecx + 0x101b1828]
movzx ecx, byte [edi]
cmp bl, byte [ecx + 0x101b1828]
je 0x10027499
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + 0x2b]
cmp ecx, 1
je 0x100276a1
cmp ecx, 2
je 0x100276a8
mov ecx, dword [esp + 0x30]
shl ecx, 4
mov dword [esp + 0x40], ecx
lea edi, [esi + ecx]
test edx, edx
mov dword [esp + 0xc], edi
jne 0x10026364
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
xor ecx, ecx
inc ecx
test edx, edx
jne 0x100271f1
push ecx
push eax
push str.sqlite_autoindex__s__d
push dword [esp + 0x24]
call fcn.10027ad0
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
je 0x100276b9
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 0
jne 0x100277df
xor ebx, ebx
cmp dword [esp + 0x30], 1
mov eax, str.sqlite_temp_master
mov edi, str.sqlite_master
cmove edi, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x164]
test ecx, ecx
jne 0x100276d4
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x100264cd
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov ecx, dword [ecx]
cmp ecx, dword [eax + 0x80]
jg 0x100277a5
cmp dword [esi + 0x24], 0
jne 0x10027199
mov eax, dword [esp + 0x38]
mov ebx, dword [eax]
test ebx, ebx
jle 0x10026418
lea edi, [eax + 8]
xor ecx, ecx
mov esi, ebx
mov eax, dword [edi]
cmp byte [eax], 0x71
je 0x10027509
add edi, 0x14
dec esi
jne 0x10026153
mov edi, ecx
push dword [esp + 0x28]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
mov dword [esp + 0x20], eax
cmp dword [esp + 0x34], 0
jne 0x1002641f
xor esi, esi
inc esi
mov edx, edi
add esi, ebx
mov ecx, esi
shl ecx, 0x10
movsx eax, si
mov ebx, ecx
sar ebx, 0xe
add ebx, 7
and ebx, 0xfffffff8
sar ecx, 0xf
add eax, ecx
mov dword [esp + 0x48], ecx
add eax, ecx
add eax, 9
and eax, 0xfffffff8
add eax, ebx
add eax, 0x48
mov ecx, dword [esp + 0x20]
add ecx, edi
inc ecx
mov dword [esp + 0x24], eax
add ecx, eax
mov edx, dword [esp + 0x18]
test edx, edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], ebx
mov dword [esp + 0xc], ecx
je 0x1002773b
mov eax, ecx
sar eax, 0x1f
movzx edi, word [edx + 0x12c]
xor edx, edx
cmp edi, ecx
sbb edx, eax
jb 0x10026552
cmp ecx, 0x80
ja 0x1002657c
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x150]
test edx, edx
je 0x1002656e
mov esi, edx
mov eax, dword [edx]
mov dword [ecx + 0x150], eax
inc dword [ecx + 0x138]
jmp 0x100265b9
mov edi, dword [ebp + 8]
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov edx, esi
push eax
push edi
call fcn.10050cd0
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
js 0x10026b20
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x100270c3
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
lea ecx, [esp + 0x54]
mov dword [ecx - 4], ebx
mov edx, dword [eax + 0x10]
mov edi, dword [esp + 0x30]
mov esi, edi
shl esi, 4
mov edx, dword [edx + esi]
mov dword [ecx + 0x24], edx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + esi + 0xc]
mov edx, dword [esp + 0x4c]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x28], 0x101ca5c4
mov dword [esp + 0xc], edx
mov dword [ecx + 0x2c], edx
cmp edi, 1
sete byte [ecx + 0x20]
mov dword [ecx], ebx
mov dword [ecx + 4], 0x10076d40
mov dword [ecx + 8], 0x10076d90
mov dword [ecx + 0xc], sym.nss3.dll_PORT_ArenaUnmark_Util
mov dword [ecx + 0x10], 0
mov word [ecx + 0x14], 0
lea eax, [esp + 0x50]
mov dword [eax + 0x1c], eax
xorps xmm0, xmm0
lea edx, [esp + 0xc0]
movaps xmmword [edx + 0x20], xmm0
movups xmmword [edx + 0x3c], xmm0
movaps xmmword [edx + 0x30], xmm0
movaps xmmword [edx + 0x10], xmm0
movaps xmmword [edx], xmm0
mov ebx, dword [ebp + 0xc]
mov dword [edx + 0x20], ebx
call fcn.1002fcb0
mov eax, dword [ebx + 8]
test eax, eax
jne 0x10026e38
lea esi, [ebx + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
push dword [esi]
push dword [ebx + 0x10]
call fcn.10038b60
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
mov edx, dword [esp + 0xc]
je 0x1002787a
cmp dword [esp + 0x30], 1
je 0x10027887
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x14]
test byte [eax + 0x1c], 0x80
je 0x1002602d
mov eax, dword [eax + 8]
test eax, eax
je 0x1002602d
mov ecx, dword [eax + 0x38]
and ecx, 3
cmp ecx, 2
jne 0x10027957
mov dword [esp + 0x34], eax
jmp 0x1002602d
mov ecx, dword [esp + 0x18]
call fcn.10021d70
test eax, eax
je 0x100276b9
mov esi, dword [esp + 0x10]
mov ecx, esi
mov dword [esp + 0x28], eax
mov edx, eax
mov eax, dword [esp + 0x14]
push dword [eax]
push 0x101ca5c4
call fcn.1014f640
add esp, 8
test eax, eax
jne 0x10027199
mov bl, byte [esi + 0xd8]
cmp bl, 1
ja 0x10026115
mov esi, dword [esp + 0x18]
cmp byte [esi + 0xb1], 0
mov edi, dword [edi]
je 0x10027141
mov ecx, esi
mov edx, dword [esp + 0x28]
push edi
call fcn.10024280
add esp, 4
test eax, eax
je 0x100260ef
cmp dword [ebp + 0x24], 0
je 0x10027a7f
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
mov edx, dword [eax + 0x58]
xor esi, esi
inc esi
mov ecx, dword [esp + 0x30]
shl esi, cl
bt edx, ecx
jb 0x1002640a
or edx, esi
mov dword [eax + 0x58], edx
cmp ecx, 1
je 0x10027a8d
mov ecx, dword [esp + 0x10]
call fcn.10027db0
jmp 0x10027199
xor ecx, ecx
jmp 0x10026164
mov eax, dword [esp + 0x34]
movzx esi, word [eax + 0x32]
jmp 0x10026189
mov edi, dword [esp + 0x18]
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x4d]
mov edx, dword [edi + 0x18]
mov byte [edi + 0x54], cl
mov eax, dword [eax + 0xc]
test byte [eax + 0x4e], 1
mov eax, dword [esp + 0x10]
lea eax, [eax + 4]
mov dword [esp + 0xc], eax
je 0x100271b1
mov edi, dword [edi + 0x14]
cmp edi, 2
jl 0x100264a9
lea ebx, [edi + 1]
shl edi, 4
add edi, 0xfffffffc
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edi]
test byte [eax + 0x4e], 1
je 0x10026483
dec ebx
add edi, 0xfffffff0
cmp ebx, 2
ja 0x10026468
jmp 0x100264a9
mov dword [esp + 0x14], edx
lea edx, [ebx - 2]
mov ecx, dword [esp + 0x18]
push 0
push dword [esp + 0x10]
call fcn.10039c30
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x10026478
jmp 0x100271cf
test dl, 1
mov eax, dword [esp + 0x18]
jne 0x100264b6
and byte [eax + 0x18], 0xfe
cmp byte [eax + 0x5f], 0
je 0x10025fb9
mov eax, dword [esp + 0x18]
or byte [eax + 0x18], 0x10
jmp 0x10025fb9
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 4]
movsx ecx, word [ecx + 0x22]
shl ecx, 4
or word [ecx + eax - 2], 8
mov eax, dword [ecx + eax - 0x10]
mov dword [esp + 0xc0], eax
test eax, eax
je 0x10027976
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
lea esi, [esp + 0xc0]
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x18]
mov edx, 0x3b
push 0
push esi
call fcn.100389a0
add esp, 8
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov edx, eax
call fcn.10020d60
test eax, eax
je 0x1002797d
mov esi, dword [ebp + 0x20]
mov ecx, dword [eax]
lea ecx, [ecx + ecx*4]
xor edx, edx
cmp esi, 0xffffffff
cmovne edx, esi
mov dword [esp + 0x38], eax
mov byte [eax + ecx*4 - 4], dl
jmp 0x1002613e
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x128], 0
je 0x100273c3
cmp byte [ecx + 0x57], 0
je 0x100265a2
jmp 0x100277bd
mov ecx, dword [ecx + 0x14c]
test ecx, ecx
jne 0x100271de
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x148]
test edx, edx
jne 0x100271a2
mov edx, dword [ecx + 0x144]
test edx, edx
jne 0x1002731e
inc dword [ecx + 0x140]
mov edx, dword [esp + 0xc]
push eax
call fcn.101372d0
add esp, 4
mov esi, eax
test eax, eax
je 0x100277bd
mov edi, dword [esp + 0x48]
lea ebx, [edi + 2]
push dword [esp + 0xc]
push 0
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esi + 0x48]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x44]
add eax, esi
add eax, 0x48
mov dword [esi + 8], eax
add ebx, eax
mov dword [esi + 4], ebx
add ebx, edi
mov dword [esi + 0x1c], ebx
mov eax, dword [esp + 0x3c]
mov word [esi + 0x34], ax
dec eax
mov word [esi + 0x32], ax
mov dword [esp + 0xc], esi
add dword [esp + 0x24], esi
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x57], 0
jne 0x10027188
mov ebx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x20]
inc ecx
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
mov dword [edi], eax
mov dword [esp + 0x20], ecx
push ecx
push dword [esp + 0x2c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [edi + 0xc], eax
xor eax, eax
test ebx, ebx
setne al
mov byte [edi + 0x36], bl
mov ecx, dword [edi + 0x38]
and ecx, 0xfffffff4
lea eax, [ecx + eax*8]
mov cl, byte [ebp + 0x28]
and cl, 3
movzx ecx, cl
mov dword [esp + 0x44], ecx
or eax, ecx
mov dword [edi + 0x38], eax
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0x40]
mov eax, dword [eax + edx + 0xc]
mov dword [edi + 0x18], eax
mov ecx, dword [esp + 0x38]
movzx eax, word [ecx]
mov word [edi + 0x32], ax
mov edi, dword [ebp + 0x1c]
test edi, edi
jne 0x10026c58
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + edx + 0xc]
mov al, byte [eax + 0x4c]
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 2
mov eax, ecx
jae 0x1002774a
mov ecx, dword [esp + 0xc]
cmp word [ecx + 0x32], 0
je 0x10026900
mov ecx, dword [esp + 0x20]
add dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x38]
add ecx, 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ecx
mov edx, dword [ecx]
movzx eax, byte [edx]
cmp eax, 0x75
je 0x10027532
cmp eax, 0x71
je 0x10027542
xor edi, edi
lea eax, [esp + 0x8c]
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], edi
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movaps xmmword [esp + 0xc0], xmm0
movaps xmmword [esp + 0x100], xmm0
movaps xmmword [esp + 0xf0], xmm0
movaps xmmword [esp + 0xe0], xmm0
movaps xmmword [esp + 0xd0], xmm0
mov dword [esp + 0xc0], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xf4], 0xffffffff
mov ecx, dword [ecx + 0x3c]
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
mov esi, dword [eax + 0x10]
xor eax, eax
cmp ecx, dword [esi + 0x1c]
setne al
mov dword [esp + 0x84], ebx
lea ecx, [esp + 0xc0]
mov dword [esp + 0x88], ecx
shl eax, 0x12
or eax, 0x10020
mov dword [esp + 0x9c], eax
lea ecx, [esp + 0x84]
call fcn.10031340
cmp dword [ebx + 0x24], edi
jne 0x1002778a
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
je 0x100267b5
test byte [ecx + 5], 0x20
jne 0x10027550
mov eax, ecx
cmp byte [eax], 0xa7
jne 0x10027558
movsx eax, word [eax + 0x20]
test eax, eax
js 0x100275f0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, eax
shl ecx, 4
test byte [edx + ecx + 4], 0xf
je 0x1002688e
test byte [edx + ecx + 0xe], 0x20
jne 0x100275fd
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 0x20]
mov word [ecx + edx*2], ax
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
cmp byte [ecx], 0x71
je 0x100275b9
test eax, eax
js 0x10026827
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
shl eax, 4
movzx ecx, word [edx + eax + 0xe]
bt ecx, 9
jb 0x1002760a
mov esi, dword [esp + 0x24]
xor edi, edi
test edi, edi
mov eax, 0x101b1a9f
cmove edi, eax
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x100268a2
xor eax, eax
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x20]
mov edx, dword [esp + 0x20]
mov dword [ecx + edx*4], edi
cmp byte [esp + 0x2c], 4
jb 0x10026862
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x1c]
mov edi, dword [esp + 0x20]
mov byte [ecx + edi], al
inc edi
mov ecx, dword [esp + 0x1c]
add ecx, 0x14
movzx eax, word [edx + 0x32]
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edi
cmp edi, eax
jb 0x100266ce
jmp 0x1002690c
mov edx, dword [esp + 0xc]
and byte [edx + 0x38], 0xf7
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
jmp 0x100267e1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov al, byte [ecx + 0x54]
movzx ebx, byte [ecx + 0xb1]
movzx edx, al
mov dword [esp + 0x3c], edx
push ebx
mov dword [esp + 0x28], edi
push edi
call fcn.1001eb40
add esp, 8
test ebx, ebx
jne 0x100268ef
test eax, eax
mov edi, dword [esp + 0x24]
je 0x100268dd
cmp dword [eax + 0xc], 0
jne 0x10026844
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
push edi
push eax
call fcn.10060e80
add esp, 8
test eax, eax
mov edi, dword [esp + 0x24]
jne 0x10026844
jmp 0x1002765f
mov dword [esp + 0x20], 0
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x10026d5f
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x20]
mov word [eax + ecx*2], 0xffff
mov eax, dword [ebx + 0x20]
mov dword [eax + ecx*4], 0x101b1a9f
mov esi, dword [ebx + 8]
movzx eax, word [ebx + 0x32]
cmp ax, 5
mov edx, 5
cmovb edx, eax
mov ecx, dword [ebx + 0xc]
movzx edi, dx
movzx eax, word [ecx + 0x26]
cmp ax, 0x62
jle 0x1002775c
lea ecx, [eax - 0xa]
cmp dword [ebx + 0x24], 0
cmove ecx, eax
mov word [esi], cx
lea eax, [esi + 2]
lea ecx, [edi + edi]
push ecx
push 0x101b2678
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [ebx + 0x32]
cmp di, ax
jb 0x1002776b
cmp byte [ebx + 0x36], 0
je 0x10026998
movzx eax, ax
mov word [esi + eax*2], 0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xf4], 0
je 0x10026b6e
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x34]
movzx ecx, ax
mov dword [esp + 0x34], eax
test ax, ax
mov dword [esp + 0x2c], ecx
je 0x10026c49
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 4]
mov dword [esp + 0x1c], edx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], eax
lea eax, [ecx + 1]
mov dword [esp + 0x20], 0
xor edi, edi
mov ecx, dword [esp + 0x1c]
movsx ebx, word [ecx + eax*2 - 4]
test ebx, ebx
js 0x10026a2a
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 4]
mov ecx, ebx
shl ecx, 4
test byte [edx + ecx + 0xe], 0x20
jne 0x10026a2a
cmp bx, 0x3e
ja 0x10026a2a
xor edx, edx
mov ecx, ebx
xor esi, esi
inc esi
shld edx, esi, cl
shl esi, cl
test bl, 0x20
cmovne edx, esi
mov ecx, 0
cmovne esi, ecx
or edi, edx
or dword [esp + 0x20], esi
dec eax
cmp eax, 1
ja 0x100269e4
not edi
mov ecx, dword [esp + 0x20]
not ecx
mov eax, dword [esp + 0xc]
mov dword [eax + 0x40], ecx
mov dword [eax + 0x44], edi
cmp dword [ebp + 0xc], 0
je 0x10026a5a
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x22]
cmp dword [esp + 0x2c], eax
jge 0x1002732d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0xf4]
jne 0x10026a75
mov esi, dword [ecx + 8]
test esi, esi
jne 0x100271fa
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 1
ja 0x10026ac2
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x10026e54
cmp dword [ebp + 0xc], 0
jne 0x10026c16
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov ecx, dword [eax + 0x18]
add ecx, 0x18
push eax
call fcn.10146f80
add esp, 4
test eax, eax
jne 0x10027781
mov eax, dword [esp + 0x18]
or byte [eax + 0x18], 1
cmp dword [ebp + 0xc], 0
je 0x10026ad9
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x1002716f
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x14], eax
mov dword [edi + 8], ecx
mov dword [esp + 0x1c], 0
mov eax, dword [edi + 8]
test eax, eax
je 0x10026b20
cmp byte [eax + 0x36], 5
je 0x100274ff
mov esi, eax
mov eax, dword [eax + 0x14]
test eax, eax
je 0x10026b20
cmp byte [eax + 0x36], 5
jne 0x10026b03
add esi, 0x14
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x10027a99
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x100276c6
mov edx, dword [esp + 0x38]
test edx, edx
mov esi, dword [esp + 0x18]
je 0x10026b3f
mov ecx, esi
call fcn.10021700
mov ecx, esi
mov edx, dword [ebp + 0xc]
call fcn.10021750
mov edx, dword [esp + 0x28]
test edx, edx
je 0x10026b58
mov ecx, esi
call fcn.10129dd0
mov ecx, dword [esp + 0x118]
xor ecx, ebp
call fcn.10157a00
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esp + 0xc]
movzx eax, word [edx + 0x34]
xor ecx, ecx
mov dword [esp + 0x34], eax
test eax, eax
je 0x1002790c
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 4]
mov edx, dword [edx + 4]
xor edi, edi
movzx ebx, word [edx + edi*2]
xor esi, esi
inc esi
test bx, bx
js 0x10026ba3
shl ebx, 4
movzx esi, byte [eax + ebx + 9]
add ecx, esi
inc edi
cmp dword [esp + 0x34], edi
jne 0x10026b8f
shl ecx, 2
cmp ecx, 8
jb 0x100278fe
cmp ecx, 0x100
jae 0x10027913
xor eax, eax
mov dx, 0x28
cmp ecx, 0x10
mov esi, eax
sbb esi, 0
jb 0x10026bf5
mov esi, 0x1f
mov edi, eax
mov ebx, ecx
add edx, 0xa
mov ecx, eax
shld ecx, ebx, 0x1f
shr edi, 1
cmp esi, ebx
mov ebx, 0
sbb ebx, eax
mov eax, edi
jb 0x10026bdb
mov eax, ecx
and eax, 7
add dx, word [eax + eax + 0x101b7f46]
add edx, 0xfffffff6
mov eax, dword [esp + 0xc]
mov word [eax + 0x30], dx
mov eax, dword [esp + 0x34]
jmp 0x100269b1
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0xac]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x10026a9d
cmp dword [ecx + 0x2c], eax
jne 0x10026c44
cmp ecx, dword [esp + 0xc]
jne 0x100278c2
mov ecx, dword [ecx + 0x14]
jmp 0x10026c2d
mov dword [esp + 0x20], 0
xor edi, edi
jmp 0x10026a30
xor eax, eax
lea ecx, [esp + 0x84]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x18], eax
xorps xmm0, xmm0
movups xmmword [ecx + 8], xmm0
lea esi, [esp + 0xc0]
movaps xmmword [esi], xmm0
movaps xmmword [esi + 0x10], xmm0
movaps xmmword [esi + 0x20], xmm0
movaps xmmword [esi + 0x30], xmm0
movaps xmmword [esi + 0x40], xmm0
mov dword [esi], 1
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov dword [esi + 0x10], edx
mov dword [esi + 0x18], eax
mov dword [esi + 0x34], 0xffffffff
mov edx, dword [eax + 0x3c]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ecx + 0x10]
xor ebx, ebx
cmp edx, dword [ecx + 0x1c]
lea ecx, [esp + 0x84]
mov dword [ecx], eax
mov dword [ecx + 4], esi
setne bl
shl ebx, 0x12
or ebx, 0x10002
mov dword [ecx + 0x18], ebx
mov edx, ecx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], fcn.1014fd40
mov dword [esp + 0xac], 0x10030b20
xor ecx, ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xbc], edx
mov ecx, dword [eax + 0xe0]
add ecx, dword [edi + 0x18]
mov dword [eax + 0xe0], ecx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x84]
cmp eax, ecx
jl 0x1002795f
lea ebx, [esp + 0xa4]
mov ecx, ebx
mov edx, edi
call fcn.1014fbd0
mov eax, dword [edi + 0x18]
mov ecx, dword [ebx]
sub dword [ecx + 0xe0], eax
mov eax, 0x8010
and eax, dword [esp + 0x9c]
or dword [edi + 4], eax
mov eax, dword [esp + 0xc]
mov dword [eax + 0x24], edi
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
jmp 0x10026682
cmp word [edi + 0x32], 0
mov ebx, dword [esp + 0xc]
je 0x10026933
xor eax, eax
mov ecx, dword [edi + 4]
movzx ecx, word [ecx + eax*2]
mov word [esp + 0x2c], cx
movzx edx, word [ebx + 0x32]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x3c], edx
test edx, edx
je 0x10026e04
xor edi, edi
mov ebx, ecx
movzx edx, word [esp + 0x2c]
cmp word [ecx + edi*2], dx
je 0x10026da5
inc edi
cmp edi, dword [esp + 0x3c]
mov ecx, ebx
jne 0x10026d8d
jmp 0x10026e04
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x20]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x20]
mov ecx, dword [ecx + edi*4]
mov dword [esp + 0x24], ecx
xor esi, esi
mov ecx, dword [esp + 0x24]
movzx ecx, byte [ecx + esi]
mov edx, dword [esp + 0x1c]
movzx edx, byte [edx + esi]
cmp cl, dl
jne 0x10027637
test ecx, ecx
je 0x10026de2
inc esi
jmp 0x10026dc3
mov ecx, dword [esp + 0xc]
dec word [ecx + 0x34]
mov edi, dword [esp + 0x34]
inc eax
movzx ecx, word [edi + 0x32]
cmp eax, ecx
mov ebx, dword [esp + 0xc]
jb 0x10026d70
jmp 0x10026933
mov ebx, dword [esp + 0x20]
movzx edx, word [esp + 0x2c]
mov word [ecx + ebx*2], dx
mov edi, dword [esp + 0x34]
mov ecx, dword [edi + 0x20]
mov ecx, dword [ecx + eax*4]
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x20]
mov dword [edx + ebx*4], ecx
mov ecx, dword [edi + 0x1c]
mov cl, byte [ecx + eax]
mov edx, dword [esi + 0x1c]
mov byte [edx + ebx], cl
inc ebx
mov dword [esp + 0x20], ebx
jmp 0x10026dee
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add ecx, 0xfffffff0
lea esi, [ecx + 0x10]
cmp dword [ecx + 0x1c], eax
mov ecx, esi
je 0x100262fd
jmp 0x10026e44
cmp dword [ebp + 0xc], 0
jne 0x10026e6c
mov eax, 0x80
mov ecx, dword [esp + 0x14]
and eax, dword [ecx + 0x1c]
jne 0x10026ad9
mov edi, dword [esp + 0x10]
mov esi, dword [edi + 8]
mov eax, dword [edi + 0x2c]
inc eax
mov dword [esp + 0x20], eax
mov dword [edi + 0x2c], eax
test esi, esi
jne 0x10026ea5
cmp dword [edi + 0x78], 0
jne 0x10026e94
mov eax, dword [edi]
test byte [eax + 0x50], 8
jne 0x10026e94
mov byte [edi + 0x17], 1
mov ecx, edi
call fcn.1002fa90
mov esi, eax
test eax, eax
je 0x1002765f
mov ebx, dword [edi + 0x78]
test ebx, ebx
cmove ebx, edi
mov eax, dword [ebx + 0x58]
xor edi, edi
inc edi
mov ecx, dword [esp + 0x30]
shl edi, cl
bt eax, ecx
jb 0x10026ece
or eax, edi
mov dword [ebx + 0x58], eax
cmp dword [esp + 0x30], 1
je 0x10027312
or dword [ebx + 0x54], edi
or byte [ebx + 0x14], 1
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1002738c
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea edx, [eax + eax*4]
mov byte [ecx + edx*4], 0xb8
xorps xmm0, xmm0
movups xmmword [ecx + edx*4 + 1], xmm0
mov dword [ecx + edx*4 + 0x10], 0
mov edi, dword [ebp + 0x18]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], eax
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x100273a5
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0x93
mov edx, dword [esp + 0x30]
mov dword [ecx + eax*4 + 4], edx
mov edx, dword [esp + 0x20]
mov dword [ecx + eax*4 + 8], edx
mov dword [ecx + eax*4 + 0xc], 2
mov dword [ecx + eax*4 + 0x10], 0
xor ebx, ebx
test edi, edi
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
je 0x10026fa7
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov ecx, dword [edx + 0xcc]
mov ebx, edx
mov edx, dword [edx + 0xd0]
sub ecx, eax
lea edi, [ecx + edx]
cmp byte [eax + edi - 1], 0x3b
lea ecx, [ecx + edx - 1]
cmovne ecx, edi
cmp dword [ebp + 0x14], 0
mov edx, 0x101e246d
mov edi, str._UNIQUE
cmove edi, edx
push eax
push ecx
push edi
mov edi, dword [esp + 0x24]
push str.CREATE_s_INDEX__.s
push edi
call fcn.10027ad0
mov edx, ebx
add esp, 0x14
mov ebx, eax
mov eax, dword [edi + 0x10]
push ebx
push dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
push dword [ecx]
mov ecx, dword [esp + 0x18]
push dword [ecx]
mov ecx, dword [esp + 0x50]
push dword [eax + ecx]
push str.INSERT_INTO__Q.sqlite_master_VALUES_index__Q__Q__d__Q__
push edx
call fcn.10025a50
add esp, 0x1c
test ebx, ebx
je 0x10026fdd
mov ecx, edi
mov edx, ebx
call fcn.10129dd0
cmp dword [ebp + 0xc], 0
je 0x1002709c
mov edi, dword [esp + 0x10]
mov ecx, edi
mov edx, dword [esp + 0xc]
push dword [esp + 0x20]
call fcn.1005c2f0
add esp, 4
mov eax, dword [edi]
mov ecx, dword [edi + 8]
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0x40]
mov eax, dword [eax + edx + 0xc]
mov eax, dword [eax]
inc eax
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x70], edx
jle 0x100274cb
lea edi, [edx + 1]
mov dword [ecx + 0x6c], edi
mov ecx, dword [ecx + 0x68]
lea edx, [edx + edx*4]
mov dword [ecx + edx*4], 0x64
mov edi, dword [esp + 0x30]
mov dword [ecx + edx*4 + 4], edi
mov dword [ecx + edx*4 + 8], 1
mov dword [ecx + edx*4 + 0xc], eax
mov dword [ecx + edx*4 + 0x10], 0
mov eax, dword [esp + 0xc]
push dword [eax]
push str.name_q_AND_typeindex
push dword [esp + 0x20]
call fcn.10027ad0
add esp, 0xc
mov ecx, esi
mov edx, edi
push 0
push eax
call fcn.10025bc0
add esp, 8
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x100274e5
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4], 0xa6
movaps xmm0, xmmword [0x101b11e0]
movups xmmword [ecx + eax*4 + 4], xmm0
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x100279a5
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x2c]
lea ecx, [ecx + ecx*4]
shl ecx, 2
add ecx, dword [esi + 0x68]
mov dword [ecx + 8], eax
jmp 0x10026ac2
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 8]
test eax, eax
jne 0x100272f6
lea esi, [ebx + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
push dword [esi]
push dword [ebx + 0x10]
call fcn.10038b60
add esp, 8
mov esi, eax
mov edx, dword [ebx + 0x18]
test edx, edx
jne 0x100272d4
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], esi
test esi, esi
je 0x1002625a
inc dword [esi + 0x18]
test byte [eax + 0x30], 2
jne 0x100279e4
cmp dword [edi + 4], 0
jne 0x1002625a
test esi, esi
je 0x1002625a
mov eax, dword [esi + 0x3c]
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x10]
xor edx, edx
inc edx
cmp eax, dword [ecx + 0x1c]
mov eax, dword [esp + 0x30]
cmove eax, edx
mov dword [esp + 0x30], eax
jmp 0x1002625a
mov ecx, esi
mov edx, dword [esp + 0x28]
push edi
call fcn.10152030
add esp, 4
test eax, eax
je 0x100263be
push dword [esp + 0x28]
push str.there_is_already_a_table_named__s
push dword [esp + 0x18]
call fcn.10046a40
add esp, 0xc
jmp 0x10027199
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 2
jae 0x100279fc
mov edx, dword [esp + 0xc]
test edx, edx
je 0x10027199
mov ecx, dword [esp + 0x18]
call fcn.10017f30
mov edi, dword [esp + 0x14]
jmp 0x10026af2
mov esi, edx
mov eax, dword [edx]
mov dword [ecx + 0x148], eax
jmp 0x1002621b
mov ecx, edi
mov ebx, edx
xor edx, edx
push 0
push dword [esp + 0x10]
call fcn.10039c30
mov edx, ebx
add esp, 8
test eax, eax
je 0x10026457
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x24]
jmp 0x10026b20
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x14c], eax
jmp 0x1002621b
inc ecx
mov edx, dword [edx + 0x14]
jmp 0x100260b5
mov eax, dword [esp + 0xc]
movzx edx, word [eax + 0x32]
cmp word [esi + 0x32], dx
jne 0x10027a13
xor ecx, ecx
test edx, edx
jne 0x1002721b
cmp ecx, edx
je 0x1002727f
jmp 0x10027a13
mov eax, dword [esi + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x34], eax
xor ecx, ecx
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x24]
movzx eax, word [eax + ecx*2]
mov edi, dword [esp + 0x34]
cmp ax, word [edi + ecx*2]
jne 0x10027212
mov eax, dword [esi + 0x20]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
mov edx, dword [eax + ecx*4]
xor edi, edi
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + edi]
movzx ebx, byte [edx + edi]
cmp al, bl
jne 0x1002798a
test eax, eax
je 0x10027276
inc edi
jmp 0x1002725b
inc ecx
mov edx, dword [esp + 0x1c]
cmp ecx, edx
jne 0x10027233
mov al, byte [esi + 0x36]
mov ecx, dword [esp + 0xc]
mov cl, byte [ecx + 0x36]
cmp al, cl
je 0x100272a8
cmp al, 0xb
je 0x1002729a
cmp cl, 0xb
jne 0x10027a4a
cmp al, 0xb
jne 0x100272a8
mov eax, dword [esp + 0xc]
mov al, byte [eax + 0x36]
mov byte [esi + 0x36], al
cmp byte [ebp + 0x28], 2
je 0x10027a23
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0xd8], 2
jae 0x10027a35
mov edx, dword [esp + 0xc]
jmp 0x10027190
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp dword [ecx + 0x208], 0
jne 0x100272ec
dec dword [edx + 0x18]
jne 0x100270f4
call fcn.10017c60
jmp 0x100270f4
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x10]
add ecx, 0xfffffff0
lea esi, [ecx + 0x10]
cmp dword [ecx + 0x1c], eax
mov ecx, esi
je 0x100270d4
jmp 0x10027302
mov ecx, ebx
call fcn.10042980
jmp 0x10026ece
mov esi, edx
mov eax, dword [edx]
mov dword [ecx + 0x144], eax
jmp 0x1002621b
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x38]
mov ecx, eax
or ecx, 0x20
mov dword [edx + 0x38], ecx
mov ecx, dword [esp + 0x14]
movsx ecx, word [ecx + 0x22]
test ecx, ecx
jle 0x10026a5a
mov edx, dword [esp + 0x14]
movsx edx, word [edx + 0x20]
xor esi, esi
cmp esi, edx
je 0x10027382
cmp word [esp + 0x34], 0
je 0x10027a70
mov edi, dword [esp + 0xc]
mov ebx, dword [edi + 4]
xor edi, edi
cmp word [ebx + edi*2], si
jne 0x10027a65
test di, di
js 0x10027a70
inc esi
cmp esi, ecx
jne 0x10027356
jmp 0x10026a5a
xor eax, eax
mov ecx, esi
mov edx, 0xb8
push eax
push eax
push eax
call fcn.10021190
add esp, 0xc
jmp 0x10026f01
mov ecx, esi
mov edx, 0x93
push 2
push dword [esp + 0x24]
push dword [esp + 0x38]
call fcn.10021190
add esp, 0xc
jmp 0x10026f4a
inc dword [ecx + 0x13c]
jmp 0x100265a2
mov cl, byte [eax + 1]
mov edi, 0x101d21aa
test cl, cl
je 0x1002769a
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x51
jne 0x1002605f
mov dword [esp + 0xc], edx
mov cl, byte [eax + 2]
mov edi, 0x101d21ab
test cl, cl
je 0x10027ab6
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x4c
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jne 0x1002605f
mov cl, byte [eax + 3]
mov edi, 0x101d21ac
test cl, cl
je 0x10027ab6
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x49
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jne 0x1002605f
mov cl, byte [eax + 4]
mov edi, 0x101d21ad
test cl, cl
je 0x10027ab6
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x54
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jne 0x1002605f
mov cl, byte [eax + 5]
mov edi, 0x101d21ae
test cl, cl
je 0x10027ab6
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x45
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jne 0x1002605f
mov cl, byte [eax + 6]
mov edi, 0x101d21af
cmp cl, 0x5f
jne 0x1002605f
cmp dword [ebp + 0xc], 0
je 0x10026077
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0xb1], 0
jne 0x10026077
push eax
push str.table__s_may_not_be_indexed
push dword [esp + 0x18]
call fcn.10046a40
add esp, 0xc
jmp 0x100276b9
mov edx, 0x64
push eax
push 1
mov edi, dword [esp + 0x38]
push edi
call fcn.10021190
add esp, 0xc
jmp 0x1002704b
xor eax, eax
mov ecx, esi
mov edx, 0xa6
push eax
push 1
push eax
call fcn.10021190
add esp, 0xc
jmp 0x1002709c
mov esi, edi
add esi, 8
jmp 0x10026b15
mov dword [esp + 0xc], ecx
mov eax, dword [eax + 8]
test eax, eax
je 0x10027797
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
mov ecx, dword [esp + 0xc]
add ecx, eax
inc ecx
jmp 0x1002615e
mov eax, edx
mov byte [eax], 0x3b
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
jmp 0x100266e9
mov eax, dword [edx + 0xc]
cmp byte [eax], 0x75
jne 0x100266e9
jmp 0x10027534
mov ecx, dword [ecx + 0xc]
jmp 0x100267a5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0xf4]
je 0x1002764e
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x28], 0
jne 0x10027589
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x28], eax
mov dword [esp + 0x38], 0
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 4]
mov edx, dword [esp + 0x20]
mov word [eax + edx*2], 0xfffe
mov eax, 0xfffff7f7
and eax, dword [ecx + 0x38]
or eax, 0x800
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
cmp byte [ecx], 0x71
jne 0x10026827
mov esi, dword [ecx + 8]
test esi, esi
je 0x1002779e
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
and ebx, 0x3fffffff
lea eax, [ebx + 1]
push eax
push esi
mov edi, dword [esp + 0x2c]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
lea esi, [edi + ebx]
inc esi
jmp 0x1002682d
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x20]
jmp 0x100267ec
mov ecx, dword [esp + 0xc]
or byte [ecx + 0x39], 0xc
jmp 0x100267ec
mov eax, dword [edx + eax]
dec eax
cmp byte [eax + 1], 0
lea eax, [eax + 1]
jne 0x1002760e
test cl, 4
jne 0x10027620
mov ecx, eax
jmp 0x1002762b
lea ecx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, ecx
jne 0x10027620
inc ecx
mov esi, dword [esp + 0x24]
mov edi, ecx
jmp 0x1002682d
mov cl, byte [ecx + 0x101b1828]
cmp cl, byte [edx + 0x101b1828]
je 0x10026ddf
jmp 0x10026d9a
push str.expressions_prohibited_in_PRIMARY_KEY_and_UNIQUE_constraints
push dword [esp + 0x14]
call fcn.10046a40
add esp, 8
mov dword [esp + 0x1c], 0
jmp 0x10027188
mov al, byte [ecx - 4]
cmp al, 3
mov ecx, str.FIRST
mov edx, str.LAST
cmove edx, ecx
test al, al
cmove edx, ecx
push edx
push str.unsupported_use_of_NULLS__s
push dword [esp + 0x18]
call fcn.10046a40
add esp, 0xc
jmp 0x10026b20
xor ecx, ecx
jmp 0x1002605f
push str.virtual_tables_may_not_be_indexed
jmp 0x100276ad
push str.views_may_not_be_indexed
push dword [esp + 0x14]
call fcn.10046a40
add esp, 8
mov dword [esp + 0x28], 0
jmp 0x10027199
mov ecx, dword [esp + 0x18]
call fcn.1014f3a0
jmp 0x10026b2c
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
mov dword [esp + 0xc], edx
mov dl, byte [eax + 0xb1]
or bl, dl
jne 0x100277fe
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x100]
mov esi, dword [eax + 0x168]
call dword [section..00cfg]
push ebx
push dword [esp + 0x10]
push 0
push edi
push 0x12
push esi
call ecx
add esp, 0x18
cmp eax, 1
jne 0x10027943
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [esp + 0x14]
push edi
call fcn.10046a40
add esp, 8
mov dword [edi + 0xc], esi
jmp 0x10027199
mov edx, ecx
sar edx, 0x1f
call fcn.10142fa0
jmp 0x100265af
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x28], eax
xor eax, eax
jmp 0x100266a4
mov word [ecx + 0x26], 0x63
mov ax, 0x63
jmp 0x1002695a
mov word [esi + edi*2 + 2], 0x17
inc edi
movzx eax, word [ebx + 0x32]
cmp edi, eax
jae 0x10026989
jmp 0x1002776b
mov ecx, dword [esp + 0x18]
call fcn.10157fd0
mov dword [esp + 0x1c], 0
jmp 0x100272cb
xor eax, eax
jmp 0x10027526
xor ebx, ebx
jmp 0x100275d5
push 0x101ca5c4
push str.too_many_columns_in__s
push esi
call fcn.10046a40
add esp, 0xc
jmp 0x10026134
mov dword [esp + 0xc], 0
mov dword [esp + 0x24], 0
jmp 0x10026600
mov dword [esp + 0x30], 0xffff8000
jmp 0x10026025
mov eax, dword [esp + 0x28]
inc byte [eax + 7]
mov eax, dword [esp + 0x10]
mov bl, byte [eax + 0xd8]
cmp bl, 1
jbe 0x100260ef
jmp 0x10026115
xor ebx, ebx
cmp dword [esp + 0x30], 1
sete bl
lea edi, [ebx + ebx]
inc edi
test dl, dl
jne 0x10026115
mov edx, dword [esp + 0x10]
cmp byte [edx + 0xd8], 0
jne 0x10026115
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
mov edx, dword [esp + 0x10]
mov ebx, dword [edx + 0x100]
mov eax, dword [eax + 0x168]
mov dword [esp + 0x20], eax
call dword [section..00cfg]
push ebx
push dword [esp + 0x10]
push esi
push dword [esp + 0x34]
push edi
push dword [esp + 0x34]
call ecx
add esp, 0x18
cmp eax, 1
je 0x1002771b
test eax, 0xfffffffd
jne 0x1002794a
test eax, eax
je 0x10026115
jmp 0x10027199
mov dword [esp + 0x28], 0
jmp 0x10026b20
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0x3c]
je 0x1002632b
mov edi, dword [esp + 0x14]
push dword [edi]
push str.cannot_create_a_TEMP_index_on_non_TEMP_table___s_
push dword [esp + 0x18]
call fcn.10046a40
add esp, 0xc
mov dword [esp + 0x28], 0
jmp 0x10026af2
push str.invalid_rootpage
mov edi, dword [esp + 0x14]
push edi
call fcn.10046a40
add esp, 8
mov esi, 0xb
push 0x101db30a
push 0x1deb2
push str.database_corruption
push str._s_at_line__d_of___.10s_
push esi
call sym.nss3.dll_sqlite3_log
add esp, 0x14
mov dword [edi + 0xc], esi
jmp 0x1002765f
mov dx, 0x1e
xor eax, eax
test ecx, ecx
jne 0x10026bf7
xor edx, edx
jmp 0x10026c05
xor edi, edi
mov dx, 0x28
mov esi, 0xfff
mov ebx, ecx
xor eax, eax
mov ecx, edi
shld ecx, ebx, 0x1c
add edx, 0x28
shr eax, 4
cmp esi, ebx
mov ebx, 0
sbb ebx, edi
mov ebx, ecx
mov edi, eax
jae 0x10026bca
jmp 0x10027922
test eax, 0xfffffffd
je 0x100279af
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x10027725
mov eax, dword [eax + 0x14]
jmp 0x10026344
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push dword [esp + 0x18]
call fcn.10046a40
add esp, 0xc
jmp 0x10026d4b
xor eax, eax
jmp 0x10026502
mov dword [esp + 0x38], 0
jmp 0x10027199
mov al, byte [eax + 0x101b1828]
cmp al, byte [ebx + 0x101b1828]
je 0x10027273
mov edx, dword [esp + 0x1c]
jmp 0x10027212
mov ecx, 0x101f4350
jmp 0x100270bb
test eax, eax
jne 0x10027199
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x164]
test ecx, ecx
je 0x10026115
xor edx, edx
cmp dword [esp + 0x30], 1
sete dl
lea edi, [edx + edx]
inc edi
mov dl, byte [eax + 0xb1]
jmp 0x1002780c
lea edx, [eax + 8]
mov ecx, dword [esp + 0x10]
call fcn.10171be0
xor ecx, ecx
test eax, eax
cmovne esi, ecx
jmp 0x1002710f
mov ecx, dword [esp + 0xc]
mov dword [eax + 0xf8], ecx
mov dword [esp + 0x1c], 0
jmp 0x10027199
mov esi, dword [esi + 0x14]
test esi, esi
je 0x10026a75
jmp 0x10027202
mov eax, dword [esi + 0x38]
and eax, 0xfffffffc
add eax, dword [esp + 0x44]
mov dword [esi + 0x38], eax
jmp 0x100272b2
mov eax, dword [ecx + 0xf8]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x14], eax
mov dword [ecx + 0xf8], edx
jmp 0x10027a06
push 0
push str.conflicting_ON_CONFLICT_clauses_specified
push dword [esp + 0x18]
call fcn.10046a40
add esp, 0xc
mov al, byte [esi + 0x36]
jmp 0x1002729a
inc edi
cmp dword [esp + 0x2c], edi
jne 0x1002736f
and eax, 0xffffffdf
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x38], eax
jmp 0x10026a5a
push dword [esp + 0x28]
push str.index__s_already_exists
jmp 0x10027161
mov ecx, eax
call fcn.10042980
jmp 0x1002640a
cmp byte [ecx + 0x36], 5
je 0x10026b20
mov dword [esi], ecx
lea esi, [ecx + 0x14]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov dword [ecx + 0x14], eax
jmp 0x10026b15
xor ecx, ecx
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jmp 0x1002605f