Function at 0x1001f130
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 [0x101ef014]
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 0x1001fd20
mov esi, edx
cmp byte [ebp + 0x28], 2
je 0x1001f198
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 1
je 0x1001fd20
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x1001f648
cmp dword [ebp + 0x10], 0
je 0x1001f1cd
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jle 0x1001f1cd
mov ecx, dword [ebp + 0x10]
add ecx, 0x14
test byte [ecx], 0x20
jne 0x1002086c
add ecx, 0x14
dec eax
jne 0x1001f1be
cmp dword [ebp + 0xc], 0
jne 0x1001f41c
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xf4]
test eax, eax
je 0x1001fd20
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x3c]
xor edx, edx
test eax, eax
je 0x100209d2
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 0x1001f207
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 0x1001f267
mov cl, byte [eax]
mov edi, str.sqlite_
test cl, cl
je 0x1002089a
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x53
je 0x100205ce
movzx ecx, cl
mov bl, byte [ecx + 0x101af7e8]
movzx ecx, byte [edi]
cmp bl, byte [ecx + 0x101af7e8]
je 0x10020699
mov ecx, dword [esp + 0x14]
movzx ecx, byte [ecx + 0x2b]
cmp ecx, 1
je 0x100208a1
cmp ecx, 2
je 0x100208a8
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 0x1001f55a
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
xor ecx, ecx
inc ecx
test edx, edx
jne 0x100204cb
push ecx
push eax
push str.sqlite_autoindex__s__d
push dword [esp + 0x24]
call fcn.10020cd0
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
je 0x100208b9
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 0
jne 0x100209df
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 0x100208d4
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x1001f6e9
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
mov ecx, dword [ecx]
cmp ecx, dword [eax + 0x80]
jg 0x100209a5
cmp dword [esi + 0x24], 0
jne 0x100203a8
mov eax, dword [esp + 0x38]
mov ebx, dword [eax]
test ebx, ebx
jle 0x1001f60e
lea edi, [eax + 8]
mov dword [esp + 0xc], 0
mov esi, ebx
mov eax, dword [edi]
cmp byte [eax], 0x71
je 0x10020709
add edi, 0x14
dec esi
jne 0x1001f349
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 0x1001f61b
xor esi, esi
inc esi
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]
mov edx, dword [esp + 0xc]
add ecx, edx
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 0x1002093b
mov eax, ecx
sar eax, 0x1f
movzx edi, word [edx + 0x12c]
xor edx, edx
cmp edi, ecx
sbb edx, eax
jb 0x1001f628
cmp ecx, 0x80
ja 0x1001f77c
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x150]
test edx, edx
je 0x1001f76e
mov esi, edx
mov eax, dword [edx]
mov dword [ecx + 0x150], eax
inc dword [ecx + 0x138]
jmp 0x1001f7b9
mov edi, dword [ebp + 8]
lea eax, [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov edx, esi
push eax
push edi
call fcn.10027340
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
js 0x1001fd20
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x100202c3
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], 0x101c83db
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], 0x10075730
mov dword [ecx + 8], 0x10075780
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.1002f720
mov eax, dword [ebx + 8]
test eax, eax
jne 0x10020038
lea esi, [ebx + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
push dword [esi]
push dword [ebx + 0x10]
call fcn.10038860
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
mov edx, dword [esp + 0xc]
je 0x10020a7a
cmp dword [esp + 0x30], 1
je 0x10020a87
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x14]
test byte [eax + 0x1c], 0x80
je 0x1001f21d
mov eax, dword [eax + 8]
test eax, eax
je 0x1001f21d
mov ecx, dword [eax + 0x38]
and ecx, 3
cmp ecx, 2
jne 0x10020b57
mov dword [esp + 0x34], eax
jmp 0x1001f21d
mov ecx, dword [esp + 0x18]
call fcn.10017820
test eax, eax
je 0x100208b9
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 0x101c83db
call fcn.1014cc80
add esp, 8
test eax, eax
jne 0x100203a8
mov bl, byte [esi + 0xd8]
cmp bl, 1
ja 0x1001f305
mov esi, dword [esp + 0x18]
cmp byte [esi + 0xb1], 0
mov edi, dword [edi]
je 0x10020341
mov ecx, esi
mov edx, dword [esp + 0x28]
push edi
call fcn.10019c80
add esp, 4
test eax, eax
je 0x1001f2df
cmp dword [ebp + 0x24], 0
je 0x10020c7f
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 0x1001f600
or edx, esi
mov dword [eax + 0x58], edx
cmp ecx, 1
je 0x10020c8d
mov ecx, dword [esp + 0x10]
call fcn.10021e60
jmp 0x100203a8
mov dword [esp + 0xc], 0
jmp 0x1001f35a
mov eax, dword [esp + 0x34]
movzx esi, word [eax + 0x32]
jmp 0x1001f37d
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x128], 0
je 0x100205c3
cmp byte [ecx + 0x57], 0
je 0x1001f7a2
jmp 0x100209bd
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 0x100203b1
mov edi, dword [edi + 0x14]
cmp edi, 2
jl 0x1001f6c5
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 0x1001f69f
dec ebx
add edi, 0xfffffff0
cmp ebx, 2
ja 0x1001f684
jmp 0x1001f6c5
mov dword [esp + 0x14], edx
lea edx, [ebx - 2]
mov ecx, dword [esp + 0x18]
push 0
push dword [esp + 0x10]
call fcn.10039200
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
je 0x1001f694
jmp 0x100203cf
test dl, 1
mov eax, dword [esp + 0x18]
jne 0x1001f6d2
and byte [eax + 0x18], 0xfe
cmp byte [eax + 0x5f], 0
je 0x1001f1a9
mov eax, dword [esp + 0x18]
or byte [eax + 0x18], 0x10
jmp 0x1001f1a9
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 0x10020b76
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.100383a0
add esp, 8
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
mov edx, eax
call fcn.100167f0
test eax, eax
je 0x10020b7d
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 0x1001f32e
mov ecx, dword [ecx + 0x14c]
test ecx, ecx
jne 0x100203de
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x148]
test edx, edx
jne 0x1002036f
mov edx, dword [ecx + 0x144]
test edx, edx
jne 0x1002051e
inc dword [ecx + 0x140]
mov edx, dword [esp + 0xc]
push eax
call fcn.10137840
add esp, 4
mov esi, eax
test eax, eax
je 0x100209bd
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 0x10020397
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 0x1001fe49
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 0x1002094a
mov ecx, dword [esp + 0xc]
cmp word [ecx + 0x32], 0
je 0x1001fb00
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 0x10020732
cmp eax, 0x71
je 0x10020742
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.10030db0
cmp dword [ebx + 0x24], edi
jne 0x1002098a
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
je 0x1001f9b5
test byte [ecx + 5], 0x20
jne 0x10020750
mov eax, ecx
cmp byte [eax], 0xa7
jne 0x10020758
movsx eax, word [eax + 0x20]
test eax, eax
js 0x100207f0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, eax
shl ecx, 4
test byte [edx + ecx + 4], 0xf
je 0x1001fa8e
test byte [edx + ecx + 0xe], 0x20
jne 0x100207fd
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 0x100207b9
test eax, eax
js 0x1001fa27
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
shl eax, 4
movzx ecx, word [edx + eax + 0xe]
bt ecx, 9
jb 0x1002080a
mov esi, dword [esp + 0x24]
xor edi, edi
test edi, edi
mov eax, 0x101afa5f
cmove edi, eax
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x1001faa2
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 0x1001fa62
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 0x1001f8ce
jmp 0x1001fb0c
mov edx, dword [esp + 0xc]
and byte [edx + 0x38], 0xf7
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
jmp 0x1001f9e1
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.10064470
add esp, 8
test ebx, ebx
jne 0x1001faef
test eax, eax
mov edi, dword [esp + 0x24]
je 0x1001fadd
cmp dword [eax + 0xc], 0
jne 0x1001fa44
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
push edi
push eax
call fcn.1005c450
add esp, 8
test eax, eax
mov edi, dword [esp + 0x24]
jne 0x1001fa44
jmp 0x1002085f
mov dword [esp + 0x20], 0
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x1001ff50
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], 0x101afa5f
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 0x1002095c
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 0x101b0628
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [ebx + 0x32]
cmp di, ax
jb 0x1002096b
cmp byte [ebx + 0x36], 0
je 0x1001fb98
movzx eax, ax
mov word [esi + eax*2], 0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xf4], 0
je 0x1001fd6e
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 0x10020029
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 0x1001fc2a
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 4]
mov ecx, ebx
shl ecx, 4
test byte [edx + ecx + 0xe], 0x20
jne 0x1001fc2a
cmp bx, 0x3e
ja 0x1001fc2a
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 0x1001fbe4
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 0x1001fc5a
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x22]
cmp dword [esp + 0x2c], eax
jge 0x1002052d
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0xf4]
jne 0x1001fc75
mov esi, dword [ecx + 8]
test esi, esi
jne 0x100203f1
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 1
ja 0x1001fcc2
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x10020054
cmp dword [ebp + 0xc], 0
jne 0x1001fe16
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov ecx, dword [eax + 0x18]
add ecx, 0x18
push eax
call fcn.10151b60
add esp, 4
test eax, eax
jne 0x10020981
mov eax, dword [esp + 0x18]
or byte [eax + 0x18], 1
cmp dword [ebp + 0xc], 0
je 0x1001fcd9
mov eax, dword [esp + 0x18]
cmp byte [eax + 0xb1], 0
je 0x1002037e
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 0x1001fd20
cmp byte [eax + 0x36], 5
je 0x100206ff
mov esi, eax
mov eax, dword [eax + 0x14]
test eax, eax
je 0x1001fd20
cmp byte [eax + 0x36], 5
jne 0x1001fd03
add esi, 0x14
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x10020c99
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x100208c6
mov edx, dword [esp + 0x38]
test edx, edx
mov esi, dword [esp + 0x18]
je 0x1001fd3f
mov ecx, esi
call fcn.10017250
mov ecx, esi
mov edx, dword [ebp + 0xc]
call fcn.100172a0
mov edx, dword [esp + 0x28]
test edx, edx
je 0x1001fd58
mov ecx, esi
call fcn.1014d210
mov ecx, dword [esp + 0x118]
xor ecx, ebp
call fcn.10156ff0
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 0x10020b0c
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 0x1001fda3
shl ebx, 4
movzx esi, byte [eax + ebx + 9]
add ecx, esi
inc edi
cmp dword [esp + 0x34], edi
jne 0x1001fd8f
shl ecx, 2
cmp ecx, 8
jb 0x10020afe
cmp ecx, 0x100
jae 0x10020b13
xor eax, eax
mov dx, 0x28
cmp ecx, 0x10
mov esi, eax
sbb esi, 0
jb 0x1001fdf5
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 0x1001fddb
mov eax, ecx
and eax, 7
add dx, word [eax + eax + 0x101b5eae]
add edx, 0xfffffff6
mov eax, dword [esp + 0xc]
mov word [eax + 0x30], dx
mov eax, dword [esp + 0x34]
jmp 0x1001fbb1
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 0x1001fc9d
cmp dword [ecx + 0x2c], eax
jne 0x1001fe44
cmp ecx, dword [esp + 0xc]
jne 0x10020ac2
mov ecx, dword [ecx + 0x14]
jmp 0x1001fe2d
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.1014d5f0
mov dword [esp + 0xac], 0x10030590
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 0x10020b5f
lea ebx, [esp + 0xa4]
mov ecx, ebx
mov edx, edi
call fcn.1014d480
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 0x1001f882
cmp word [edi + 0x32], 0
mov ebx, dword [esp + 0xc]
je 0x1001fb33
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 0x1001fff5
xor edi, edi
mov ebx, ecx
movzx edx, word [esp + 0x2c]
cmp word [ecx + edi*2], dx
je 0x1001ff96
inc edi
cmp edi, dword [esp + 0x3c]
mov ecx, ebx
jne 0x1001ff7e
jmp 0x1001fff5
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 0x10020837
test ecx, ecx
je 0x1001ffd3
inc esi
jmp 0x1001ffb4
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 0x1001ff61
jmp 0x1001fb33
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 0x1001ffdf
mov dword [esp + 0x20], 0
xor edi, edi
jmp 0x1001fc30
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 0x1001f4f3
jmp 0x10020044
cmp dword [ebp + 0xc], 0
jne 0x1002006c
mov eax, 0x80
mov ecx, dword [esp + 0x14]
and eax, dword [ecx + 0x1c]
jne 0x1001fcd9
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 0x100200a5
cmp dword [edi + 0x78], 0
jne 0x10020094
mov eax, dword [edi]
test byte [eax + 0x50], 8
jne 0x10020094
mov byte [edi + 0x17], 1
mov ecx, edi
call fcn.1002f500
mov esi, eax
test eax, eax
je 0x1002085f
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 0x100200ce
or eax, edi
mov dword [ebx + 0x58], eax
cmp dword [esp + 0x30], 1
je 0x10020512
or dword [ebx + 0x54], edi
or byte [ebx + 0x14], 1
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x1002058c
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 0x100205a5
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 0x100201a7
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, 0x101e0242
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.10020cd0
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.10020d70
add esp, 0x1c
test ebx, ebx
je 0x100201dd
mov ecx, edi
mov edx, ebx
call fcn.1014d210
cmp dword [ebp + 0xc], 0
je 0x1002029c
mov edi, dword [esp + 0x10]
mov ecx, edi
mov edx, dword [esp + 0xc]
push dword [esp + 0x20]
call fcn.10057a60
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 0x100206cb
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.10020cd0
add esp, 0xc
mov ecx, esi
mov edx, edi
push 0
push eax
call fcn.1001b2a0
add esp, 8
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jle 0x100206e5
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 [0x101af1a0]
movups xmmword [ecx + eax*4 + 4], xmm0
mov ecx, dword [esi]
mov eax, dword [esi + 0x6c]
cmp byte [ecx + 0x57], 0
jne 0x10020bda
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 0x1001fcc2
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 8]
test eax, eax
jne 0x100204f6
lea esi, [ebx + 0xc]
mov ecx, dword [esp + 0x10]
xor edx, edx
push dword [esi]
push dword [ebx + 0x10]
call fcn.10038860
add esp, 8
mov esi, eax
mov edx, dword [ebx + 0x18]
test edx, edx
jne 0x100204d4
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x18], esi
test esi, esi
je 0x1001f450
inc dword [esi + 0x18]
test byte [eax + 0x30], 2
jne 0x10020be4
cmp dword [edi + 4], 0
jne 0x1001f450
test esi, esi
je 0x1001f450
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 0x1001f450
mov ecx, esi
mov edx, dword [esp + 0x28]
push edi
call fcn.1014f930
add esp, 4
test eax, eax
je 0x1001f5b4
push dword [esp + 0x28]
push str.there_is_already_a_table_named__s
push dword [esp + 0x18]
call fcn.100463a0
add esp, 0xc
jmp 0x100203a8
mov esi, edx
mov eax, dword [edx]
mov dword [ecx + 0x148], eax
jmp 0x1001f411
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x10]
cmp byte [eax + 0xd8], 2
jae 0x10020bfc
mov edx, dword [esp + 0xc]
test edx, edx
je 0x100203a8
mov ecx, dword [esp + 0x18]
call fcn.1001e2b0
mov edi, dword [esp + 0x14]
jmp 0x1001fcf2
mov ecx, edi
mov ebx, edx
xor edx, edx
push 0
push dword [esp + 0x10]
call fcn.10039200
mov edx, ebx
add esp, 8
test eax, eax
je 0x1001f673
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xc], eax
inc dword [ecx + 0x24]
jmp 0x1001fd20
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x14c], eax
jmp 0x1001f411
mov eax, dword [esp + 0xc]
movzx edx, word [eax + 0x32]
cmp word [esi + 0x32], dx
jne 0x10020c13
xor ecx, ecx
test edx, edx
jne 0x10020412
cmp ecx, edx
je 0x10020476
jmp 0x10020c13
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 0x10020409
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 0x10020b8a
test eax, eax
je 0x1002046d
inc edi
jmp 0x10020452
inc ecx
mov edx, dword [esp + 0x1c]
cmp ecx, edx
jne 0x1002042a
mov al, byte [esi + 0x36]
mov ecx, dword [esp + 0xc]
mov cl, byte [ecx + 0x36]
cmp al, cl
je 0x1002049f
cmp al, 0xb
je 0x10020491
cmp cl, 0xb
jne 0x10020c4a
cmp al, 0xb
jne 0x1002049f
mov eax, dword [esp + 0xc]
mov al, byte [eax + 0x36]
mov byte [esi + 0x36], al
cmp byte [ebp + 0x28], 2
je 0x10020c23
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0xd8], 2
jae 0x10020c35
mov edx, dword [esp + 0xc]
jmp 0x1002039f
inc ecx
mov edx, dword [edx + 0x14]
jmp 0x1001f2a5
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp dword [ecx + 0x208], 0
jne 0x100204ec
dec dword [edx + 0x18]
jne 0x100202f4
call fcn.1001dfd0
jmp 0x100202f4
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 0x100202d4
jmp 0x10020502
mov ecx, ebx
call fcn.10042310
jmp 0x100200ce
mov esi, edx
mov eax, dword [edx]
mov dword [ecx + 0x144], eax
jmp 0x1001f411
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 0x1001fc5a
mov edx, dword [esp + 0x14]
movsx edx, word [edx + 0x20]
xor esi, esi
cmp esi, edx
je 0x10020582
cmp word [esp + 0x34], 0
je 0x10020c70
mov edi, dword [esp + 0xc]
mov ebx, dword [edi + 4]
xor edi, edi
cmp word [ebx + edi*2], si
jne 0x10020c65
test di, di
js 0x10020c70
inc esi
cmp esi, ecx
jne 0x10020556
jmp 0x1001fc5a
xor eax, eax
mov ecx, esi
mov edx, 0xb8
push eax
push eax
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x10020101
mov ecx, esi
mov edx, 0x93
push 2
push dword [esp + 0x24]
push dword [esp + 0x38]
call fcn.10016c40
add esp, 0xc
jmp 0x1002014a
inc dword [ecx + 0x13c]
jmp 0x1001f7a2
mov cl, byte [eax + 1]
mov edi, 0x101cffe8
test cl, cl
je 0x1002089a
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x51
jne 0x1001f24f
mov dword [esp + 0xc], edx
mov cl, byte [eax + 2]
mov edi, 0x101cffe9
test cl, cl
je 0x10020cb6
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x4c
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jne 0x1001f24f
mov cl, byte [eax + 3]
mov edi, 0x101cffea
test cl, cl
je 0x10020cb6
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x49
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jne 0x1001f24f
mov cl, byte [eax + 4]
mov edi, 0x101cffeb
test cl, cl
je 0x10020cb6
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x54
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jne 0x1001f24f
mov cl, byte [eax + 5]
mov edi, 0x101cffec
test cl, cl
je 0x10020cb6
mov ebx, ecx
and bl, 0xdf
cmp bl, 0x45
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jne 0x1001f24f
mov cl, byte [eax + 6]
mov edi, 0x101cffed
cmp cl, 0x5f
jne 0x1001f24f
cmp dword [ebp + 0xc], 0
je 0x1001f267
mov ecx, dword [esp + 0x18]
cmp byte [ecx + 0xb1], 0
jne 0x1001f267
push eax
push str.table__s_may_not_be_indexed
push dword [esp + 0x18]
call fcn.100463a0
add esp, 0xc
jmp 0x100208b9
mov edx, 0x64
push eax
push 1
mov edi, dword [esp + 0x38]
push edi
call fcn.10016c40
add esp, 0xc
jmp 0x1002024b
xor eax, eax
mov ecx, esi
mov edx, 0xa6
push eax
push 1
push eax
call fcn.10016c40
add esp, 0xc
jmp 0x1002029c
mov esi, edi
add esi, 8
jmp 0x1001fd15
mov eax, dword [eax + 8]
test eax, eax
je 0x10020997
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
mov dword [esp + 0xc], ecx
jmp 0x1001f354
mov eax, edx
mov byte [eax], 0x3b
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
jmp 0x1001f8e9
mov eax, dword [edx + 0xc]
cmp byte [eax], 0x75
jne 0x1001f8e9
jmp 0x10020734
mov ecx, dword [ecx + 0xc]
jmp 0x1001f9a5
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0xf4]
je 0x1002084e
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x28], 0
jne 0x10020789
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 0x1001fa27
mov esi, dword [ecx + 8]
test esi, esi
je 0x1002099e
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 0x1001fa2d
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x20]
jmp 0x1001f9ec
mov ecx, dword [esp + 0xc]
or byte [ecx + 0x39], 0xc
jmp 0x1001f9ec
mov eax, dword [edx + eax]
dec eax
cmp byte [eax + 1], 0
lea eax, [eax + 1]
jne 0x1002080e
test cl, 4
jne 0x10020820
mov ecx, eax
jmp 0x1002082b
lea ecx, [eax + 1]
cmp byte [eax + 1], 0
mov eax, ecx
jne 0x10020820
inc ecx
mov esi, dword [esp + 0x24]
mov edi, ecx
jmp 0x1001fa2d
mov cl, byte [ecx + 0x101af7e8]
cmp cl, byte [edx + 0x101af7e8]
je 0x1001ffd0
jmp 0x1001ff8b
push str.expressions_prohibited_in_PRIMARY_KEY_and_UNIQUE_constraints
push dword [esp + 0x14]
call fcn.100463a0
add esp, 8
mov dword [esp + 0x1c], 0
jmp 0x10020397
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.100463a0
add esp, 0xc
jmp 0x1001fd20
xor ecx, ecx
jmp 0x1001f24f
push str.virtual_tables_may_not_be_indexed
jmp 0x100208ad
push str.views_may_not_be_indexed
push dword [esp + 0x14]
call fcn.100463a0
add esp, 8
mov dword [esp + 0x28], 0
jmp 0x100203a8
mov ecx, dword [esp + 0x18]
call fcn.1014c9e0
jmp 0x1001fd2c
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
mov dword [esp + 0xc], edx
mov dl, byte [eax + 0xb1]
or bl, dl
jne 0x100209fe
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 0x10020b43
mov esi, 0x17
mov eax, str.not_authorized
push eax
mov edi, dword [esp + 0x14]
push edi
call fcn.100463a0
add esp, 8
mov dword [edi + 0xc], esi
jmp 0x100203a8
mov edx, ecx
sar edx, 0x1f
call fcn.10143580
jmp 0x1001f7af
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x28], eax
xor eax, eax
jmp 0x1001f8a4
mov word [ecx + 0x26], 0x63
mov ax, 0x63
jmp 0x1001fb5a
mov word [esi + edi*2 + 2], 0x17
inc edi
movzx eax, word [ebx + 0x32]
cmp edi, eax
jae 0x1001fb89
jmp 0x1002096b
mov ecx, dword [esp + 0x18]
call fcn.10157ae0
mov dword [esp + 0x1c], 0
jmp 0x100204c2
xor eax, eax
jmp 0x10020722
xor ebx, ebx
jmp 0x100207d5
push 0x101c83db
push str.too_many_columns_in__s
push esi
call fcn.100463a0
add esp, 0xc
jmp 0x1001f324
mov dword [esp + 0xc], 0
mov dword [esp + 0x24], 0
jmp 0x1001f800
mov dword [esp + 0x30], 0xffff8000
jmp 0x1001f215
mov eax, dword [esp + 0x28]
inc byte [eax + 7]
mov eax, dword [esp + 0x10]
mov bl, byte [eax + 0xd8]
cmp bl, 1
jbe 0x1001f2df
jmp 0x1001f305
xor ebx, ebx
cmp dword [esp + 0x30], 1
sete bl
lea edi, [ebx + ebx]
inc edi
test dl, dl
jne 0x1001f305
mov edx, dword [esp + 0x10]
cmp byte [edx + 0xd8], 0
jne 0x1001f305
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 0x1002091b
test eax, 0xfffffffd
jne 0x10020b4a
test eax, eax
je 0x1001f305
jmp 0x100203a8
mov dword [esp + 0x28], 0
jmp 0x1001fd20
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 0x1001f521
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.100463a0
add esp, 0xc
mov dword [esp + 0x28], 0
jmp 0x1001fcf2
push str.invalid_rootpage
mov edi, dword [esp + 0x14]
push edi
call fcn.100463a0
add esp, 8
mov esi, 0xb
push 0x101cff9b
push 0x1dc03
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 0x1002085f
mov dx, 0x1e
xor eax, eax
test ecx, ecx
jne 0x1001fdf7
xor edx, edx
jmp 0x1001fe05
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 0x1001fdca
jmp 0x10020b22
test eax, 0xfffffffd
je 0x10020ba5
xor esi, esi
inc esi
mov eax, str.authorizer_malfunction
jmp 0x10020925
mov eax, dword [eax + 0x14]
jmp 0x1001f53a
push eax
push str.Expression_tree_is_too_large__maximum_depth__d_
push dword [esp + 0x18]
call fcn.100463a0
add esp, 0xc
jmp 0x1001ff3c
xor eax, eax
jmp 0x1001f71e
mov dword [esp + 0x38], 0
jmp 0x100203a8
mov al, byte [eax + 0x101af7e8]
cmp al, byte [ebx + 0x101af7e8]
je 0x1002046a
mov edx, dword [esp + 0x1c]
jmp 0x10020409
test eax, eax
jne 0x100203a8
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [eax + 0x164]
test ecx, ecx
je 0x1001f305
xor edx, edx
cmp dword [esp + 0x30], 1
sete dl
lea edi, [edx + edx]
inc edi
mov dl, byte [eax + 0xb1]
jmp 0x10020a0c
mov ecx, 0x101f2320
jmp 0x100202bb
lea edx, [eax + 8]
mov ecx, dword [esp + 0x10]
call fcn.10171180
xor ecx, ecx
test eax, eax
cmovne esi, ecx
jmp 0x1002030f
mov ecx, dword [esp + 0xc]
mov dword [eax + 0xf8], ecx
mov dword [esp + 0x1c], 0
jmp 0x100203a8
mov esi, dword [esi + 0x14]
test esi, esi
je 0x1001fc75
jmp 0x100203f9
mov eax, dword [esi + 0x38]
and eax, 0xfffffffc
add eax, dword [esp + 0x44]
mov dword [esi + 0x38], eax
jmp 0x100204a9
mov eax, dword [ecx + 0xf8]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x14], eax
mov dword [ecx + 0xf8], edx
jmp 0x10020c06
push 0
push str.conflicting_ON_CONFLICT_clauses_specified
push dword [esp + 0x18]
call fcn.100463a0
add esp, 0xc
mov al, byte [esi + 0x36]
jmp 0x10020491
inc edi
cmp dword [esp + 0x2c], edi
jne 0x1002056f
and eax, 0xffffffdf
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x38], eax
jmp 0x1001fc5a
push dword [esp + 0x28]
push str.index__s_already_exists
jmp 0x10020361
mov ecx, eax
call fcn.10042310
jmp 0x1001f600
cmp byte [ecx + 0x36], 5
je 0x1001fd20
mov dword [esi], ecx
lea esi, [ecx + 0x14]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov dword [ecx + 0x14], eax
jmp 0x1001fd15
xor ecx, ecx
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
jmp 0x1001f24f