Function at 0x1006c740
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov eax, dword [0x1011d004]
xor eax, esp
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x40], esi
push edi
mov edi, edx
test esi, esi
jne 0x1006c7a8
cmp dword [ecx + 0x74], esi
jne 0x1006c791
test byte [eax + 0x4c], 8
jne 0x1006c791
mov byte [ecx + 0x17], 1
call fcn.10028fb0
mov esi, eax
mov dword [esp + 0x44], eax
test esi, esi
je 0x1006cae0
mov ecx, dword [esp + 0x18]
or dword [esi + 0xa0], 0x20
lea eax, [esp + 0x1c]
push eax
push ebx
mov edx, edi
mov dword [ecx + 0x2c], 2
call fcn.10053b00
mov ecx, eax
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
js 0x1006cae0
mov edx, dword [esp + 0x10]
shl eax, 4
mov dword [esp + 0x38], eax
mov edi, dword [edx + 0x10]
add edi, eax
mov dword [esp + 0x64], edi
cmp ecx, 1
jne 0x1006c802
mov ecx, dword [esp + 0x18]
call fcn.1005a660
test eax, eax
jne 0x1006cae0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1006cae0
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1006c85b
xor eax, eax
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, edx
call fcn.10005060
add esp, 8
mov dword [esp + 0x30], eax
test eax, eax
je 0x1006c861
push dword [esp + 0x14]
push dword [esp + 0x20]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x30]
mov byte [eax + ecx], 0
mov eax, ecx
jmp 0x1006c861
xor eax, eax
mov dword [esp + 0x30], eax
mov ecx, eax
call fcn.10008c40
cmp dword [esp + 0x30], 0
je 0x1006cae0
cmp dword [ebp + 0x10], 0
je 0x1006c890
push dword [esp + 0x20]
push 0x1010bf80
push dword [esp + 0x18]
call fcn.10007ea0
add esp, 0xc
jmp 0x1006c89d
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
call fcn.100539c0
cmp dword [ebx + 4], 0
mov dword [esp + 0x28], eax
jbe 0x1006c8ab
mov ebx, dword [edi]
jmp 0x1006c8ad
xor ebx, ebx
mov ecx, dword [esp + 0x18]
mov edx, 0x13
push ebx
push eax
push dword [esp + 0x38]
mov dword [esp + 0x40], ebx
call fcn.10051b80
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x1006cac6
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c4], 0
mov dword [esp + 0x14], 1
test eax, eax
je 0x1006c923
push eax
call dword [0x1011d148]
mov ecx, dword [esp + 0x14]
add esp, 4
test ebx, ebx
je 0x1006c939
mov edx, ebx
call fcn.10053a20
mov ebx, eax
test ebx, ebx
jns 0x1006c93b
jmp 0x1006c9c0
xor ebx, ebx
mov eax, dword [esp + 0x10]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x1006c9c0
cmp byte [ebx + 9], 0
je 0x1006c962
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x1006c962
mov ecx, ebx
call fcn.1001a2d0
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c4]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x1006c988
mov dword [esp + 0x14], 0xc
jmp 0x1006c99f
lea edx, [esp + 0x84]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x1c4], eax
cmp byte [ebx + 9], 0
je 0x1006c9c0
add dword [ebx + 0xc], 0xffffffff
jne 0x1006c9c0
mov ecx, ebx
call fcn.1001a290
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1006c9d5
push eax
call dword [0x1011d150]
add esp, 4
mov ebx, dword [esp + 0x14]
test ebx, ebx
jne 0x1006cafe
mov ebx, 1
mov ecx, esi
mov edx, ebx
call fcn.1002b8a0
push 0xffffffffffffffff
push dword [esp + 0x88]
xor edx, edx
mov ecx, esi
push 0
call fcn.1002b930
mov edi, dword [esp + 0x90]
add esp, 0xc
test edi, edi
je 0x1006cac2
push edi
mov edx, ebx
mov ecx, esi
call fcn.100294a0
mov ecx, dword [esi + 0x74]
add esp, 4
cmp dword [esi + 0x78], ecx
jg 0x1006ca3d
push 0
push ebx
push ebx
lea edx, [ebx + 0x51]
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006ca68
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x52
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esp + 0x84]
test edi, edi
je 0x1006cac2
cmp dword [0x1011d0f8], 0
je 0x1006caf5
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x1006ca8f
push eax
call dword [0x1011d148]
add esp, 4
push edi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push edi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x1006cac2
push eax
call dword [0x1011d150]
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x30]
call fcn.10004cc0
mov edx, dword [esp + 0x28]
test edx, edx
je 0x1006cae0
mov ecx, dword [esp + 0x10]
call fcn.10004cc0
mov ecx, dword [esp + 0x94]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10105304
mov esp, ebp
pop ebp
ret
push edi
call dword [0x1011d11c]
jmp 0x1006cabf
cmp ebx, 0xc
je 0x1006cbaa
mov eax, dword [esp + 0x84]
test eax, eax
je 0x1006cb9b
push eax
push 0x101084e8
push dword [esp + 0x20]
call fcn.10008be0
mov esi, dword [esp + 0x90]
add esp, 0xc
test esi, esi
je 0x1006cb9b
cmp dword [0x1011d0f8], 0
je 0x1006cb91
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x1006cb4f
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x1006cb9b
push eax
call dword [0x1011d150]
mov eax, dword [esp + 0x1c]
add esp, 4
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x1006cac2
push esi
call dword [0x1011d11c]
add esp, 4
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x1006cac2
mov ecx, dword [esp + 0x30]
call fcn.1006c4e0
mov ebx, eax
test ebx, ebx
je 0x1006cac2
test byte [ebx + 5], 1
je 0x1006cbd4
mov ecx, dword [esp + 0x18]
call fcn.100716c0
test eax, eax
jne 0x1006cac2
mov al, byte [ebx + 5]
test al, 2
jne 0x1006cbf0
test al, 4
je 0x1006cbe7
mov ecx, dword [esp + 0x28]
test ecx, ecx
jne 0x1006cbf4
mov edx, ebx
mov ecx, esi
call fcn.1006bfc0
mov ecx, dword [esp + 0x28]
movzx eax, byte [ebx + 4]
dec eax
cmp eax, 0x2a
ja case.0x1006cc02.5
jmp dword [eax*4 + 0x10070398]
mov ebx, dword [esp + 0x24]
mov ecx, esi
mov edx, ebx
call fcn.1002a870
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x1006cc51
mov eax, dword [esp + 0x18]
mov edx, 9
push ecx
push 0x101122f0
mov ecx, esi
add dword [eax + 0x2c], 2
call fcn.10029ea0
mov edx, dword [esp + 0x38]
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x1006cad7
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov ecx, eax
call fcn.10009750
mov ebx, dword [esp + 0x14]
test ebx, ebx
jns 0x1006cc7d
cmp ebx, 0x80000000
jne 0x1006cc7b
mov ebx, 0x7fffffff
jmp 0x1006cc7d
neg ebx
push dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
xor edx, edx
call fcn.1005a7f0
add esp, 4
mov edx, 0x62
mov ecx, esi
push ebx
push 3
push dword [esp + 0x2c]
call fcn.10029290
mov eax, dword [edi + 0xc]
add esp, 0xc
mov dword [eax + 0x50], ebx
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.1001cc50
jmp 0x1006cac2
mov edi, dword [edi + 4]
test ecx, ecx
jne 0x1006cce9
test edi, edi
je 0x1006ccd1
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x1006ccd3
xor eax, eax
cdq
mov ecx, esi
push edx
push eax
call fcn.1006c1f0
mov edx, dword [esp + 0x38]
add esp, 8
jmp 0x1006cad7
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.10009750
mov eax, dword [esp + 0x10]
mov ecx, edi
mov edx, dword [esp + 0x14]
push 0
push 0
mov dword [eax + 0x60], edx
call fcn.1001ce80
add esp, 8
cmp eax, 7
jne 0x1006cac2
push dword [esp + 0x10]
call fcn.100053d0
jmp 0x1006cabf
mov eax, dword [edi + 4]
or edx, 0xffffffff
mov dword [esp + 0x1c], eax
mov dword [esp + 0x58], edx
test ecx, ecx
je 0x1006cd6d
mov edx, str.fast
call fcn.10008d80
test eax, eax
jne 0x1006cd4f
lea edx, [eax + 2]
jmp 0x1006cd69
mov ecx, dword [esp + 0x28]
mov edx, 1
push 0
call fcn.1006be80
xor edx, edx
add esp, 4
test al, al
setne dl
mov dword [esp + 0x58], edx
mov eax, dword [esp + 0x2c]
cmp dword [eax + 4], 0
jne 0x1006ce15
test edx, edx
js 0x1006ce15
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x1006ce15
mov esi, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov edx, 0xfff3
mov eax, dword [eax + 0x10]
mov edi, dword [ecx + eax + 4]
test edi, edi
je 0x1006cdfc
cmp byte [edi + 9], 0
je 0x1006cdcb
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x1006cdcb
mov ecx, edi
call fcn.1001a2d0
mov ecx, dword [esp + 0x14]
mov edx, 0xfff3
mov eax, dword [edi + 4]
and word [eax + 0x18], dx
lea eax, [esi*4]
mov edx, dword [edi + 4]
or word [edx + 0x18], ax
cmp byte [edi + 9], 0
je 0x1006cdf7
add dword [edi + 0xc], 0xffffffff
jne 0x1006cdf7
mov ecx, edi
call fcn.1001a290
mov ecx, dword [esp + 0x14]
mov edx, 0xfff3
mov eax, dword [esp + 0x10]
inc ebx
add ecx, 0x10
mov dword [esp + 0x14], ecx
cmp ebx, dword [eax + 0x14]
jl 0x1006cda1
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x1c]
call fcn.1001d010
cdq
mov ecx, esi
push edx
push eax
call fcn.1006c1f0
add esp, 8
jmp 0x1006cac2
mov ebx, dword [esp + 0x18]
xorps xmm0, xmm0
mov edx, dword [esp + 0x24]
mov ecx, ebx
movlpd qword [esp + 0x70], xmm0
call fcn.1005a700
mov eax, dword [esp + 0x30]
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x10114750], 0x70
jne 0x1006ce89
push edi
push dword [esp + 0x28]
mov edx, 0xae
mov ecx, esi
call fcn.100293c0
add esp, 8
mov edx, 0x52
mov ecx, esi
push 1
push edi
call fcn.100293c0
add esp, 8
jmp 0x1006cac2
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1006cecc
lea edx, [esp + 0x70]
mov ecx, eax
call fcn.10009640
test eax, eax
jne 0x1006cecc
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
test ecx, ecx
jg 0x1006cebd
jl 0x1006cecc
test eax, eax
jb 0x1006cecc
test ecx, ecx
jl 0x1006ced9
jg 0x1006cebd
cmp eax, 0xfffffffe
jbe 0x1006ced9
mov eax, 0xfffffffe
mov dword [esp + 0x74], 0
jmp 0x1006ced9
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov eax, dword [esp + 0x70]
push eax
push edi
push dword [esp + 0x2c]
mov edx, 0xaf
mov ecx, esi
call fcn.10029290
add esp, 0xc
mov edx, 0x52
mov ecx, esi
push 1
push edi
call fcn.100293c0
add esp, 8
jmp 0x1006cac2
mov ebx, str.normal
mov eax, str.exclusive
test ecx, ecx
je 0x1006cf36
mov edx, eax
call fcn.10008d80
test eax, eax
jne 0x1006cf23
lea edx, [eax + 1]
jmp 0x1006cf39
mov ecx, dword [esp + 0x28]
mov edx, ebx
call fcn.10008d80
test eax, eax
jne 0x1006cf36
xor edx, edx
jmp 0x1006cf39
or edx, 0xffffffff
mov eax, dword [esp + 0x2c]
cmp dword [eax + 4], 0
jne 0x1006cfa9
mov eax, dword [esp + 0x10]
cmp edx, 0xffffffff
jne 0x1006cf52
movzx eax, byte [eax + 0x55]
jmp 0x1006cfb6
mov ecx, 2
cmp dword [eax + 0x14], ecx
jle 0x1006cfa6
mov ebx, 0x20
mov edi, eax
mov eax, dword [edi + 0x10]
mov eax, dword [ebx + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test edx, edx
js 0x1006cf8c
cmp byte [eax + 0xc], 0
jne 0x1006cf8c
mov esi, dword [eax + 0xe8]
test esi, esi
je 0x1006cf89
cmp byte [esi + 0x2b], 2
je 0x1006cf8c
mov byte [eax + 4], dl
inc ecx
add ebx, 0x10
cmp ecx, dword [edi + 0x14]
jl 0x1006cf63
mov esi, dword [esp + 0x44]
mov ebx, str.normal
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x10]
mov byte [eax + 0x55], dl
mov eax, dword [edi + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.10016950
cmp eax, 1
mov ecx, esi
mov eax, str.exclusive
cmove ebx, eax
mov edx, ebx
call fcn.1006c320
jmp 0x1006cac2
test ecx, ecx
je 0x1006d07a
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006cfe0
sub ecx, edx
and ecx, 0x3fffffff
xor eax, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
cmp eax, 6
je 0x1006d07a
mov edi, dword [eax*4 + 0x10113244]
test edi, edi
je 0x1006d07a
mov ebx, dword [esp + 0x28]
mov edx, ecx
test ecx, ecx
je 0x1006d038
mov al, byte [ebx]
dec edx
test al, al
je 0x1006d039
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x10114750]
cmp al, byte [ecx + 0x10114750]
jne 0x1006d039
inc ebx
inc edi
test edx, edx
jg 0x1006d017
dec edx
test edx, edx
js 0x1006d060
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x10114750]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x10114750]
sub eax, ecx
je 0x1006d060
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
inc eax
jmp 0x1006cff5
mov ebx, dword [esp + 0x14]
cmp ebx, 2
jne 0x1006d098
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x1006d09d
or ebx, 0xffffffff
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 4], 0
jne 0x1006d0a1
mov dword [esp + 0x24], 0
mov dword [ecx + 4], 1
jmp 0x1006d0a1
cmp ebx, 0xffffffff
je 0x1006d07d
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x1006d178
mov edx, edi
shl edx, 4
mov dword [esp + 0x14], edx
nop word [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + edx + 4], 0
je 0x1006d160
cmp edi, dword [esp + 0x24]
je 0x1006d0de
cmp dword [ecx + 4], 0
jne 0x1006d160
mov eax, dword [esi + 0xa4]
bts eax, edi
mov dword [esi + 0xa4], eax
cmp edi, 1
je 0x1006d110
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x1006d110
mov eax, dword [esi + 0xa8]
bts eax, edi
mov dword [esi + 0xa8], eax
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x1006d131
push ebx
push 1
push edi
mov edx, 7
mov ecx, esi
call fcn.10029250
mov edx, dword [esp + 0x20]
add esp, 0xc
jmp 0x1006d160
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 7
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x2c]
sub edx, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jns 0x1006d0c0
push 1
push 1
mov edx, 0x52
mov ecx, esi
call fcn.100293c0
add esp, 8
jmp 0x1006cac2
mov eax, dword [edi + 4]
mov dword [esp + 0x70], 0xfffffffe
mov dword [esp + 0x74], 0xffffffff
mov eax, dword [eax + 4]
mov edi, dword [eax]
test ecx, ecx
je 0x1006d1f0
lea edx, [esp + 0x70]
call fcn.10009640
mov ecx, dword [esp + 0x74]
cmp ecx, 0xffffffff
jg 0x1006d1d0
jl 0x1006d1c9
mov eax, dword [esp + 0x70]
cmp eax, 0xffffffff
jae 0x1006d1d4
or eax, 0xffffffff
or ecx, eax
jmp 0x1006d1d4
mov eax, dword [esp + 0x70]
mov edx, dword [edi + 0xe8]
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
test edx, edx
je 0x1006d1f0
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [edi + 0xb4]
mov ecx, esi
push dword [edi + 0xb0]
call fcn.1006c1f0
add esp, 8
jmp 0x1006cac2
mov eax, dword [edi + 4]
mov dword [esp + 0x1c], eax
test ecx, ecx
jne 0x1006d222
mov ecx, eax
call fcn.1001d100
jmp 0x1006ccd3
mov ebx, str.none
mov edx, ecx
sub ebx, ecx
nop dword [eax + eax]
movzx eax, byte [edx]
movzx edi, byte [edx + ebx]
cmp eax, edi
jne 0x1006d243
test eax, eax
jne 0x1006d255
xor ebx, ebx
jmp 0x1006d2a8
movzx ecx, byte [eax + 0x10114750]
movzx eax, byte [edi + 0x10114750]
sub ecx, eax
jne 0x1006d258
inc edx
jmp 0x1006d230
mov ebx, dword [esp + 0x28]
mov edx, str.full
mov ecx, ebx
call fcn.10008d80
test eax, eax
jne 0x1006d271
lea ebx, [eax + 1]
jmp 0x1006d2a8
mov edx, str.incremental
mov ecx, ebx
call fcn.10008d80
test eax, eax
jne 0x1006d286
lea ebx, [eax + 2]
jmp 0x1006d2a8
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
mov ecx, ebx
call fcn.10009750
xor ecx, ecx
cmp dword [esp + 0x14], 2
cmovbe ecx, dword [esp + 0x14]
movzx ebx, cl
mov eax, dword [esp + 0x10]
mov edx, ebx
mov ecx, dword [esp + 0x1c]
mov byte [eax + 0x56], bl
call fcn.1001d080
test eax, eax
jne 0x1006cac2
cmp ebx, 1
je 0x1006d2d0
cmp ebx, 2
jne 0x1006cac2
mov edi, dword [esi + 0x74]
mov edx, 5
push ecx
push 0x10114140
mov ecx, esi
call fcn.10029ea0
mov edx, dword [esp + 0x2c]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x5c], ecx
mov ecx, esi
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
call fcn.1002a870
jmp 0x1006cac2
test ecx, ecx
je 0x1006d326
lea edx, [esp + 0x1c]
call fcn.10009750
test eax, eax
je 0x1006d326
mov edi, dword [esp + 0x1c]
test edi, edi
jg 0x1006d32b
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x24]
xor edx, edx
mov ecx, dword [esp + 0x18]
push ebx
call fcn.1005a7f0
add esp, 4
mov edx, 0x46
mov ecx, esi
push 1
push edi
call fcn.100293c0
push ebx
mov edx, 0x3d
mov ecx, esi
call fcn.10029360
add esp, 0xc
mov edx, 0x52
mov ecx, esi
mov edi, eax
push 1
call fcn.10029360
add esp, 4
mov edx, 0x54
mov ecx, esi
push 0xffffffffffffffff
push 1
call fcn.100293c0
push edi
push 1
mov edx, 0x31
mov ecx, esi
call fcn.100293c0
add esp, 0x10
mov edx, edi
mov ecx, esi
call fcn.10029fc0
jmp 0x1006cac2
test ecx, ecx
jne 0x1006d3af
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x1006ccd3
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 0
call fcn.10009750
mov ecx, dword [edi + 0xc]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x50], eax
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 4]
mov edx, dword [edx + 0x50]
call fcn.1001cc50
jmp 0x1006cac2
test ecx, ecx
jne 0x1006d411
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x20
or eax, ecx
je 0x1006d3f9
mov ecx, dword [edi + 4]
xor edx, edx
call fcn.1001ccf0
cdq
mov ecx, esi
push edx
push eax
call fcn.1006c1f0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, ebx
jmp 0x1006cadb
lea edx, [esp + 0x14]
mov dword [esp + 0x14], 1
call fcn.10009750
mov esi, dword [esp + 0x14]
test eax, eax
je 0x1006d434
mov ecx, dword [edi + 4]
mov edx, esi
call fcn.1001ccf0
mov ecx, dword [esp + 0x28]
test esi, esi
mov edx, 1
setne al
movzx eax, al
push eax
call fcn.1006be80
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
test al, al
je 0x1006d461
or ecx, 0x20
jmp 0x1006d464
and ecx, 0xffffffdf
mov eax, dword [esp + 0x10]
mov dword [eax + 0x20], ecx
mov ecx, eax
mov dword [eax + 0x24], edx
call fcn.1006c3a0
jmp 0x1006cac2
test ecx, ecx
je 0x1006d56e
lea edx, [esp + 0x70]
call fcn.10009640
cmp dword [esp + 0x74], 0
jg 0x1006d4ae
jl 0x1006d49b
cmp dword [esp + 0x70], 0
jae 0x1006d4ae
mov eax, dword [0x1011d1a0]
mov ecx, dword [0x1011d1a4]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x1006d4ce
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov dword [edx + 0x34], ecx
mov ecx, dword [esp + 0x2c]
mov dword [edx + 0x30], eax
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x1006d56e
mov esi, ebx
shl esi, 4
nop
mov eax, dword [edx + 0x10]
mov edi, dword [eax + esi + 4]
test edi, edi
je 0x1006d55a
cmp ebx, dword [esp + 0x24]
je 0x1006d4f7
cmp dword [ecx + 4], 0
jne 0x1006d55a
cmp byte [edi + 9], 0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x60], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x64], ecx
je 0x1006d52c
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x1006d52c
mov ecx, edi
call fcn.1001a2d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov ecx, dword [ecx]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x60]
mov dword [ecx + 0x8c], eax
call fcn.10013d00
cmp byte [edi + 9], 0
je 0x1006d556
add dword [edi + 0xc], 0xffffffff
jne 0x1006d556
mov ecx, edi
call fcn.1001a290
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
sub esi, 0x10
sub ebx, 1
jns 0x1006d4e0
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x10]
mov ebx, 1
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x74], 0xffffffff
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x1006d59c
push eax
call dword [0x1011d148]
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x1006d5b6
mov edx, eax
call fcn.10053a20
mov edi, eax
test edi, edi
jns 0x1006d5b8
jmp 0x1006d633
xor edi, edi
mov eax, dword [esp + 0x10]
add edi, edi
mov eax, dword [eax + 0x10]
mov edi, dword [eax + edi*8 + 4]
test edi, edi
je 0x1006d633
cmp byte [edi + 9], 0
je 0x1006d5df
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x1006d5df
mov ecx, edi
call fcn.1001a2d0
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x1c4]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
test ecx, ecx
jne 0x1006d600
lea ebx, [ecx + 0xc]
jmp 0x1006d612
lea edx, [esp + 0x70]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x1c4], eax
cmp byte [edi + 9], 0
je 0x1006d633
add dword [edi + 0xc], 0xffffffff
jne 0x1006d633
mov ecx, edi
call fcn.1001a290
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1006d648
push eax
call dword [0x1011d150]
add esp, 4
test ebx, ebx
jne 0x1006d663
push dword [esp + 0x74]
mov ecx, esi
push dword [esp + 0x74]
call fcn.1006c1f0
add esp, 8
jmp 0x1006cac2
mov ecx, dword [esp + 0x10]
cmp ebx, 0xc
je 0x1006cac6
mov eax, dword [esp + 0x18]
inc dword [eax + 0x24]
mov dword [eax + 0xc], ebx
jmp 0x1006cac6
test ecx, ecx
jne 0x1006d690
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx + 0x52]
jmp 0x1006d3f9
mov cl, byte [ecx]
mov al, cl
sub al, 0x30
cmp al, 2
ja 0x1006d6a2
movsx ebx, cl
sub ebx, 0x30
jmp 0x1006d6f2
mov ebx, dword [esp + 0x28]
mov esi, str.file
mov edx, ebx
nop dword [eax]
movzx eax, byte [esi]
movzx ecx, cl
cmp ecx, eax
jne 0x1006d6c3
test ecx, ecx
jne 0x1006d6d5
lea ebx, [ecx + 1]
jmp 0x1006d6f2
movzx eax, byte [eax + 0x10114750]
movzx ecx, byte [ecx + 0x10114750]
sub ecx, eax
jne 0x1006d6dc
mov cl, byte [edx + 1]
inc edx
inc esi
jmp 0x1006d6b0
mov edx, str.memory
mov ecx, ebx
call fcn.10008d80
neg eax
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
movzx eax, byte [esi + 0x52]
cmp eax, ebx
je 0x1006cac2
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x1006d730
cmp byte [esi + 0x51], 0
je 0x1006d738
cmp byte [ecx + 8], 0
jne 0x1006d738
call fcn.1001c9f0
mov eax, dword [esi + 0x10]
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.10052ea0
mov byte [esi + 0x52], bl
jmp 0x1006cac2
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
jmp 0x1006d83c
test ecx, ecx
jne 0x1006d75d
mov edx, dword [sym.sqlite3.dll_sqlite3_temp_directory]
mov ecx, esi
call fcn.1006c320
mov edx, dword [esp + 0x30]
jmp 0x1006cad7
cmp byte [ecx], 0
je 0x1006d7a8
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
push 1
push ecx
mov eax, dword [ebx]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x1006d783
cmp dword [esp + 0x1c], eax
jne 0x1006d7a8
push str.not_a_writable_directory
push dword [esp + 0x1c]
call fcn.10008be0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, ebx
call fcn.10004cc0
mov edx, dword [esp + 0x28]
jmp 0x1006cad7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x52], 1
ja 0x1006d7bb
mov ecx, dword [esp + 0x18]
call fcn.1006bf70
push dword [sym.sqlite3.dll_sqlite3_temp_directory]
call sym.sqlite3.dll_sqlite3_free
mov eax, dword [esp + 0x2c]
add esp, 4
cmp byte [eax], 0
je 0x1006d7e4
push eax
push 0x101084e8
call sym.sqlite3.dll_sqlite3_mprintf
mov dword [sym.sqlite3.dll_sqlite3_temp_directory], eax
jmp 0x1006d841
mov dword [sym.sqlite3.dll_sqlite3_temp_directory], 0
jmp 0x1006cac2
test ecx, ecx
jne 0x1006d80d
mov edx, dword [sym.sqlite3.dll_sqlite3_data_directory]
mov ecx, esi
call fcn.1006c320
mov edx, dword [esp + 0x30]
jmp 0x1006cad7
cmp byte [ecx], 0
je 0x1006d85a
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x1006d833
cmp dword [esp + 0x1c], eax
jne 0x1006d85a
push str.not_a_writable_directory
push dword [esp + 0x1c]
call fcn.10008be0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, dword [esp + 0x10]
call fcn.10004cc0
mov edx, dword [esp + 0x28]
jmp 0x1006cad7
push dword [sym.sqlite3.dll_sqlite3_data_directory]
call sym.sqlite3.dll_sqlite3_free
mov eax, dword [esp + 0x2c]
add esp, 4
cmp byte [eax], 0
je 0x1006d883
push eax
push 0x101084e8
call sym.sqlite3.dll_sqlite3_mprintf
mov dword [sym.sqlite3.dll_sqlite3_data_directory], eax
jmp 0x1006d841
mov dword [sym.sqlite3.dll_sqlite3_data_directory], 0
jmp 0x1006cac2
test ecx, ecx
jne 0x1006d8b5
movzx eax, byte [edi + 8]
cdq
sub eax, 1
sbb edx, ecx
mov ecx, esi
push edx
push eax
call fcn.1006c1f0
mov edx, dword [esp + 0x38]
add esp, 8
jmp 0x1006cad7
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x51], 0
jne 0x1006d8c9
push str.Safety_level_may_not_be_changed_inside_a_transaction
jmp 0x1006d838
cmp dword [esp + 0x24], 1
je 0x1006cac6
mov ecx, dword [esp + 0x28]
xor edx, edx
push 1
call fcn.1006be80
inc eax
add esp, 4
and eax, 7
mov ecx, 1
mov byte [edi + 9], cl
cmove eax, ecx
mov ecx, dword [esp + 0x10]
mov byte [edi + 8], al
call fcn.1006c3a0
jmp 0x1006cac2
test ecx, ecx
jne 0x1006d956
mov edx, ebx
mov ecx, esi
call fcn.1006bfc0
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
and ecx, dword [ebx + 8]
and eax, dword [ebx + 0xc]
or ecx, eax
je 0x1006d92e
mov eax, 1
xor ecx, ecx
jmp 0x1006d93f
xorps xmm0, xmm0
movlpd qword [esp + 0x70], xmm0
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
push ecx
push eax
mov ecx, esi
call fcn.1006c1f0
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, edi
jmp 0x1006cadb
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + 8]
mov ebx, dword [ebx + 0xc]
cmp byte [eax + 0x51], 0
jne 0x1006d96c
and edi, 0xffffbfff
push 0
mov edx, 1
call fcn.1006be80
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x1c], ecx
test al, al
je 0x1006d99d
mov eax, dword [esp + 0x10]
or edx, edi
or ecx, ebx
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
jmp 0x1006d9f2
mov ecx, edi
mov eax, ebx
not ecx
not eax
and eax, dword [esp + 0x1c]
and ecx, edx
mov edx, dword [esp + 0x10]
mov dword [edx + 0x20], ecx
mov dword [edx + 0x24], eax
cmp edi, 0x80000
jne 0x1006d9cf
test ebx, ebx
jne 0x1006d9cf
mov dword [edx + 0x208], ebx
mov dword [edx + 0x20c], ebx
jmp 0x1006d9f2
and edi, 1
or edi, 0
je 0x1006d9f2
mov ecx, dword [esp + 0x28]
mov edx, str.reset
call fcn.10008d80
test eax, eax
jne 0x1006d9f2
mov ecx, dword [esp + 0x10]
call fcn.10052ea0
mov edx, 0xa4
mov ecx, esi
call fcn.10029300
mov ecx, dword [esp + 0x10]
call fcn.1006c3a0
jmp 0x1006cac2
test ecx, ecx
je 0x1006cac2
mov edi, dword [esp + 0x34]
mov edx, edi
mov ecx, dword [esp + 0x18]
call fcn.1005a740
mov ecx, dword [esp + 0x18]
mov edx, 2
push edi
push dword [esp + 0x2c]
call fcn.100527a0
mov edi, eax
add esp, 8
mov dword [esp + 0x3c], edi
test edi, edi
je 0x1006cac2
mov ecx, edi
mov dword [esp + 0x20], 0
call fcn.10053cf0
mov dword [esp + 0x64], eax
mov edx, edi
mov eax, dword [esp + 0x18]
mov ecx, eax
mov dword [eax + 0x2c], 7
call fcn.10056680
mov edx, dword [edi + 4]
xor ecx, ecx
movzx edi, word [edi + 0x22]
xor eax, eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x38], edx
cmp ax, di
jge 0x1006cac2
mov eax, edi
mov dword [esp + 0x14], eax
movzx eax, word [edx + 0xe]
xor edi, edi
mov dword [esp + 0x1c], eax
test al, 0x62
je 0x1006dad1
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
jne 0x1006dab6
mov eax, dword [esp + 0x14]
inc dword [esp + 0x20]
movzx eax, ax
jmp 0x1006dc36
mov eax, dword [esp + 0x1c]
test al, 0x20
je 0x1006dac5
mov edi, 2
jmp 0x1006dad1
movzx edi, al
and edi, 0x40
or edi, 0x20
shr edi, 5
test al, 1
jne 0x1006dad9
xor edx, edx
jmp 0x1006db09
mov ecx, dword [esp + 0x64]
mov edx, 1
test ecx, ecx
je 0x1006db09
mov eax, dword [esp + 0x14]
cwde
cmp eax, edx
jl 0x1006db09
mov ecx, dword [ecx + 4]
mov esi, eax
movsx eax, word [ecx]
cmp eax, dword [esp + 0x58]
je 0x1006db05
inc edx
add ecx, 2
cmp edx, esi
jle 0x1006daf4
mov esi, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
movzx eax, word [ecx + 0xc]
mov dword [esp + 0x14], eax
test ax, ax
jne 0x1006db1e
xor eax, eax
jmp 0x1006db63
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x2b], 0
je 0x1006db2c
xor eax, eax
jmp 0x1006db63
mov eax, dword [eax + 0x34]
test eax, eax
je 0x1006db63
mov ecx, dword [esp + 0x14]
movzx ecx, cx
cmp dword [eax], ecx
mov ecx, dword [esp + 0x38]
jge 0x1006db46
xor eax, eax
jmp 0x1006db63
mov ecx, dword [esp + 0x14]
movzx eax, cx
mov ecx, dword [esp + 0x3c]
lea eax, [eax + eax*4]
mov esi, dword [ecx + 0x34]
mov ecx, dword [esp + 0x38]
mov eax, dword [esi + eax*4 - 0xc]
mov esi, dword [esp + 0x44]
cmp edi, 2
jae 0x1006db75
test eax, eax
je 0x1006db75
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
jmp 0x1006db7d
mov dword [esp + 0x5c], 0
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
mov dword [esp + 0x40], str.issisii
jne 0x1006db95
mov dword [esp + 0x40], str.issisi
movzx eax, word [ecx + 0xe]
test al, 4
je 0x1006dbcf
mov eax, dword [ecx]
mov ecx, eax
mov dword [esp + 0x60], eax
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006dbb0
mov eax, dword [esp + 0x60]
sub ecx, dword [esp + 0x1c]
inc eax
add eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 4]
jmp 0x1006dbf7
mov eax, dword [ecx + 4]
mov dword [esp + 0x4c], eax
shr eax, 4
and eax, 0xf
je 0x1006dbeb
mov eax, dword [eax*4 + 0x1011e4fc]
mov dword [esp + 0x14], eax
jmp 0x1006dbf3
mov dword [esp + 0x14], 0x101077f8
mov eax, dword [esp + 0x4c]
push edi
push edx
push dword [esp + 0x64]
test al, 0xf
mov eax, 0
setne al
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x6c]
push dword [ecx]
sub eax, dword [esp + 0x38]
push eax
push dword [esp + 0x5c]
push 1
push esi
call fcn.10029530
mov eax, dword [esp + 0x64]
add esp, 0x28
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x38]
movzx eax, word [eax + 0x22]
movzx edi, ax
inc ecx
add edx, 0x10
cwde
mov dword [esp + 0x58], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], edi
cmp ecx, eax
jl 0x1006da90
jmp 0x1006cac2
mov eax, dword [esp + 0x18]
mov ecx, eax
mov ebx, dword [esp + 0x34]
mov edx, ebx
mov dword [eax + 0x2c], 6
call fcn.1005a740
mov edx, dword [esp + 0x10]
mov dword [esp + 0x4c], 0
cmp dword [edx + 0x14], 0
jle 0x1006df73
xor ecx, ecx
mov dword [esp + 0x2c], ecx
nop dword [eax + eax]
test ebx, ebx
je 0x1006dcb9
mov eax, dword [edx + 0x10]
mov edx, dword [ecx + eax]
test edx, edx
je 0x1006df56
mov ecx, ebx
call fcn.10008d80
mov ecx, dword [esp + 0x2c]
test eax, eax
jne 0x1006df56
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov edx, dword [eax + ecx + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x1006dcf8
mov esi, dword [esp + 0x10]
nop
mov eax, dword [edx + 8]
dec ebx
mov dword [esp + 0x20], ebx
test eax, eax
je 0x1006dcf4
nop dword [eax]
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x1006dd48
mov eax, dword [eax]
test eax, eax
jne 0x1006dce0
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x44]
mov edi, dword [edx + 8]
mov dword [esp + 0x3c], edi
test edi, edi
je 0x1006df52
mov eax, dword [esp + 0x28]
nop dword [eax + eax]
mov ebx, dword [edi + 8]
test eax, eax
je 0x1006dd30
mov edx, dword [ebx]
test edx, edx
je 0x1006df40
mov ecx, eax
call fcn.10008d80
test eax, eax
jne 0x1006df3c
mov al, byte [ebx + 0x2b]
cmp al, 2
jne 0x1006de3c
mov dword [esp + 0x20], str.view
jmp 0x1006de62
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.10007ea0
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1006de21
push 0
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
push ecx
push 0
push 0
push 0xffffffffffffffff
mov edx, eax
mov ecx, esi
call fcn.10071fd0
mov edi, dword [esp + 0x28]
add esp, 0x14
test edi, edi
je 0x1006de16
mov ebx, dword [edi]
test ebx, ebx
jne 0x1006ddc3
push str.API_called_with_finalized_prepared_statement
push 0x15
call sym.sqlite3.dll_sqlite3_log
push 0x10110a2c
push 0x14a42
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call sym.sqlite3.dll_sqlite3_log
add esp, 0x1c
jmp 0x1006de12
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x1006ddd4
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [edi + 0x94], 0
jl 0x1006ddf1
jg 0x1006dde8
cmp dword [edi + 0x90], 0
jbe 0x1006ddf1
mov edx, edi
mov ecx, ebx
call fcn.1002f010
mov ecx, edi
call fcn.1002cd80
cmp byte [ebx + 0x53], 0
jne 0x1006de02
test eax, eax
je 0x1006de0b
mov edx, eax
mov ecx, ebx
call fcn.10005460
mov ecx, ebx
call fcn.100a6d80
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, esi
call fcn.10004cc0
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax + ecx + 0xc]
add edx, 8
test ebx, ebx
jne 0x1006dcd0
jmp 0x1006dcf4
cmp al, 1
jne 0x1006de4a
mov dword [esp + 0x20], str.virtual
jmp 0x1006de62
test dword [ebx + 0x1c], 0x1000
mov ecx, str.shadow
mov eax, str.table
cmove ecx, eax
mov dword [esp + 0x20], ecx
mov eax, dword [ebx]
mov edx, 7
mov dword [esp + 0x14], eax
test eax, eax
je 0x1006def2
mov edi, eax
mov ebx, str.sqlite_
nop dword [eax]
mov al, byte [edi]
dec edx
test al, al
je 0x1006dea2
movzx ecx, byte [ebx]
movzx eax, al
mov al, byte [eax + 0x10114750]
cmp al, byte [ecx + 0x10114750]
jne 0x1006dea2
inc edi
inc ebx
test edx, edx
jg 0x1006de80
dec edx
test edx, edx
js 0x1006debe
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x10114750]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x10114750]
sub eax, ecx
jne 0x1006def2
mov edi, dword [esp + 0x14]
mov edx, 0x1010900b
lea ecx, [edi + 7]
call fcn.10008d80
test eax, eax
jne 0x1006deda
mov edi, str.sqlite_schema
jmp 0x1006def6
mov edx, 0x1010a89b
lea ecx, [edi + 7]
call fcn.10008d80
test eax, eax
jne 0x1006def6
mov edi, str.sqlite_temp_schema
jmp 0x1006def6
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edx + 0x22]
and ecx, 1
push ecx
mov ecx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x1c]
push dword [esp + 0x2c]
push edi
mov eax, dword [eax + 0x10]
push dword [eax + ecx]
push str.sssiii
push 1
push esi
call fcn.10029530
mov edi, dword [esp + 0x60]
add esp, 0x24
mov eax, dword [esp + 0x28]
mov edi, dword [edi]
mov dword [esp + 0x3c], edi
test edi, edi
jne 0x1006dd10
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
add ecx, 0x10
mov edx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
cmp eax, dword [edx + 0x14]
jl 0x1006dc90
mov ecx, edx
jmp 0x1006cac6
test ecx, ecx
je 0x1006cac2
mov edi, dword [esp + 0x34]
mov edx, ecx
mov ecx, dword [esp + 0x10]
push edi
call fcn.100529b0
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x1006dfda
mov ecx, dword [esp + 0x18]
lea edx, [eax + 2]
push edi
push dword [esp + 0x2c]
call fcn.100527a0
add esp, 8
test eax, eax
je 0x1006cac2
test byte [eax + 0x1c], 0x80
je 0x1006cac2
mov ecx, eax
call fcn.10053cf0
mov ecx, eax
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x1006cac2
mov edi, dword [ecx + 0x18]
mov edx, 0xffff8000
test edi, edi
je 0x1006dffe
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], edi
je 0x1006dffe
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], edi
jne 0x1006dff6
mov eax, dword [ebx + 8]
or eax, dword [ebx + 0xc]
je 0x1006e011
movzx eax, word [ecx + 0x34]
mov edi, 6
jmp 0x1006e01a
movzx eax, word [ecx + 0x32]
mov edi, 3
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov dword [eax + 0x2c], edi
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
call fcn.1005a700
xor edi, edi
cmp word [esp + 0x20], di
je 0x1006cac2
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
movzx eax, word [eax + edi*2]
movsx edx, ax
test ax, ax
jns 0x1006e059
xor eax, eax
jmp 0x1006e067
mov eax, dword [esp + 0x1c]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
push edx
push edi
push str.iisX
push 1
push esi
call fcn.10029530
mov eax, dword [ebx + 8]
add esp, 0x18
or eax, dword [ebx + 0xc]
je 0x1006e0af
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 0x32]
cmp edi, eax
sbb eax, eax
neg eax
push eax
mov eax, dword [ecx + 0x20]
push dword [eax + edi*4]
mov eax, dword [ecx + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.10029530
add esp, 0x18
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x74]
mov edx, dword [eax + 0x2c]
cmp dword [esi + 0x78], ecx
jg 0x1006e0d4
push 0
push edx
push 1
mov edx, 0x52
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006e107
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x52
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x20]
inc edi
movzx eax, cx
cmp edi, eax
jl 0x1006e042
jmp 0x1006cac2
test ecx, ecx
je 0x1006cac2
mov edi, dword [esp + 0x34]
mov edx, ecx
mov ecx, dword [esp + 0x10]
push edi
call fcn.100524b0
mov edi, eax
add esp, 4
test edi, edi
je 0x1006cac2
mov ecx, dword [edi + 0x3c]
mov edx, 0xffff8000
test ecx, ecx
je 0x1006e168
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x1006e168
nop dword [eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x1006e160
mov eax, dword [esp + 0x18]
mov ecx, eax
mov dword [eax + 0x2c], 5
call fcn.1005a700
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x1006cac2
mov dword [esp + 0x70], 0x1010c028
mov dword [esp + 0x74], 0x1010c02c
mov dword [esp + 0x78], 0x1010b97c
nop
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x74]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.10029530
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x1006e1a0
jmp 0x1006cac2
mov eax, dword [esp + 0x18]
xor edi, edi
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x1006df73
xor ebx, ebx
nop dword [eax + eax]
mov ecx, dword [edx + 0x10]
mov eax, dword [ecx + ebx + 4]
test eax, eax
je 0x1006e23c
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xf], 0
je 0x1006e21d
mov eax, 0x10112bb0
jmp 0x1006e223
mov eax, dword [eax + 0xb8]
push eax
push dword [ecx + ebx]
push edi
push 0x1010c038
push 1
push esi
call fcn.10029530
mov edx, dword [esp + 0x28]
add esp, 0x18
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x1006e200
jmp 0x1006cac2
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edx + 0x1b4]
test edi, edi
je 0x1006df73
nop dword [eax]
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x1010c03c
push 1
push esi
call fcn.10029530
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x1006e270
jmp 0x1006cac2
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x18]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov eax, 0x1011f270
mov dword [esp + 0x14], eax
mov edi, dword [eax]
test edi, edi
je 0x1006e2da
nop dword [eax]
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.1006c590
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x1006e2c0
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
cmp eax, 0x1011f2cc
jl 0x1006e2b3
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x1a4]
test edi, edi
je 0x1006df73
nop word [eax + eax]
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.1006c590
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x1006e300
jmp 0x1006cac2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edx + 0x188]
test edi, edi
je 0x1006df73
nop dword [eax + eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x10109658
push 1
push esi
call fcn.10029530
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x1006e340
jmp 0x1006cac2
mov edi, 0x10115a80
push dword [edi]
push 0x10109658
push 1
push esi
call fcn.10029530
add edi, 0x10
add esp, 0x10
cmp edi, 0x10115eb0
jl 0x1006e366
jmp 0x1006cac2
test ecx, ecx
je 0x1006cac2
mov edi, dword [esp + 0x34]
mov edx, ecx
mov ecx, dword [esp + 0x10]
push edi
call fcn.100524b0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1006cac2
cmp byte [eax + 0x2b], 0
jne 0x1006cac2
mov edi, dword [eax + 0x30]
test edi, edi
je 0x1006cac2
mov ecx, dword [eax + 0x3c]
mov edx, 0xffff8000
test ecx, ecx
je 0x1006e3e8
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x1006e3e8
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x1006e3e0
mov eax, dword [esp + 0x18]
mov ecx, eax
mov dword [esp + 0x14], 0
mov dword [eax + 0x2c], 8
call fcn.1005a700
xor eax, eax
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x1006e4c7
lea edx, [edi + 0x24]
mov dword [esp + 0x20], edx
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x1006e422
jmp dword [eax*4 + 0x10070444]
mov ecx, str.SET_NULL
jmp 0x1006e44a
mov ecx, str.SET_DEFAULT
jmp 0x1006e44a
mov ecx, str.CASCADE
jmp 0x1006e44a
mov ecx, str.RESTRICT
jmp 0x1006e44a
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x1006e456
jmp dword [eax*4 + 0x10070454]
mov eax, str.SET_NULL
jmp 0x1006e47e
mov eax, str.SET_DEFAULT
jmp 0x1006e47e
mov eax, str.CASCADE
jmp 0x1006e47e
mov eax, str.RESTRICT
jmp 0x1006e47e
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [edx]
push eax
push dword [edx + 4]
mov eax, dword [esp + 0x2c]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x30]
push str.iissssss
push 1
push esi
call fcn.10029530
mov edx, dword [esp + 0x4c]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x20], edx
cmp ebx, dword [edi + 0x14]
jl 0x1006e416
mov eax, dword [esp + 0x14]
mov edi, dword [edi + 4]
inc eax
mov dword [esp + 0x14], eax
test edi, edi
jne 0x1006e404
jmp 0x1006cac2
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x54], eax
inc eax
mov dword [ebx + 0x2c], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx + eax + 0xc]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x1006df73
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1006e531
push edi
push eax
xor edx, edx
mov ecx, ebx
call fcn.100527a0
mov edx, dword [esp + 0x18]
add esp, 8
xor ecx, ecx
jmp 0x1006e536
mov eax, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x2c], eax
test eax, eax
je 0x1006ece9
cmp byte [eax + 0x2b], 0
jne 0x1006ece9
cmp dword [eax + 0x30], 0
je 0x1006ece9
mov ecx, dword [eax + 0x3c]
mov edi, 0xffff8000
test ecx, ecx
je 0x1006e57a
mov eax, dword [edx + 0x10]
xor edi, edi
add eax, 0xc
cmp dword [eax], ecx
je 0x1006e57a
lea eax, [eax + 0x10]
inc edi
cmp dword [eax], ecx
jne 0x1006e572
mov eax, dword [edx + 0x10]
mov ecx, edi
shl ecx, 4
mov edx, ebx
mov dword [esp + 0x20], ecx
mov eax, dword [ecx + eax]
mov ecx, edi
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x74]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov ebx, dword [edx + 0x54]
test ebx, eax
jne 0x1006e6aa
bts ebx, edi
mov dword [edx + 0x54], ebx
cmp edi, 1
jne 0x1006e6b3
mov ecx, edx
call fcn.1005a660
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x54]
movsx eax, word [ebx + 0x22]
inc ecx
add eax, ecx
mov ecx, dword [esp + 0x18]
cmp eax, dword [ecx + 0x2c]
jle 0x1006e5dc
mov dword [ecx + 0x2c], eax
push 0x64
push ebx
push edi
xor edx, edx
call fcn.10065820
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, esi
push dword [ebx]
call fcn.100294a0
mov ecx, dword [ebx + 0x30]
add esp, 4
mov dword [esp + 0x14], ecx
mov eax, 1
mov dword [esp + 0x40], eax
test ecx, ecx
je 0x1006e7a4
mov edx, dword [ecx + 8]
push dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
call fcn.100524b0
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1006e784
mov dword [esp + 0x38], 0
cmp edi, 1
je 0x1006e668
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x20]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax + 4]
cmp byte [eax + 9], 0
je 0x1006e668
push dword [ebx]
mov ecx, dword [esp + 0x1c]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.10051c20
add esp, 0xc
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x38]
push 0
push eax
push dword [esp + 0x1c]
mov edx, ebx
call fcn.10061d80
add esp, 0xc
test eax, eax
jne 0x1006cac2
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
test eax, eax
jne 0x1006e6ec
mov ecx, dword [esp + 0x18]
push 0x64
push ebx
push edi
call fcn.10065820
add esp, 0xc
jmp 0x1006e784
cmp edi, 1
je 0x1006e5c1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx + 4]
cmp byte [eax + 9], 0
je 0x1006e5c5
push dword [ebx]
mov ecx, dword [esp + 0x1c]
mov edx, edi
push 0
push dword [ebx + 0x14]
call fcn.10051c20
add esp, 0xc
jmp 0x1006e5c5
mov ecx, dword [esi + 0x74]
mov ebx, dword [eax + 0x2c]
cmp dword [esi + 0x78], ecx
jg 0x1006e70b
push edi
push ebx
push edx
mov edx, 0x64
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006e732
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x64
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], edi
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov eax, dword [ecx + 8]
mov dword [esp + 0x1c], eax
call fcn.1005b100
mov ebx, eax
test ebx, ebx
je 0x1006e784
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
cmp byte [eax + 0x53], 0
je 0x1006e772
cmp dword [eax + 0x210], 0
jne 0x1006e784
add dword [ebx], 0xffffffff
jne 0x1006e784
mov ecx, dword [ebx + 0xc]
mov edx, ebx
call fcn.10004cc0
jmp 0x1006e784
mov eax, dword [edx + 0x74]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x70]
mov byte [eax + ecx*4 - 0x13], 0xf7
mov dword [eax + ecx*4 - 4], ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x1006e612
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x28], eax
jge 0x1006e7b0
mov dword [ecx + 0x28], eax
mov edx, dword [esi + 0x74]
mov dword [esp + 0x4c], edx
cmp dword [esi + 0x78], edx
jg 0x1006e7d7
push 0
push 0
push 0
mov edx, 0x26
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov dword [esp + 0x4c], eax
jmp 0x1006e80a
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x26
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 0x30]
mov dword [esp + 0x48], 1
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x1006ec63
mov ecx, dword [esp + 0x10]
nop word [eax + eax]
push dword [esp + 0x34]
mov edx, dword [ebx + 8]
call fcn.100524b0
xor edi, edi
mov dword [esp + 0x20], eax
add esp, 4
mov dword [esp + 0x38], 0
mov dword [esp + 0x14], edi
test eax, eax
je 0x1006e872
lea ecx, [esp + 0x14]
mov edx, eax
push ecx
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x20]
push ebx
call fcn.10061d80
mov edi, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x18]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + 0x14]
inc eax
add eax, ecx
mov dword [esp + 0x14], ebx
cmp eax, dword [esi + 0x2c]
mov esi, dword [esp + 0x44]
jle 0x1006e8a5
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x2c], eax
mov ecx, dword [edx + 0x14]
xor eax, eax
mov dword [esp + 0x20], eax
test ecx, ecx
jle 0x1006e954
mov ebx, dword [esp + 0x54]
inc ebx
add edx, 0x24
mov dword [esp + 0x3c], edx
nop
lea eax, [edi + eax*4]
test edi, edi
jne 0x1006e8c9
mov eax, edx
mov eax, dword [eax]
mov ecx, esi
mov edx, dword [esp + 0x2c]
push ebx
push eax
push 0
call fcn.10046c60
mov ecx, dword [esi + 0x74]
add esp, 0xc
cmp dword [esi + 0x78], ecx
jg 0x1006e8fd
push 0
push dword [esp + 0x18]
mov edx, 0x32
mov ecx, esi
push ebx
call fcn.10029250
add esp, 0xc
jmp 0x1006e92c
mov edx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x40]
inc ebx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
inc eax
add edx, 8
mov dword [esp + 0x20], eax
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x3c], edx
cmp eax, ecx
jl 0x1006e8c0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
test edx, edx
je 0x1006e9a9
push ecx
push ecx
mov ecx, dword [esp + 0x18]
call fcn.10065970
mov ecx, dword [esp + 0x5c]
add esp, 4
mov edx, 0x5f
push eax
mov eax, dword [esp + 0x48]
push ecx
push dword [eax + 0x14]
lea eax, [ecx + 1]
mov ecx, esi
push eax
call fcn.100296d0
add esp, 0x14
mov edx, 0x1f
mov ecx, esi
push 0
push dword [esp + 0x58]
push ebx
push dword [esp + 0x54]
call fcn.10029b70
add esp, 0x10
jmp 0x1006ea5c
cmp dword [esp + 0x1c], 0
je 0x1006ea5c
mov ecx, dword [esi + 0x74]
lea edx, [ecx + 2]
cmp dword [esi + 0x78], ecx
jg 0x1006e9db
mov eax, dword [esp + 0x54]
mov ecx, esi
inc eax
push eax
push edx
push dword [esp + 0x50]
mov edx, 0x20
call fcn.10029250
add esp, 0xc
jmp 0x1006ea0f
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov esi, dword [esp + 0x48]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x54]
inc edx
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x20
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x1006ea2d
push 0
push ebx
push 0
mov edx, 0xb
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006ea5c
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0x74]
mov eax, dword [esi + 0x78]
test byte [edx + 0x1c], 0x80
jne 0x1006eaa3
cmp eax, ecx
jg 0x1006ea8e
mov eax, dword [esp + 0x24]
mov edx, 0x85
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.10029250
add esp, 0xc
jmp 0x1006eafa
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x85
jmp 0x1006ead5
cmp eax, ecx
jg 0x1006eac2
mov eax, dword [esp + 0x24]
mov edx, 0x49
push 0
inc eax
mov ecx, esi
push eax
push 0
call fcn.10029250
add esp, 0xc
jmp 0x1006eafa
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x49
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x44]
inc edx
mov dword [eax + ecx*4 + 0x10], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 4], 0
mov eax, dword [esp + 0x48]
dec eax
push eax
mov eax, dword [esp + 0x44]
push dword [eax + 8]
mov eax, dword [esp + 0x2c]
push 0x1010c054
add eax, 2
push eax
push esi
call fcn.10029530
mov ecx, dword [esi + 0x74]
add esp, 0x14
cmp dword [esi + 0x78], ecx
jg 0x1006eb3e
push 0
push 4
push dword [esp + 0x2c]
mov edx, 0x52
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006eb71
mov edx, dword [esp + 0x24]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x52
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006eb8b
push ebx
mov edx, esi
call fcn.10029c70
add esp, 4
jmp 0x1006eb94
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + ebx*4], eax
mov ecx, dword [esp + 0x10]
test edi, edi
je 0x1006ec4c
cmp dword [ecx + 0x210], 0
je 0x1006ebb5
mov edx, edi
call fcn.10004c70
jmp 0x1006ec48
cmp edi, dword [ecx + 0x164]
jae 0x1006ebf0
cmp edi, dword [ecx + 0x15c]
jb 0x1006ebd8
mov eax, dword [ecx + 0x158]
mov dword [edi], eax
mov dword [ecx + 0x158], edi
jmp 0x1006ec4c
cmp edi, dword [ecx + 0x160]
jb 0x1006ebf0
mov eax, dword [ecx + 0x150]
mov dword [edi], eax
mov dword [ecx + 0x150], edi
jmp 0x1006ec4c
cmp dword [0x1011d0f8], 0
je 0x1006ec3e
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x1006ec0c
push eax
call dword [0x1011d148]
add esp, 4
push edi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push edi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x1006ec48
push eax
call dword [0x1011d150]
jmp 0x1006ec45
push edi
call dword [0x1011d11c]
add esp, 4
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x40]
inc dword [esp + 0x48]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x40], ebx
test ebx, ebx
jne 0x1006e830
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esi + 0x74]
lea edx, [ebx + 1]
cmp dword [esi + 0x78], ecx
jg 0x1006ec88
push 0
push edx
push 0
mov edx, 5
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006ecb7
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x74]
cmp byte [eax + 0x53], 0
je 0x1006ecc9
mov eax, 0x1011f1ec
jmp 0x1006ecda
test ebx, ebx
lea eax, [edx - 1]
cmovns eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x70]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x18]
mov dword [eax + 8], edx
test ecx, ecx
je 0x1006cac2
mov edx, dword [esp + 0x10]
jmp 0x1006e513
test ecx, ecx
je 0x1006cac2
push 0
mov edx, 1
call fcn.1006be80
mov ecx, dword [esp + 0x14]
xor edx, edx
add esp, 4
test al, al
setne dl
call fcn.10061550
jmp 0x1006cac2
mov edi, dword [esp + 0x24]
xor eax, eax
mov ebx, dword [esp + 0x18]
or edx, 0xffffffff
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x30]
movzx eax, byte [eax]
mov al, byte [eax + 0x10114750]
mov byte [esp + 0x53], al
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
mov eax, 0x64
mov dword [ebx + 0x2c], 6
cmove edi, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
test ecx, ecx
je 0x1006edc1
lea edx, [esp + 0x20]
call fcn.10009750
test eax, eax
je 0x1006ed8e
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
test eax, eax
jg 0x1006edc1
mov eax, 0x64
jmp 0x1006edbd
test edi, edi
js 0x1006eda2
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x1006eda4
xor eax, eax
push eax
push dword [esp + 0x2c]
xor edx, edx
mov ecx, ebx
call fcn.100527a0
mov dword [esp + 0x48], eax
add esp, 8
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], eax
lea ecx, [eax - 1]
mov edx, 0x46
push 1
push ecx
mov ecx, esi
call fcn.100293c0
mov eax, dword [esp + 0x18]
xor ecx, ecx
add esp, 8
mov dword [esp + 0x54], ecx
cmp dword [eax + 0x14], ecx
jle 0x1006fd0c
nop dword [eax]
xor eax, eax
test edi, edi
js 0x1006edfe
cmp ecx, edi
jne 0x1006fcfa
mov eax, dword [ebx + 0x74]
mov edx, ebx
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x54]
test edi, eax
jne 0x1006ee2c
bts edi, ecx
mov dword [edx + 0x54], edi
cmp ecx, 1
jne 0x1006ee2c
mov ecx, edx
call fcn.1005a660
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
mov edx, ecx
shl edx, 4
xor ecx, ecx
mov dword [esp + 0x1c], edx
mov eax, dword [eax + 0x10]
mov eax, dword [edx + eax + 0xc]
mov dword [esp + 0x3c], eax
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x1006fcee
mov edx, dword [esp + 0x40]
mov esi, ecx
mov edi, dword [ebx + 8]
test edx, edx
je 0x1006ee62
cmp edx, edi
jne 0x1006ee89
test byte [edi + 0x1c], 0x80
lea eax, [ecx + 1]
cmovne eax, ecx
xor edx, edx
mov ecx, eax
mov eax, dword [edi + 8]
test eax, eax
je 0x1006ee80
mov eax, dword [eax + 0x14]
inc ecx
inc edx
test eax, eax
jne 0x1006ee77
cmp edx, esi
cmovg esi, edx
mov edx, dword [esp + 0x40]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x1006ee57
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x44]
test ecx, ecx
je 0x1006fcee
lea eax, [ecx + 1]
test edx, edx
push ebx
cmove eax, ecx
mov ecx, dword [esp + 0x14]
lea eax, [eax*4 + 4]
push eax
call fcn.10005060
mov edi, eax
add esp, 8
test edi, edi
je 0x1006fd0c
xor edx, edx
cmp dword [esp + 0x40], edx
je 0x1006eed4
lea edx, [ebx + 1]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x10]
test ebx, ebx
je 0x1006ef1a
mov esi, dword [esp + 0x40]
mov ecx, dword [ebx + 8]
test esi, esi
je 0x1006eeee
cmp esi, ecx
jne 0x1006ef10
test byte [ecx + 0x1c], 0x80
jne 0x1006eefb
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x1006ef10
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x1006ef02
mov ebx, dword [ebx]
test ebx, ebx
jne 0x1006eee3
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov dword [edi], edx
add eax, 8
mov ecx, dword [ebx + 0x2c]
cmp ecx, eax
mov byte [ebx + 0x13], 0
cmovle ecx, eax
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x2c], ecx
mov ebx, dword [esi + 0x74]
cmp dword [esi + 0x78], ebx
jg 0x1006ef5d
push 1
push edx
push 2
mov edx, 0x99
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov ebx, eax
jmp 0x1006ef90
lea eax, [ebx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x70]
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x99
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x53], 0
je 0x1006efa1
mov edx, edi
call fcn.10004cc0
jmp 0x1006efd1
test ebx, ebx
jns 0x1006efa9
mov ebx, dword [esi + 0x74]
dec ebx
mov eax, dword [esi + 0x70]
lea ecx, [ebx + ebx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1006efca
push 0xfffffffffffffff1
push edi
mov edx, eax
mov ecx, esi
call fcn.1002a2c0
add esp, 8
jmp 0x1006efd1
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf1
mov edi, dword [esi + 0x74]
test edi, edi
jle 0x1006efed
mov eax, dword [esp + 0x54]
lea ecx, [edi + edi*4]
movzx edx, al
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esi + 0x74]
cmp dword [esi + 0x78], edi
jg 0x1006f00b
push 0
push 0
push 2
mov edx, 0x32
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov edi, eax
jmp 0x1006f03e
lea eax, [edi + 1]
mov dword [esi + 0x74], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx + 0x10]
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.10007ea0
mov edx, dword [esi + 0x74]
add esp, 0xc
mov ebx, eax
cmp dword [esi + 0x78], edx
jg 0x1006f07d
push 0
push 3
push 0
mov edx, 0x74
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov edx, eax
jmp 0x1006f0b4
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x74
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x53], 0
je 0x1006f0c9
test ebx, ebx
je 0x1006f0fd
mov edx, ebx
call fcn.10004cc0
jmp 0x1006f0fd
test edx, edx
jns 0x1006f0d1
mov edx, dword [esi + 0x74]
dec edx
mov eax, dword [esi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1006f0f2
push 0xfffffffffffffff9
push ebx
mov edx, eax
mov ecx, esi
call fcn.1002a2c0
add esp, 8
jmp 0x1006f0fd
test ebx, ebx
je 0x1006f0fd
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xf9
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x1006f11c
push 3
push 3
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006f14f
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.1006c620
mov eax, dword [esi]
mov edx, dword [esi + 0x74]
cmp byte [eax + 0x53], 0
je 0x1006f168
mov eax, 0x1011f1ec
jmp 0x1006f179
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x70]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x3c]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x1c], edi
test edi, edi
je 0x1006fcee
nop
mov edi, dword [edi + 8]
mov dword [esp + 0x34], edi
mov dword [esp + 0x68], 0
mov dword [esp + 0x58], 0xffffffff
cmp byte [edi + 0x2b], 0
jne 0x1006fcdc
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1006f1c1
cmp eax, edi
jne 0x1006fcdc
test byte [edi + 0x1c], 0x80
jne 0x1006f1d1
mov dword [esp + 0x2c], 0
jmp 0x1006f1f4
mov ebx, dword [edi + 8]
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x1006f1f4
nop dword [eax]
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
je 0x1006f1f0
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x1006f1e0
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x3c]
mov edx, edi
push eax
push 0
push 1
push 0
push 0x64
call fcn.10069ce0
mov ecx, dword [esi + 0x74]
add esp, 0x18
cmp dword [esi + 0x78], ecx
jg 0x1006f233
push 0
push 7
push 0
mov edx, 0x46
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006f266
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1006f2cb
mov edi, 8
mov ecx, dword [esi + 0x74]
cmp dword [esi + 0x78], ecx
jg 0x1006f290
push 0
push edi
push 0
mov edx, 0x46
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006f2bf
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx + 0x14]
inc edi
test ebx, ebx
jne 0x1006f272
mov edi, dword [esp + 0x34]
mov ecx, dword [esi + 0x74]
mov ebx, dword [esp + 0x38]
cmp dword [esi + 0x78], ecx
jg 0x1006f2ed
push 0
push 0
push ebx
mov edx, 0x26
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006f31c
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x26
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esi + 0x74]
mov dword [esp + 0x60], edx
cmp dword [esi + 0x78], edx
jg 0x1006f343
push 0
push 1
push 7
mov edx, 0x54
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov dword [esp + 0x60], eax
jmp 0x1006f376
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x54
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp byte [esp + 0x53], 0x71
je 0x1006f3e5
movsx edx, word [edi + 0x24]
mov ecx, dword [esi + 0x74]
dec edx
cmp dword [esi + 0x78], ecx
jg 0x1006f39f
push 3
push edx
push ebx
mov edx, 0x5c
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006f3ce
mov edi, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x5c
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x1006f3e5
lea ecx, [eax + eax*4]
mov edx, 0x80
mov eax, dword [esi + 0x70]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x34]
xor eax, eax
movzx ecx, word [edi + 0x1e]
xor edi, edi
and ecx, 1
mov dword [esp + 0x3c], edi
mov dword [esp + 0x4c], ecx
cmp ax, word [edx + 0x22]
jge 0x1006f794
mov dword [esp + 0x20], eax
nop word [eax + eax]
mov ebx, dword [edx + 4]
add ebx, eax
movsx eax, word [edx + 0x20]
mov dword [esp + 0x48], ebx
cmp edi, eax
je 0x1006f77a
test byte [ebx + 4], 0xf
jne 0x1006f433
test ecx, ecx
je 0x1006f77a
test ecx, ecx
je 0x1006f44b
mov eax, dword [esp + 0x18]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x3c]
jmp 0x1006f453
mov dword [esp + 0x5c], 0
push 3
push edi
push dword [esp + 0x40]
mov ecx, esi
call fcn.10046c60
mov edx, dword [esi + 0x74]
add esp, 0xc
mov eax, dword [esi]
lea ecx, [edx + edx*4]
shl ecx, 2
cmp byte [eax + 0x53], 0
je 0x1006f47c
mov eax, 0x1011f1ec
jmp 0x1006f484
mov eax, dword [esi + 0x70]
add eax, 0xffffffec
add eax, ecx
cmp byte [eax], 0x5c
jne 0x1006f49a
test edx, edx
jle 0x1006f49a
mov eax, dword [esi + 0x70]
mov edx, 0x80
mov word [eax + ecx - 0x12], dx
test byte [ebx + 4], 0xf
je 0x1006f654
mov ebx, dword [esi + 0x74]
cmp dword [esi + 0x78], ebx
jg 0x1006f4c5
push 0
push 0
push 3
mov edx, 0x33
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov ebx, eax
jmp 0x1006f4f8
lea eax, [ebx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x33
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x48]
push dword [eax]
mov eax, dword [esp + 0x38]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.10007ea0
mov edx, dword [esi + 0x74]
add esp, 0x10
mov edi, eax
cmp dword [esi + 0x78], edx
jg 0x1006f538
push 0
push 3
push 0
mov edx, 0x74
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov edx, eax
jmp 0x1006f56f
lea eax, [edx + 1]
mov dword [esi + 0x74], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x70]
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x74
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x53], 0
je 0x1006f584
test edi, edi
je 0x1006f5b8
mov edx, edi
call fcn.10004cc0
jmp 0x1006f5b8
test edx, edx
jns 0x1006f58c
mov edx, dword [esi + 0x74]
dec edx
mov eax, dword [esi + 0x70]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x1006f5ad
push 0xfffffffffffffff9
push edi
mov edx, eax
mov ecx, esi
call fcn.1002a2c0
add esp, 8
jmp 0x1006f5b8
test edi, edi
je 0x1006f5b8
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
cmp dword [esp + 0x4c], 0
je 0x1006f61f
mov eax, dword [esp + 0x48]
mov eax, dword [eax + 4]
and al, 0xf0
cmp al, 0x10
je 0x1006f61f
mov ecx, dword [esi + 0x74]
mov edx, dword [esp + 0x5c]
cmp dword [esi + 0x78], ecx
jg 0x1006f5ee
push 0
push edx
push 0
mov edx, 0xb
mov ecx, esi
call fcn.10029250
add esp, 0xc
jmp 0x1006f626
lea eax, [ecx + 1]
mov dword [esi + 0x74], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0xb
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x1006f626
mov ecx, esi
call fcn.1006c620
mov eax, dword [esi]
mov edx, dword [esi + 0x74]
cmp byte [eax + 0x53], 0
je 0x1006f638
mov eax, 0x1011f1ec
jmp 0x1006f649
test ebx, ebx
lea eax, [edx - 1]
cmovns eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x70]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x34]
test dword [edx + 0x1c], 0x10000
je 0x1006f776
mov eax, dword [ebx + 4]
shr eax, 4
and eax, 0xf
cmp eax, 1
je 0x1006f776
mov edi, dword [esi + 0x74]
movsx edx, byte [eax + 0x10118d57]
cmp dword [esi + 0x78], edi
jg 0x1006f69e
push edx
push 0
push 3
mov edx, 0x15
mov ecx, esi
call fcn.10029250
add esp, 0xc
mov edi, eax
jmp 0x1006f6d1
mov ebx, dword [esp + 0x48]
lea eax, [edi + 1]
mov dword [esi + 0x74], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x70]
mov dword [eax + ecx*4], 0x15
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov eax, dword [edx + 4]
push dword [ecx + eax]
mov eax, dword [ebx + 4]
push dword [edx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x1011e4fc]
push str.non__s_value_in__s._s
push dword [esp + 0x20]
call fcn.10007ea0
add esp, 0x14
mov edx, 0x74
mov ecx, esi
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
call fcn.100296d0
mov ecx, dword [esi + 0xc]
add esp, 0x14
mov edx, dword [esp + 0x5c]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006f738
push edx
mov edx, esi
call fcn.10029c70
add esp, 4
jmp 0x1006f741
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edx*4], eax
mov ecx, esi
call fcn.1006c620
mov eax, dword [esi]
mov edx, dword [esi + 0x74]
cmp byte [eax + 0x53], 0
je 0x1006f75a
mov eax, 0x1011f1ec
jmp 0x1006f76b
test edi, edi
lea eax, [edx - 1]
cmovns eax, edi
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x70]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x3c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
movsx eax, word [edx + 0x22]
inc edi
add dword [esp + 0x20], 0x10
cmp edi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c], edi
jl 0x1006f410
mov edx, dword [edx + 0x10]
test edx, edx
je 0x1006f8d8
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x1006f8d8
push eax
mov ecx, ebx
call fcn.10042c10
add esp, 4
mov edx, eax
cmp byte [ebx + 0x53], 0
mov dword [esp + 0x20], edx
jne 0x1006f8cd
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x38]
dec ebx
mov dword [esp + 0x3c], ebx
lea ecx, [ebx - 1]
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x38]
mov dword [esp + 0x4c], ecx
inc eax
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x1006f82e
mov esi, dword [esp + 0x3c]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
push 0
push esi
push dword [ebx]
push ecx
call fcn.10049090
mov ecx, dword [esp + 0x28]
lea ebx, [ebx - 0x14]
dec edi
add esp, 0x10
test edi, edi
jg 0x1006f808
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
push 0x10
push edi
push dword [edx + 8]
push ecx
call fcn.10048cc0
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006f85b
push ebx
mov edx, esi
call fcn.10029c70
add esp, 4
jmp 0x1006f864
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x34]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push ebx
call fcn.10007ea0
add esp, 0xc
mov edx, 0x74
mov ecx, esi
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
call fcn.100296d0
add esp, 0x14
mov ecx, esi
call fcn.1006c620
mov ecx, dword [esi + 0xc]
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006f8c0
push edi
mov edx, esi
call fcn.10029c70
add esp, 4
jmp 0x1006f8c9
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edi*4], eax
mov edx, dword [esp + 0x20]
test edx, edx
je 0x1006f8d8
mov ecx, ebx
call fcn.10043810
cmp byte [esp + 0x53], 0x71
mov edi, dword [esp + 0x34]
je 0x1006fbac
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1006fbac
mov eax, dword [esp + 0x64]
mov ecx, 8
sub ecx, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x2c]
nop dword [eax]
mov edi, dword [eax + 0x38]
dec edi
mov dword [eax + 0x38], edi
cmp ecx, ebx
je 0x1006fb99
push dword [esp + 0x58]
lea ecx, [esp + 0x74]
mov edx, ebx
push dword [esp + 0x6c]
push ecx
push 0
push 0
push dword [esp + 0x4c]
mov ecx, eax
call fcn.1005d3a0
mov ecx, dword [esp + 0x60]
mov edx, 0x54
add ecx, dword [esp + 0x54]
push 1
push ecx
mov ecx, esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x88], ebx
call fcn.100293c0
movzx ecx, word [ebx + 0x34]
mov edx, 0x1f
push ecx
push dword [esp + 0x7c]
mov ecx, esi
push edi
push dword [esp + 0x74]
call fcn.10029b70
push str.row
mov edx, 3
mov ecx, esi
mov edi, eax
call fcn.100294a0
add esp, 0x34
mov edx, 0x6f
mov ecx, esi
push 3
push 3
push 7
call fcn.10029290
add esp, 0xc
mov edx, 4
mov ecx, esi
push str._missing_from_index
call fcn.100294a0
add esp, 4
mov edx, 0x6f
mov ecx, esi
push 3
push 3
push 4
call fcn.10029290
add esp, 0xc
mov edx, 4
mov ecx, esi
push dword [ebx]
call fcn.100294a0
add esp, 4
mov dword [esp + 0x5c], eax
mov edx, 0x6f
mov ecx, esi
push 3
push 3
push 4
call fcn.10029290
add esp, 0xc
mov ecx, esi
call fcn.1006c620
mov edx, dword [esi + 0x74]
mov dword [esp + 0x6c], eax
test edi, edi
jns 0x1006fa0c
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
je 0x1006fa1b
mov eax, 0x1011f1ec
jmp 0x1006fa24
mov eax, dword [esi + 0x70]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [ebx + 0x36], 0
je 0x1006fb38
mov eax, dword [esp + 0x18]
xor edi, edi
dec dword [eax + 0x38]
mov edx, dword [eax + 0x38]
xor eax, eax
mov dword [esp + 0x20], edx
cmp ax, word [ebx + 0x32]
jae 0x1006fa8f
nop dword [eax]
mov eax, dword [ebx + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x1006fa6b
mov eax, dword [esp + 0x34]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x1006fa86
mov eax, dword [esp + 0x58]
mov ecx, esi
push edx
add eax, edi
mov edx, 0x32
push eax
call fcn.100293c0
mov edx, dword [esp + 0x28]
add esp, 8
movzx eax, word [ebx + 0x32]
inc edi
cmp edi, eax
jl 0x1006fa50
push dword [esp + 0x48]
mov edx, 5
mov ecx, esi
call fcn.10029360
mov edi, dword [esp + 0x24]
add esp, 4
mov edx, edi
mov dword [esp + 0x4c], eax
mov ecx, esi
call fcn.10029430
mov ecx, dword [esp + 0x4c]
mov edx, dword [esi + 0x74]
test ecx, ecx
jns 0x1006fac1
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
je 0x1006fad0
mov eax, 0x1011f1ec
jmp 0x1006fad9
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, esi
movzx eax, word [ebx + 0x32]
mov edx, 0x28
push eax
push dword [esp + 0x5c]
push edi
push dword [esp + 0x54]
call fcn.10029b70
push str.non_unique_entry_in_index
mov edx, 3
mov ecx, esi
call fcn.100294a0
mov edx, dword [esp + 0x70]
add esp, 0x14
mov ecx, esi
call fcn.10029430
mov ecx, dword [esi + 0xc]
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006fb2f
push edi
mov edx, esi
call fcn.10029c70
add esp, 4
jmp 0x1006fb38
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x74]
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esi + 0x74]
test ecx, ecx
jns 0x1006fb46
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
je 0x1006fb55
mov eax, 0x1011f1ec
jmp 0x1006fb5e
mov eax, dword [esi + 0x70]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x70]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x18]
test edi, edi
je 0x1006fb95
mov edx, dword [eax + 8]
not edi
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x1006fb88
push edi
call fcn.10029c70
add esp, 4
jmp 0x1006fb91
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx + 0x74]
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x48]
test ebx, ebx
jne 0x1006f910
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
mov edx, 5
push ebx
push dword [esp + 0x3c]
mov ecx, esi
call fcn.100293c0
mov eax, dword [esi]
lea ecx, [ebx - 1]
mov edx, dword [esi + 0x74]
add esp, 8
cmp byte [eax + 0x53], 0
je 0x1006fbd9
mov eax, 0x1011f1f4
jmp 0x1006fbec
test ecx, ecx
mov eax, edx
cmovns eax, ebx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x70]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
cmp byte [esp + 0x53], 0x71
mov dword [eax], edx
je 0x1006fcdc
push str.wrong__of_entries_in_index
mov edx, 2
mov ecx, esi
call fcn.100294a0
mov edi, dword [edi + 8]
add esp, 4
test edi, edi
je 0x1006fcdc
mov eax, dword [esp + 0x2c]
mov ebx, 8
mov dword [esp + 0x60], ebx
cmp eax, edi
je 0x1006fccc
mov eax, dword [esp + 0x64]
mov edx, 0x60
add eax, 0xfffffff8
mov ecx, esi
add eax, ebx
push 3
push eax
call fcn.100293c0
push 3
push 0
push ebx
mov edx, 0x35
mov ecx, esi
call fcn.10029290
mov ebx, eax
add esp, 0x14
mov eax, dword [esi + 0x74]
test eax, eax
jle 0x1006fc72
mov ecx, dword [esi + 0x70]
lea edx, [eax + eax*4]
mov eax, 0x90
mov word [ecx + edx*4 - 0x12], ax
push dword [edi]
mov edx, 4
mov ecx, esi
call fcn.100294a0
add esp, 4
mov edx, 0x6f
mov ecx, esi
push 3
push 2
push 4
call fcn.10029290
add esp, 0xc
mov ecx, esi
call fcn.1006c620
mov edx, dword [esi + 0x74]
test ebx, ebx
jns 0x1006fca9
lea ebx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x53], 0
je 0x1006fcb8
mov eax, 0x1011f1ec
jmp 0x1006fcc1
mov eax, dword [esi + 0x70]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov ebx, dword [esp + 0x60]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x2c]
mov edi, dword [edi + 0x14]
inc ebx
mov dword [esp + 0x60], ebx
test edi, edi
jne 0x1006fc25
mov edi, dword [esp + 0x1c]
mov edi, dword [edi]
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x1006f190
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x54], ecx
cmp ecx, dword [eax + 0x14]
jl 0x1006edf0
push ecx
push 0x101191d0
mov edx, 7
mov ecx, esi
call fcn.10029ea0
add esp, 8
test eax, eax
je 0x1006fd47
mov ecx, 1
mov byte [eax + 0x29], 0xff
sub ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov dword [eax + 0x38], 0x1010c118
mov byte [eax + 0x65], 0xff
mov dword [eax + 0x74], str.database_disk_image_is_malformed
mov eax, dword [esi]
mov ecx, dword [esi + 0x74]
sub ecx, 2
cmp byte [eax + 0x53], 0
mov eax, 0x1011f1ec
jne 0x1006fd5d
mov eax, dword [esi + 0x70]
mov dword [eax + 0xc], ecx
jmp 0x1006cac2
test ecx, ecx
jne 0x1006fd99
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.100716c0
test eax, eax
jne 0x1006cac2
mov eax, dword [ebx]
mov ecx, esi
movzx edx, byte [eax + 0x50]
mov edx, dword [edx*8 + 0x10110bf0]
call fcn.1006c320
mov edx, dword [esp + 0x30]
jmp 0x1006cad7
mov edx, dword [esp + 0x10]
test byte [edx + 0x18], 0x40
jne 0x1006df73
mov eax, dword [str.UTF8]
mov esi, 0x10110bf0
test eax, eax
je 0x1006fdff
mov edx, eax
call fcn.10008d80
test eax, eax
je 0x1006fdd0
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x28]
test eax, eax
jne 0x1006fdb5
jmp 0x1006fdfb
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x10]
cmovne edx, eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.1005b710
cmp dword [esi], 0
jne 0x1006cac2
mov ecx, dword [esp + 0x28]
push ecx
push str.unsupported_encoding:__s
push dword [esp + 0x20]
call fcn.10008be0
add esp, 0xc
jmp 0x1006cac2
mov edi, dword [ebx + 8]
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.1002a870
cmp dword [esp + 0x28], 0
je 0x1006fe90
test byte [ebx + 5], 8
jne 0x1006fe90
push ecx
push 0x1011827c
mov edx, 2
mov ecx, esi
call fcn.10029ea0
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x24]
mov esi, eax
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x2c]
add esp, 8
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edi
call fcn.10009750
mov ecx, dword [esp + 0x1c]
mov eax, 1
mov edx, dword [esp + 0x30]
mov dword [esi + 0x20], ecx
mov ecx, dword [esp + 0x10]
mov word [esi + 0x16], ax
call fcn.10004cc0
mov edx, dword [esp + 0x28]
jmp 0x1006cad7
push ecx
push 0x10111e5c
mov edx, 3
mov ecx, esi
call fcn.10029ea0
mov ecx, dword [esp + 0x2c]
add esp, 8
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x20], edi
and dword [esi + 0xa0], 0xffffffdf
jmp 0x1006cac2
mov eax, dword [esp + 0x18]
xor edi, edi
mov dword [eax + 0x2c], 1
mov ecx, 1
cmp edi, 0x2a
ja 0x1006feb2
mov eax, dword [edi*4 + 0x10116fa0]
inc edi
test eax, eax
je 0x1006feb2
mov edx, ecx
mov ecx, esi
push eax
call fcn.100294a0
add esp, 4
mov edx, 0x52
mov ecx, esi
push 1
push 1
call fcn.100293c0
add esp, 8
jmp 0x1006fecb
mov eax, dword [esp + 0x2c]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x24]
xor edi, edi
test ecx, ecx
je 0x1006ff5c
mov edx, str.full
call fcn.10008d80
test eax, eax
jne 0x1006ff2d
lea edi, [eax + 1]
jmp 0x1006ff5c
mov ecx, dword [esp + 0x28]
mov edx, str.restart
call fcn.10008d80
test eax, eax
jne 0x1006ff44
lea edi, [eax + 2]
jmp 0x1006ff5c
mov ecx, dword [esp + 0x28]
mov edx, str.truncate
call fcn.10008d80
test eax, eax
mov ecx, 3
cmove edi, ecx
mov eax, dword [esp + 0x18]
mov edx, 6
push 1
push edi
push ebx
mov ecx, esi
mov dword [eax + 0x2c], 3
call fcn.10029290
add esp, 0xc
mov edx, 0x52
mov ecx, esi
push 3
push 1
call fcn.100293c0
add esp, 8
jmp 0x1006cac2
test ecx, ecx
je 0x1006ffb7
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.10009750
push dword [esp + 0x1c]
push dword [esp + 0x14]
call sym.sqlite3.dll_sqlite3_wal_autocheckpoint
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x100a8170
jne 0x1006ffdf
mov eax, dword [eax + 0x114]
mov ecx, esi
cdq
push edx
push eax
call fcn.1006c1f0
add esp, 8
jmp 0x1006cac2
xor eax, eax
mov ecx, esi
cdq
push edx
push eax
call fcn.1006c1f0
add esp, 8
jmp 0x1006cac2
push dword [esp + 0x10]
call sym.sqlite3.dll_sqlite3_db_release_memory
jmp 0x1006cabf
test ecx, ecx
je 0x10070029
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.10009750
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test cl, 2
je 0x1006cac2
jmp 0x10070031
mov dword [esp + 0x20], 0xfffe
cmp dword [esp + 0x34], 0
mov ebx, dword [esp + 0x18]
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x3c], edx
lea eax, [edx + 1]
mov dword [ebx + 0x28], eax
je 0x10070053
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
jmp 0x1007006d
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x24], eax
jg 0x10070209
mov eax, dword [esp + 0x24]
mov ecx, eax
mov edi, 1
mov eax, dword [esp + 0x38]
rol edi, cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x24], 1
je 0x100701ee
mov eax, dword [ebx + 0x74]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov eax, dword [ecx + 0x54]
test edi, eax
jne 0x100700a8
mov ebx, dword [esp + 0x24]
bts eax, ebx
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x100701e2
nop dword [eax]
nop word [eax + eax]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x100701d4
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x70], ecx
test eax, eax
je 0x10070103
test byte [eax + 0x38], 0x80
je 0x10070144
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x100700f6
test cx, cx
je 0x10070144
mov ecx, dword [esp + 0x18]
push 0x64
push edi
push dword [esp + 0x2c]
call fcn.10065820
mov eax, dword [esp + 0x7c]
add esp, 0xc
mov ecx, dword [esp + 0x20]
mov edx, 0x23
cwde
and ecx, 1
add ecx, 2
push eax
mov eax, dword [esi + 0x74]
add eax, ecx
mov ecx, esi
push eax
push dword [esp + 0x44]
call fcn.10029290
add esp, 0xc
mov edx, dword [esp + 0x10]
push dword [edi]
mov ecx, dword [esp + 0x3c]
mov eax, dword [edx + 0x10]
push dword [ecx + eax]
push str.ANALYZE___w_.__w_
push edx
call fcn.10007ea0
add esp, 0x10
mov edx, eax
test byte [esp + 0x20], 1
je 0x100701b8
mov edi, dword [esp + 0x18]
mov cl, byte [edi + 0x13]
test cl, cl
jne 0x1007017e
inc dword [edi + 0x2c]
mov edi, dword [edi + 0x2c]
jmp 0x1007018d
dec cl
movzx eax, cl
mov byte [edi + 0x13], cl
mov edi, dword [edi + eax*4 + 0x98]
push 0xfffffffffffffff9
push edx
push 0
push edi
push 0
mov edx, 0x74
mov ecx, esi
call fcn.100296d0
add esp, 0x14
mov edx, 0x52
mov ecx, esi
push 1
push edi
call fcn.100293c0
add esp, 8
jmp 0x100701d0
push 0xfffffffffffffff9
push edx
push 0
push 0
push 0
mov edx, 0x92
mov ecx, esi
call fcn.100296d0
add esp, 0x14
mov edx, dword [esp + 0x3c]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x100700d0
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
inc dword [esp + 0x24]
add eax, 0x10
rol edi, 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x24], ecx
jle 0x10070082
mov edx, 0xa4
mov ecx, esi
call fcn.10029300
jmp 0x1006cac2
test ecx, ecx
je 0x1007023b
lea edx, [esp + 0x70]
call fcn.10009640
test eax, eax
jne 0x1007023b
push dword [esp + 0x74]
push dword [esp + 0x74]
call sym.sqlite3.dll_sqlite3_soft_heap_limit64
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.sqlite3.dll_sqlite3_soft_heap_limit64
push edx
push eax
mov ecx, esi
call fcn.1006c1f0
add esp, 0x10
jmp 0x1006cac2
test ecx, ecx
je 0x100702a0
lea edx, [esp + 0x70]
call fcn.10009640
test eax, eax
jne 0x100702a0
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.sqlite3.dll_sqlite3_hard_heap_limit64
mov edi, dword [esp + 0x7c]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x100702a0
mov ecx, dword [esp + 0x70]
jg 0x10070286
test ecx, ecx
je 0x100702a0
mov eax, ebx
or eax, edx
je 0x10070296
cmp edx, edi
jl 0x100702a0
jg 0x10070296
cmp ebx, ecx
jbe 0x100702a0
push edi
push ecx
call sym.sqlite3.dll_sqlite3_hard_heap_limit64
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.sqlite3.dll_sqlite3_hard_heap_limit64
push edx
push eax
mov ecx, esi
call fcn.1006c1f0
add esp, 0x10
jmp 0x1006cac2
test ecx, ecx
je 0x100702ef
lea edx, [esp + 0x70]
call fcn.10009640
test eax, eax
jne 0x100702ef
cmp dword [esp + 0x74], eax
jl 0x100702ef
mov eax, dword [esp + 0x70]
jg 0x100702db
test eax, eax
jb 0x100702ef
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call sym.sqlite3.dll_sqlite3_limit
add esp, 0xc
mov eax, dword [esp + 0x10]
mov ecx, esi
mov eax, dword [eax + 0xa4]
cdq
push edx
push eax
call fcn.1006c1f0
add esp, 8
jmp 0x1006cac2
test ecx, ecx
je 0x1007033b
lea edx, [esp + 0x70]
call fcn.10009640
test eax, eax
jne 0x1007033b
cmp dword [esp + 0x74], eax
jl 0x1007033b
mov eax, dword [esp + 0x70]
jg 0x1007032c
test eax, eax
jb 0x1007033b
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1ec], eax
mov eax, dword [esp + 0x10]
mov ecx, esi
mov eax, dword [eax + 0x1ec]
cdq
push edx
push eax
call fcn.1006c1f0
add esp, 8
jmp 0x1006cac2
test ecx, ecx
je 0x1007037c
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.10009750
push dword [esp + 0x1c]
push dword [esp + 0x14]
call sym.sqlite3.dll_sqlite3_busy_timeout
add esp, 8
mov eax, dword [esp + 0x10]
mov ecx, esi
mov eax, dword [eax + 0x1f0]
cdq
push edx
push eax
call fcn.1006c1f0
add esp, 8
jmp 0x1006cac2