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

Disassembly:
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x64]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
xor ebx, ebx
mov dword [esp + 0x14], esi
cmp ebp, ebx
jne 0x10083b3b
mov eax, esi
call fcn.1005b4e0
mov ebp, eax
mov dword [edi + 8], eax
cmp ebp, ebx
je 0x10086bec
push 0x94
call fcn.1005b710
add esp, 4
or dword [ebp + 0x64], 0x40
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push edi
lea ecx, [esp + 0x48]
mov dword [edi + 0x4c], 2
call fcn.10073dd0
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
jl 0x10086bec
mov edx, dword [esi + 0x10]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1c], edx
cmp eax, 1
jne 0x10083b8d
mov eax, edi
call fcn.10077b50
test eax, eax
jne 0x10086bec
mov eax, dword [esp + 0x44]
push esi
call fcn.10073bf0
mov edi, eax
add esp, 4
mov dword [esp + 0x38], edi
cmp edi, ebx
je 0x10086bec
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x74], ebx
je 0x10083bc8
push eax
push 0x101089b8
call fcn.10041410
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
jmp 0x10083bd9
mov ecx, esi
push ecx
call fcn.10073bf0
add esp, 4
mov esi, eax
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x6c]
cmp dword [edx + 4], ebx
jbe 0x10083bee
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
jmp 0x10083bf2
mov dword [esp + 0x20], ebx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
push edx
push esi
push edi
push 0x13
call fcn.10072d30
add esp, 0x10
test eax, eax
jne 0x10086bd2
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x50]
push ecx
push 0xe
push edx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ebx
push eax
mov dword [eax + 0x1c4], ebx
call fcn.100a3ec0
add esp, 0x10
mov dword [esp + 0x44], eax
cmp eax, ebx
jne 0x10083cdf
mov edx, dword [esp + 0x50]
cmp edx, ebx
je 0x10086bd2
mov eax, dword [esp + 0x64]
inc dword [eax + 0x4c]
mov ecx, dword [eax + 0x4c]
push ebx
push edx
push 0x5e
xor eax, eax
xor edx, edx
mov edi, ebp
mov dword [esp + 0x70], ecx
call fcn.1005b7d0
add esp, 0xc
push 1
call fcn.1005ce80
add esp, 4
push ebx
push str.result
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x10083ca3
call fcn.1005b630
test eax, eax
jne 0x10083ccd
mov edx, dword [ebp + 4]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x64]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x50]
push eax
call fcn.1003fd70
add esp, 4
jmp 0x10086bd2
cmp eax, 0xc
je 0x10083d1b
mov ecx, dword [esp + 0x50]
cmp ecx, ebx
je 0x10083d0c
mov edi, dword [esp + 0x64]
push ecx
push 0x1010372c
call fcn.10041f80
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1003fd70
mov eax, dword [esp + 0x50]
add esp, 0xc
mov ecx, dword [esp + 0x64]
inc dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
jmp 0x10086bd2
push str.default_cache_size
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10083e71
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
mov ecx, dword [esp + 0x18]
mov edx, 1
shl edx, cl
or dword [ebp + 0x6c], edx
cmp ecx, 1
je 0x10083d5c
mov eax, ebp
call fcn.1005c210
cmp esi, ebx
jne 0x10083ddc
push 1
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push str.cache_size
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
mov eax, dword [esp + 0x74]
add dword [eax + 0x4c], 2
push 0x100fa124
push 9
mov eax, ebp
call fcn.1005bb30
add esp, 0x18
cmp dword [ebp + 0x1c], eax
jbe 0x10083da7
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x18]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], esi
lea ecx, [eax + 1]
cmp dword [ebp + 0x1c], ecx
jbe 0x10083dbd
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 4], esi
add eax, 6
cmp dword [ebp + 0x1c], eax
jbe 0x10086bd2
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 4], 0x7d0
jmp 0x10086bd2
mov ecx, esi
call fcn.10042970
call fcn.10043070
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
push ebx
call fcn.10077d30
mov esi, dword [ebp + 0x1c]
add esp, 4
cmp dword [ebp + 0x20], esi
jg 0x10083e10
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10083e3a
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x40]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x18]
push 1
push 3
push eax
push 0x2e
mov eax, ebp
call fcn.1005b6b0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x50]
mov dword [ecx + 0x50], edx
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x50]
mov eax, dword [eax + 4]
push edx
call fcn.10051ad0
add esp, 0x14
jmp 0x10086bd2
push str.page_size
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10083ee3
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 4]
cmp esi, ebx
jne 0x10083eb3
cmp edi, ebx
je 0x10083e98
mov ecx, dword [edi + 4]
mov ebx, dword [ecx + 0x20]
mov eax, ebx
cdq
push edx
push eax
mov eax, dword [esp + 0x6c]
push str.page_size
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
mov ecx, esi
call fcn.10042970
mov esi, dword [esp + 0x14]
mov ecx, eax
push ebx
or eax, 0xffffffff
mov edx, edi
mov dword [esi + 0x48], ecx
call fcn.10051c10
add esp, 4
cmp eax, 7
jne 0x10086bd2
mov byte [esi + 0x40], 1
jmp 0x10086bd2
push str.secure_delete
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10083f6b
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
or edi, 0xffffffff
mov dword [esp + 0x44], eax
cmp esi, ebx
je 0x10083f17
mov ebx, dword [esp + 0x24]
xor eax, eax
call fcn.100834e0
movzx edi, al
xor ebx, ebx
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x14]
cmp dword [ecx + 4], ebx
jne 0x10083f47
cmp edi, ebx
jl 0x10083f47
xor esi, esi
cmp dword [ebp + 0x14], ebx
jle 0x10083f47
nop
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + ebx + 4]
mov eax, edi
call fcn.10051d90
inc esi
add ebx, 0x10
cmp esi, dword [ebp + 0x14]
jl 0x10083f30
mov ecx, dword [esp + 0x44]
mov eax, edi
call fcn.10051d90
cdq
push edx
push eax
mov eax, dword [esp + 0x6c]
push str.secure_delete
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
push str.page_count
push edi
call fcn.10042070
add esp, 8
test eax, eax
je 0x10086adc
push str.max_page_count
push edi
call fcn.10042070
add esp, 8
test eax, eax
je 0x10086adc
push str.locking_mode
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10084101
mov dword [esp + 0x64], str.normal
call fcn.10083500
mov edx, eax
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x10084016
cmp edx, 0xffffffff
jne 0x10083fd6
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 0x41]
jmp 0x10084027
cmp eax, ebx
jne 0x10084016
mov eax, dword [esp + 0x14]
mov esi, 2
cmp dword [eax + 0x14], esi
jle 0x1008400f
mov edi, 0x20
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x10]
mov ecx, dword [eax + edi + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.1004ccb0
mov ecx, dword [esp + 0x14]
inc esi
add edi, 0x10
cmp esi, dword [ecx + 0x14]
jl 0x10083fed
mov eax, dword [esp + 0x14]
mov byte [eax + 0x41], dl
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.1004ccb0
cmp eax, 1
jne 0x10084034
mov dword [esp + 0x64], str.exclusive
push 1
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push str.locking_mode
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x1008406a
call fcn.1005b630
test eax, eax
je 0x1008406a
mov esi, 1
jmp 0x10084090
mov eax, dword [ebp + 4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x100840f1
cmp byte [edi + 0x40], bl
jne 0x100840f1
cmp esi, ebx
jge 0x100840a9
mov eax, dword [ebp + 0x1c]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x10], ebx
cmp ecx, ebx
jne 0x100840d2
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10084215
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10084215
mov ecx, dword [esp + 0x64]
xor eax, eax
call fcn.1005bc70
jmp 0x10084215
push str.journal_mode
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10084257
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
push 1
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push str.journal_mode
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
add esp, 0x10
cmp esi, ebx
jne 0x10084154
mov dword [esp + 0x64], 0xffffffff
jmp 0x10084190
mov ecx, esi
call fcn.10041ef0
mov dword [esp + 0x44], eax
xor edi, edi
cmp edi, 6
je 0x1008414a
mov eax, dword [edi*4 + 0x100fa500]
cmp eax, ebx
je 0x1008414a
mov ecx, dword [esp + 0x44]
push ecx
push eax
push esi
call fcn.100420c0
add esp, 0xc
test eax, eax
je 0x10084187
inc edi
jmp 0x10084161
mov dword [esp + 0x64], edi
cmp edi, 0xffffffff
jne 0x100841a4
mov eax, dword [esp + 0x6c]
cmp dword [eax + 4], ebx
jne 0x100841a4
mov dword [esp + 0x18], ebx
mov dword [eax + 4], 1
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 0x14]
dec esi
mov edi, 1
mov ecx, esi
rol edi, cl
cmp esi, ebx
jl 0x10084215
mov eax, esi
shl eax, 4
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
cmp dword [edx + eax + 4], ebx
je 0x10084207
cmp esi, dword [esp + 0x18]
je 0x100841de
mov ecx, dword [esp + 0x6c]
cmp dword [ecx + 4], ebx
jne 0x10084207
or dword [ebp + 0x6c], edi
cmp esi, 1
je 0x100841ef
mov ecx, esi
mov eax, ebp
call fcn.1005c210
mov edx, dword [esp + 0x64]
push edx
push 1
push esi
push 0xa
mov eax, ebp
call fcn.1005b6b0
mov eax, dword [esp + 0x50]
add esp, 0x10
sub eax, 0x10
dec esi
ror edi, 1
cmp esi, ebx
mov dword [esp + 0x40], eax
jge 0x100841c2
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x1008422c
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10086bd2
mov edx, dword [ebp + 4]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x10086bd2
push str.journal_size_limit
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x100842df
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov edi, dword [edx]
or eax, 0xffffffff
mov ecx, 0xfffffffe
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
cmp esi, ebx
je 0x100842be
lea eax, [esp + 0x48]
push 0xf4240
push eax
mov al, 1
mov ecx, esi
call fcn.100426c0
mov eax, dword [esp + 0x54]
add esp, 8
cmp eax, 0xffffffff
jg 0x100842ba
jl 0x100842b3
mov ecx, dword [esp + 0x48]
cmp ecx, 0xffffffff
jae 0x100842be
or ecx, 0xffffffff
or eax, ecx
jmp 0x100842be
mov ecx, dword [esp + 0x48]
push eax
push ecx
mov ecx, edi
call fcn.1004ce30
push edx
push eax
mov eax, dword [esp + 0x74]
push str.journal_size_limit
call fcn.100836d0
add esp, 0x14
jmp 0x10086bd2
push str.auto_vacuum
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x1008440b
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], edx
call fcn.10087450
test eax, eax
jne 0x10086bd2
cmp esi, ebx
jne 0x1008433d
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x10084324
call fcn.10051e70
jmp 0x10084326
xor eax, eax
cdq
push edx
push eax
push str.auto_vacuum
mov eax, edi
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
call fcn.10083540
cmp eax, ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov byte [ecx + 0x42], al
jl 0x10086bd2
push eax
mov eax, dword [esp + 0x44]
call fcn.10051e00
add esp, 4
test eax, eax
jne 0x10086bd2
mov esi, dword [esp + 0x64]
cmp esi, 1
je 0x1008437c
cmp esi, 2
jne 0x10086bd2
push 0x100fa518
push 6
mov eax, ebp
call fcn.1005bb30
mov ecx, dword [esp + 0x20]
add esp, 8
cmp dword [ebp + 0x1c], eax
jbe 0x100843a0
mov edi, dword [ebp + 4]
lea edx, [eax + eax*4]
mov dword [edi + edx*4 + 4], ecx
lea edx, [eax + 1]
cmp dword [ebp + 0x1c], edx
jbe 0x100843b2
mov edi, dword [ebp + 4]
lea edx, [edx + edx*4]
mov dword [edi + edx*4 + 4], ecx
lea edx, [eax + 2]
cmp dword [ebp + 0x1c], edx
jbe 0x100843c7
mov ebx, dword [ebp + 4]
lea edi, [eax + 4]
lea edx, [edx + edx*4]
mov dword [ebx + edx*4 + 8], edi
lea edx, [eax + 4]
cmp dword [ebp + 0x1c], edx
jbe 0x100843da
mov edi, dword [ebp + 4]
dec esi
lea edx, [edx + edx*4]
mov dword [edi + edx*4 + 4], esi
add eax, 5
cmp dword [ebp + 0x1c], eax
jbe 0x100843ec
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 4], ecx
mov eax, 1
shl eax, cl
or dword [ebp + 0x6c], eax
cmp ecx, 1
je 0x10086bd2
mov eax, ebp
call fcn.1005c210
jmp 0x10086bd2
push str.incremental_vacuum
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10084551
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
cmp esi, ebx
je 0x1008444e
lea ecx, [esp + 0x34]
push ecx
push esi
call fcn.100428a0
add esp, 8
test eax, eax
je 0x1008444e
cmp dword [esp + 0x34], ebx
jg 0x10084456
mov dword [esp + 0x34], Ordinal_2
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x64]
push ebx
call fcn.10077d30
mov esi, dword [ebp + 0x1c]
add esp, 4
cmp dword [ebp + 0x20], esi
jg 0x1008447a
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x100844a4
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x34]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x18]
push eax
push 0x83
mov eax, ebp
call fcn.1005b760
mov dword [esp + 0x6c], eax
push 1
push 0x1e
mov eax, ebp
call fcn.1005b760
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x100844da
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10084504
mov eax, dword [ebp + 4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x20
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 0xffffffff
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10084517
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10084541
mov eax, dword [ebp + 4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x64]
mov byte [eax], 0x7e
mov byte [eax + 3], bl
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x64]
mov edx, ebp
call fcn.1005bc40
jmp 0x10086bd2
push str.cache_size
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x100845c1
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
cmp esi, ebx
jne 0x10084599
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
push str.cache_size
mov eax, edi
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
mov ecx, esi
call fcn.10042970
mov ecx, dword [esp + 0x1c]
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.10051ad0
add esp, 4
jmp 0x10086bd2
push str.mmap_size
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x100846d6
cmp esi, ebx
je 0x10084676
lea eax, [esp + 0x48]
push 0x3e8
push eax
mov al, 1
mov ecx, esi
call fcn.100426c0
mov ecx, dword [esp + 0x54]
add esp, 8
cmp ecx, ebx
jg 0x10084619
jl 0x10084605
cmp dword [esp + 0x48], ebx
jae 0x10084619
mov ecx, dword [0x10120288]
mov dword [esp + 0x48], ecx
mov ecx, dword [0x1012028c]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x14]
cmp dword [edx + 4], ebx
jne 0x10084630
mov eax, dword [esp + 0x48]
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], ecx
mov esi, dword [ebp + 0x14]
sub esi, 1
js 0x1008467a
mov edi, esi
shl edi, 4
lea ecx, [ecx]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + edi + 4]
cmp eax, ebx
je 0x1008466c
cmp esi, dword [esp + 0x18]
je 0x1008465a
mov edx, dword [esp + 0x6c]
cmp dword [edx + 4], ebx
jne 0x1008466c
push ecx
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.10051b20
mov ecx, dword [esp + 0x54]
add esp, 8
dec esi
sub edi, 0x10
cmp esi, ebx
jge 0x10084640
jmp 0x1008467a
mov ebp, dword [esp + 0x14]
or eax, 0xffffffff
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
push 0x12
push eax
push ebp
call fcn.100a3ec0
add esp, 0x10
cmp eax, ebx
jne 0x100846be
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x64]
push ecx
push edx
push str.mmap_size
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
cmp eax, 0xc
je 0x10086bd2
mov ecx, dword [esp + 0x64]
inc dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
jmp 0x10086bd2
push str.temp_store
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x1008471d
cmp esi, ebx
jne 0x1008470d
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + 0x3f]
cdq
push edx
push eax
mov eax, dword [esp + 0x6c]
push str.temp_store
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
mov edi, dword [esp + 0x64]
mov eax, esi
call fcn.10083660
jmp 0x10086bd2
push str.temp_store_directory
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x100848be
cmp esi, ebx
jne 0x1008483a
cmp dword [0x10123884], ebx
je 0x10086bd2
push 1
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push str.temp_store_directory
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
mov ecx, dword [0x10123884]
mov dword [esp + 0x74], ecx
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x10084789
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x10084789
mov eax, 1
jmp 0x100847b1
mov eax, dword [ebp + 4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, esi
mov esi, dword [ebp + 4]
mov edi, dword [ebp]
cmp esi, ebx
je 0x1008480a
cmp byte [edi + 0x40], bl
jne 0x1008480a
cmp eax, ebx
jge 0x100847c8
mov eax, dword [ebp + 0x1c]
dec eax
lea ecx, [eax + eax*4]
movsx eax, byte [esi + ecx*4 + 1]
lea esi, [esi + ecx*4]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x10], ebx
cmp ecx, ebx
jne 0x100847ee
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10084815
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10084815
mov ecx, dword [esp + 0x64]
xor eax, eax
call fcn.1005bc70
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x1008482c
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10086bd2
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
jmp 0x10084235
cmp byte [esi], bl
je 0x10084875
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea edx, [esp + 0x44]
push edx
push 1
push esi
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x1008485f
cmp dword [esp + 0x44], ebx
jne 0x10084875
mov edi, dword [esp + 0x64]
push str.not_a_writable_directory
call fcn.10041f80
add esp, 4
jmp 0x10086bd2
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x3f], 1
ja 0x10084888
mov eax, dword [esp + 0x64]
call fcn.10083610
mov edx, dword [0x10123884]
push edx
call fcn.1003fd70
add esp, 4
cmp byte [esi], bl
je 0x100848b3
push esi
push 0x1010372c
call fcn.100414f0
add esp, 8
mov dword [0x10123884], eax
jmp 0x10086bd2
mov dword [0x10123884], ebx
jmp 0x10086bd2
push str.data_store_directory
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10084970
cmp esi, ebx
jne 0x1008490d
cmp dword [0x10123888], ebx
je 0x10086bd2
push 1
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push str.data_store_directory
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
mov eax, dword [0x10123888]
mov dword [esp + 0x74], eax
jmp 0x1008476c
cmp byte [esi], bl
je 0x1008493a
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea edx, [esp + 0x44]
push edx
push 1
push esi
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x1008485f
cmp dword [esp + 0x44], ebx
je 0x1008485f
mov ecx, dword [0x10123888]
push ecx
call fcn.1003fd70
add esp, 4
cmp byte [esi], bl
je 0x10084965
push esi
push 0x1010372c
call fcn.100414f0
add esp, 8
mov dword [0x10123888], eax
jmp 0x10086bd2
mov dword [0x10123888], ebx
jmp 0x10086bd2
push str.synchronous
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x100849f9
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
cmp esi, ebx
jne 0x100849b7
mov edx, dword [esp + 0x1c]
movzx eax, byte [edx + 8]
dec eax
cdq
push edx
push eax
push str.synchronous
mov eax, edi
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x3e], bl
jne 0x100849d2
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.10041f80
add esp, 4
jmp 0x10086bd2
push 1
push ebx
mov ebx, dword [esp + 0x2c]
call fcn.10083430
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
inc al
push edx
mov byte [ecx + 8], al
call fcn.100838a0
add esp, 0xc
jmp 0x10086bd2
mov eax, dword [esp + 0x64]
push esi
push eax
mov eax, edi
call fcn.10083930
add esp, 8
test eax, eax
je 0x10084a1f
mov ecx, dword [esp + 0x14]
push ecx
call fcn.100838a0
add esp, 4
jmp 0x10086bd2
push str.table_info
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10084f26
cmp esi, ebx
je 0x10084f26
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push edx
push esi
push eax
call fcn.10073400
add esp, 0xc
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x10086bd2
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x10084a96
lea esp, [esp]
mov ecx, dword [eax + 0x30]
and cl, 3
cmp cl, 2
je 0x10084a92
mov eax, dword [eax + 0x14]
cmp eax, ebx
jne 0x10084a80
mov dword [esp + 0x28], eax
push 6
mov edi, ebp
call fcn.1005ce80
mov edi, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
add esp, 4
push edx
mov eax, edi
mov dword [edi + 0x4c], 6
call fcn.10077be0
add esp, 4
push ebx
push 0x10108b24
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
push ebx
push 0x10108b28
push ebx
push 1
mov ecx, ebp
call fcn.1005cf00
push ebx
push 0x10108b30
push ebx
push 2
mov ecx, ebp
call fcn.1005cf00
push ebx
push str.notnull
push ebx
push 3
mov ecx, ebp
call fcn.1005cf00
add esp, 0x40
push ebx
push str.dflt_value
push ebx
push 4
mov ecx, ebp
call fcn.1005cf00
push ebx
push 0x10108b4c
push ebx
push 5
mov ecx, ebp
call fcn.1005cf00
mov esi, dword [esp + 0x40]
push esi
push edi
call fcn.100754d0
mov eax, dword [esi + 4]
xor ecx, ecx
add esp, 0x28
cmp cx, word [esi + 0x26]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x64], eax
jge 0x10086bd2
mov ecx, 1
mov edx, dword [esp + 0x64]
test byte [edx + 0x16], 2
je 0x10084b5b
add dword [esp + 0x2c], ecx
jmp 0x10084efd
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10084b73
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10084b9c
mov ecx, 1
mov edx, dword [ebp + 4]
add dword [ebp + 0x1c], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x2c]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x64]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
jg 0x10084bc0
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x10084bc0
mov esi, 1
jmp 0x10084be5
mov eax, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 2
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x10084c42
cmp byte [edi + 0x40], bl
jne 0x10084c42
cmp esi, ebx
jge 0x10084bfe
mov eax, dword [ebp + 0x1c]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x10084c22
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10084c4d
mov ecx, dword [esp + 0x34]
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10084c4d
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005bc70
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
cmp eax, ebx
jne 0x10084c64
mov dword [esp + 0x34], 0x10102d23
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10084c7e
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x10084c7e
mov esi, 1
jmp 0x10084ca3
mov edx, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x10084cff
cmp byte [edi + 0x40], bl
jne 0x10084cff
cmp esi, ebx
jge 0x10084cbc
mov eax, dword [ebp + 0x1c]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x10084cdf
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10084d0a
mov ecx, dword [esp + 0x34]
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10084d0a
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005bc70
mov edx, dword [esp + 0x64]
mov esi, dword [ebp + 0x1c]
xor ecx, ecx
cmp byte [edx + 0x14], bl
setne cl
cmp dword [ebp + 0x20], esi
mov dword [esp + 0x44], ecx
jg 0x10084d2d
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10084d56
mov ecx, dword [ebp + 4]
inc dword [ebp + 0x1c]
mov edx, dword [esp + 0x44]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], 4
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 8]
mov esi, dword [ebp + 0x1c]
mov dword [esp + 0x34], eax
cmp eax, ebx
je 0x10084e11
cmp dword [ebp + 0x20], esi
jg 0x10084d83
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x10084d83
mov esi, 1
jmp 0x10084da8
mov edx, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 5
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x10084e04
cmp byte [edi + 0x40], bl
jne 0x10084e04
cmp esi, ebx
jge 0x10084dc1
mov eax, dword [ebp + 0x1c]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x10084de4
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10084e46
mov ecx, dword [esp + 0x34]
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10084e46
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005bc70
jmp 0x10084e46
cmp dword [ebp + 0x20], esi
jg 0x10084e21
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10084e46
mov edx, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x18
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 5
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x64]
test byte [eax + 0x16], 1
jne 0x10084e54
xor esi, esi
jmp 0x10084e80
mov eax, dword [esp + 0x28]
mov esi, 1
cmp eax, ebx
je 0x10084e80
mov ecx, dword [esp + 0x20]
movsx ecx, word [ecx + 0x26]
cmp ecx, esi
jl 0x10084e80
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x30]
cmp dword [eax], edx
je 0x10084e80
inc esi
add eax, 4
cmp esi, ecx
jle 0x10084e74
mov eax, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], eax
mov dword [esp + 0x44], eax
jg 0x10084e9b
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10084ec0
mov eax, dword [esp + 0x44]
inc dword [ebp + 0x1c]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + edx*4]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], esi
mov dword [eax + 8], 6
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10084ed3
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10084efd
mov eax, dword [ebp + 4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 6
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
movsx edx, word [edx + 0x26]
add dword [esp + 0x64], 0x18
mov ecx, 1
add eax, ecx
cmp eax, edx
mov dword [esp + 0x30], eax
jl 0x10084b48
jmp 0x10086bd2
push str.index_info
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10085185
cmp esi, ebx
je 0x10085185
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push eax
push esi
call fcn.100735f0
add esp, 8
mov dword [esp + 0x30], eax
cmp eax, ebx
je 0x10086bd2
mov esi, eax
mov ecx, dword [esi + 0xc]
push 3
mov edi, ebp
mov dword [esp + 0x48], ecx
call fcn.1005ce80
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
add esp, 4
push edx
mov dword [eax + 0x4c], 3
call fcn.10077be0
add esp, 4
push ebx
push str.seqno
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
push ebx
push 0x10108b24
push ebx
push 1
mov ecx, ebp
call fcn.1005cf00
push ebx
push 0x10108b28
push ebx
push 2
mov ecx, ebp
call fcn.1005cf00
xor eax, eax
add esp, 0x30
mov dword [esp + 0x64], ebx
cmp ax, word [esi + 0x2c]
jae 0x10086bd2
jmp 0x10084fe8
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x64]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x40], eax
jg 0x10085009
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10085033
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x64]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10085046
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x1008506f
mov ecx, dword [ebp + 4]
inc dword [ebp + 0x1c]
mov edx, dword [esp + 0x40]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], 2
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 4]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
mov dword [esp + 0x34], eax
jg 0x1008509e
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x1008509e
mov esi, 1
jmp 0x100850c3
mov edx, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x1008511f
cmp byte [edi + 0x40], bl
jne 0x1008511f
cmp esi, ebx
jge 0x100850dc
mov eax, dword [ebp + 0x1c]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x100850ff
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x1008512a
mov ecx, dword [esp + 0x34]
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x1008512a
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005bc70
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x1008513d
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10085167
mov eax, dword [ebp + 4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x64]
movzx edx, word [ecx + 0x2c]
inc eax
cmp eax, edx
mov dword [esp + 0x64], eax
jl 0x10084fe4
jmp 0x10086bd2
push str.index_list
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x100853e3
cmp esi, ebx
je 0x100853e3
mov ebp, dword [esp + 0x64]
mov edi, ebp
call fcn.10087450
test eax, eax
jne 0x10086bd2
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push eax
push esi
push ecx
call fcn.10073400
add esp, 0xc
mov dword [esp + 0x64], eax
cmp eax, ebx
je 0x10086bd2
call fcn.1008a5b0
mov edx, dword [esp + 0x64]
mov esi, eax
mov eax, dword [edx + 8]
mov dword [esp + 0x64], eax
cmp eax, ebx
je 0x10086bd2
push 3
mov edi, esi
mov dword [esp + 0x34], ebx
call fcn.1005ce80
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
mov eax, ebp
mov dword [ebp + 0x4c], 3
call fcn.10077be0
add esp, 4
push ebx
push 0x10108b70
push ebx
push ebx
mov ecx, esi
call fcn.1005cf00
push ebx
push 0x10108b28
push ebx
push 1
mov ecx, esi
call fcn.1005cf00
push ebx
push str.unique
push ebx
push 2
mov ecx, esi
call fcn.1005cf00
add esp, 0x30
mov ebp, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebp
jg 0x1008525a
mov edi, esi
call fcn.1005b630
test eax, eax
jne 0x10085285
mov eax, dword [esi + 4]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov ecx, 1
add dword [esi + 0x1c], ecx
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x64]
mov ebp, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebp
mov ecx, dword [eax]
mov dword [esp + 0x34], ecx
jg 0x100852a9
mov edi, esi
call fcn.1005b630
test eax, eax
je 0x100852a9
mov ebp, 1
jmp 0x100852cf
mov eax, dword [esi + 4]
inc dword [esi + 0x1c]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 2
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [esi + 4]
mov edi, dword [esi]
mov eax, ebp
cmp ecx, ebx
je 0x1008532a
cmp byte [edi + 0x40], bl
jne 0x1008532a
cmp ebp, ebx
jge 0x100852e7
mov eax, dword [esi + 0x1c]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea ebp, [ecx + edx*4]
mov ecx, dword [ebp + 0x10]
call fcn.1005bc70
mov dword [ebp + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x1008530b
mov dword [ebp + 0x10], ebx
mov byte [ebp + 1], bl
jmp 0x10085335
mov ecx, dword [esp + 0x34]
call fcn.10041ef0
mov edx, dword [esi]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [ebp + 0x10], eax
mov byte [ebp + 1], 0xff
xor ebx, ebx
jmp 0x10085335
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005bc70
mov ecx, dword [esp + 0x64]
mov ebp, dword [esi + 0x1c]
xor eax, eax
cmp byte [ecx + 0x2e], bl
setne al
cmp dword [esi + 0x20], ebp
mov dword [esp + 0x44], eax
jg 0x10085358
mov edi, esi
call fcn.1005b630
test eax, eax
jne 0x10085382
mov eax, dword [esi + 4]
inc dword [esi + 0x1c]
mov ecx, dword [esp + 0x44]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ebp, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebp
jg 0x10085395
mov edi, esi
call fcn.1005b630
test eax, eax
jne 0x100853c2
mov eax, dword [esi + 4]
mov ecx, 1
add dword [esi + 0x1c], ecx
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x100853c7
mov ecx, 1
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x64], eax
cmp eax, ebx
jne 0x10085247
jmp 0x10086bd2
push str.database_list
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x1008568b
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.10087450
test eax, eax
jne 0x10086bd2
push 3
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push 0x10108b70
push ebx
push ebx
mov ecx, ebp
mov dword [esi + 0x4c], 3
call fcn.1005cf00
push ebx
push 0x10108b28
push ebx
push 1
mov ecx, ebp
call fcn.1005cf00
push ebx
push str.file
push ebx
push 2
mov ecx, ebp
call fcn.1005cf00
mov edx, dword [esp + 0x44]
add esp, 0x30
cmp dword [edx + 0x14], ebx
mov dword [esp + 0x30], ebx
jle 0x10086bd2
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x64]
cmp dword [edx + ecx + 4], ebx
je 0x1008566b
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x1008548e
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x100854b8
mov edx, dword [ebp + 4]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x30]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x64]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov eax, dword [edx + ecx]
mov dword [esp + 0x34], eax
jg 0x100854e4
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x100854e4
mov esi, 1
jmp 0x10085509
mov edx, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 2
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x10085565
cmp byte [edi + 0x40], bl
jne 0x10085565
cmp esi, ebx
jge 0x10085522
mov eax, dword [ebp + 0x1c]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x10085545
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10085570
mov ecx, dword [esp + 0x34]
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10085570
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005bc70
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x64]
mov eax, dword [eax + edx + 4]
call fcn.10058b70
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov dword [esp + 0x34], eax
jg 0x100855a2
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x100855a2
mov esi, 1
jmp 0x100855c7
mov edx, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x10085623
cmp byte [edi + 0x40], bl
jne 0x10085623
cmp esi, ebx
jge 0x100855e0
mov eax, dword [ebp + 0x1c]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x10085603
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x1008562e
mov ecx, dword [esp + 0x34]
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x1008562e
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005bc70
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10085641
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x1008566b
mov eax, dword [ebp + 4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
add dword [esp + 0x64], 0x10
inc eax
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x30], eax
jl 0x10085466
jmp 0x10086bd2
push str.collation_list
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10085847
push 2
mov edi, ebp
mov dword [esp + 0x38], ebx
call fcn.1005ce80
mov edx, dword [esp + 0x68]
add esp, 4
push ebx
push 0x10108b70
push ebx
push ebx
mov ecx, ebp
mov dword [edx + 0x4c], 2
call fcn.1005cf00
push ebx
push 0x10108b28
push ebx
push 1
mov ecx, ebp
call fcn.1005cf00
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x1b4]
add esp, 0x20
mov dword [esp + 0x30], eax
cmp eax, ebx
je 0x10086bd2
jmp 0x100856fa
mov eax, dword [esp + 0x30]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov ecx, dword [eax + 8]
mov dword [esp + 0x64], ecx
jg 0x10085714
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x1008573e
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x34]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x64]
mov esi, dword [ebp + 0x1c]
inc dword [esp + 0x34]
cmp dword [ebp + 0x20], esi
mov ecx, dword [eax]
mov dword [esp + 0x64], ecx
jg 0x10085766
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x10085766
mov esi, 1
jmp 0x1008578b
mov eax, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 2
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov eax, esi
cmp ecx, ebx
je 0x100857e8
cmp byte [edi + 0x40], bl
jne 0x100857e8
cmp esi, ebx
jge 0x100857a4
mov eax, dword [ebp + 0x1c]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.1005bc70
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x64], ebx
jne 0x100857c8
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x100857f3
mov ecx, dword [esp + 0x64]
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x100857f3
mov ecx, dword [esp + 0x64]
xor eax, eax
call fcn.1005bc70
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10085806
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10085830
mov edx, dword [ebp + 4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], 2
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
cmp eax, ebx
jne 0x100856f6
jmp 0x10086bd2
push str.foreign_key_list
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10085c41
cmp esi, ebx
je 0x10085c41
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push ecx
push esi
push edx
call fcn.10073400
mov esi, eax
add esp, 0xc
mov dword [esp + 0x40], esi
cmp esi, ebx
je 0x10086bd2
call fcn.1008a5b0
mov esi, dword [esi + 0x10]
mov ebp, eax
mov dword [esp + 0x20], esi
cmp esi, ebx
je 0x10086bd2
push 8
mov edi, ebp
mov dword [esp + 0x2c], ebx
call fcn.1005ce80
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
add esp, 4
push ecx
mov dword [eax + 0x4c], 8
call fcn.10077be0
add esp, 4
push ebx
push 0x10108bb0
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
push ebx
push 0x10108b70
push ebx
push 1
mov ecx, ebp
call fcn.1005cf00
push ebx
push str.table
push ebx
push 2
mov ecx, ebp
call fcn.1005cf00
push ebx
push str.from
push ebx
push 3
mov ecx, ebp
call fcn.1005cf00
add esp, 0x40
push ebx
push 0x10108bbc
push ebx
push 4
mov ecx, ebp
call fcn.1005cf00
push ebx
push str.on_update
push ebx
push 5
mov ecx, ebp
call fcn.1005cf00
push ebx
push str.on_delete
push ebx
push 6
mov ecx, ebp
call fcn.1005cf00
push ebx
push 0x10108bd8
push ebx
push 7
mov ecx, ebp
call fcn.1005cf00
add esp, 0x40
jmp 0x10085964
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x14], ebx
mov dword [esp + 0x2c], ebx
jle 0x10085c25
mov edx, dword [esp + 0x20]
add edx, 0x24
mov dword [esp + 0x64], edx
lea esp, [esp]
mov eax, dword [esp + 0x64]
mov esi, dword [eax + 4]
mov ecx, dword [esp + 0x20]
mov al, byte [ecx + 0x19]
call fcn.10083ab0
mov dword [esp + 0x18], eax
mov al, byte [ecx + 0x1a]
call fcn.10083ab0
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], eax
mov dword [esp + 0x44], eax
jg 0x100859be
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x100859e8
mov eax, dword [esp + 0x44]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x28]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], eax
mov dword [esp + 0x44], eax
jg 0x10085a03
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10085a2c
mov eax, dword [esp + 0x44]
mov ecx, dword [ebp + 4]
inc dword [ebp + 0x1c]
mov edx, dword [esp + 0x2c]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax], 0x15
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], 2
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], ecx
mov dword [esp + 0x44], ecx
jg 0x10085a59
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x10085a55
mov eax, 1
jmp 0x10085a80
mov ecx, dword [esp + 0x44]
mov eax, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 3
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, ecx
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
cmp ecx, ebx
je 0x10085ae7
cmp byte [edi + 0x40], bl
jne 0x10085ae7
cmp eax, ebx
jge 0x10085a97
mov eax, dword [ebp + 0x1c]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x34], ecx
mov ecx, dword [ecx + 0x10]
call fcn.1005bc70
mov eax, dword [esp + 0x34]
mov dword [eax + 0x10], ebx
cmp dword [esp + 0x30], ebx
jne 0x10085ac3
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x10085af2
mov ecx, dword [esp + 0x30]
call fcn.10041ef0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.100401c0
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xff
xor ebx, ebx
jmp 0x10085af2
mov ecx, dword [esp + 0x30]
xor eax, eax
call fcn.1005bc70
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*8]
mov ecx, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], ecx
jg 0x10085b2b
mov edi, ebp
call fcn.1005b630
test eax, eax
je 0x10085b27
mov eax, 1
jmp 0x10085b52
mov ecx, dword [esp + 0x44]
mov edx, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 4
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov eax, ecx
mov ecx, dword [esp + 0x3c]
push ecx
push ebp
xor ecx, ecx
call fcn.1005bdc0
push ebx
push esi
neg esi
sbb esi, esi
and esi, 0x46
xor eax, eax
add esi, 0x18
push esi
lea ecx, [eax + 5]
xor edx, edx
mov edi, ebp
call fcn.1005b7d0
mov esi, dword [ebp + 0x1c]
add esp, 0x14
cmp dword [ebp + 0x20], esi
jg 0x10085b95
call fcn.1005b630
test eax, eax
je 0x10085b95
mov esi, 1
jmp 0x10085bba
mov eax, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x5e
mov byte [eax + 3], bl
mov dword [eax + 4], ebx
mov dword [eax + 8], 6
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
mov ecx, dword [esp + 0x1c]
push ecx
push ebp
xor ecx, ecx
mov eax, esi
call fcn.1005bdc0
mov edx, dword [esp + 0x20]
push ebx
push edx
xor eax, eax
push 0x5e
lea ecx, [eax + 7]
xor edx, edx
mov edi, ebp
call fcn.1005b7d0
add esp, 0x14
push ebx
xor eax, eax
push str.NONE
push 0x5e
lea ecx, [eax + 8]
xor edx, edx
call fcn.1005b7d0
add esp, 0xc
push ebx
push 8
push 1
push 0x1e
mov eax, ebp
call fcn.1005b6b0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
add dword [esp + 0x74], 8
inc eax
add esp, 0x10
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x2c], eax
jl 0x10085980
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
inc dword [esp + 0x28]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x10085960
jmp 0x10086bd2
push str.foreign_key_check
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x100860e5
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.10087450
test eax, eax
jne 0x10086bd2
mov eax, dword [esi + 0x4c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x30], eax
inc eax
mov dword [esp + 0x3c], ecx
mov dword [esi + 0x4c], eax
call fcn.1008a5b0
mov edi, eax
push 4
call fcn.1005ce80
add esp, 4
push ebx
push str.table
push ebx
push ebx
mov ecx, edi
call fcn.1005cf00
push ebx
push 0x10108bfc
push ebx
push 1
mov ecx, edi
call fcn.1005cf00
push ebx
push str.parent
push ebx
push 2
mov ecx, edi
call fcn.1005cf00
push ebx
push str.fkid
push ebx
push 3
mov ecx, edi
call fcn.1005cf00
mov edx, dword [esp + 0x58]
add esp, 0x40
push edx
mov eax, esi
call fcn.10077be0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x44]
mov eax, dword [edx + ecx + 0xc]
mov eax, dword [eax + 0x10]
add esp, 4
cmp eax, ebx
je 0x10086bd2
jmp 0x10085d00
mov ebp, dword [esp + 0x64]
cmp dword [esp + 0x24], ebx
je 0x10085d26
mov ecx, dword [esp + 0x24]
push ecx
push ebx
mov ebx, dword [esp + 0x28]
mov eax, ebp
call fcn.10073500
mov esi, eax
add esp, 8
xor eax, eax
xor ebx, ebx
jmp 0x10085d2b
mov esi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], esi
cmp esi, ebx
je 0x100860d8
cmp dword [esi + 0x10], ebx
je 0x100860d8
mov edx, dword [esi]
mov eax, dword [esi + 0x20]
mov ecx, dword [esp + 0x18]
push edx
push ebx
push eax
push ecx
mov eax, ebp
call fcn.10072e20
movsx edx, word [esi + 0x26]
mov eax, dword [esp + 0x40]
inc eax
add eax, edx
add esp, 0x10
cmp eax, dword [ebp + 0x4c]
jle 0x10085d6e
mov dword [ebp + 0x4c], eax
mov eax, dword [esp + 0x18]
push 0x30
push eax
push ebx
mov eax, esi
mov ecx, ebp
call fcn.1007eba0
mov ecx, dword [esi]
add esp, 0xc
push ebx
push ecx
mov ecx, dword [esp + 0x44]
push 0x5e
xor eax, eax
xor edx, edx
call fcn.1005b7d0
mov ebp, dword [esi + 0x10]
add esp, 0xc
mov eax, 1
mov dword [esp + 0x1c], eax
cmp ebp, ebx
je 0x10085e7d
lea esp, [esp]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x64]
push edx
push ebx
mov ebx, dword [esp + 0x28]
call fcn.10073500
mov esi, eax
add esp, 8
test esi, esi
je 0x10086bd2
mov eax, dword [esi]
mov ecx, dword [esi + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x64]
push eax
push 0
push ecx
push edx
mov eax, ebx
mov dword [esp + 0x38], 0
call fcn.10072e20
push 0
lea eax, [esp + 0x3c]
push eax
push ebp
push esi
push ebx
call fcn.1007c680
add esp, 0x24
test eax, eax
jne 0x10086bd2
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x10085e2e
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
push 0x30
push ecx
mov ecx, dword [esp + 0x6c]
push edx
mov eax, esi
call fcn.1007eba0
add esp, 0xc
jmp 0x10085e64
mov eax, dword [esp + 0x64]
push ebx
push eax
call fcn.10078130
mov ecx, dword [esp + 0x20]
mov edx, dword [ebx + 0x28]
push ecx
mov esi, eax
mov eax, dword [esp + 0x28]
push edx
push eax
push 0x30
mov eax, edi
call fcn.1005b6b0
push esi
push edi
mov ecx, 0xfffffff0
or eax, 0xffffffff
call fcn.1005bdc0
add esp, 0x20
mov ebp, dword [ebp + 4]
inc dword [esp + 0x1c]
xor ebx, ebx
test ebp, ebp
jne 0x10085db0
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
cmp dword [ecx + 0x48], eax
jge 0x10085e89
mov dword [ecx + 0x48], eax
push ebx
push 0x65
mov eax, edi
call fcn.1005b760
mov ebp, dword [esi + 0x10]
add esp, 8
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], 1
cmp ebp, ebx
je 0x100860b5
mov esi, dword [esp + 0x3c]
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x64]
push ecx
push ebx
mov ebx, dword [esp + 0x28]
call fcn.10073500
lea edx, [esp + 0x48]
push edx
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0x34]
push ecx
push ebp
push eax
xor ebx, ebx
push edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x5c], ebx
call fcn.1007c680
add esp, 0x1c
mov eax, edi
call fcn.1005b940
mov dword [esp + 0x34], eax
cmp dword [esp + 0x28], ebx
jne 0x10085fa8
mov ecx, dword [esp + 0x2c]
movsx edx, word [ecx + 0x24]
mov eax, dword [ebp + 0x24]
mov ebx, dword [esp + 0x30]
inc ebx
mov dword [esp + 0x28], eax
cmp eax, edx
je 0x10085f5f
push ebx
push eax
push 0
push 0x29
mov eax, edi
call fcn.1005b6b0
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push ebx
push ecx
push edi
call fcn.10092280
mov eax, dword [esp + 0x50]
add esp, 0x1c
push edi
mov ecx, ebx
mov edx, 0x49
call fcn.1005b7b0
mov eax, dword [edi + 0x1c]
add esp, 4
add eax, 3
push edi
mov ecx, ebx
mov edx, 0x21
call fcn.1005b7b0
add esp, 4
jmp 0x10085f70
push 0
push ebx
push 0
push 0x60
mov eax, edi
call fcn.1005b6b0
add esp, 0x10
mov edx, dword [esp + 0x1c]
push ebx
push 0
push edx
push 0x3f
mov eax, edi
call fcn.1005b6b0
mov eax, dword [esp + 0x44]
push 0
push eax
push 0
push 0xe
mov eax, edi
call fcn.1005b6b0
mov eax, dword [edi + 0x1c]
add esp, 0x20
sub eax, 2
mov edx, edi
call fcn.1005bc40
jmp 0x10086039
xor esi, esi
cmp dword [ebp + 0x14], esi
jle 0x10085ff1
mov ebx, dword [esp + 0x30]
inc ebx
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10085fc1
mov eax, dword [eax + esi*4]
jmp 0x10085fc4
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x2c]
push eax
push 0
push ecx
mov eax, edi
call fcn.1006d3b0
mov eax, dword [esp + 0x40]
add esp, 0xc
push edi
mov ecx, ebx
mov edx, 0x49
call fcn.1005b7b0
inc esi
add esp, 4
inc ebx
cmp esi, dword [ebp + 0x14]
jl 0x10085fb4
mov ebx, dword [esp + 0x30]
mov edx, dword [ebp + 0x14]
push ebx
push edx
lea eax, [ebx + 1]
push eax
push 0x2b
mov eax, edi
call fcn.1005b6b0
mov esi, dword [esp + 0x38]
mov eax, edi
call fcn.1007ec50
push eax
push edi
xor ecx, ecx
or eax, 0xffffffff
call fcn.1005bdc0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
push 0
push 0x3d
push edi
mov eax, ebx
call fcn.1005b8d0
mov esi, dword [esp + 0x60]
add esp, 0x24
push 0
lea eax, [esi + 1]
push eax
push 0
push 0x60
mov eax, edi
call fcn.1005b6b0
mov eax, dword [ebp + 8]
push 0
push eax
push 0x5e
xor eax, eax
lea ecx, [esi + 2]
xor edx, edx
call fcn.1005b7d0
mov ebx, dword [esp + 0x38]
add esp, 0x1c
lea ecx, [ebx - 1]
push edi
lea eax, [esi + 3]
mov edx, 0x15
call fcn.1005b7b0
add esp, 4
push 0
push 4
push esi
push 0x1e
mov eax, edi
call fcn.1005b6b0
mov ecx, dword [esp + 0x44]
push ecx
mov edx, edi
call fcn.1005b9a0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
add esp, 0x14
call fcn.1003fe10
mov ebp, dword [ebp + 4]
inc ebx
mov dword [esp + 0x1c], ebx
xor ebx, ebx
test ebp, ebp
jne 0x10085eb1
mov esi, dword [esp + 0x48]
push ebx
lea edx, [esi + 1]
push edx
push ebx
push 7
mov eax, edi
call fcn.1005b6b0
add esp, 0x10
mov eax, esi
mov edx, edi
call fcn.1005bc40
mov eax, dword [esp + 0x44]
cmp eax, ebx
jne 0x10085d00
jmp 0x10086bd2
push str.case_sensitive_like
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10086119
cmp esi, ebx
je 0x10086bd2
mov ebx, dword [esp + 0x24]
call fcn.100834e0
mov esi, dword [esp + 0x14]
movzx ebx, al
call fcn.1007c4c0
jmp 0x10086bd2
push str.integrity_check
push edi
call fcn.10042070
add esp, 8
test eax, eax
je 0x100865df
push str.quick_check
push edi
call fcn.10042070
add esp, 8
test eax, eax
je 0x100865df
push str.encoding
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10086257
cmp esi, ebx
jne 0x100861d2
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.10087450
test eax, eax
jne 0x10086bd2
push 1
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push str.encoding
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
push ebx
push 1
push ebx
push 0x5e
mov eax, ebp
call fcn.1005b6b0
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + 0x4d]
mov ecx, dword [eax*8 + 0x100fa578]
push ecx
push ebp
mov ecx, 0xfffffffe
or eax, 0xffffffff
call fcn.1005bdc0
push ebx
push 1
push 1
push 0x1e
mov eax, ebp
call fcn.1005b6b0
add esp, 0x38
jmp 0x10086bd2
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
movzx eax, word [ecx + 0x4e]
test al, 1
je 0x100861ec
test al, 4
je 0x10086bd2
mov eax, dword [str.UTF8]
mov edi, 0x100fa578
cmp eax, ebx
je 0x10086240
lea ebx, [ebx]
push eax
push esi
call fcn.10042070
add esp, 8
test eax, eax
je 0x1008621a
mov eax, dword [edi + 8]
add edi, 8
cmp eax, ebx
jne 0x10086200
jmp 0x10086240
mov al, byte [edi + 4]
cmp al, bl
movzx eax, al
jne 0x10086229
mov eax, 2
mov edx, dword [esp + 0x64]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 0xc]
mov byte [ecx + 0x4d], al
cmp dword [edi], ebx
jne 0x10086bd2
mov edi, dword [esp + 0x64]
push esi
push str.unsupported_encoding:__s
call fcn.10041f80
add esp, 8
jmp 0x10086bd2
push str.schema_version
push edi
call fcn.10042070
add esp, 8
test eax, eax
je 0x100864f2
push str.user_version
push edi
call fcn.10042070
add esp, 8
test eax, eax
je 0x100864f2
push str.freelist_count
push edi
call fcn.10042070
add esp, 8
test eax, eax
je 0x100864f2
push str.application_id
push edi
call fcn.10042070
add esp, 8
test eax, eax
je 0x100864f2
push str.compile_options
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10086330
push 1
mov edi, ebp
xor esi, esi
call fcn.1005ce80
mov edx, dword [esp + 0x68]
add esp, 4
push ebx
push str.compile_option
push ebx
push ebx
mov ecx, ebp
mov dword [edx + 0x4c], 1
call fcn.1005cf00
push ebx
call fcn.1003cb00
add esp, 0x14
cmp eax, ebx
je 0x10086bd2
push ebx
push eax
xor eax, eax
push 0x5e
lea ecx, [eax + 1]
xor edx, edx
mov edi, ebp
inc esi
call fcn.1005b7d0
add esp, 0xc
push ebx
push 1
push 1
push 0x1e
mov eax, ebp
call fcn.1005b6b0
push esi
call fcn.1003cb00
add esp, 0x14
cmp eax, ebx
jne 0x100862fa
jmp 0x10086bd2
push str.wal_checkpoint
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x1008641e
mov eax, dword [esp + 0x6c]
cmp dword [eax], ebx
je 0x10086358
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
jmp 0x10086360
mov dword [esp + 0x44], 0xa
mov dword [esp + 0x40], ebx
cmp esi, ebx
je 0x1008639e
push str.full
push esi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10086384
mov dword [esp + 0x40], 1
jmp 0x1008639e
push str.restart
push esi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x1008639e
mov dword [esp + 0x40], 2
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.10087450
test eax, eax
jne 0x10086bd2
push 3
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push str.busy
push ebx
push ebx
mov ecx, ebp
mov dword [esi + 0x4c], 3
call fcn.1005cf00
push ebx
push 0x101046d0
push ebx
push 1
mov ecx, ebp
call fcn.1005cf00
push ebx
push str.checkpointed
push ebx
push 2
mov ecx, ebp
call fcn.1005cf00
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
push 1
push edx
push eax
push 9
mov eax, ebp
call fcn.1005b6b0
add esp, 0x40
push ebx
push 3
push 1
push 0x1e
mov eax, ebp
call fcn.1005b6b0
jmp 0x10086bcf
push str.wal_autocheckpoint
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x1008647c
cmp esi, ebx
je 0x1008644b
mov ecx, esi
call fcn.10042970
mov esi, dword [esp + 0x14]
push eax
push esi
call fcn.100a2860
add esp, 8
jmp 0x1008644f
mov esi, dword [esp + 0x14]
cmp dword [esi + 0xcc], 0x100a2820
jne 0x10086461
mov ebx, dword [esi + 0xd0]
mov eax, ebx
cdq
push edx
push eax
mov eax, dword [esp + 0x6c]
push str.wal_autocheckpoint
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
push str.shrink_memory
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x100864a0
mov ecx, dword [esp + 0x14]
push ecx
call fcn.100a1770
add esp, 4
jmp 0x10086bd2
push str.busy_timeout
push edi
call fcn.10042070
add esp, 8
test eax, eax
jne 0x10086bd2
cmp esi, ebx
je 0x100864cf
mov ecx, esi
call fcn.10042970
mov edx, dword [esp + 0x14]
push eax
push edx
call fcn.100a2210
add esp, 8
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x1ec]
cdq
push edx
push eax
mov eax, dword [esp + 0x6c]
push str.timeout
call fcn.100836d0
add esp, 0xc
jmp 0x10086bd2
mov ecx, dword [esp + 0x18]
mov edx, 1
shl edx, cl
or dword [ebp + 0x6c], edx
cmp ecx, 1
je 0x1008650c
mov eax, ebp
call fcn.1005c210
movsx eax, byte [edi]
add eax, 0xffffffbf
cmp eax, 0x32
ja case.0x1008651e.66
movzx eax, byte [eax + 0x10086c04]
jmp dword [eax*4 + 0x10086bf4]
mov edi, 8
jmp 0x1008653c
xor edi, edi
jmp 0x1008653c
mov edi, 1
jmp 0x1008653c
mov edi, 6
cmp esi, ebx
je 0x10086597
cmp edi, ebx
je 0x10086597
push 0x100fa56c
push 3
mov eax, ebp
call fcn.1005bb30
mov edx, dword [esp + 0x20]
add esp, 8
mov ecx, ebp
mov ebx, eax
call fcn.1005bbf0
mov ecx, esi
call fcn.10042970
lea ecx, [ebx + 1]
mov edx, eax
mov eax, ecx
mov ecx, ebp
call fcn.1005bbf0
mov edx, dword [esp + 0x18]
lea esi, [ebx + 2]
mov eax, esi
mov ecx, ebp
call fcn.1005bbf0
mov edx, edi
mov eax, esi
mov ecx, ebp
call fcn.1005bc00
jmp 0x10086bd2
push 0x100fa5c0
push 3
mov eax, ebp
call fcn.1005bb30
mov edx, dword [esp + 0x20]
mov ecx, ebp
mov esi, eax
call fcn.1005bbf0
inc esi
mov eax, esi
mov ecx, ebp
call fcn.1005bbf0
mov edx, edi
mov eax, esi
mov ecx, ebp
call fcn.1005bc10
push 1
mov edi, ebp
call fcn.1005ce80
mov edx, dword [esp + 0x44]
add esp, 0xc
push 0xffffffffffffffff
push edx
jmp 0x10086bc6
movzx eax, byte [edi]
mov edx, dword [esp + 0x6c]
xor ecx, ecx
cmp byte [eax + 0x100f9858], 0x71
sete cl
mov dword [esp + 0x3c], ecx
cmp dword [edx], ebx
jne 0x10086602
mov dword [esp + 0x18], 0xffffffff
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
mov dword [edi + 0x4c], 6
push 1
mov edi, ebp
call fcn.1005ce80
add esp, 4
push ebx
push str.integrity_check
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
add esp, 0x10
mov edi, 0x64
mov dword [esp + 0x2c], edi
cmp esi, ebx
je 0x10086664
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.100428a0
mov edi, dword [esp + 0x34]
add esp, 8
cmp edi, ebx
jg 0x10086664
mov edi, 0x64
mov dword [esp + 0x2c], edi
push ebx
push 1
push edi
push 0x15
mov eax, ebp
call fcn.1005b6b0
mov ecx, dword [esp + 0x24]
xor eax, eax
add esp, 0x10
cmp dword [ecx + 0x14], ebx
mov dword [esp + 0x40], eax
jle 0x10086a9f
mov dword [esp + 0x30], ebx
mov ecx, dword [esp + 0x18]
xor esi, esi
cmp ecx, ebx
jl 0x1008669d
cmp eax, ecx
jne 0x10086a84
push eax
mov eax, dword [esp + 0x68]
call fcn.10077be0
add esp, 4
push 1
push 0x7e
mov eax, ebp
call fcn.1005b760
push ebx
push ebx
mov edi, eax
push ebx
push 0x14
mov eax, ebp
call fcn.1005b6b0
add esp, 0x18
mov eax, edi
mov edx, ebp
call fcn.1005bc40
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + eax + 0xc]
add eax, 8
mov dword [esp + 0x44], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x1008673d
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 8]
mov ecx, dword [edi + 0x20]
lea eax, [esi + 2]
push ebp
mov edx, 0x15
call fcn.1005b7b0
mov edi, dword [edi + 8]
add esp, 4
inc esi
cmp edi, ebx
je 0x1008672f
mov ecx, dword [edi + 0x28]
lea eax, [esi + 2]
push ebp
mov edx, 0x15
call fcn.1005b7b0
mov edi, dword [edi + 0x14]
add esp, 4
inc esi
cmp edi, ebx
jne 0x10086713
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x100866f0
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x4c]
lea ecx, [esi + 7]
cmp eax, ecx
jg 0x1008674d
mov eax, ecx
mov edx, dword [esp + 0x64]
push 1
push esi
mov dword [edx + 0x4c], eax
push 2
push 0x75
mov eax, ebp
call fcn.1005b6b0
mov dl, byte [esp + 0x50]
mov eax, ebp
call fcn.1005bc20
push 2
push 0x49
mov eax, ebp
call fcn.1005b760
mov esi, dword [esp + 0x2c]
add esp, 0x18
push 0xffffffffffffffff
push ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + eax]
push edx
push str._in_database__s__n
call fcn.10041410
add esp, 0xc
push eax
xor eax, eax
push 0x5e
lea ecx, [eax + 3]
xor edx, edx
mov edi, ebp
call fcn.1005b7d0
add esp, 0xc
push ebx
push 4
push 2
push 0x1b
mov eax, ebp
call fcn.1005b6b0
push 2
push 3
push 4
push 0x5b
mov eax, ebp
call fcn.1005b6b0
push ebx
push 1
push 2
push 0x1e
mov eax, ebp
call fcn.1005b6b0
mov eax, dword [esp + 0x78]
add esp, 0x30
mov edx, ebp
call fcn.1005bc40
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x10086a80
cmp dword [esp + 0x3c], ebx
jne 0x10086a80
mov ecx, dword [esp + 0x20]
mov edi, dword [ecx + 8]
mov dword [esp + 0x44], edi
cmp dword [edi + 8], ebx
je 0x10086a6e
push 1
push 0x7e
mov eax, ebp
call fcn.1005b760
push ebx
push ebx
mov esi, eax
push ebx
push 0x14
mov eax, ebp
call fcn.1005b6b0
mov eax, esi
mov edx, ebp
call fcn.1005bc40
mov edx, dword [esp + 0x7c]
call fcn.1006d500
push 0x30
push 1
push edx
mov eax, edi
call fcn.10081c70
mov edi, dword [edi + 8]
add esp, 0x24
xor esi, esi
cmp edi, ebx
je 0x1008687a
nop
push ebx
lea edx, [esi + 7]
push edx
push ebx
push 0x15
mov eax, ebp
call fcn.1005b6b0
mov edi, dword [edi + 0x14]
add esp, 0x10
inc esi
cmp edi, ebx
jne 0x10086860
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x4c]
add esi, 7
cmp eax, esi
jg 0x1008688a
mov eax, esi
push ebx
push ebx
mov dword [ecx + 0x4c], eax
push 1
push 0x65
mov eax, ebp
call fcn.1005b6b0
mov esi, eax
mov eax, dword [esp + 0x54]
mov edi, dword [eax + 8]
inc esi
add esp, 0x10
mov dword [esp + 0x1c], esi
cmp edi, ebx
je 0x10086983
mov dword [esp + 0x34], 2
jmp 0x100868c0
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x28]
push ecx
push ebx
push 3
push 1
push edi
push edx
call fcn.100798b0
mov esi, eax
mov eax, dword [esp + 0x4c]
push ebx
add eax, 5
push 1
push eax
push 0x20
mov eax, ebp
call fcn.1005b6b0
movzx ecx, word [edi + 0x2c]
mov edx, dword [esp + 0x5c]
inc ecx
push ecx
push 0x3d
push ebp
mov eax, esi
xor ecx, ecx
call fcn.1005b8d0
add esp, 0x34
mov dword [esp + 0x48], eax
push 0x100fa540
push 0xb
mov eax, ebp
call fcn.1005bb30
mov esi, eax
push str.rowid
lea eax, [esi + 1]
push ebp
mov ecx, 0xfffffffe
call fcn.1005bdc0
push str._missing_from_index
lea eax, [esi + 3]
push ebp
mov ecx, 0xfffffffe
call fcn.1005bdc0
mov edx, dword [edi]
push edx
lea eax, [esi + 4]
push ebp
xor ecx, ecx
call fcn.1005bdc0
lea eax, [esi + 9]
mov edx, ebp
call fcn.1005bc40
mov eax, dword [esp + 0x68]
mov edx, ebp
call fcn.1005bc40
mov eax, dword [esp + 0x48]
push eax
mov edx, ebp
call fcn.1005b9a0
mov edi, dword [edi + 0x14]
inc dword [esp + 0x58]
add esp, 0x24
cmp edi, ebx
jne 0x100868c0
mov esi, dword [esp + 0x1c]
push ebx
push esi
push 1
push 7
mov eax, ebp
call fcn.1005b6b0
lea eax, [esi - 1]
mov edx, ebp
call fcn.1005bc40
push 0xfffffffffffffffe
xor eax, eax
push str.wrong__of_entries_in_index
push 0x5e
lea ecx, [eax + 2]
xor edx, edx
mov edi, ebp
call fcn.1005b7d0
mov ecx, dword [esp + 0x60]
mov esi, dword [ecx + 8]
add esp, 0x1c
cmp esi, ebx
je 0x10086a6e
mov dword [esp + 0x34], 7
jmp 0x100869d0
mov edi, dword [ebp + 0x1c]
push ebx
lea edx, [edi + 2]
push edx
push 1
push 0x7e
mov eax, ebp
call fcn.1005b6b0
push ebx
push ebx
push ebx
push 0x14
mov eax, ebp
call fcn.1005b6b0
mov eax, dword [esp + 0x54]
push ebx
add eax, 0xfffffffb
push 3
push eax
push 0x2c
mov eax, ebp
call fcn.1005b6b0
mov ecx, dword [esp + 0x64]
push 3
add edi, 8
push edi
push ecx
push 0x4c
mov eax, ebp
call fcn.1005b6b0
add esp, 0x40
push ebx
push 0xffffffffffffffff
push 1
push 0x20
mov eax, ebp
call fcn.1005b6b0
mov edx, dword [esi]
push ebx
push edx
xor eax, eax
push 0x5e
lea ecx, [eax + 3]
xor edx, edx
mov edi, ebp
call fcn.1005b7d0
add esp, 0x1c
push 7
push 2
push 3
push 0x5b
mov eax, ebp
call fcn.1005b6b0
push ebx
push 1
push 7
push 0x1e
mov eax, ebp
call fcn.1005b6b0
mov esi, dword [esi + 0x14]
inc dword [esp + 0x54]
add esp, 0x20
cmp esi, ebx
jne 0x100869d0
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x100867fe
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
add dword [esp + 0x30], 0x10
inc eax
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x40], eax
jl 0x1008668b
mov edi, dword [esp + 0x2c]
push 0x100fa530
push 4
mov eax, ebp
call fcn.1005bb30
mov edx, edi
neg edx
mov ecx, ebp
mov esi, eax
call fcn.1005bc00
lea eax, [esi + 1]
mov edx, ebp
call fcn.1005bc40
push 0x10108c9c
lea eax, [esi + 2]
push ebp
mov ecx, 0xfffffffe
call fcn.1005bdc0
jmp 0x10086bcf
mov edi, dword [esp + 0x64]
call fcn.10087450
test eax, eax
jne 0x10086bd2
mov edx, dword [esp + 0x18]
push edx
mov eax, edi
call fcn.10077be0
inc dword [edi + 0x4c]
mov eax, dword [esp + 0x3c]
movzx ecx, byte [eax]
mov edi, dword [edi + 0x4c]
add esp, 4
cmp byte [ecx + 0x100f9858], 0x70
mov dword [esp + 0x64], edi
jne 0x10086b54
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10086b2d
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10086b76
mov edi, dword [esp + 0x64]
mov eax, dword [ebp + 4]
inc dword [ebp + 0x1c]
mov ecx, dword [esp + 0x18]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 0x92
mov byte [eax + 3], bl
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x10086b76
mov ecx, esi
call fcn.10042970
call fcn.10043070
mov edx, dword [esp + 0x18]
push eax
push edi
push edx
push 0x93
mov eax, ebp
call fcn.1005b6b0
add esp, 0x10
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10086b89
mov edi, ebp
call fcn.1005b630
test eax, eax
jne 0x10086bb3
mov edx, dword [ebp + 4]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x64]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x1e
mov byte [eax + 3], bl
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
push 1
mov edi, ebp
call fcn.1005ce80
mov eax, dword [esp + 0x3c]
add esp, 4
push 0xffffffffffffffff
push eax
push ebx
push ebx
mov ecx, ebp
call fcn.1005cf00
add esp, 0x10
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, esi
call fcn.1003fe10
mov eax, dword [esp + 0x24]
mov ecx, esi
call fcn.1003fe10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret