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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 8]
mov ebx, dword [edi]
mov dword [esp + 0xc], ebx
test eax, eax
jne 0x1006f4d7
cmp dword [edi + 0x7c], eax
jne 0x1006f4ce
test byte [ebx + 0x50], 8
jne 0x1006f4ce
mov byte [edi + 0x17], 1
push edi
call fcn.1002f4f0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x1007310e
call fcn.100300e0
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x68]
mov dword [edi + 0x2c], 2
call fcn.10058ba0
mov dword [esp + 0x1c], eax
test eax, eax
js 0x1007310e
mov edx, dword [ebx + 0x10]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], edx
cmp eax, 1
jne 0x1006f536
mov ebx, edi
call fcn.1005f3a0
test eax, eax
jne 0x1007310e
mov esi, dword [esp + 0xc]
jmp 0x1006f538
mov esi, ebx
mov ecx, dword [esp + 0x68]
push esi
call fcn.10058960
mov edi, eax
add esp, 4
mov dword [esp + 0x8c], edi
test edi, edi
je 0x1007310e
cmp dword [ebp + 0x18], 0
je 0x1006f570
mov eax, dword [ebp + 0x14]
push eax
push 0x1012047c
push esi
call fcn.1000ced0
add esp, 0xc
jmp 0x1006f57c
mov ecx, dword [ebp + 0x14]
push esi
call fcn.10058960
add esp, 4
mov ecx, dword [ebp + 0x10]
cmp dword [ecx + 4], 0
mov dword [esp + 0x40], eax
jbe 0x1006f595
mov edx, dword [esp + 0x20]
mov esi, dword [edx]
mov dword [esp + 0x10], esi
jmp 0x1006f5a1
mov dword [esp + 0x10], 0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
push esi
push eax
mov eax, dword [ebp + 8]
push edi
push 0x13
call fcn.10056e10
add esp, 0x10
test eax, eax
jne 0x100730ed
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ecx
mov eax, dword [edi + 0xc]
mov dword [edi + 0x1d8], ecx
lea ebx, [ecx + 1]
cmp eax, ecx
je 0x1006f606
push eax
call dword [0x1012c438]
add esp, 4
xor ecx, ecx
cmp esi, ecx
je 0x1006f659
push esi
mov ecx, edi
call fcn.10058a70
add esp, 4
test eax, eax
js 0x1006f694
mov ecx, dword [edi + 0x10]
add eax, eax
mov esi, dword [ecx + eax*8 + 4]
test esi, esi
je 0x1006f694
cmp byte [esi + 9], 0
je 0x1006f63c
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x1006f63c
mov edi, esi
call fcn.10020890
mov edx, dword [esi + 4]
mov eax, dword [edx]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov edi, dword [ecx + 0x1d8]
mov ecx, dword [eax]
test ecx, ecx
jne 0x1006f65d
lea ebx, [ecx + 0xc]
jmp 0x1006f672
xor eax, eax
jmp 0x1006f619
lea edx, [esp + 0x98]
push edx
push 0xe
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov ebx, eax
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x1d8], edi
cmp byte [esi + 9], 0
je 0x1006f692
dec dword [esi + 0xc]
jne 0x1006f692
call fcn.10020850
mov edi, dword [esp + 0xc]
jmp 0x1006f694
mov edi, ecx
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1006f6a5
push eax
call dword [0x1012c440]
add esp, 4
test ebx, ebx
jne 0x1006f6ed
mov esi, dword [esp + 0x14]
lea eax, [ebx + 1]
mov ecx, esi
call fcn.10031810
mov edx, dword [esp + 0x98]
push 0xffffffffffffffff
push edx
push ebx
push ebx
mov ecx, esi
call fcn.100318a0
mov eax, dword [esp + 0xa8]
mov ecx, esi
call fcn.1006f110
mov eax, dword [esp + 0xa8]
push eax
call sym.MyService.dll_sqlite3_free
add esp, 0x14
jmp 0x100730ed
cmp ebx, 0xc
je 0x1006f72a
mov eax, dword [esp + 0x98]
mov esi, dword [ebp + 8]
test eax, eax
je 0x1006f71f
push eax
push 0x10112e4c
push esi
call fcn.1000e200
mov ecx, dword [esp + 0xa4]
add esp, 0xc
push ecx
call sym.MyService.dll_sqlite3_free
add esp, 4
inc dword [esi + 0x24]
mov dword [esi + 0xc], ebx
jmp 0x100730ed
mov ebx, dword [esp + 0x8c]
call fcn.1006f270
mov edi, eax
mov dword [esp + 0x24], edi
test edi, edi
je 0x100730ed
test byte [edi + 5], 1
mov esi, dword [ebp + 8]
je 0x1006f75e
push esi
call fcn.10074270
add esp, 4
test eax, eax
jne 0x100730ed
mov al, byte [edi + 5]
mov edi, dword [esp + 0x40]
test al, 2
jne 0x1006f784
test al, 4
je 0x1006f771
test edi, edi
jne 0x1006f784
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
push ebx
call fcn.1006ef80
add esp, 4
jmp 0x1006f788
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
movzx ecx, byte [eax + 4]
dec ecx
cmp ecx, 0x2a
ja case.0x1006f79a.5
jmp dword [ecx*4 + 0x10073118]
mov ecx, dword [esp + 0x1c]
mov edx, 1
shl edx, cl
or dword [ebx + 0x9c], edx
cmp ecx, 1
je 0x1006f7be
mov eax, ebx
call fcn.10030b20
test edi, edi
jne 0x1006f7ea
add dword [esi + 0x2c], 2
push 0x10114600
push 9
mov edi, ebx
call fcn.10030270
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x100730ea
mov ecx, edi
call fcn.1000f290
call fcn.1000ff50
mov ecx, dword [esp + 0x1c]
mov edi, eax
push 0
mov eax, esi
call fcn.1005f500
mov eax, dword [esp + 0x20]
add esp, 4
push edi
push 3
push eax
push 0x64
push ebx
call fcn.1002f870
mov eax, dword [esp + 0x34]
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x50], edi
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 0x50]
mov eax, dword [eax + 4]
add esp, 0x14
push ecx
call fcn.10023260
add esp, 4
jmp 0x100730ed
mov edx, dword [esp + 0x20]
mov esi, dword [edx + 4]
test edi, edi
jne 0x1006f85a
test esi, esi
je 0x1006fed7
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x24]
jmp 0x100730e0
mov ecx, edi
call fcn.1000f290
mov ecx, dword [esp + 0xc]
push 0
push 0
push esi
mov dword [ecx + 0x64], eax
call fcn.100233b0
add esp, 0xc
cmp eax, 7
jne 0x100730ed
mov edx, dword [esp + 0xc]
push edx
call fcn.1000aee0
add esp, 4
jmp 0x100730ed
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
or ebx, 0xffffffff
mov dword [esp + 0x2c], ecx
test edi, edi
je 0x1006f8ce
push str.fast
push edi
call sym.MyService.dll_sqlite3_stricmp
add esp, 8
test eax, eax
jne 0x1006f8b9
lea ebx, [eax + 2]
jmp 0x1006f8ce
push 0
push 1
mov ebx, edi
call fcn.1006ec20
xor ebx, ebx
add esp, 8
test al, al
setne bl
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
jne 0x1006f905
test ebx, ebx
js 0x1006f905
mov eax, dword [esp + 0xc]
xor edi, edi
cmp dword [eax + 0x14], edi
jle 0x1006f905
xor esi, esi
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x10]
mov eax, dword [esi + edx + 4]
call fcn.10023530
mov eax, dword [esp + 0xc]
inc edi
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x1006f8e8
mov eax, dword [esp + 0x2c]
call fcn.10023530
mov esi, dword [esp + 0x14]
jmp 0x100730e2
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov eax, esi
call fcn.1005f440
inc dword [esi + 0x2c]
mov edx, dword [esp + 0x8c]
movzx eax, byte [edx]
cmp byte [eax + 0x10112f10], 0x70
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x44], ecx
jne 0x1006f997
mov eax, dword [ebx + 0x6c]
xor edi, edi
mov esi, ecx
cmp dword [ebx + 0x70], eax
jg 0x1006f970
mov ecx, dword [esp + 0x1c]
push edi
push esi
push ecx
push 0xb1
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x1006fa07
mov ecx, dword [ebx + 0x68]
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax], 0xb1
jmp 0x1006fa07
test edi, edi
je 0x1006f9e2
mov esi, dword [esp + 0x40]
lea edx, [esp + 0x48]
push edx
call fcn.1000f020
add esp, 4
test eax, eax
jne 0x1006f9e2
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
xor edx, edx
cmp ecx, edx
jg 0x1006f9d7
jl 0x1006f9c4
cmp eax, edx
jae 0x1006f9cc
xor eax, eax
mov dword [esp + 0x4c], edx
jmp 0x1006f9e8
cmp ecx, edx
jl 0x1006f9e8
jg 0x1006f9d7
cmp eax, 0xfffffffe
jbe 0x1006f9e8
mov eax, 0xfffffffe
mov dword [esp + 0x4c], edx
jmp 0x1006f9e8
xor eax, eax
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x48]
push eax
push ecx
push 0xb2
push ebx
call fcn.1002f870
mov esi, dword [esp + 0x58]
add esp, 0x14
xor edi, edi
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jg 0x1006fa24
push edi
push 1
push esi
push 0x54
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x100730ed
mov ecx, dword [ebx + 0x68]
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov dword [eax + 4], esi
mov dword [eax + 8], 1
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax], 0x54
jmp 0x100730ed
mov esi, str.normal
mov edx, edi
mov dword [esp + 0x2c], esi
call fcn.1006ecc0
mov edx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
jne 0x1006fabd
cmp edx, 0xffffffff
jne 0x1006fa79
mov ecx, dword [esp + 0xc]
movzx eax, byte [ecx + 0x59]
jmp 0x1006face
test eax, eax
jne 0x1006fabd
mov eax, dword [esp + 0xc]
mov edi, 2
cmp dword [eax + 0x14], edi
jle 0x1006fab6
mov esi, 0x20
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x10]
mov ecx, dword [esi + eax + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.1001d150
mov ecx, dword [esp + 0xc]
inc edi
add esi, 0x10
cmp edi, dword [ecx + 0x14]
jl 0x1006fa90
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov byte [eax + 0x59], dl
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.1001d150
cmp eax, 1
jne 0x1006fad8
mov esi, str.exclusive
mov eax, esi
mov ecx, ebx
call fcn.1006f110
jmp 0x100730ed
test edi, edi
jne 0x1006faf4
mov dword [esp + 0x24], 0xffffffff
jmp 0x1006fb51
mov eax, edi
call fcn.1000dfa0
mov dword [esp + 0x2c], eax
xor esi, esi
cmp esi, 6
je 0x1006faea
mov eax, dword [esi*4 + 0x101145e8]
test eax, eax
je 0x1006faea
mov edx, dword [esp + 0x2c]
push edx
push eax
push edi
call sym.MyService.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x1006fb27
inc esi
jmp 0x1006fb01
mov dword [esp + 0x24], esi
cmp esi, 2
jne 0x1006fb4c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
xor ecx, ecx
or eax, ecx
je 0x1006fb69
mov dword [esp + 0x24], 0xffffffff
jmp 0x1006fb51
cmp esi, 0xffffffff
jne 0x1006fb69
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], 0
jne 0x1006fb69
mov dword [esp + 0x1c], 0
mov dword [eax + 4], 1
mov ecx, dword [esp + 0xc]
mov edi, dword [ecx + 0x14]
dec edi
mov esi, 1
mov ecx, edi
rol esi, cl
test edi, edi
js 0x1006fbdb
mov eax, edi
shl eax, 4
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x10]
cmp dword [eax + ecx + 4], 0
je 0x1006fbcf
cmp edi, dword [esp + 0x1c]
je 0x1006fba4
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
jne 0x1006fbcf
or dword [ebx + 0x9c], esi
cmp edi, 1
je 0x1006fbb8
mov ecx, edi
mov eax, ebx
call fcn.10030b20
mov eax, dword [esp + 0x24]
push eax
push 1
push edi
push 4
push ebx
call fcn.1002f870
mov eax, dword [esp + 0x3c]
add esp, 0x14
sub eax, 0x10
ror esi, 1
dec edi
mov dword [esp + 0x28], eax
jns 0x1006fb87
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jg 0x1006fbfa
push 0
push 1
push 1
push 0x54
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x100730ed
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + edx*4]
mov dword [ebx + 0x6c], ecx
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x54
jmp 0x100730ed
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
or ecx, 0xffffffff
mov eax, 0xfffffffe
mov dword [esp + 0x2c], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
test edi, edi
je 0x1006fc84
mov esi, dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
call fcn.1000f020
mov ecx, dword [esp + 0x50]
add esp, 4
cmp ecx, 0xffffffff
jg 0x1006fc80
jl 0x1006fc79
mov eax, dword [esp + 0x48]
cmp eax, 0xffffffff
jae 0x1006fc84
or eax, 0xffffffff
or ecx, eax
jmp 0x1006fc84
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x30]
push eax
call fcn.1001d2c0
push edx
push eax
mov esi, ebx
call fcn.1006f010
add esp, 0x10
jmp 0x100730ed
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + 4]
test edi, edi
jne 0x1006fcb7
mov eax, esi
call fcn.10023610
jmp 0x100730e0
mov edi, dword [esp + 0x40]
call fcn.1006ed50
mov edx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov byte [edx + 0x5a], al
push eax
mov eax, esi
call fcn.10023590
add esp, 4
test eax, eax
jne 0x100730ed
mov eax, dword [esp + 0x28]
cmp eax, 1
je 0x1006fcf0
cmp eax, 2
jne 0x100730ed
mov esi, dword [ebx + 0x6c]
push 0x10114628
push 5
mov edi, ebx
call fcn.10030270
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add esi, 4
dec edx
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x30], esi
mov dword [eax + 0x54], ecx
mov dword [eax + 0x5c], edx
mov eax, 1
shl eax, cl
add esp, 8
or dword [ebx + 0x9c], eax
cmp ecx, 1
je 0x100730ed
mov eax, ebx
call fcn.10030b20
jmp 0x100730ed
mov dword [esp + 0x28], 0
test edi, edi
je 0x1006fd67
lea ecx, [esp + 0x28]
push ecx
push edi
call fcn.1000f120
add esp, 8
test eax, eax
je 0x1006fd67
mov edi, dword [esp + 0x28]
test edi, edi
jg 0x1006fd6c
mov edi, 0x7fffffff
mov ecx, dword [esp + 0x1c]
push 0
mov eax, esi
call fcn.1005f500
mov eax, dword [ebx + 0x6c]
add esp, 4
cmp dword [ebx + 0x70], eax
jg 0x1006fd97
push 0
push 1
push edi
push 0x47
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x1006fdbe
mov ecx, dword [ebx + 0x68]
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov dword [eax + 4], edi
mov dword [eax + 8], 1
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax], 0x47
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov ebx, 0x3e
mov ecx, edi
call fcn.1002f820
lea esi, [ebx - 0x3d]
lea ebx, [esi + 0x53]
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.1002f820
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006fdff
xor ebx, ebx
push ebx
push 0xffffffffffffffff
push esi
push 0x56
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1006fe2b
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], esi
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x56
xor ebx, ebx
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x70], eax
jg 0x1006fe57
mov edx, dword [esp + 0x18]
push ebx
push edx
push 1
push 0x3b
mov eax, edi
call fcn.1002f760
mov edx, dword [esp + 0x28]
add esp, 0x10
mov eax, edi
call fcn.10030370
jmp 0x100730ed
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x18]
mov dword [edi + 0x6c], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x3b
mov eax, edi
call fcn.10030370
jmp 0x100730ed
test edi, edi
jne 0x1006fe9b
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x50]
jmp 0x100730e0
mov ecx, edi
call fcn.1000f290
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x50]
mov eax, dword [ecx + 4]
push edx
call fcn.10023260
add esp, 4
jmp 0x100730ed
test edi, edi
jne 0x1006fef4
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x20]
and eax, 0x20
xor ecx, ecx
or eax, ecx
jne 0x1006fede
xor eax, eax
jmp 0x100730e0
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
push 0
call fcn.100232b0
add esp, 4
jmp 0x100730e0
lea edx, [esp + 0x28]
push edx
push edi
mov dword [esp + 0x30], 1
call fcn.1000f120
mov esi, dword [esp + 0x30]
add esp, 8
test eax, eax
je 0x1006ff22
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
push esi
call fcn.100232b0
add esp, 4
test esi, esi
setne cl
movzx edx, cl
push edx
push 1
mov ebx, edi
call fcn.1006ec20
add esp, 8
test al, al
mov eax, dword [esp + 0xc]
je 0x1006ff57
mov ecx, dword [eax + 0x24]
or dword [eax + 0x20], 0x20
push eax
mov dword [eax + 0x24], ecx
call fcn.1006f190
add esp, 4
jmp 0x100730ed
mov edx, dword [eax + 0x24]
and dword [eax + 0x20], 0xffffffdf
push eax
mov dword [eax + 0x24], edx
call fcn.1006f190
add esp, 4
jmp 0x100730ed
test edi, edi
je 0x10070009
mov esi, dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
call fcn.1000f020
mov ecx, dword [esp + 0x50]
add esp, 4
test ecx, ecx
jg 0x1006ffad
jl 0x1006ff99
cmp dword [esp + 0x48], 0
jae 0x1006ffad
mov ecx, dword [0x1012c490]
mov dword [esp + 0x48], ecx
mov ecx, dword [0x1012c494]
mov dword [esp + 0x4c], ecx
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
mov eax, dword [esp + 0xc]
jne 0x1006ffc4
mov edx, dword [esp + 0x48]
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], ecx
mov esi, dword [eax + 0x14]
dec esi
js 0x10070006
mov edi, esi
shl edi, 4
nop
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + edx + 4]
test eax, eax
je 0x10070000
cmp esi, dword [esp + 0x1c]
je 0x1006ffee
mov edx, dword [ebp + 0x10]
cmp dword [edx + 4], 0
jne 0x10070000
push ecx
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.10023300
mov ecx, dword [esp + 0x54]
add esp, 8
sub edi, 0x10
dec esi
jns 0x1006ffd0
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0xc]
or eax, 0xffffffff
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x18], 1
test eax, eax
je 0x10070031
push eax
call dword [0x1012c438]
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10070099
push eax
mov ecx, edi
call fcn.10058a70
add esp, 4
test eax, eax
js 0x100700d4
mov edx, edi
mov ecx, dword [edx + 0x10]
add eax, eax
mov edi, dword [ecx + eax*8 + 4]
test edi, edi
je 0x100700d4
cmp byte [edi + 9], 0
je 0x10070073
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x10070073
call fcn.10020890
mov edx, dword [edi + 4]
mov eax, dword [edx]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x40]
mov edx, dword [ecx + 0x1d8]
mov ecx, dword [eax]
mov dword [esp + 0x2c], edx
test ecx, ecx
jne 0x1007009d
mov dword [esp + 0x18], 0xc
jmp 0x100700b1
xor eax, eax
jmp 0x1007004c
lea edx, [esp + 0x48]
push edx
push 0x12
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0xc]
mov dword [edx + 0x1d8], ecx
cmp byte [edi + 9], 0
je 0x100700d4
dec dword [edi + 0xc]
jne 0x100700d4
mov esi, edi
call fcn.10020850
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100700e9
push eax
call dword [0x1012c440]
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x10070102
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push ecx
push edx
mov esi, ebx
jmp 0x100730e5
cmp eax, 0xc
je 0x100730ed
inc dword [esi + 0x24]
mov dword [esi + 0xc], eax
jmp 0x100730ed
test edi, edi
jne 0x10070127
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x56]
jmp 0x100730e0
mov edx, dword [esp + 0x40]
mov edi, esi
call fcn.1006ef20
jmp 0x100730ed
cmp byte [0x1012c3ec], 0
jne 0x10070144
xor eax, eax
jmp 0x1007014f
push 0xb
call dword [0x1012c430]
add esp, 4
push eax
call sym.MyService.dll_sqlite3_mutex_enter
add esp, 4
test edi, edi
jne 0x1007016a
mov eax, dword [0x1013b000]
mov ecx, ebx
call fcn.1006f110
jmp 0x1007019e
cmp byte [edi], 0
je 0x100701d0
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
lea edx, [esp + 0x2c]
push edx
push 1
push edi
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x10070190
cmp dword [esp + 0x2c], eax
jne 0x100701d0
push str.not_a_writable_directory
push esi
call fcn.1000e200
add esp, 8
cmp byte [0x1012c3ec], 0
jne 0x100701b7
xor eax, eax
push eax
call sym.MyService.dll_sqlite3_mutex_leave
add esp, 4
jmp 0x100730ed
push 0xb
call dword [0x1012c430]
add esp, 4
push eax
call sym.MyService.dll_sqlite3_mutex_leave
add esp, 4
jmp 0x100730ed
mov ecx, dword [esp + 0xc]
cmp byte [ecx + 0x56], 1
ja 0x100701e1
mov ecx, esi
call fcn.1006eed0
mov edx, dword [0x1013b000]
push edx
call sym.MyService.dll_sqlite3_free
add esp, 4
cmp byte [edi], 0
je 0x10070207
push edi
push 0x10112e4c
call sym.MyService.dll_sqlite3_mprintf
mov dword [0x1013b000], eax
jmp 0x1007019b
mov dword [0x1013b000], 0
jmp 0x1007019e
cmp byte [0x1012c3ec], 0
jne 0x10070220
xor eax, eax
jmp 0x1007022b
push 0xb
call dword [0x1012c430]
add esp, 4
push eax
call sym.MyService.dll_sqlite3_mutex_enter
add esp, 4
test edi, edi
jne 0x10070249
mov eax, dword [0x1013b004]
mov ecx, ebx
call fcn.1006f110
jmp 0x1007019e
cmp byte [edi], 0
je 0x10070277
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x2c]
push ecx
push 1
push edi
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x10070190
cmp dword [esp + 0x2c], eax
je 0x10070190
mov eax, dword [0x1013b004]
push eax
call sym.MyService.dll_sqlite3_free
add esp, 4
cmp byte [edi], 0
je 0x1007029f
push edi
push 0x10112e4c
call sym.MyService.dll_sqlite3_mprintf
mov dword [0x1013b004], eax
jmp 0x1007019b
mov dword [0x1013b004], 0
jmp 0x1007019e
test edi, edi
jne 0x100702c0
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx + 8]
dec eax
jmp 0x100730e0
mov edx, dword [esp + 0xc]
cmp byte [edx + 0x55], 0
jne 0x100702da
push str.Safety_level_may_not_be_changed_inside_a_transaction
push esi
call fcn.1000e200
jmp 0x100730ea
cmp dword [esp + 0x1c], 1
je 0x100730ed
push 1
push 0
mov ebx, edi
call fcn.1006ec20
add esp, 8
inc eax
and eax, 7
jne 0x100702fe
mov eax, 1
mov ecx, dword [esp + 0x20]
mov byte [ecx + 8], al
mov eax, dword [esp + 0xc]
push eax
mov byte [ecx + 9], 1
call fcn.1006f190
add esp, 4
jmp 0x100730ed
test edi, edi
jne 0x1007034e
mov esi, dword [esp + 0x24]
push ebx
mov eax, esi
call fcn.1006ef80
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
and eax, dword [edx + 0x20]
and ecx, dword [edx + 0x24]
add esp, 4
or eax, ecx
je 0x1006fed7
lea eax, [edi + 1]
jmp 0x100730e0
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0xc]
cmp byte [esi + 0x55], 0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
jne 0x10070372
and dword [esp + 0x48], 0xffffbfff
mov dword [esp + 0x4c], eax
push 0
push 1
mov ebx, edi
call fcn.1006ec20
add esp, 8
test al, al
je 0x10070394
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
or dword [esi + 0x20], edx
or dword [esi + 0x24], eax
jmp 0x100703e5
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, eax
mov ebx, ecx
not edx
and dword [esi + 0x20], edx
not ebx
and dword [esi + 0x24], ebx
cmp eax, 0x80000
jne 0x100703c3
xor edx, edx
cmp ecx, edx
jne 0x100703c3
mov dword [esi + 0x218], edx
mov dword [esi + 0x21c], edx
and eax, 1
xor ecx, ecx
or eax, ecx
je 0x100703e5
push str.reset
push edi
call sym.MyService.dll_sqlite3_stricmp
add esp, 8
test eax, eax
jne 0x100703e5
mov eax, esi
call fcn.10058270
mov ecx, dword [esp + 0x14]
mov ebx, 0xa6
call fcn.1002f7d0
push esi
call fcn.1006f190
add esp, 4
jmp 0x100730ed
test edi, edi
je 0x100730ed
mov eax, dword [esp + 0x10]
push eax
push esi
call fcn.1005f470
mov ecx, dword [esp + 0x18]
push ecx
push edi
push 2
push esi
call fcn.100579e0
add esp, 0x18
mov dword [esp + 0x64], eax
test eax, eax
je 0x100730ed
mov dword [esp + 0x18], 0
mov edi, eax
call fcn.10058d10
mov dword [esp + 0x2c], eax
push esi
mov eax, edi
mov dword [esi + 0x2c], 7
call fcn.1005bb80
mov edx, dword [esp + 0x68]
movsx eax, word [edx + 0x22]
mov edi, dword [edi + 4]
add esp, 4
mov dword [esp + 0x60], 0
test eax, eax
jle 0x100730ed
mov edx, dword [esp + 0x24]
jmp 0x10070480
movzx ecx, word [edi + 0xe]
mov dword [esp + 0x44], 0
test cl, 0x62
je 0x100704c1
mov esi, dword [edx + 8]
or esi, dword [edx + 0xc]
jne 0x100704a2
inc dword [esp + 0x18]
jmp 0x1007056e
test cl, 0x20
je 0x100704b1
mov dword [esp + 0x44], 2
jmp 0x100704c1
movzx edx, cl
and edx, 0x40
or edx, 0x20
shr edx, 5
mov dword [esp + 0x44], edx
test cl, 1
jne 0x100704ca
xor esi, esi
jmp 0x100704f1
mov ecx, dword [esp + 0x2c]
mov esi, 1
test ecx, ecx
je 0x100704f1
cmp eax, esi
jl 0x100704f1
mov ecx, dword [ecx + 4]
mov edi, edi
movsx edx, word [ecx]
cmp edx, dword [esp + 0x60]
je 0x100704f1
inc esi
add ecx, 2
cmp esi, eax
jle 0x100704e0
mov eax, dword [esp + 0x64]
mov ecx, edi
call fcn.10058370
cmp dword [esp + 0x44], 2
jge 0x1007050c
test eax, eax
je 0x1007050c
mov eax, dword [eax + 8]
jmp 0x1007050e
xor eax, eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 8]
or edx, dword [ecx + 0xc]
mov dword [esp + 0x28], str.issisii
jne 0x1007052a
mov dword [esp + 0x28], str.issisi
test byte [edi + 4], 0xf
mov ecx, dword [esp + 0x44]
mov edx, 0
push ecx
setne dl
push esi
push eax
mov eax, edi
push edx
push 0x10112e3c
call fcn.1000dfc0
mov ecx, dword [esp + 0x74]
sub ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x3c]
add esp, 4
push eax
mov eax, dword [edi]
push eax
push ecx
push edx
push 1
push ebx
call fcn.1002fa30
mov edx, dword [esp + 0x4c]
add esp, 0x28
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
movsx eax, word [eax + 0x22]
inc ecx
add edi, 0x10
mov dword [esp + 0x60], ecx
cmp ecx, eax
jl 0x10070480
jmp 0x100730ed
mov edi, dword [esp + 0x10]
push edi
push esi
mov dword [esi + 0x2c], 6
call fcn.1005f470
mov ecx, dword [esp + 0x14]
add esp, 8
cmp dword [ecx + 0x14], 0
mov dword [esp + 0x74], 0
jle 0x100730ed
mov dword [esp + 0x30], 0
jmp 0x100705c8
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
test edi, edi
je 0x100705ec
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + edx]
push ecx
push edi
call sym.MyService.dll_sqlite3_stricmp
add esp, 8
test eax, eax
jne 0x1007075e
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x30]
mov eax, dword [eax + edx + 0xc]
mov ebx, dword [eax + 0xc]
add eax, 8
test ebx, ebx
je 0x100706af
mov ecx, dword [eax + 8]
dec ebx
test ecx, ecx
je 0x100706af
mov edx, dword [ecx + 8]
cmp word [edx + 0x22], 0
je 0x10070626
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10070611
jmp 0x100706af
mov ecx, dword [edx]
push ecx
push str.SELECTFROM__w_
push esi
call fcn.1000ced0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x10070672
push 0
lea edx, [esp + 0x2c]
push edx
push 0
push 0
push 0xffffffffffffffff
push edi
push esi
mov dword [esp + 0x44], 0
call fcn.10074b10
mov eax, dword [esp + 0x44]
add esp, 0x1c
push eax
call sym.MyService.dll_sqlite3_finalize
add esp, 4
mov eax, edi
mov ecx, esi
call fcn.1000a790
cmp byte [esi + 0x57], 0
je 0x10070699
mov ecx, dword [esi + 0x10c]
push str.out_of_memory
push ecx
call fcn.1000e200
mov edx, dword [esi + 0x10c]
add esp, 8
mov dword [edx + 0xc], 7
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + eax + 0xc]
add eax, 8
test ebx, ebx
jne 0x10070605
mov ebx, dword [eax + 8]
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x1007075e
cmp dword [esp + 0x40], 0
mov edi, dword [ebx + 8]
je 0x100706e0
mov edx, dword [edi]
mov eax, dword [esp + 0x40]
push edx
push eax
call sym.MyService.dll_sqlite3_stricmp
add esp, 8
test eax, eax
jne 0x10070750
mov al, byte [edi + 0x2b]
cmp al, 2
jne 0x100706ee
mov ecx, str.view
jmp 0x1007070c
cmp al, 1
jne 0x100706f9
mov ecx, str.virtual
jmp 0x1007070c
test dword [edi + 0x1c], 0x1000
mov ecx, str.shadow
jne 0x1007070c
mov ecx, str.table
mov eax, dword [edi + 0x1c]
mov ebx, dword [edi]
mov edx, eax
shr edx, 0x10
shr eax, 7
and edx, 1
push edx
and eax, 1
push eax
movsx eax, word [edi + 0x22]
push eax
push ecx
call fcn.10057ba0
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [edx + ecx]
mov ecx, dword [esp + 0x28]
push eax
push str.sssiii
push 1
push ecx
call fcn.1002fa30
mov ebx, dword [esp + 0x4c]
add esp, 0x24
mov ebx, dword [ebx]
mov dword [esp + 0x28], ebx
test ebx, ebx
jne 0x100706be
mov eax, dword [esp + 0x74]
add dword [esp + 0x30], 0x10
inc eax
mov dword [esp + 0x74], eax
cmp eax, dword [esi + 0x14]
jl 0x100705c4
jmp 0x100730ed
test edi, edi
je 0x100730ed
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
push edx
push edi
push eax
call fcn.10057c40
add esp, 0xc
mov dword [esp + 0x30], eax
test eax, eax
jne 0x100707d1
mov ecx, dword [esp + 0x10]
push ecx
push edi
push 2
push esi
call fcn.100579e0
add esp, 0x10
test eax, eax
je 0x100730ed
test byte [eax + 0x1c], 0x80
je 0x100730ed
call fcn.10058d10
mov dword [esp + 0x30], eax
test eax, eax
je 0x100730ed
mov edi, dword [esp + 0x30]
mov edx, dword [edi + 0x18]
mov ecx, dword [esp + 0xc]
call fcn.100743e0
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 8]
or edx, dword [ecx + 0xc]
je 0x100707fe
movzx ecx, word [edi + 0x34]
mov dword [esp + 0x18], ecx
mov dword [esi + 0x2c], 6
jmp 0x1007080d
movzx edx, word [edi + 0x32]
mov dword [esp + 0x18], edx
mov dword [esi + 0x2c], 3
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0xc]
mov ecx, eax
mov eax, esi
mov dword [esp + 0x2c], edx
call fcn.1005f440
xor edi, edi
cmp dword [esp + 0x18], edi
jle 0x100730ed
lea ecx, [ecx]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 4]
movzx eax, word [ecx + edi*2]
test ax, ax
jns 0x10070844
xor ecx, ecx
jmp 0x10070853
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 4]
movsx edx, ax
add edx, edx
mov ecx, dword [ecx + edx*8]
push ecx
movsx edx, ax
push edx
push edi
push str.iisX
push 1
push ebx
call fcn.1002fa30
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 8]
add esp, 0x18
or ecx, dword [eax + 0xc]
je 0x100708a4
mov eax, dword [esp + 0x30]
movzx edx, word [eax + 0x32]
xor ecx, ecx
cmp edi, edx
mov edx, dword [eax + 0x20]
setl cl
push ecx
mov ecx, dword [edx + edi*4]
mov edx, dword [eax + 0x1c]
movzx eax, byte [edx + edi]
push ecx
push eax
push str.isiX
push 4
push ebx
call fcn.1002fa30
add esp, 0x18
mov eax, dword [ebx + 0x6c]
mov ecx, dword [esi + 0x2c]
cmp dword [ebx + 0x70], eax
jg 0x100708c2
push 0
push ecx
push 1
push 0x54
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x100708e9
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax + 4], 1
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax], 0x54
inc edi
cmp edi, dword [esp + 0x18]
jl 0x10070830
jmp 0x100730ed
test edi, edi
je 0x100730ed
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push eax
push edi
push ecx
call fcn.100576d0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x100730ed
mov edx, dword [edi + 0x3c]
mov ecx, dword [esp + 0xc]
call fcn.100743e0
mov ecx, eax
mov eax, esi
mov dword [esi + 0x2c], 5
call fcn.1005f440
mov esi, dword [edi + 8]
xor edi, edi
test esi, esi
je 0x100730ed
mov dword [esp + 0x48], 0x1012051c
mov dword [esp + 0x4c], 0x10120520
mov dword [esp + 0x50], 0x1011be60
nop
mov eax, dword [esi + 0x38]
xor edx, edx
cmp dword [esi + 0x24], edx
setne dl
and eax, 3
mov ecx, dword [esp + eax*4 + 0x48]
mov eax, dword [esi]
push edx
xor edx, edx
cmp byte [esi + 0x36], dl
push ecx
setne dl
push edx
push eax
push edi
push str.isisi
push 1
push ebx
call fcn.1002fa30
mov esi, dword [esi + 0x14]
add esp, 0x20
inc edi
test esi, esi
jne 0x10070960
jmp 0x100730ed
mov ecx, dword [esp + 0xc]
mov dword [esi + 0x2c], 3
xor esi, esi
cmp dword [ecx + 0x14], esi
jle 0x100730ed
xor edi, edi
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x10]
lea edx, [edi + eax]
mov eax, dword [edx + 4]
test eax, eax
je 0x100709e1
call fcn.1002c900
mov ecx, dword [edx]
push eax
push ecx
push esi
push 0x1012052c
push 1
push ebx
call fcn.1002fa30
add esp, 0x18
mov edx, dword [esp + 0xc]
inc esi
add edi, 0x10
cmp esi, dword [edx + 0x14]
jl 0x100709b6
jmp 0x100730ed
mov eax, dword [esp + 0xc]
mov dword [esi + 0x2c], 2
mov esi, dword [eax + 0x1c8]
xor edi, edi
test esi, esi
je 0x100730ed
mov edi, edi
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push edx
push edi
push 0x10120530
push 1
push ebx
call fcn.1002fa30
mov esi, dword [esi]
add esp, 0x14
inc edi
test esi, esi
jne 0x10070a10
jmp 0x100730ed
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x18]
shr edi, 5
mov eax, 0x1013ada8
and edi, 1
mov dword [esi + 0x2c], 6
mov dword [esp + 0x28], eax
mov esi, dword [eax]
test esi, esi
je 0x10070a76
push edi
push ebx
mov ebx, 1
mov eax, esi
call fcn.1006f320
mov esi, dword [esi + 0x24]
mov ebx, dword [esp + 0x1c]
add esp, 8
test esi, esi
jne 0x10070a56
mov eax, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x28], eax
cmp eax, 0x1013ae04
jl 0x10070a50
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + 0x1b8]
test esi, esi
je 0x100730ed
jmp 0x10070a9c
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 8]
push edi
push ebx
xor ebx, ebx
call fcn.1006f320
mov esi, dword [esi]
add esp, 8
test esi, esi
jne 0x10070a98
jmp 0x100730ed
mov edx, dword [esp + 0xc]
mov dword [esi + 0x2c], 1
mov esi, dword [edx + 0x19c]
test esi, esi
je 0x100730ed
nop
mov eax, dword [esi + 8]
mov ecx, dword [eax + 4]
push ecx
push 0x1011b138
push 1
push ebx
call fcn.1002fa30
mov esi, dword [esi]
add esp, 0x10
test esi, esi
jne 0x10070ad0
jmp 0x100730ed
mov esi, 0x101141a0
mov edx, dword [esi]
push edx
push 0x1011b138
push 1
push ebx
call fcn.1002fa30
add esi, 0x10
add esp, 0x10
cmp esi, 0x101145d0
jl 0x10070af7
jmp 0x100730ed
test edi, edi
je 0x100730ed
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push eax
push edi
push ecx
call fcn.100576d0
add esp, 0xc
mov dword [esp + 0x2c], eax
test eax, eax
je 0x100730ed
cmp byte [eax + 0x2b], 0
jne 0x100730ed
mov edi, dword [eax + 0x30]
test edi, edi
je 0x100730ed
mov edx, dword [eax + 0x3c]
mov ecx, dword [esp + 0xc]
call fcn.100743e0
mov ecx, eax
mov eax, esi
mov dword [esp + 0x38], 0
mov dword [esi + 0x2c], 8
call fcn.1005f440
lea ebx, [ebx]
xor esi, esi
cmp dword [edi + 0x14], esi
jle 0x10070be3
lea edx, [edi + 0x24]
mov dword [esp + 0x18], edx
mov edi, edi
mov al, byte [edi + 0x19]
push str.NONE
call fcn.1006f220
push eax
mov al, byte [edi + 0x1a]
call fcn.1006f220
push eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [edi + 8]
add edx, edx
mov edx, dword [ecx + edx*8]
mov ecx, dword [esp + 0x48]
push edx
push eax
push esi
push ecx
push str.iissssss
push 1
push ebx
call fcn.1002fa30
add dword [esp + 0x44], 8
inc esi
add esp, 0x2c
cmp esi, dword [edi + 0x14]
jl 0x10070b90
mov edi, dword [edi + 4]
inc dword [esp + 0x38]
test edi, edi
jne 0x10070b80
jmp 0x100730ed
mov eax, dword [esi + 0x2c]
lea edx, [eax + 1]
add eax, 5
mov dword [esi + 0x2c], eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx + edx + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x100730ed
mov edi, dword [ebp + 8]
jmp 0x10070c34
mov eax, dword [esp + 0x64]
cmp dword [esp + 0x40], 0
je 0x10070c60
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
push ecx
push edx
push 0
push edi
call fcn.100579e0
mov esi, eax
add esp, 0x10
mov dword [esp + 0x34], esi
mov dword [esp + 0x64], 0
jmp 0x10070c6f
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x64], edx
mov esi, ecx
test esi, esi
je 0x10071145
cmp byte [esi + 0x2b], 0
jne 0x10071145
cmp dword [esi + 0x30], 0
je 0x10071145
mov edx, dword [esi + 0x3c]
mov ecx, dword [esp + 0xc]
call fcn.100743e0
mov edx, dword [esp + 0xc]
mov edx, dword [edx + 0x10]
mov ecx, eax
add ecx, ecx
mov ecx, dword [edx + ecx*8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], eax
mov ecx, eax
mov eax, edi
call fcn.1005f440
mov edx, dword [esi]
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
push 0
push eax
mov eax, edi
call fcn.10056fe0
movsx eax, word [esi + 0x22]
add eax, dword [esp + 0x3c]
add esp, 0xc
cmp dword [edi + 0x2c], eax
jge 0x10070cdd
mov dword [edi + 0x2c], eax
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
push 0x70
push ecx
push 0
mov eax, esi
mov ecx, edi
call fcn.10068840
mov edx, dword [esi]
add esp, 0xc
push edx
mov edx, dword [esp + 0x64]
mov esi, ebx
call fcn.1002f990
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x30]
add esp, 4
mov dword [esp + 0x3c], 1
mov dword [esp + 0x24], eax
test eax, eax
je 0x10070ddc
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 8]
push ecx
mov ecx, dword [esp + 0x10]
push eax
push ecx
call fcn.100576d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x10070dc5
mov edx, dword [esi]
mov eax, dword [esi + 0x14]
mov ecx, dword [esp + 0x1c]
push edx
push 0
push eax
mov eax, edi
mov dword [esp + 0x68], 0
call fcn.10056fe0
mov edx, dword [esp + 0x30]
add esp, 0xc
lea ecx, [esp + 0x5c]
push ecx
push edx
push esi
push edi
xor eax, eax
call fcn.10065d60
add esp, 0x10
test eax, eax
jne 0x100730ed
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x5c], eax
jne 0x10070da3
mov eax, dword [esp + 0x1c]
push 0x70
push eax
push ecx
mov eax, esi
mov ecx, edi
call fcn.10068840
add esp, 0xc
jmp 0x10070dc5
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x5c]
mov eax, dword [esi + 0x2c]
push edx
push eax
push ecx
push 0x70
push ebx
call fcn.1002f870
add esp, 0x14
mov ecx, esi
mov eax, edi
call fcn.10030740
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
inc dword [esp + 0x3c]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10070d22
mov eax, dword [esp + 0x3c]
cmp dword [edi + 0x28], eax
jge 0x10070de8
mov dword [edi + 0x28], eax
mov edi, dword [esp + 0x14]
xor esi, esi
lea ebx, [esi + 0x24]
mov ecx, edi
call fcn.1002f820
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov ebx, dword [eax + 0x30]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x24], ebx
test ebx, ebx
je 0x100710ed
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
add eax, 2
mov dword [esp + 0x44], ecx
mov dword [esp + 0x68], eax
jmp 0x10070e34
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0xc]
push edx
push eax
push ecx
call fcn.100576d0
mov esi, dword [ebp + 8]
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x2c], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x78], ecx
cmp eax, ecx
je 0x10070e78
lea edx, [esp + 0x5c]
push edx
push ebx
push eax
push esi
lea eax, [esp + 0x88]
call fcn.10065d60
add esp, 0x10
xor ecx, ecx
dec dword [esi + 0x38]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x14]
add eax, dword [esp + 0x30]
cmp dword [esi + 0x2c], eax
jge 0x10070e91
mov dword [esi + 0x2c], eax
mov dword [esp + 0x18], ecx
cmp dword [ebx + 0x14], ecx
jle 0x10070f38
mov esi, dword [esp + 0x30]
lea ecx, [ebx + 0x24]
mov dword [esp + 0x38], ecx
lea esp, [esp]
mov eax, dword [esp + 0x78]
test eax, eax
je 0x10070ec1
mov edx, dword [esp + 0x18]
mov eax, dword [eax + edx*4]
jmp 0x10070ec7
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
push esi
push 0
push ecx
push edi
call fcn.1004c390
mov eax, dword [edi + 0x6c]
add esp, 0x10
cmp dword [edi + 0x70], eax
jg 0x10070ef6
mov edx, dword [esp + 0x70]
push 0
push edx
push esi
push 0x32
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x10070f20
lea ecx, [eax + 1]
mov dword [edi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x70]
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x32
mov eax, dword [esp + 0x18]
add dword [esp + 0x38], 8
inc eax
inc esi
mov dword [esp + 0x18], eax
cmp eax, dword [ebx + 0x14]
jl 0x10070eb0
mov eax, dword [esp + 0x5c]
xor ecx, ecx
cmp eax, ecx
je 0x10070f97
mov eax, dword [eax + 0x10]
cmp eax, ecx
jne 0x10070f5a
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x5c]
push eax
call fcn.10068960
add esp, 4
mov ecx, dword [ebx + 0x14]
mov edx, dword [esp + 0x30]
push ecx
push eax
push 0x60
xor eax, eax
call fcn.1002fbc0
mov ecx, dword [esp + 0x48]
mov edi, dword [ebx + 0x14]
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x20]
add esp, 0xc
push ecx
mov ecx, dword [esp + 0x74]
push 0x1d
call fcn.1002f8e0
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
add esp, 8
jmp 0x10070fc7
cmp dword [esp + 0x2c], ecx
je 0x10070fc9
mov edx, dword [esp + 0x30]
mov eax, dword [edi + 0x6c]
mov ecx, dword [esp + 0x3c]
push edx
add eax, 2
push eax
push ecx
push 0x1e
push edi
call fcn.1002f870
mov esi, dword [esp + 0x84]
add esp, 0x14
mov ecx, edi
call fcn.1002f940
xor ecx, ecx
mov edx, dword [esp + 0x34]
test byte [edx + 0x1c], 0x80
mov eax, dword [edi + 0x6c]
jne 0x1007100b
cmp dword [edi + 0x70], eax
jg 0x10070ff5
mov eax, dword [esp + 0x44]
push 0
push eax
push 0
push 0x87
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x10071051
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov word [eax], 0x87
jmp 0x1007103b
cmp dword [edi + 0x70], eax
jg 0x10071027
mov eax, dword [esp + 0x44]
push 0
push eax
push 0
push 0x4b
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x10071051
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov word [eax], 0x4b
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x44]
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x3c]
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x68]
dec eax
push eax
push ecx
push 0x10120548
push edx
push edi
call fcn.1002fa30
mov eax, dword [edi + 0x6c]
add esp, 0x14
cmp dword [edi + 0x70], eax
jg 0x1007108d
mov eax, dword [esp + 0x60]
push 0
push 4
push eax
push 0x54
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x100710be
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x60]
mov dword [edi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x54
mov eax, dword [esp + 0x70]
mov ecx, edi
call fcn.100300b0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x100710da
mov ecx, dword [esp + 0xc]
call fcn.1000a790
mov ebx, dword [ebx + 4]
inc dword [esp + 0x3c]
mov dword [esp + 0x24], ebx
test ebx, ebx
jne 0x10070e30
mov eax, dword [edi + 0x6c]
mov esi, dword [esp + 0x6c]
lea ecx, [esi + 1]
cmp dword [edi + 0x70], eax
jg 0x1007110f
push 0
push ecx
push 0
push 0x27
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x10071135
lea edx, [eax + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x27
mov edx, esi
mov eax, edi
call fcn.10030370
mov ebx, dword [esp + 0x14]
mov edi, dword [ebp + 8]
cmp dword [esp + 0x64], 0
jne 0x10070c30
jmp 0x100730ed
test edi, edi
je 0x100730ed
mov ebx, dword [esp + 0x40]
push 0
push 1
call fcn.1006ec20
mov edi, dword [esp + 0x14]
xor ecx, ecx
test al, al
setne cl
push ecx
call fcn.10065a80
add esp, 0xc
jmp 0x100730ed
mov edx, dword [esp + 0x8c]
movzx eax, byte [edx]
mov edx, dword [ebp + 0x10]
xor ecx, ecx
cmp byte [eax + 0x10112f10], 0x71
mov dword [esp + 0x88], 0
sete cl
cmp dword [edx], 0
mov dword [esp + 0x18], ecx
jne 0x100711b8
mov dword [esp + 0x1c], 0xffffffff
mov dword [esi + 0x2c], 6
mov dword [esp + 0x44], 0x64
test edi, edi
je 0x1007121a
lea eax, [esp + 0x44]
push eax
push edi
call fcn.1000f120
add esp, 8
test eax, eax
je 0x100711ee
cmp dword [esp + 0x44], 0
jg 0x1007121a
mov dword [esp + 0x44], 0x64
jmp 0x1007121a
mov eax, dword [esp + 0x1c]
test eax, eax
js 0x10071204
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x10]
add eax, eax
mov eax, dword [edx + eax*8]
jmp 0x10071206
xor eax, eax
push eax
push edi
push 0
push esi
call fcn.100579e0
add esp, 0x10
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x44]
mov eax, dword [ebx + 0x6c]
dec ecx
xor edi, edi
cmp dword [ebx + 0x70], eax
jg 0x1007123b
push edi
push 1
push ecx
push 0x47
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x10071260
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 1
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax], 0x47
mov eax, dword [esp + 0xc]
mov dword [esp + 0x60], edi
cmp dword [eax + 0x14], edi
jle 0x10072a98
jmp 0x10071283
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], 0
test eax, eax
js 0x100712a0
cmp dword [esp + 0x60], eax
jne 0x10072a82
mov esi, dword [ebp + 8]
mov ecx, dword [esp + 0x60]
mov eax, esi
call fcn.1005f440
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc]
shl eax, 4
mov byte [esi + 0x17], 0
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + eax + 0xc]
mov esi, dword [eax + 0x10]
add eax, 8
xor edx, edx
mov dword [esp + 0x28], eax
test esi, esi
je 0x10072a82
mov edi, dword [esp + 0x88]
mov eax, dword [esi + 8]
test edi, edi
je 0x100712eb
cmp edi, eax
jne 0x10071313
test byte [eax + 0x1c], 0x80
jne 0x100712f2
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x10071309
jmp 0x10071300
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x10071300
cmp ecx, dword [esp + 0x38]
jle 0x10071313
mov dword [esp + 0x38], ecx
mov esi, dword [esi]
test esi, esi
jne 0x100712e0
test edx, edx
je 0x10072a82
mov edi, dword [esp + 0x88]
test edi, edi
je 0x1007132d
inc edx
mov ecx, dword [esp + 0xc]
lea eax, [edx*4 + 4]
push 0
push eax
call fcn.1000ab60
mov esi, eax
add esp, 8
test esi, esi
je 0x10072a98
xor ecx, ecx
test edi, edi
je 0x1007135f
mov ecx, 1
mov dword [esi + 4], 0
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 8]
test edx, edx
je 0x100713b1
lea ebx, [ebx]
mov eax, dword [edx + 8]
test edi, edi
je 0x1007137b
cmp edi, eax
jne 0x100713ab
test byte [eax + 0x1c], 0x80
jne 0x1007138f
mov edi, dword [eax + 0x14]
inc ecx
mov dword [esi + ecx*4], edi
mov edi, dword [esp + 0x88]
mov eax, dword [eax + 8]
test eax, eax
je 0x100713ab
mov edi, dword [eax + 0x2c]
inc ecx
mov dword [esi + ecx*4], edi
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10071396
mov edi, dword [esp + 0x88]
mov edx, dword [edx]
test edx, edx
jne 0x10071370
mov edx, dword [esp + 0x38]
mov eax, dword [ebp + 8]
add edx, 8
mov dword [esi], ecx
cmp dword [eax + 0x2c], edx
jge 0x100713c5
mov dword [eax + 0x2c], edx
mov byte [eax + 0x13], 0
mov dword [eax + 0x1c], 0
mov edx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], edx
jg 0x100713ee
push 1
push ecx
push 2
push 0x9b
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x1007141d
mov edi, dword [ebx + 0x68]
lea eax, [edx + 1]
mov dword [ebx + 0x6c], eax
lea eax, [edx + edx*4]
lea eax, [edi + eax*4]
mov dword [eax + 4], 2
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], 0
mov dword [eax], 0x9b
mov eax, edx
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
je 0x10071433
mov eax, esi
mov edx, 0xfffffff2
call fcn.100304a0
jmp 0x10071463
test eax, eax
jns 0x1007143b
mov eax, dword [ebx + 0x6c]
dec eax
mov edx, dword [ebx + 0x68]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4 + 1], 0
lea ecx, [edx + ecx*4]
je 0x1007145c
push esi
push ebx
mov eax, 0xfffffff2
call fcn.100305a0
add esp, 8
jmp 0x10071463
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], 0xf2
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x1007147a
movzx ecx, byte [esp + 0x60]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov word [eax + edx*4 - 0x12], cx
mov edi, dword [esp + 0x14]
mov esi, 2
lea ebx, [esi + 0x30]
mov ecx, edi
call fcn.1002f820
mov edx, dword [esp + 0x2c]
mov ebx, eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
mov ecx, dword [ecx + edx]
push ecx
push str._in_database__s__n
push eax
call fcn.1000ced0
mov ecx, dword [edi + 0x6c]
add esp, 0xc
mov esi, eax
cmp dword [edi + 0x70], ecx
jg 0x100714ca
push 0
push 3
push 0
push 0x75
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x100714f6
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], edx
mov dword [eax + 8], 3
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x75
mov eax, ecx
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1007150c
mov eax, esi
mov edx, 0xfffffffa
call fcn.100304a0
jmp 0x10071540
test eax, eax
jns 0x10071514
mov eax, dword [edi + 0x6c]
dec eax
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea ecx, [ecx + eax*4]
je 0x10071535
push esi
push edi
mov eax, 0xfffffffa
call fcn.100305a0
add esp, 8
jmp 0x10071540
test esi, esi
je 0x10071540
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], 0xfa
push 3
push 3
push 2
push 0x6f
push edi
call fcn.1002f870
add esp, 0x14
mov esi, edi
call fcn.1006f3b0
mov edx, ebx
mov eax, edi
call fcn.10030370
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 8]
mov dword [esp + 0x28], eax
test eax, eax
je 0x10072a7e
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 8]
xor ebx, ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], 0xffffffff
cmp byte [edi + 0x2b], bl
jne 0x10072a6c
mov eax, dword [esp + 0x88]
cmp eax, ebx
je 0x100715a9
cmp eax, edi
jne 0x10072a6c
cmp dword [esp + 0x18], ebx
jne 0x100715f1
test byte [edi + 0x1c], 0x80
je 0x100715f1
mov eax, edi
call fcn.10058d10
movzx esi, word [eax + 0x32]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x5c], eax
call fcn.10050280
mov ecx, dword [esp + 0x5c]
movzx edx, word [ecx + 0x32]
mov esi, dword [esp + 0x14]
lea ecx, [edx + eax - 1]
push ecx
push eax
push 1
push 0x4b
push esi
mov dword [esp + 0x78], eax
call fcn.1002f870
add esp, 0x14
jmp 0x100715fd
mov esi, dword [esp + 0x14]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x64], ebx
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x74]
push edx
lea eax, [esp + 0x40]
push eax
push ebx
push 1
push ebx
push 0x70
push edi
push ecx
call fcn.1006cf40
mov eax, dword [esi + 0x6c]
add esp, 0x20
cmp dword [esi + 0x70], eax
jg 0x10071634
push ebx
push 7
push ebx
push 0x47
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10071659
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], 7
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x47
mov eax, dword [edi + 8]
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x100716be
mov edi, 8
mov ecx, eax
jmp 0x10071670
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x1007168d
push ebx
push edi
push ebx
push 0x47
mov eax, esi
call fcn.1002f760
mov ecx, dword [esp + 0x20]
add esp, 0x10
jmp 0x100716ae
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x47
mov ecx, dword [ecx + 0x14]
inc edi
mov dword [esp + 0x10], ecx
cmp ecx, ebx
jne 0x10071670
mov edi, dword [esp + 0x20]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100716db
mov eax, dword [esp + 0x3c]
push ebx
push ebx
push eax
push 0x24
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10071700
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x24
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10071722
push ebx
push 1
push 7
push 0x56
mov eax, esi
call fcn.1002f760
add esp, 0x10
mov dword [esp + 0x94], eax
jmp 0x10071752
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], 7
mov dword [eax + 8], 1
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x56
mov dword [esp + 0x94], ecx
test byte [edi + 0x1c], 0x80
jne 0x10071786
movsx edx, word [edi + 0x22]
or ecx, 0xffffffff
cmp edx, ebx
jle 0x1007177c
mov eax, dword [edi + 4]
add eax, 0xe
lea esp, [esp]
test byte [eax], 0x20
jne 0x10071776
inc ecx
add eax, 0x10
dec edx
jne 0x10071770
movsx eax, word [edi + 0x20]
cmp ecx, eax
jne 0x10071792
jmp 0x10071791
mov eax, edi
call fcn.10058d10
movzx ecx, word [eax + 0x34]
dec ecx
cmp ecx, ebx
jl 0x100717b5
push 3
push ecx
mov ecx, dword [esp + 0x44]
push ecx
push 0x5e
push esi
call fcn.1002f870
add esp, 0x14
push 3
mov ecx, esi
call fcn.10030330
add esp, 4
cmp dword [esp + 0x18], ebx
jne 0x10071902
cmp dword [esp + 0x5c], ebx
je 0x10071902
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
movzx edi, word [edx + 0x32]
mov ebx, dword [esp + 0x64]
push eax
push 0x29
xor ecx, ecx
mov eax, esi
call fcn.1002f8e0
mov edi, dword [esp + 0x1c]
mov esi, ebx
mov ebx, 0x32
mov ecx, edi
mov dword [esp + 0x70], eax
call fcn.1002f820
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov eax, dword [esp + 0x14]
push edx
push str.row_not_in_PRIMARY_KEY_order_for__s
push eax
call fcn.1000ced0
mov ecx, dword [edi + 0x6c]
add esp, 0x14
mov esi, eax
cmp dword [edi + 0x70], ecx
jg 0x10071832
push 0
push 3
push 0
push 0x75
mov eax, edi
call fcn.1002f760
add esp, 0x10
jmp 0x1007185e
lea edx, [ecx + 1]
mov dword [edi + 0x6c], edx
mov edx, dword [edi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], edx
mov dword [eax + 8], 3
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x75
mov eax, ecx
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x10071874
mov eax, esi
mov edx, 0xfffffffa
call fcn.100304a0
jmp 0x100718a8
test eax, eax
jns 0x1007187c
mov eax, dword [edi + 0x6c]
dec eax
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea ecx, [ecx + eax*4]
je 0x1007189d
push esi
push edi
mov eax, 0xfffffffa
call fcn.100305a0
add esp, 8
jmp 0x100718a8
test esi, esi
je 0x100718a8
mov dword [ecx + 0x10], esi
mov byte [ecx + 1], 0xfa
mov esi, edi
call fcn.1006f3b0
mov esi, dword [esp + 0x68]
mov edx, esi
mov eax, edi
call fcn.10030370
lea edx, [esi + 1]
mov eax, edi
call fcn.10030370
mov eax, dword [esp + 0x5c]
xor edx, edx
xor edi, edi
cmp dx, word [eax + 0x32]
jae 0x100718fc
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov esi, dword [ebp + 8]
lea edx, [edi + ecx]
push edx
mov edx, dword [esp + 0x40]
mov eax, edi
mov ecx, ebx
call fcn.1004c170
movzx eax, word [ebx + 0x32]
inc edi
add esp, 4
cmp edi, eax
jl 0x100718d4
mov esi, dword [esp + 0x14]
xor ebx, ebx
mov ecx, dword [esp + 0x20]
movzx eax, word [ecx + 0x1e]
and eax, 1
xor edi, edi
xor edx, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x38], edi
cmp dx, word [ecx + 0x22]
jge 0x10071f6a
mov ebx, dword [ecx + 4]
mov eax, edi
shl eax, 4
add ebx, eax
mov dword [esp + 0x80], eax
movsx eax, word [ecx + 0x20]
mov dword [esp + 0x7c], ebx
cmp edi, eax
je 0x10071f59
cmp dword [esp + 0x68], 0
je 0x10071965
mov edx, dword [ebx + 4]
and edx, 0xf0
mov eax, 0x10
cmp eax, edx
sbb eax, eax
neg eax
mov dword [esp + 0x78], eax
jmp 0x10071974
xor edx, edx
cmp byte [ebx + 8], 0x41
setg dl
mov dword [esp + 0x78], edx
mov eax, edx
test byte [ebx + 4], 0xf
jne 0x10071982
test eax, eax
je 0x10071f59
test byte [ebx + 0xe], 0x20
mov dword [esp + 0x84], 5
je 0x100719bf
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
push 3
push eax
push ecx
push esi
mov eax, edi
call fcn.1004c390
add esp, 0x10
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x30], 3
jmp 0x10071a6b
cmp word [ebx + 0xc], 0
je 0x10071a2a
mov edx, dword [esp + 0xc]
movzx eax, byte [edx + 0x54]
push eax
mov eax, dword [esp + 0x24]
mov ecx, ebx
mov dword [esp + 0x34], 0
call fcn.10058370
mov ecx, dword [esp + 0x10]
mov dl, byte [ebx + 8]
push ecx
lea ecx, [esp + 0x38]
call fcn.1002f470
mov eax, dword [esp + 0x38]
add esp, 8
test eax, eax
je 0x10071a26
movzx edx, word [eax + 0x10]
and edx, 0x3f
movzx ecx, byte [edx + 0x10113928]
mov esi, eax
mov dword [esp + 0x84], ecx
call fcn.1002f4a0
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
test byte [ecx + 0x1c], 0x80
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x34], edx
je 0x10071a59
mov eax, dword [esp + 0x20]
call fcn.10058d10
mov esi, edi
mov edx, eax
call fcn.10058d30
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x14]
cwde
mov dword [esp + 0x30], eax
jmp 0x10071a6b
mov eax, edi
mov edi, dword [esp + 0x20]
call fcn.10058d60
movsx ecx, ax
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
dec eax
mov dword [esp + 0x70], eax
dec eax
mov dword [ecx + 0x38], eax
test byte [ebx + 4], 0xf
mov dword [esp + 0x10], eax
je 0x10071c33
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x30]
push edx
mov ecx, eax
push 0x12
mov eax, esi
call fcn.1002f8e0
mov ecx, eax
mov eax, dword [esi + 0x6c]
xor ebx, ebx
add esp, 8
mov dword [esp + 0x90], ecx
cmp dword [esp + 0x34], ebx
jge 0x10071ad7
cmp eax, ebx
jle 0x10071ace
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov edi, 0xf
mov word [edx + eax*4 - 0x12], di
mov dword [esp + 0x6c], ecx
jmp 0x10071b54
cmp eax, ebx
jle 0x10071aeb
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov edx, 0xd
mov word [ecx + eax*4 - 0x12], dx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
push 3
push eax
push ecx
push 0x5e
push esi
call fcn.1002f870
mov ecx, dword [esi + 0x6c]
add esp, 0x14
cmp dword [esi + 0x70], ecx
jg 0x10071b20
mov edx, dword [esp + 0x10]
push ebx
push edx
push 3
push 0x33
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10071b50
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x10]
mov dword [eax + 4], 3
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov word [eax], 0x33
mov eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
push ecx
mov ecx, dword [esp + 0x10]
push eax
push str.NULL_value_in__s._s
push ecx
call fcn.1000ced0
mov ecx, dword [esi + 0x6c]
add esp, 0x10
mov edi, eax
cmp dword [esi + 0x70], ecx
jg 0x10071b90
push ebx
push 3
push ebx
push 0x75
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10071bb7
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x75
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x57], bl
je 0x10071bcc
mov eax, edi
mov edx, 0xfffffffa
call fcn.100304a0
jmp 0x10071bff
cmp eax, ebx
jge 0x10071bd4
mov eax, dword [esi + 0x6c]
dec eax
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], bl
lea ecx, [ecx + eax*4]
je 0x10071bf4
push edi
push esi
mov eax, 0xfffffffa
call fcn.100305a0
add esp, 8
jmp 0x10071bff
cmp edi, ebx
je 0x10071bff
mov dword [ecx + 0x10], edi
mov byte [ecx + 1], 0xfa
cmp dword [esp + 0x78], ebx
je 0x10071c2f
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x70]
mov ecx, edi
call fcn.1002f940
mov edx, dword [esp + 0x90]
mov eax, edi
call fcn.10030370
mov edx, dword [esp + 0x6c]
mov eax, edi
call fcn.10030370
mov esi, edi
mov ebx, dword [esp + 0x7c]
cmp dword [esp + 0x68], 0
je 0x10071cf0
cmp dword [esp + 0x78], 0
je 0x10071f30
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
push edx
push 0x12
mov eax, esi
call fcn.1002f8e0
mov eax, dword [esi + 0x6c]
xor ebx, ebx
add esp, 8
cmp eax, ebx
jle 0x10071c91
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx + 4]
shr edx, 4
and edx, 0xf
movzx ecx, byte [edx + 0x1012da43]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + edx*4 - 0x12], cx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + ecx]
mov edx, dword [eax]
mov eax, dword [esp + 0x7c]
push ecx
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x10]
push edx
shr ecx, 4
and ecx, 0xf
mov edx, dword [ecx*4 + 0x1012c4fc]
push edx
push str.non__s_value_in__s._s
push eax
call fcn.1000ced0
mov ecx, dword [esi + 0x6c]
add esp, 0x14
mov edi, eax
cmp dword [esi + 0x70], ecx
jg 0x10071ec1
push ebx
push 3
push ebx
push 0x75
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10071ee8
mov bl, byte [ebx + 8]
cmp bl, 0x42
jne 0x10071d55
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
push edx
push 0x12
mov eax, esi
call fcn.1002f8e0
mov eax, dword [esi + 0x6c]
xor ebx, ebx
add esp, 8
cmp eax, ebx
jle 0x10071d31
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov edx, 0x1c
mov word [ecx + eax*4 - 0x12], dx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x80]
mov ecx, dword [edx + ecx]
mov edx, dword [eax]
mov eax, dword [esp + 0xc]
push ecx
push edx
push str.NUMERIC_value_in__s._s
push eax
jmp 0x10071e9d
cmp bl, 0x43
jl 0x10071f30
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
push edx
push 0x12
mov eax, esi
call fcn.1002f8e0
mov eax, dword [esi + 0x6c]
xor ebx, ebx
add esp, 8
cmp eax, ebx
jle 0x10071d97
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov edx, 0x1b
mov word [ecx + eax*4 - 0x12], dx
cmp dword [esp + 0x34], ebx
jl 0x10071db6
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x20]
push 3
push eax
mov eax, dword [esp + 0x40]
push ecx
push esi
call fcn.1004c390
add esp, 0x10
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10071dd1
push ebx
push 1
push 3
push 0x60
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10071dfc
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], 3
mov dword [eax + 8], 1
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x60
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x57], bl
je 0x10071e12
mov eax, 0x101205cc
or edx, 0xffffffff
call fcn.100304a0
jmp 0x10071e47
cmp eax, ebx
jge 0x10071e1a
mov eax, dword [esi + 0x6c]
dec eax
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], bl
lea ecx, [ecx + eax*4]
je 0x10071e3c
push 0x101205cc
push esi
or eax, 0xffffffff
call fcn.100305a0
add esp, 8
jmp 0x10071e47
mov dword [ecx + 0x10], 0x101205cc
mov byte [ecx + 1], 0xff
mov edi, dword [esp + 0x84]
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
push 0x12
mov ebx, 3
mov eax, esi
call fcn.1002f8e0
mov eax, dword [esi + 0x6c]
xor ebx, ebx
add esp, 8
cmp eax, ebx
jle 0x10071e7e
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov ecx, 0x1c
mov word [eax + edx*4 - 0x12], cx
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov eax, dword [eax]
mov ecx, dword [esp + 0xc]
push edx
push eax
push str.TEXT_value_in__s._s
push ecx
call fcn.1000ced0
mov ecx, dword [esi + 0x6c]
add esp, 0x10
mov edi, eax
cmp dword [esi + 0x70], ecx
jg 0x10071ec1
push ebx
push 3
push ebx
push 0x75
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10071ee8
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x75
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x57], bl
je 0x10071efd
mov eax, edi
mov edx, 0xfffffffa
call fcn.100304a0
jmp 0x10071f30
cmp eax, ebx
jge 0x10071f05
mov eax, dword [esi + 0x6c]
dec eax
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], bl
lea ecx, [ecx + eax*4]
je 0x10071f25
push edi
push esi
mov eax, 0xfffffffa
call fcn.100305a0
add esp, 8
jmp 0x10071f30
cmp edi, ebx
je 0x10071f30
mov byte [ecx + 1], 0xfa
mov dword [ecx + 0x10], edi
mov eax, dword [esp + 0x70]
mov ecx, esi
call fcn.100300b0
call fcn.1006f3b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
call fcn.100300b0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
movsx edx, word [ecx + 0x22]
inc edi
mov dword [esp + 0x38], edi
cmp edi, edx
jl 0x10071923
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x10072138
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
and eax, 0x200
xor ecx, ecx
or eax, ecx
jne 0x10072138
mov edi, dword [esp + 0xc]
push eax
push edx
push edi
call fcn.100484c0
add esp, 0xc
cmp byte [edi + 0x57], 0
mov dword [esp + 0x38], eax
jne 0x10072122
mov eax, dword [ebp + 8]
mov ebx, dword [eax + 0x38]
mov edx, dword [esp + 0x3c]
dec ebx
lea ecx, [ebx - 1]
inc edx
mov dword [eax + 0x38], ecx
mov dword [eax + 0x34], edx
mov eax, dword [esp + 0x38]
mov edi, dword [eax]
dec edi
mov dword [esp + 0x10], ecx
test edi, edi
jle 0x10072006
lea ecx, [edi + edi*4]
mov edx, eax
lea eax, [edx + ecx*4 + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
push 0
push ebx
push edx
push eax
call fcn.1004ebd0
sub dword [esp + 0x90], 0x14
dec edi
add esp, 0x10
test edi, edi
jg 0x10071fe0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 8]
push 0x10
push ecx
mov ecx, dword [ebp + 8]
push eax
push ecx
call fcn.1004e810
mov edi, dword [esi + 0xc]
mov edx, dword [edi + 0x3c]
add esp, 0x10
add edx, dword [edi + 0x38]
not ebx
jns 0x1007203a
push ebx
push esi
call fcn.10030010
add esp, 8
jmp 0x10072043
mov eax, dword [edi + 0x40]
mov ecx, dword [esi + 0x6c]
mov dword [eax + ebx*4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
xor ebx, ebx
mov dword [edx + 0x34], ebx
mov ecx, dword [eax]
mov edx, dword [esp + 0xc]
push ecx
push str.CHECK_constraint_failed_in__s
push edx
call fcn.1000ced0
mov ecx, dword [esi + 0x6c]
add esp, 0xc
mov edi, eax
cmp dword [esi + 0x70], ecx
jg 0x10072080
push ebx
push 3
push ebx
push 0x75
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100720a7
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov dword [eax], 0x75
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x57], bl
je 0x100720bc
mov eax, edi
mov edx, 0xfffffffa
call fcn.100304a0
jmp 0x100720ef
cmp eax, ebx
jge 0x100720c4
mov eax, dword [esi + 0x6c]
dec eax
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], bl
lea ecx, [ecx + eax*4]
je 0x100720e4
push edi
push esi
mov eax, 0xfffffffa
call fcn.100305a0
add esp, 8
jmp 0x100720ef
cmp edi, ebx
je 0x100720ef
mov dword [ecx + 0x10], edi
mov byte [ecx + 1], 0xfa
call fcn.1006f3b0
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xc]
mov edx, dword [edi + 0x3c]
add edx, dword [edi + 0x38]
mov ecx, dword [esp + 0x10]
not ecx
jns 0x10072115
push ecx
push eax
call fcn.10030010
add esp, 8
jmp 0x1007211e
mov edx, dword [edi + 0x40]
mov eax, dword [eax + 0x6c]
mov dword [edx + ecx*4], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10072138
mov ecx, dword [esp + 0xc]
push eax
push ecx
call fcn.10049060
add esp, 8
cmp dword [esp + 0x18], 0
jne 0x10072821
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 8]
mov dword [esp + 0x10], eax
test eax, eax
je 0x10072821
mov ecx, dword [esp + 0x74]
mov eax, 8
sub eax, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x68], eax
lea esp, [esp]
mov eax, dword [ebp + 8]
dec dword [eax + 0x38]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x70], eax
cmp dword [esp + 0x5c], ecx
je 0x1007280a
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x10]
push edx
push eax
push 0
push 0
push ecx
mov ecx, dword [ebp + 8]
push ebx
lea eax, [esp + 0x60]
call fcn.100620d0
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x6c]
add esp, 0x18
mov dword [esp + 0x2c], ebx
cmp dword [esi + 0x70], eax
jg 0x100721df
mov edx, dword [esp + 0x68]
push 0
push 1
add edx, edi
push edx
push 0x56
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x1007220f
lea ecx, [eax + 1]
mov dword [esi + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x68]
xor ecx, ecx
add edx, edi
mov word [eax + 2], cx
mov dword [eax + 4], edx
mov dword [eax + 8], 1
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 0x56
mov ecx, dword [esi + 0x6c]
movzx edx, word [ebx + 0x34]
cmp dword [esi + 0x70], ecx
jg 0x10072238
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x70]
push edx
push 0x1d
mov edx, edi
call fcn.1002f7a0
mov esi, dword [esp + 0x1c]
add esp, 8
mov edi, eax
jmp 0x10072263
mov ebx, dword [esi + 0x68]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea eax, [ecx + ecx*4]
lea eax, [ebx + eax*4]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x70]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x24]
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edx
mov dword [eax], 0xfd1d
mov edi, ecx
push str.row
mov edx, 3
call fcn.1002f990
mov ebx, dword [esp + 0x18]
add esp, 4
push 3
push 3
push 7
push 0x6f
push ebx
call fcn.1002f870
add esp, 0x14
push str._missing_from_index
mov edx, 4
mov esi, ebx
call fcn.1002f990
add esp, 4
push 3
push 3
push 4
push 0x6f
push ebx
call fcn.1002f870
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
add esp, 0x14
push edx
mov edx, 4
call fcn.1002f990
add esp, 4
push 3
push 3
push 4
push 0x6f
push ebx
mov dword [esp + 0x4c], eax
call fcn.1002f870
add esp, 0x14
call fcn.1006f3b0
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x6c]
je 0x100722f6
mov ecx, 0x1013ace8
jmp 0x100722ff
mov ecx, dword [ebx + 0x68]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x20]
mov dword [ecx + 8], eax
test byte [edx + 0x1c], 0x80
jne 0x100723e6
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jg 0x10072332
mov eax, dword [esp + 0x34]
push 0
push 3
push eax
push 0x8e
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x10072363
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x34]
mov dword [ebx + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], 3
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x8e
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x34]
mov edx, dword [esp + 0x24]
lea eax, [ecx + edx - 1]
push eax
push 0
push 3
push 0x35
push ebx
call fcn.1002f870
add esp, 0x14
push str.rowid_not_at_end_of_record_for_row
mov edx, 3
mov esi, ebx
mov edi, eax
call fcn.1002f990
add esp, 4
push 3
push 3
push 7
push 0x6f
push ebx
call fcn.1002f870
add esp, 0x14
push str._of_index
mov edx, 4
call fcn.1002f990
mov esi, dword [esp + 0x3c]
add esp, 4
dec esi
mov ecx, ebx
call fcn.1002f940
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
mov eax, dword [ebx + 0x6c]
je 0x100723da
mov ecx, 0x1013ace8
jmp 0x100723e3
mov ecx, dword [ebx + 0x68]
lea edx, [edi + edi*4]
lea ecx, [ecx + edx*4]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x10]
xor edx, edx
xor edi, edi
xor esi, esi
cmp dx, word [ecx + 0x32]
jae 0x10072591
mov eax, dword [ebp + 8]
lea ecx, [ecx]
mov edx, dword [ecx + 0x20]
cmp dword [edx + esi*4], 0x10113024
je 0x10072446
test edi, edi
jne 0x10072416
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov eax, dword [esp + 0x34]
push 3
push esi
push eax
push 0x5e
push ebx
call fcn.1002f870
mov ecx, dword [esp + 0x38]
add esp, 0x14
lea edx, [esi + ecx]
push edx
push edi
push 3
push 0x34
push ebx
call fcn.1002f870
mov ecx, dword [esp + 0x24]
mov eax, dword [ebp + 8]
add esp, 0x14
movzx edx, word [ecx + 0x32]
inc esi
cmp esi, edx
jl 0x10072400
xor edx, edx
cmp edi, edx
je 0x10072591
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x10072476
push edx
push edx
push edx
push 9
mov eax, ebx
call fcn.1002f760
add esp, 0x10
mov dword [esp + 0x6c], eax
jmp 0x1007249b
mov esi, dword [ebx + 0x68]
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
lea eax, [ecx + ecx*4]
lea eax, [esi + eax*4]
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax], 9
mov dword [esp + 0x6c], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 0x3c]
add ecx, dword [eax + 0x38]
not edi
jns 0x100724b6
push edi
push ebx
mov edi, eax
call fcn.10030010
add esp, 8
jmp 0x100724bf
mov edx, dword [eax + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [edx + edi*4], eax
mov edi, 3
push str.row
mov edx, edi
mov esi, ebx
call fcn.1002f990
mov eax, dword [ebx + 0x6c]
add esp, 4
cmp dword [ebx + 0x70], eax
jg 0x100724f1
push edi
push edi
push 7
push 0x6f
mov eax, ebx
call fcn.1002f760
add esp, 0x10
xor edi, edi
jmp 0x10072518
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + edx*4]
mov dword [ebx + 0x6c], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
xor edi, edi
mov dword [eax + 4], 7
mov dword [eax + 0x10], edi
mov dword [eax], 0x6f
push str._values_differ_from_index
mov edx, 4
mov esi, ebx
call fcn.1002f990
mov ecx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x6c]
add esp, 4
dec ecx
cmp dword [ebx + 0x70], eax
jg 0x1007254a
push edi
push ecx
push edi
push 9
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x1007256b
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [eax], 9
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
mov ecx, dword [ebx + 0x6c]
je 0x1007257d
mov eax, 0x1013ace8
jmp 0x1007258a
mov eax, dword [esp + 0x6c]
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + edx*4]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x36], 0
je 0x100727b1
mov eax, dword [ebp + 8]
dec dword [eax + 0x38]
mov edi, dword [eax + 0x38]
mov eax, dword [esp + 0x10]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x6c], ecx
cmp dx, word [eax + 0x32]
jae 0x1007262b
mov esi, dword [esp + 0x24]
mov eax, dword [eax + 4]
movsx eax, word [eax + ecx*2]
test eax, eax
js 0x100725d5
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 4]
add eax, eax
test byte [edx + eax*8 + 4], 0xf
jne 0x10072619
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jg 0x100725f3
push 0
push edi
push esi
push 0x32
mov eax, ebx
call fcn.1002f760
mov ecx, dword [esp + 0x7c]
add esp, 0x10
jmp 0x10072619
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x32
mov eax, dword [esp + 0x10]
movzx edx, word [eax + 0x32]
inc ecx
inc esi
mov dword [esp + 0x6c], ecx
cmp ecx, edx
jl 0x100725ba
mov ecx, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], ecx
jg 0x1007264c
mov eax, dword [esp + 0x34]
push 0
push 0
push eax
push 0x27
mov eax, ebx
call fcn.1002f760
add esp, 0x10
mov esi, eax
jmp 0x1007267a
lea edx, [ecx + 1]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x34]
mov dword [eax + 4], edx
xor edx, edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x27
mov esi, ecx
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jg 0x10072695
push 0
push edi
push 0
push 9
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x100726bb
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + edx*4]
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 9
mov edx, dword [ebx]
cmp byte [edx + 0x57], 0
mov ecx, dword [ebx + 0x6c]
je 0x100726cd
mov eax, 0x1013ace8
jmp 0x100726d6
mov edx, dword [ebx + 0x68]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x32]
mov eax, dword [ebx + 0x6c]
cmp dword [ebx + 0x70], eax
jg 0x10072702
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
push ecx
push 0x29
mov ecx, edi
mov esi, ebx
call fcn.1002f7a0
add esp, 8
jmp 0x10072730
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
mov edx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov edx, dword [esp + 0x34]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x24]
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov word [eax], 0xfd29
push str.non_unique_entry_in_index
mov edx, 3
mov esi, ebx
call fcn.1002f990
mov eax, dword [ebx + 0x6c]
add esp, 4
cmp dword [ebx + 0x70], eax
jg 0x10072763
mov eax, dword [esp + 0x38]
push 0
push eax
push 0
push 9
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x1007278d
lea ecx, [eax + 1]
mov dword [ebx + 0x6c], ecx
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x38]
xor ecx, ecx
mov word [eax + 2], cx
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov word [eax], 9
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax + 0x3c]
add ecx, dword [eax + 0x38]
not edi
jns 0x100727a8
push edi
push ebx
mov edi, eax
call fcn.10030010
add esp, 8
jmp 0x100727b1
mov edx, dword [eax + 0x40]
mov eax, dword [ebx + 0x6c]
mov dword [edx + edi*4], eax
mov edx, dword [ebx]
cmp byte [edx + 0x57], 0
mov ecx, dword [ebx + 0x6c]
je 0x100727c3
mov eax, 0x1013ace8
jmp 0x100727d3
mov eax, dword [esp + 0x90]
mov edx, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10072806
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
mov edx, dword [edi + 0x3c]
add edx, dword [edi + 0x38]
not eax
jns 0x100727fd
push eax
push ecx
call fcn.10030010
add esp, 8
jmp 0x10072806
mov edx, dword [edi + 0x40]
mov ecx, dword [ecx + 0x6c]
mov dword [edx + eax*4], ecx
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x14]
inc dword [esp + 0x34]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10072170
mov eax, dword [esi + 0x6c]
mov edi, dword [esp + 0x94]
cmp dword [esi + 0x70], eax
jg 0x10072846
mov eax, dword [esp + 0x3c]
push 0
push edi
push eax
push 0x27
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10072873
lea ecx, [eax + 1]
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x6c], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x27
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
mov ecx, dword [esi + 0x6c]
je 0x10072885
mov eax, 0x1013ace8
jmp 0x1007288f
mov eax, dword [esi + 0x68]
lea edx, [edi + edi*4]
lea eax, [eax + edx*4 - 0x14]
cmp dword [esp + 0x18], 0
mov dword [eax + 8], ecx
jne 0x10072a6c
push str.wrong__of_entries_in_index
mov edx, 2
call fcn.1002f990
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
xor edx, edx
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x10072a23
mov ecx, dword [esp + 0x74]
lea edi, [edx + 8]
jmp 0x100728d0
cmp dword [esp + 0x5c], eax
je 0x10072a13
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x6c]
cmp dword [esi + 0x70], eax
jg 0x100728fc
push edx
push 3
lea edx, [ecx + edi - 8]
push edx
push 0x62
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x10072925
lea ebx, [eax + 1]
mov dword [esi + 0x6c], ebx
mov ebx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
lea ecx, [ecx + edi - 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], 3
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax], 0x62
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x10072942
push 3
push 0
push edi
push 0x35
mov eax, esi
call fcn.1002f760
add esp, 0x10
mov ebx, eax
jmp 0x1007296e
lea edx, [ecx + 1]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], 3
mov dword [eax + 0x10], edx
mov word [eax], 0x35
mov ebx, ecx
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x10072985
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov edx, 0x90
mov word [ecx + eax*4 - 0x12], dx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
push ecx
mov edx, 4
call fcn.1002f990
mov eax, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], eax
jg 0x100729b5
push 3
push 2
push 4
push 0x6f
mov eax, esi
call fcn.1002f760
add esp, 0x10
jmp 0x100729e6
mov ecx, dword [esi + 0x68]
lea edx, [eax + 1]
mov dword [esi + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov dword [eax + 4], 4
mov dword [eax + 8], 2
mov dword [eax + 0xc], 3
mov dword [eax + 0x10], 0
mov dword [eax], 0x6f
call fcn.1006f3b0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
mov ecx, dword [esi + 0x6c]
je 0x100729fd
mov eax, 0x1013ace8
jmp 0x10072a06
mov eax, dword [esi + 0x68]
lea edx, [ebx + ebx*4]
lea eax, [eax + edx*4]
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
xor edx, edx
mov eax, dword [eax + 0x14]
inc edi
mov dword [esp + 0x10], eax
cmp eax, edx
jne 0x100728d0
cmp dword [esp + 0x5c], edx
je 0x10072a6c
mov ecx, dword [esp + 0x5c]
movzx eax, word [ecx + 0x32]
cmp eax, 1
jne 0x10072a5a
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x10072a6c
mov edx, dword [ebp + 8]
mov al, byte [edx + 0x13]
cmp al, 8
jae 0x10072a6c
movzx edx, al
mov eax, dword [ebp + 8]
mov dword [eax + edx*4 + 0xa0], ecx
inc byte [eax + 0x13]
jmp 0x10072a6c
mov ecx, dword [ebp + 8]
cmp eax, dword [ecx + 0x1c]
jle 0x10072a6c
mov edx, dword [esp + 0x64]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], edx
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10071574
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc]
inc eax
mov dword [esp + 0x60], eax
cmp eax, dword [ecx + 0x14]
jl 0x10071280
push 0x10114640
push 7
mov edi, ebx
call fcn.10030270
add esp, 8
test eax, eax
je 0x10072adc
mov edx, 1
sub edx, dword [esp + 0x44]
mov byte [eax + 0x29], 0xff
mov dword [eax + 8], edx
mov dword [eax + 0x38], 0x101206ac
mov byte [eax + 0x65], 0xff
mov edx, dword [str.database_disk_image_is_malformed]
mov ecx, str.unknown_error
test edx, edx
je 0x10072ad9
mov ecx, edx
mov dword [eax + 0x74], ecx
mov edx, dword [ebx + 0x6c]
sub edx, 2
xor eax, eax
mov ecx, ebx
call fcn.10030310
jmp 0x100730ed
test edi, edi
jne 0x10072b1e
push esi
call fcn.10074270
add esp, 4
test eax, eax
jne 0x100730ed
mov eax, dword [esi]
movzx ecx, byte [eax + 0x54]
mov eax, dword [ecx*8 + 0x10114668]
mov ecx, ebx
call fcn.1006f110
jmp 0x100730ed
mov edx, dword [esp + 0xc]
test byte [edx + 0x18], 0x40
jne 0x100730ed
mov eax, dword [str.UTF8]
mov edi, 0x10114668
test eax, eax
je 0x10072b7b
mov esi, dword [esp + 0x40]
mov edi, edi
mov edx, esi
call fcn.1000e3e0
test eax, eax
je 0x10072b57
mov eax, dword [edi + 8]
add edi, 8
test eax, eax
jne 0x10072b40
jmp 0x10072b7b
mov bl, byte [edi + 4]
test bl, bl
jne 0x10072b60
mov bl, 2
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + 0xc]
mov byte [ecx + 0x4d], bl
call fcn.10060390
cmp dword [edi], 0
jne 0x100730ed
mov edx, dword [esp + 0x40]
mov eax, dword [ebp + 8]
push edx
push str.unsupported_encoding:__s
push eax
call fcn.1000e200
add esp, 0xc
jmp 0x100730ed
mov ecx, dword [esp + 0x1c]
mov esi, dword [eax + 8]
mov edx, 1
shl edx, cl
or dword [ebx + 0x9c], edx
cmp ecx, 1
je 0x10072bba
mov eax, ebx
call fcn.10030b20
mov eax, dword [esp + 0x24]
test edi, edi
je 0x10072c20
test byte [eax + 5], 8
jne 0x10072c20
push 0x101146b0
push 2
mov edi, ebx
call fcn.10030270
mov ecx, dword [esp + 0x48]
mov edi, eax
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [edi + 4], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], esi
call fcn.1000f290
mov dword [edi + 0x20], eax
mov eax, 1
mov word [edi + 0x16], ax
cmp esi, eax
jne 0x100730ed
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
and eax, 0x10000000
xor ecx, ecx
or eax, ecx
je 0x100730ed
mov byte [edi + 0x14], 0xb8
jmp 0x100730ed
push 0x1011465c
push 3
mov edi, ebx
call fcn.10030270
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
add esp, 8
mov ecx, ebx
mov dword [eax + 0x20], esi
call fcn.10030140
jmp 0x100730ed
xor edi, edi
push edi
mov dword [esi + 0x2c], 1
call sym.MyService.dll_sqlite3_compileoption_get
add esp, 4
test eax, eax
je 0x10072cc2
push eax
mov edx, 1
mov esi, ebx
inc edi
call fcn.1002f990
mov eax, dword [ebx + 0x6c]
add esp, 4
cmp dword [ebx + 0x70], eax
jg 0x10072c8d
push 0
push 1
push 1
push 0x54
mov eax, ebx
call fcn.1002f760
add esp, 0x10
jmp 0x10072cb5
mov ecx, dword [ebx + 0x68]
lea edx, [eax + 1]
mov dword [ebx + 0x6c], edx
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov ecx, 1
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
xor ecx, ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax], 0x54
push edi
call sym.MyService.dll_sqlite3_compileoption_get
add esp, 4
test eax, eax
jne 0x10072c60
mov ecx, ebx
call fcn.10030140
jmp 0x100730ed
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
je 0x10072ce0
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
jmp 0x10072ce8
mov dword [esp + 0x2c], 0xc
mov dword [esp + 0x18], 0
test edi, edi
je 0x10072d40
mov eax, str.full
mov edx, edi
call fcn.1000e3e0
test eax, eax
jne 0x10072d0e
mov dword [esp + 0x18], 1
jmp 0x10072d40
mov eax, str.restart
mov edx, edi
call fcn.1000e3e0
test eax, eax
jne 0x10072d28
mov dword [esp + 0x18], 2
jmp 0x10072d40
mov eax, str.truncate
mov edx, edi
call fcn.1000e3e0
test eax, eax
jne 0x10072d40
mov dword [esp + 0x18], 3
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
push 1
push edx
push eax
push 3
push ebx
mov dword [esi + 0x2c], 3
call fcn.1002f870
add esp, 0x14
push 0
push 3
push 1
push 0x54
push ebx
call fcn.1002f870
add esp, 0x14
jmp 0x100730ed
test edi, edi
je 0x10072d8f
mov ecx, edi
call fcn.1000f290
mov esi, dword [esp + 0xc]
push eax
push esi
call sym.MyService.dll_sqlite3_wal_autocheckpoint
add esp, 8
jmp 0x10072d93
mov esi, dword [esp + 0xc]
cmp dword [esi + 0x11c], 0x100a7b60
jne 0x1006fed7
mov eax, dword [esi + 0x120]
jmp 0x100730e0
mov ecx, dword [esp + 0xc]
push ecx
call sym.MyService.dll_sqlite3_db_release_memory
add esp, 4
jmp 0x100730ed
test edi, edi
je 0x10072dd9
mov ecx, edi
call fcn.1000f290
mov dword [esp + 0x28], eax
test al, 2
je 0x100730ed
jmp 0x10072de1
mov dword [esp + 0x28], 0xfffe
mov eax, dword [esi + 0x28]
mov dword [esp + 0x68], eax
inc eax
cmp dword [esp + 0x10], 0
mov dword [esi + 0x28], eax
je 0x10072dfd
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x6c], edx
jmp 0x10072e13
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x1c], eax
jg 0x10072f66
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x1c], 1
je 0x10072f4e
mov ecx, dword [esp + 0x1c]
mov eax, esi
call fcn.1005f440
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + eax + 0xc]
mov eax, dword [edx + 0x10]
mov dword [esp + 0x74], eax
test eax, eax
je 0x10072f4e
nop
mov edi, dword [eax + 8]
test dword [edi + 0x1c], 0x100
je 0x10072f40
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x48], ecx
test eax, eax
je 0x10072e83
test byte [eax + 0x38], 0x80
je 0x10072ec5
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10072e76
test cx, cx
je 0x10072ec5
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
push 0x70
push ecx
push edx
mov eax, edi
mov ecx, esi
call fcn.10068840
movsx eax, word [esp + 0x54]
mov ecx, dword [esp + 0x34]
mov edx, dword [ebx + 0x6c]
add esp, 0xc
push eax
and ecx, 1
lea eax, [ecx + edx + 2]
mov ecx, dword [esp + 0x6c]
push eax
push ecx
push 0x21
push ebx
call fcn.1002f870
add esp, 0x14
mov edx, dword [edi]
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x10]
push edx
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + ecx]
push ecx
push str.ANALYZE___w_.__w_
push eax
call fcn.1000ced0
add esp, 0x10
test byte [esp + 0x28], 1
mov edx, eax
je 0x10072f24
mov ecx, esi
call fcn.10050240
push 0xfffffffffffffffa
push edx
mov ecx, eax
push 0x75
xor eax, eax
xor edx, edx
mov edi, ebx
mov dword [esp + 0x54], ecx
call fcn.1002fbc0
mov edx, dword [esp + 0x54]
add esp, 0xc
push 0
push 1
push edx
push 0x54
push ebx
call fcn.1002f870
add esp, 0x14
jmp 0x10072f3c
push 0xfffffffffffffffa
push edx
push 0x94
xor eax, eax
xor ecx, ecx
xor edx, edx
mov edi, ebx
call fcn.1002fbc0
add esp, 0xc
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x74], eax
test eax, eax
jne 0x10072e50
mov eax, dword [esp + 0x1c]
add dword [esp + 0x18], 0x10
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0x6c]
jle 0x10072e1b
mov ecx, dword [esp + 0x14]
mov ebx, 0xa6
call fcn.1002f7d0
jmp 0x100730ed
test edi, edi
je 0x10072fa4
mov esi, dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
call fcn.1000f020
add esp, 4
test eax, eax
jne 0x10072fa4
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
push ecx
push edx
call sym.MyService.dll_sqlite3_soft_heap_limit64
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.MyService.dll_sqlite3_soft_heap_limit64
push edx
push eax
mov esi, ebx
call fcn.1006f010
add esp, 0x10
jmp 0x100730ed
test edi, edi
je 0x1007300f
mov esi, dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
call fcn.1000f020
add esp, 4
test eax, eax
jne 0x1007300f
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.MyService.dll_sqlite3_hard_heap_limit64
mov ecx, dword [esp + 0x54]
add esp, 8
test ecx, ecx
jl 0x1007300f
mov esi, dword [esp + 0x48]
jg 0x10072ff5
test esi, esi
je 0x1007300f
mov edi, eax
or edi, edx
je 0x10073005
cmp edx, ecx
jl 0x1007300f
jg 0x10073005
cmp eax, esi
jbe 0x1007300f
push ecx
push esi
call sym.MyService.dll_sqlite3_hard_heap_limit64
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.MyService.dll_sqlite3_hard_heap_limit64
push edx
push eax
mov esi, ebx
call fcn.1006f010
add esp, 0x10
jmp 0x100730ed
test edi, edi
je 0x1007306d
mov esi, dword [esp + 0x40]
lea ecx, [esp + 0x48]
push ecx
call fcn.1000f020
add esp, 4
test eax, eax
jne 0x1007306d
cmp dword [esp + 0x4c], eax
jl 0x1007306d
mov eax, dword [esp + 0x48]
jg 0x10073052
test eax, eax
jb 0x1007306d
and eax, 0x7fffffff
jl 0x1007306d
cmp eax, 8
jle 0x10073063
mov eax, 8
mov edx, dword [esp + 0xc]
mov dword [edx + 0xa4], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xa4]
jmp 0x100730e0
test edi, edi
je 0x100730b1
mov esi, dword [esp + 0x40]
lea ecx, [esp + 0x48]
push ecx
call fcn.1000f020
add esp, 4
test eax, eax
jne 0x100730b1
cmp dword [esp + 0x4c], eax
jl 0x100730b1
mov eax, dword [esp + 0x48]
jg 0x100730a2
test eax, eax
jb 0x100730b1
mov edx, dword [esp + 0xc]
and eax, 0x7fffffff
mov dword [edx + 0x200], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x200]
jmp 0x100730e0
test edi, edi
je 0x100730d6
mov ecx, edi
call fcn.1000f290
mov ecx, dword [esp + 0xc]
push eax
push ecx
call sym.MyService.dll_sqlite3_busy_timeout
add esp, 8
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x204]
mov esi, ebx
cdq
push edx
push eax
call fcn.1006f010
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x8c]
mov ecx, esi
call fcn.1000a790
mov eax, dword [esp + 0x40]
test eax, eax
je 0x1007310e
mov ecx, esi
call fcn.1000a790
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret