Function at 0x100838b0
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 0x100838eb
mov eax, esi
call fcn.1005b2b0
mov ebp, eax
mov dword [edi + 8], eax
cmp ebp, ebx
je 0x1008699c
push 0x94
call fcn.1005b4e0
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.10073ba0
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
jl 0x1008699c
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 0x1008393d
mov eax, edi
call fcn.10077920
test eax, eax
jne 0x1008699c
mov eax, dword [esp + 0x44]
push esi
call fcn.100739c0
mov edi, eax
add esp, 4
mov dword [esp + 0x38], edi
cmp edi, ebx
je 0x1008699c
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x74], ebx
je 0x10083978
push eax
push 0x101079b8
call fcn.10041200
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
jmp 0x10083989
mov ecx, esi
push ecx
call fcn.100739c0
add esp, 4
mov esi, eax
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x6c]
cmp dword [edx + 4], ebx
jbe 0x1008399e
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
jmp 0x100839a2
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.10072b00
add esp, 0x10
test eax, eax
jne 0x10086982
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.100a3c60
add esp, 0x10
mov dword [esp + 0x44], eax
cmp eax, ebx
jne 0x10083a8f
mov edx, dword [esp + 0x50]
cmp edx, ebx
je 0x10086982
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.1005b5a0
add esp, 0xc
push 1
call fcn.1005cc50
add esp, 4
push ebx
push str.result
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x10083a53
call fcn.1005b400
test eax, eax
jne 0x10083a7d
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.1003fb70
add esp, 4
jmp 0x10086982
cmp eax, 0xc
je 0x10083acb
mov ecx, dword [esp + 0x50]
cmp ecx, ebx
je 0x10083abc
mov edi, dword [esp + 0x64]
push ecx
push 0x1010272c
call fcn.10041d70
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1003fb70
mov eax, dword [esp + 0x50]
add esp, 0xc
mov ecx, dword [esp + 0x64]
inc dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
jmp 0x10086982
push str.default_cache_size
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10083c21
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
mov ecx, dword [esp + 0x18]
mov edx, 1
shl edx, cl
or dword [ebp + 0x6c], edx
cmp ecx, 1
je 0x10083b0c
mov eax, ebp
call fcn.1005bfe0
cmp esi, ebx
jne 0x10083b8c
push 1
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push str.cache_size
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
mov eax, dword [esp + 0x74]
add dword [eax + 0x4c], 2
push 0x100f9124
push 9
mov eax, ebp
call fcn.1005b900
add esp, 0x18
cmp dword [ebp + 0x1c], eax
jbe 0x10083b57
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 0x10083b6d
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 0x10086982
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 4], 0x7d0
jmp 0x10086982
mov ecx, esi
call fcn.10042760
call fcn.10042e60
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x64]
push ebx
call fcn.10077b00
mov esi, dword [ebp + 0x1c]
add esp, 4
cmp dword [ebp + 0x20], esi
jg 0x10083bc0
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10083bea
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.1005b480
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.100518a0
add esp, 0x14
jmp 0x10086982
push str.page_size
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10083c93
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 4]
cmp esi, ebx
jne 0x10083c63
cmp edi, ebx
je 0x10083c48
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.10083480
add esp, 0xc
jmp 0x10086982
mov ecx, esi
call fcn.10042760
mov esi, dword [esp + 0x14]
mov ecx, eax
push ebx
or eax, 0xffffffff
mov edx, edi
mov dword [esi + 0x48], ecx
call fcn.100519e0
add esp, 4
cmp eax, 7
jne 0x10086982
mov byte [esi + 0x40], 1
jmp 0x10086982
push str.secure_delete
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10083d1b
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
or edi, 0xffffffff
mov dword [esp + 0x44], eax
cmp esi, ebx
je 0x10083cc7
mov ebx, dword [esp + 0x24]
xor eax, eax
call fcn.10083290
movzx edi, al
xor ebx, ebx
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x14]
cmp dword [ecx + 4], ebx
jne 0x10083cf7
cmp edi, ebx
jl 0x10083cf7
xor esi, esi
cmp dword [ebp + 0x14], ebx
jle 0x10083cf7
nop
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + ebx + 4]
mov eax, edi
call fcn.10051b60
inc esi
add ebx, 0x10
cmp esi, dword [ebp + 0x14]
jl 0x10083ce0
mov ecx, dword [esp + 0x44]
mov eax, edi
call fcn.10051b60
cdq
push edx
push eax
mov eax, dword [esp + 0x6c]
push str.secure_delete
call fcn.10083480
add esp, 0xc
jmp 0x10086982
push str.page_count
push edi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x1008688c
push str.max_page_count
push edi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x1008688c
push str.locking_mode
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10083eb1
mov dword [esp + 0x64], str.normal
call fcn.100832b0
mov edx, eax
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x10083dc6
cmp edx, 0xffffffff
jne 0x10083d86
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 0x41]
jmp 0x10083dd7
cmp eax, ebx
jne 0x10083dc6
mov eax, dword [esp + 0x14]
mov esi, 2
cmp dword [eax + 0x14], esi
jle 0x10083dbf
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.1004ca80
mov ecx, dword [esp + 0x14]
inc esi
add edi, 0x10
cmp esi, dword [ecx + 0x14]
jl 0x10083d9d
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.1004ca80
cmp eax, 1
jne 0x10083de4
mov dword [esp + 0x64], str.exclusive
push 1
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push str.locking_mode
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x10083e1a
call fcn.1005b400
test eax, eax
je 0x10083e1a
mov esi, 1
jmp 0x10083e40
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 0x10083ea1
cmp byte [edi + 0x40], bl
jne 0x10083ea1
cmp esi, ebx
jge 0x10083e59
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.1005ba40
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x10], ebx
cmp ecx, ebx
jne 0x10083e82
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10083fc5
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10083fc5
mov ecx, dword [esp + 0x64]
xor eax, eax
call fcn.1005ba40
jmp 0x10083fc5
push str.journal_mode
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10084007
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
push 1
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push str.journal_mode
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
add esp, 0x10
cmp esi, ebx
jne 0x10083f04
mov dword [esp + 0x64], 0xffffffff
jmp 0x10083f40
mov ecx, esi
call fcn.10041ce0
mov dword [esp + 0x44], eax
xor edi, edi
cmp edi, 6
je 0x10083efa
mov eax, dword [edi*4 + 0x100f9500]
cmp eax, ebx
je 0x10083efa
mov ecx, dword [esp + 0x44]
push ecx
push eax
push esi
call fcn.10041eb0
add esp, 0xc
test eax, eax
je 0x10083f37
inc edi
jmp 0x10083f11
mov dword [esp + 0x64], edi
cmp edi, 0xffffffff
jne 0x10083f54
mov eax, dword [esp + 0x6c]
cmp dword [eax + 4], ebx
jne 0x10083f54
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 0x10083fc5
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 0x10083fb7
cmp esi, dword [esp + 0x18]
je 0x10083f8e
mov ecx, dword [esp + 0x6c]
cmp dword [ecx + 4], ebx
jne 0x10083fb7
or dword [ebp + 0x6c], edi
cmp esi, 1
je 0x10083f9f
mov ecx, esi
mov eax, ebp
call fcn.1005bfe0
mov edx, dword [esp + 0x64]
push edx
push 1
push esi
push 0xa
mov eax, ebp
call fcn.1005b480
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 0x10083f72
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10083fdc
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10086982
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 0x10086982
push str.journal_size_limit
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x1008408f
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 0x1008406e
lea eax, [esp + 0x48]
push 0xf4240
push eax
mov al, 1
mov ecx, esi
call fcn.100424b0
mov eax, dword [esp + 0x54]
add esp, 8
cmp eax, 0xffffffff
jg 0x1008406a
jl 0x10084063
mov ecx, dword [esp + 0x48]
cmp ecx, 0xffffffff
jae 0x1008406e
or ecx, 0xffffffff
or eax, ecx
jmp 0x1008406e
mov ecx, dword [esp + 0x48]
push eax
push ecx
mov ecx, edi
call fcn.1004cc00
push edx
push eax
mov eax, dword [esp + 0x74]
push str.journal_size_limit
call fcn.10083480
add esp, 0x14
jmp 0x10086982
push str.auto_vacuum
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x100841bb
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x40], edx
call fcn.10087200
test eax, eax
jne 0x10086982
cmp esi, ebx
jne 0x100840ed
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x100840d4
call fcn.10051c40
jmp 0x100840d6
xor eax, eax
cdq
push edx
push eax
push str.auto_vacuum
mov eax, edi
call fcn.10083480
add esp, 0xc
jmp 0x10086982
call fcn.100832f0
cmp eax, ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov byte [ecx + 0x42], al
jl 0x10086982
push eax
mov eax, dword [esp + 0x44]
call fcn.10051bd0
add esp, 4
test eax, eax
jne 0x10086982
mov esi, dword [esp + 0x64]
cmp esi, 1
je 0x1008412c
cmp esi, 2
jne 0x10086982
push 0x100f9518
push 6
mov eax, ebp
call fcn.1005b900
mov ecx, dword [esp + 0x20]
add esp, 8
cmp dword [ebp + 0x1c], eax
jbe 0x10084150
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 0x10084162
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 0x10084177
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 0x1008418a
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 0x1008419c
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 0x10086982
mov eax, ebp
call fcn.1005bfe0
jmp 0x10086982
push str.incremental_vacuum
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10084301
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
cmp esi, ebx
je 0x100841fe
lea ecx, [esp + 0x34]
push ecx
push esi
call fcn.10042690
add esp, 8
test eax, eax
je 0x100841fe
cmp dword [esp + 0x34], ebx
jg 0x10084206
mov dword [esp + 0x34], Ordinal_2
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x64]
push ebx
call fcn.10077b00
mov esi, dword [ebp + 0x1c]
add esp, 4
cmp dword [ebp + 0x20], esi
jg 0x1008422a
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10084254
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.1005b530
mov dword [esp + 0x6c], eax
push 1
push 0x1e
mov eax, ebp
call fcn.1005b530
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x1008428a
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x100842b4
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 0x100842c7
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x100842f1
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.1005ba10
jmp 0x10086982
push str.cache_size
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10084371
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
cmp esi, ebx
jne 0x10084349
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.10083480
add esp, 0xc
jmp 0x10086982
mov ecx, esi
call fcn.10042760
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.100518a0
add esp, 4
jmp 0x10086982
push str.mmap_size
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10084486
cmp esi, ebx
je 0x10084426
lea eax, [esp + 0x48]
push 0x3e8
push eax
mov al, 1
mov ecx, esi
call fcn.100424b0
mov ecx, dword [esp + 0x54]
add esp, 8
cmp ecx, ebx
jg 0x100843c9
jl 0x100843b5
cmp dword [esp + 0x48], ebx
jae 0x100843c9
mov ecx, dword [0x1011f288]
mov dword [esp + 0x48], ecx
mov ecx, dword [0x1011f28c]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x14]
cmp dword [edx + 4], ebx
jne 0x100843e0
mov eax, dword [esp + 0x48]
mov dword [ebp + 0x28], eax
mov dword [ebp + 0x2c], ecx
mov esi, dword [ebp + 0x14]
sub esi, 1
js 0x1008442a
mov edi, esi
shl edi, 4
lea ecx, [ecx]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + edi + 4]
cmp eax, ebx
je 0x1008441c
cmp esi, dword [esp + 0x18]
je 0x1008440a
mov edx, dword [esp + 0x6c]
cmp dword [edx + 4], ebx
jne 0x1008441c
push ecx
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.100518f0
mov ecx, dword [esp + 0x54]
add esp, 8
dec esi
sub edi, 0x10
cmp esi, ebx
jge 0x100843f0
jmp 0x1008442a
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.100a3c60
add esp, 0x10
cmp eax, ebx
jne 0x1008446e
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.10083480
add esp, 0xc
jmp 0x10086982
cmp eax, 0xc
je 0x10086982
mov ecx, dword [esp + 0x64]
inc dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
jmp 0x10086982
push str.temp_store
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x100844cd
cmp esi, ebx
jne 0x100844bd
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.10083480
add esp, 0xc
jmp 0x10086982
mov edi, dword [esp + 0x64]
mov eax, esi
call fcn.10083410
jmp 0x10086982
push str.temp_store_directory
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x1008466e
cmp esi, ebx
jne 0x100845ea
cmp dword [0x10122884], ebx
je 0x10086982
push 1
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push str.temp_store_directory
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
mov ecx, dword [0x10122884]
mov dword [esp + 0x74], ecx
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x10084539
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10084539
mov eax, 1
jmp 0x10084561
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 0x100845ba
cmp byte [edi + 0x40], bl
jne 0x100845ba
cmp eax, ebx
jge 0x10084578
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.1005ba40
mov ecx, dword [esp + 0x64]
mov dword [esi + 0x10], ebx
cmp ecx, ebx
jne 0x1008459e
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x100845c5
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x100845c5
mov ecx, dword [esp + 0x64]
xor eax, eax
call fcn.1005ba40
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x100845dc
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10086982
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
jmp 0x10083fe5
cmp byte [esi], bl
je 0x10084625
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 0x1008460f
cmp dword [esp + 0x44], ebx
jne 0x10084625
mov edi, dword [esp + 0x64]
push str.not_a_writable_directory
call fcn.10041d70
add esp, 4
jmp 0x10086982
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x3f], 1
ja 0x10084638
mov eax, dword [esp + 0x64]
call fcn.100833c0
mov edx, dword [0x10122884]
push edx
call fcn.1003fb70
add esp, 4
cmp byte [esi], bl
je 0x10084663
push esi
push 0x1010272c
call fcn.100412e0
add esp, 8
mov dword [0x10122884], eax
jmp 0x10086982
mov dword [0x10122884], ebx
jmp 0x10086982
push str.data_store_directory
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10084720
cmp esi, ebx
jne 0x100846bd
cmp dword [0x10122888], ebx
je 0x10086982
push 1
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push str.data_store_directory
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
mov eax, dword [0x10122888]
mov dword [esp + 0x74], eax
jmp 0x1008451c
cmp byte [esi], bl
je 0x100846ea
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 0x1008460f
cmp dword [esp + 0x44], ebx
je 0x1008460f
mov ecx, dword [0x10122888]
push ecx
call fcn.1003fb70
add esp, 4
cmp byte [esi], bl
je 0x10084715
push esi
push 0x1010272c
call fcn.100412e0
add esp, 8
mov dword [0x10122888], eax
jmp 0x10086982
mov dword [0x10122888], ebx
jmp 0x10086982
push str.synchronous
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x100847a9
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
cmp esi, ebx
jne 0x10084767
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.10083480
add esp, 0xc
jmp 0x10086982
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x3e], bl
jne 0x10084782
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.10041d70
add esp, 4
jmp 0x10086982
push 1
push ebx
mov ebx, dword [esp + 0x2c]
call fcn.100831e0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
inc al
push edx
mov byte [ecx + 8], al
call fcn.10083650
add esp, 0xc
jmp 0x10086982
mov eax, dword [esp + 0x64]
push esi
push eax
mov eax, edi
call fcn.100836e0
add esp, 8
test eax, eax
je 0x100847cf
mov ecx, dword [esp + 0x14]
push ecx
call fcn.10083650
add esp, 4
jmp 0x10086982
push str.table_info
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10084cd6
cmp esi, ebx
je 0x10084cd6
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
push edx
push esi
push eax
call fcn.100731d0
add esp, 0xc
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x10086982
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x10084846
lea esp, [esp]
mov ecx, dword [eax + 0x30]
and cl, 3
cmp cl, 2
je 0x10084842
mov eax, dword [eax + 0x14]
cmp eax, ebx
jne 0x10084830
mov dword [esp + 0x28], eax
push 6
mov edi, ebp
call fcn.1005cc50
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.100779b0
add esp, 4
push ebx
push 0x10107b24
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
push ebx
push 0x10107b28
push ebx
push 1
mov ecx, ebp
call fcn.1005ccd0
push ebx
push 0x10107b30
push ebx
push 2
mov ecx, ebp
call fcn.1005ccd0
push ebx
push str.notnull
push ebx
push 3
mov ecx, ebp
call fcn.1005ccd0
add esp, 0x40
push ebx
push str.dflt_value
push ebx
push 4
mov ecx, ebp
call fcn.1005ccd0
push ebx
push 0x10107b4c
push ebx
push 5
mov ecx, ebp
call fcn.1005ccd0
mov esi, dword [esp + 0x40]
push esi
push edi
call fcn.100752a0
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 0x10086982
mov ecx, 1
mov edx, dword [esp + 0x64]
test byte [edx + 0x16], 2
je 0x1008490b
add dword [esp + 0x2c], ecx
jmp 0x10084cad
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10084923
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x1008494c
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 0x10084970
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10084970
mov esi, 1
jmp 0x10084995
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 0x100849f2
cmp byte [edi + 0x40], bl
jne 0x100849f2
cmp esi, ebx
jge 0x100849ae
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.1005ba40
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x100849d2
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x100849fd
mov ecx, dword [esp + 0x34]
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x100849fd
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005ba40
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
cmp eax, ebx
jne 0x10084a14
mov dword [esp + 0x34], 0x10101d23
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10084a2e
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10084a2e
mov esi, 1
jmp 0x10084a53
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 0x10084aaf
cmp byte [edi + 0x40], bl
jne 0x10084aaf
cmp esi, ebx
jge 0x10084a6c
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.1005ba40
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x10084a8f
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10084aba
mov ecx, dword [esp + 0x34]
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10084aba
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005ba40
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 0x10084add
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10084b06
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 0x10084bc1
cmp dword [ebp + 0x20], esi
jg 0x10084b33
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10084b33
mov esi, 1
jmp 0x10084b58
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 0x10084bb4
cmp byte [edi + 0x40], bl
jne 0x10084bb4
cmp esi, ebx
jge 0x10084b71
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.1005ba40
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x10084b94
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10084bf6
mov ecx, dword [esp + 0x34]
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10084bf6
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005ba40
jmp 0x10084bf6
cmp dword [ebp + 0x20], esi
jg 0x10084bd1
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10084bf6
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 0x10084c04
xor esi, esi
jmp 0x10084c30
mov eax, dword [esp + 0x28]
mov esi, 1
cmp eax, ebx
je 0x10084c30
mov ecx, dword [esp + 0x20]
movsx ecx, word [ecx + 0x26]
cmp ecx, esi
jl 0x10084c30
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x30]
cmp dword [eax], edx
je 0x10084c30
inc esi
add eax, 4
cmp esi, ecx
jle 0x10084c24
mov eax, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], eax
mov dword [esp + 0x44], eax
jg 0x10084c4b
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10084c70
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 0x10084c83
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10084cad
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 0x100848f8
jmp 0x10086982
push str.index_info
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10084f35
cmp esi, ebx
je 0x10084f35
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push eax
push esi
call fcn.100733c0
add esp, 8
mov dword [esp + 0x30], eax
cmp eax, ebx
je 0x10086982
mov esi, eax
mov ecx, dword [esi + 0xc]
push 3
mov edi, ebp
mov dword [esp + 0x48], ecx
call fcn.1005cc50
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
add esp, 4
push edx
mov dword [eax + 0x4c], 3
call fcn.100779b0
add esp, 4
push ebx
push str.seqno
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
push ebx
push 0x10107b24
push ebx
push 1
mov ecx, ebp
call fcn.1005ccd0
push ebx
push 0x10107b28
push ebx
push 2
mov ecx, ebp
call fcn.1005ccd0
xor eax, eax
add esp, 0x30
mov dword [esp + 0x64], ebx
cmp ax, word [esi + 0x2c]
jae 0x10086982
jmp 0x10084d98
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 0x10084db9
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10084de3
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 0x10084df6
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10084e1f
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 0x10084e4e
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10084e4e
mov esi, 1
jmp 0x10084e73
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 0x10084ecf
cmp byte [edi + 0x40], bl
jne 0x10084ecf
cmp esi, ebx
jge 0x10084e8c
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.1005ba40
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x10084eaf
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10084eda
mov ecx, dword [esp + 0x34]
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10084eda
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005ba40
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10084eed
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10084f17
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 0x10084d94
jmp 0x10086982
push str.index_list
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10085193
cmp esi, ebx
je 0x10085193
mov ebp, dword [esp + 0x64]
mov edi, ebp
call fcn.10087200
test eax, eax
jne 0x10086982
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push eax
push esi
push ecx
call fcn.100731d0
add esp, 0xc
mov dword [esp + 0x64], eax
cmp eax, ebx
je 0x10086982
call fcn.1008a360
mov edx, dword [esp + 0x64]
mov esi, eax
mov eax, dword [edx + 8]
mov dword [esp + 0x64], eax
cmp eax, ebx
je 0x10086982
push 3
mov edi, esi
mov dword [esp + 0x34], ebx
call fcn.1005cc50
mov eax, dword [esp + 0x1c]
add esp, 4
push eax
mov eax, ebp
mov dword [ebp + 0x4c], 3
call fcn.100779b0
add esp, 4
push ebx
push 0x10107b70
push ebx
push ebx
mov ecx, esi
call fcn.1005ccd0
push ebx
push 0x10107b28
push ebx
push 1
mov ecx, esi
call fcn.1005ccd0
push ebx
push str.unique
push ebx
push 2
mov ecx, esi
call fcn.1005ccd0
add esp, 0x30
mov ebp, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebp
jg 0x1008500a
mov edi, esi
call fcn.1005b400
test eax, eax
jne 0x10085035
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 0x10085059
mov edi, esi
call fcn.1005b400
test eax, eax
je 0x10085059
mov ebp, 1
jmp 0x1008507f
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 0x100850da
cmp byte [edi + 0x40], bl
jne 0x100850da
cmp ebp, ebx
jge 0x10085097
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.1005ba40
mov dword [ebp + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x100850bb
mov dword [ebp + 0x10], ebx
mov byte [ebp + 1], bl
jmp 0x100850e5
mov ecx, dword [esp + 0x34]
call fcn.10041ce0
mov edx, dword [esi]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [ebp + 0x10], eax
mov byte [ebp + 1], 0xff
xor ebx, ebx
jmp 0x100850e5
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005ba40
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 0x10085108
mov edi, esi
call fcn.1005b400
test eax, eax
jne 0x10085132
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 0x10085145
mov edi, esi
call fcn.1005b400
test eax, eax
jne 0x10085172
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 0x10085177
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 0x10084ff7
jmp 0x10086982
push str.database_list
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x1008543b
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.10087200
test eax, eax
jne 0x10086982
push 3
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push 0x10107b70
push ebx
push ebx
mov ecx, ebp
mov dword [esi + 0x4c], 3
call fcn.1005ccd0
push ebx
push 0x10107b28
push ebx
push 1
mov ecx, ebp
call fcn.1005ccd0
push ebx
push str.file
push ebx
push 2
mov ecx, ebp
call fcn.1005ccd0
mov edx, dword [esp + 0x44]
add esp, 0x30
cmp dword [edx + 0x14], ebx
mov dword [esp + 0x30], ebx
jle 0x10086982
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 0x1008541b
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x1008523e
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10085268
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 0x10085294
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10085294
mov esi, 1
jmp 0x100852b9
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 0x10085315
cmp byte [edi + 0x40], bl
jne 0x10085315
cmp esi, ebx
jge 0x100852d2
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.1005ba40
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x100852f5
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x10085320
mov ecx, dword [esp + 0x34]
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x10085320
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005ba40
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x64]
mov eax, dword [eax + edx + 4]
call fcn.10058940
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov dword [esp + 0x34], eax
jg 0x10085352
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10085352
mov esi, 1
jmp 0x10085377
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 0x100853d3
cmp byte [edi + 0x40], bl
jne 0x100853d3
cmp esi, ebx
jge 0x10085390
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.1005ba40
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x34], ebx
jne 0x100853b3
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x100853de
mov ecx, dword [esp + 0x34]
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x100853de
mov ecx, dword [esp + 0x34]
xor eax, eax
call fcn.1005ba40
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x100853f1
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x1008541b
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 0x10085216
jmp 0x10086982
push str.collation_list
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x100855f7
push 2
mov edi, ebp
mov dword [esp + 0x38], ebx
call fcn.1005cc50
mov edx, dword [esp + 0x68]
add esp, 4
push ebx
push 0x10107b70
push ebx
push ebx
mov ecx, ebp
mov dword [edx + 0x4c], 2
call fcn.1005ccd0
push ebx
push 0x10107b28
push ebx
push 1
mov ecx, ebp
call fcn.1005ccd0
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x1b4]
add esp, 0x20
mov dword [esp + 0x30], eax
cmp eax, ebx
je 0x10086982
jmp 0x100854aa
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 0x100854c4
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x100854ee
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 0x10085516
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10085516
mov esi, 1
jmp 0x1008553b
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 0x10085598
cmp byte [edi + 0x40], bl
jne 0x10085598
cmp esi, ebx
jge 0x10085554
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.1005ba40
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x64], ebx
jne 0x10085578
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x100855a3
mov ecx, dword [esp + 0x64]
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x100855a3
mov ecx, dword [esp + 0x64]
xor eax, eax
call fcn.1005ba40
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x100855b6
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x100855e0
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 0x100854a6
jmp 0x10086982
push str.foreign_key_list
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x100859f1
cmp esi, ebx
je 0x100859f1
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push ecx
push esi
push edx
call fcn.100731d0
mov esi, eax
add esp, 0xc
mov dword [esp + 0x40], esi
cmp esi, ebx
je 0x10086982
call fcn.1008a360
mov esi, dword [esi + 0x10]
mov ebp, eax
mov dword [esp + 0x20], esi
cmp esi, ebx
je 0x10086982
push 8
mov edi, ebp
mov dword [esp + 0x2c], ebx
call fcn.1005cc50
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
add esp, 4
push ecx
mov dword [eax + 0x4c], 8
call fcn.100779b0
add esp, 4
push ebx
push 0x10107bb0
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
push ebx
push 0x10107b70
push ebx
push 1
mov ecx, ebp
call fcn.1005ccd0
push ebx
push str.table
push ebx
push 2
mov ecx, ebp
call fcn.1005ccd0
push ebx
push str.from
push ebx
push 3
mov ecx, ebp
call fcn.1005ccd0
add esp, 0x40
push ebx
push 0x10107bbc
push ebx
push 4
mov ecx, ebp
call fcn.1005ccd0
push ebx
push str.on_update
push ebx
push 5
mov ecx, ebp
call fcn.1005ccd0
push ebx
push str.on_delete
push ebx
push 6
mov ecx, ebp
call fcn.1005ccd0
push ebx
push 0x10107bd8
push ebx
push 7
mov ecx, ebp
call fcn.1005ccd0
add esp, 0x40
jmp 0x10085714
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x14], ebx
mov dword [esp + 0x2c], ebx
jle 0x100859d5
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.10083860
mov dword [esp + 0x18], eax
mov al, byte [ecx + 0x1a]
call fcn.10083860
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], eax
mov dword [esp + 0x44], eax
jg 0x1008576e
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10085798
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 0x100857b3
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x100857dc
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 0x10085809
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x10085805
mov eax, 1
jmp 0x10085830
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 0x10085897
cmp byte [edi + 0x40], bl
jne 0x10085897
cmp eax, ebx
jge 0x10085847
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.1005ba40
mov eax, dword [esp + 0x34]
mov dword [eax + 0x10], ebx
cmp dword [esp + 0x30], ebx
jne 0x10085873
mov dword [eax + 0x10], ebx
mov byte [eax + 1], bl
jmp 0x100858a2
mov ecx, dword [esp + 0x30]
call fcn.10041ce0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.1003ffc0
mov ecx, dword [esp + 0x34]
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xff
xor ebx, ebx
jmp 0x100858a2
mov ecx, dword [esp + 0x30]
xor eax, eax
call fcn.1005ba40
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 0x100858db
mov edi, ebp
call fcn.1005b400
test eax, eax
je 0x100858d7
mov eax, 1
jmp 0x10085902
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.1005bb90
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.1005b5a0
mov esi, dword [ebp + 0x1c]
add esp, 0x14
cmp dword [ebp + 0x20], esi
jg 0x10085945
call fcn.1005b400
test eax, eax
je 0x10085945
mov esi, 1
jmp 0x1008596a
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.1005bb90
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.1005b5a0
add esp, 0x14
push ebx
xor eax, eax
push str.NONE
push 0x5e
lea ecx, [eax + 8]
xor edx, edx
call fcn.1005b5a0
add esp, 0xc
push ebx
push 8
push 1
push 0x1e
mov eax, ebp
call fcn.1005b480
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 0x10085730
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
inc dword [esp + 0x28]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x10085710
jmp 0x10086982
push str.foreign_key_check
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10085e95
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.10087200
test eax, eax
jne 0x10086982
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.1008a360
mov edi, eax
push 4
call fcn.1005cc50
add esp, 4
push ebx
push str.table
push ebx
push ebx
mov ecx, edi
call fcn.1005ccd0
push ebx
push 0x10107bfc
push ebx
push 1
mov ecx, edi
call fcn.1005ccd0
push ebx
push str.parent
push ebx
push 2
mov ecx, edi
call fcn.1005ccd0
push ebx
push str.fkid
push ebx
push 3
mov ecx, edi
call fcn.1005ccd0
mov edx, dword [esp + 0x58]
add esp, 0x40
push edx
mov eax, esi
call fcn.100779b0
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 0x10086982
jmp 0x10085ab0
mov ebp, dword [esp + 0x64]
cmp dword [esp + 0x24], ebx
je 0x10085ad6
mov ecx, dword [esp + 0x24]
push ecx
push ebx
mov ebx, dword [esp + 0x28]
mov eax, ebp
call fcn.100732d0
mov esi, eax
add esp, 8
xor eax, eax
xor ebx, ebx
jmp 0x10085adb
mov esi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], esi
cmp esi, ebx
je 0x10085e88
cmp dword [esi + 0x10], ebx
je 0x10085e88
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.10072bf0
movsx edx, word [esi + 0x26]
mov eax, dword [esp + 0x40]
inc eax
add eax, edx
add esp, 0x10
cmp eax, dword [ebp + 0x4c]
jle 0x10085b1e
mov dword [ebp + 0x4c], eax
mov eax, dword [esp + 0x18]
push 0x30
push eax
push ebx
mov eax, esi
mov ecx, ebp
call fcn.1007e960
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.1005b5a0
mov ebp, dword [esi + 0x10]
add esp, 0xc
mov eax, 1
mov dword [esp + 0x1c], eax
cmp ebp, ebx
je 0x10085c2d
lea esp, [esp]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x64]
push edx
push ebx
mov ebx, dword [esp + 0x28]
call fcn.100732d0
mov esi, eax
add esp, 8
test esi, esi
je 0x10086982
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.10072bf0
push 0
lea eax, [esp + 0x3c]
push eax
push ebp
push esi
push ebx
call fcn.1007c440
add esp, 0x24
test eax, eax
jne 0x10086982
mov ebx, dword [esp + 0x28]
test ebx, ebx
jne 0x10085bde
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.1007e960
add esp, 0xc
jmp 0x10085c14
mov eax, dword [esp + 0x64]
push ebx
push eax
call fcn.10077f00
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.1005b480
push esi
push edi
mov ecx, 0xfffffff0
or eax, 0xffffffff
call fcn.1005bb90
add esp, 0x20
mov ebp, dword [ebp + 4]
inc dword [esp + 0x1c]
xor ebx, ebx
test ebp, ebp
jne 0x10085b60
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
cmp dword [ecx + 0x48], eax
jge 0x10085c39
mov dword [ecx + 0x48], eax
push ebx
push 0x65
mov eax, edi
call fcn.1005b530
mov ebp, dword [esi + 0x10]
add esp, 8
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], 1
cmp ebp, ebx
je 0x10085e65
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.100732d0
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.1007c440
add esp, 0x1c
mov eax, edi
call fcn.1005b710
mov dword [esp + 0x34], eax
cmp dword [esp + 0x28], ebx
jne 0x10085d58
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 0x10085d0f
push ebx
push eax
push 0
push 0x29
mov eax, edi
call fcn.1005b480
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push ebx
push ecx
push edi
call fcn.10092020
mov eax, dword [esp + 0x50]
add esp, 0x1c
push edi
mov ecx, ebx
mov edx, 0x49
call fcn.1005b580
mov eax, dword [edi + 0x1c]
add esp, 4
add eax, 3
push edi
mov ecx, ebx
mov edx, 0x21
call fcn.1005b580
add esp, 4
jmp 0x10085d20
push 0
push ebx
push 0
push 0x60
mov eax, edi
call fcn.1005b480
add esp, 0x10
mov edx, dword [esp + 0x1c]
push ebx
push 0
push edx
push 0x3f
mov eax, edi
call fcn.1005b480
mov eax, dword [esp + 0x44]
push 0
push eax
push 0
push 0xe
mov eax, edi
call fcn.1005b480
mov eax, dword [edi + 0x1c]
add esp, 0x20
sub eax, 2
mov edx, edi
call fcn.1005ba10
jmp 0x10085de9
xor esi, esi
cmp dword [ebp + 0x14], esi
jle 0x10085da1
mov ebx, dword [esp + 0x30]
inc ebx
mov eax, dword [esp + 0x40]
test eax, eax
je 0x10085d71
mov eax, dword [eax + esi*4]
jmp 0x10085d74
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x2c]
push eax
push 0
push ecx
mov eax, edi
call fcn.1006d180
mov eax, dword [esp + 0x40]
add esp, 0xc
push edi
mov ecx, ebx
mov edx, 0x49
call fcn.1005b580
inc esi
add esp, 4
inc ebx
cmp esi, dword [ebp + 0x14]
jl 0x10085d64
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.1005b480
mov esi, dword [esp + 0x38]
mov eax, edi
call fcn.1007ea10
push eax
push edi
xor ecx, ecx
or eax, 0xffffffff
call fcn.1005bb90
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
push 0
push 0x3d
push edi
mov eax, ebx
call fcn.1005b6a0
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.1005b480
mov eax, dword [ebp + 8]
push 0
push eax
push 0x5e
xor eax, eax
lea ecx, [esi + 2]
xor edx, edx
call fcn.1005b5a0
mov ebx, dword [esp + 0x38]
add esp, 0x1c
lea ecx, [ebx - 1]
push edi
lea eax, [esi + 3]
mov edx, 0x15
call fcn.1005b580
add esp, 4
push 0
push 4
push esi
push 0x1e
mov eax, edi
call fcn.1005b480
mov ecx, dword [esp + 0x44]
push ecx
mov edx, edi
call fcn.1005b770
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x28]
add esp, 0x14
call fcn.1003fc10
mov ebp, dword [ebp + 4]
inc ebx
mov dword [esp + 0x1c], ebx
xor ebx, ebx
test ebp, ebp
jne 0x10085c61
mov esi, dword [esp + 0x48]
push ebx
lea edx, [esi + 1]
push edx
push ebx
push 7
mov eax, edi
call fcn.1005b480
add esp, 0x10
mov eax, esi
mov edx, edi
call fcn.1005ba10
mov eax, dword [esp + 0x44]
cmp eax, ebx
jne 0x10085ab0
jmp 0x10086982
push str.case_sensitive_like
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10085ec9
cmp esi, ebx
je 0x10086982
mov ebx, dword [esp + 0x24]
call fcn.10083290
mov esi, dword [esp + 0x14]
movzx ebx, al
call fcn.1007c280
jmp 0x10086982
push str.integrity_check
push edi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x1008638f
push str.quick_check
push edi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x1008638f
push str.encoding
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10086007
cmp esi, ebx
jne 0x10085f82
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.10087200
test eax, eax
jne 0x10086982
push 1
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push str.encoding
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
push ebx
push 1
push ebx
push 0x5e
mov eax, ebp
call fcn.1005b480
mov eax, dword [esi]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + 0x4d]
mov ecx, dword [eax*8 + 0x100f9578]
push ecx
push ebp
mov ecx, 0xfffffffe
or eax, 0xffffffff
call fcn.1005bb90
push ebx
push 1
push 1
push 0x1e
mov eax, ebp
call fcn.1005b480
add esp, 0x38
jmp 0x10086982
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
movzx eax, word [ecx + 0x4e]
test al, 1
je 0x10085f9c
test al, 4
je 0x10086982
mov eax, dword [str.UTF8]
mov edi, 0x100f9578
cmp eax, ebx
je 0x10085ff0
lea ebx, [ebx]
push eax
push esi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x10085fca
mov eax, dword [edi + 8]
add edi, 8
cmp eax, ebx
jne 0x10085fb0
jmp 0x10085ff0
mov al, byte [edi + 4]
cmp al, bl
movzx eax, al
jne 0x10085fd9
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 0x10086982
mov edi, dword [esp + 0x64]
push esi
push str.unsupported_encoding:__s
call fcn.10041d70
add esp, 8
jmp 0x10086982
push str.schema_version
push edi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x100862a2
push str.user_version
push edi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x100862a2
push str.freelist_count
push edi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x100862a2
push str.application_id
push edi
call fcn.10041e60
add esp, 8
test eax, eax
je 0x100862a2
push str.compile_options
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x100860e0
push 1
mov edi, ebp
xor esi, esi
call fcn.1005cc50
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.1005ccd0
push ebx
call fcn.1003c900
add esp, 0x14
cmp eax, ebx
je 0x10086982
push ebx
push eax
xor eax, eax
push 0x5e
lea ecx, [eax + 1]
xor edx, edx
mov edi, ebp
inc esi
call fcn.1005b5a0
add esp, 0xc
push ebx
push 1
push 1
push 0x1e
mov eax, ebp
call fcn.1005b480
push esi
call fcn.1003c900
add esp, 0x14
cmp eax, ebx
jne 0x100860aa
jmp 0x10086982
push str.wal_checkpoint
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x100861ce
mov eax, dword [esp + 0x6c]
cmp dword [eax], ebx
je 0x10086108
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
jmp 0x10086110
mov dword [esp + 0x44], 0xa
mov dword [esp + 0x40], ebx
cmp esi, ebx
je 0x1008614e
push str.full
push esi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10086134
mov dword [esp + 0x40], 1
jmp 0x1008614e
push str.restart
push esi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x1008614e
mov dword [esp + 0x40], 2
mov esi, dword [esp + 0x64]
mov edi, esi
call fcn.10087200
test eax, eax
jne 0x10086982
push 3
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push str.busy
push ebx
push ebx
mov ecx, ebp
mov dword [esi + 0x4c], 3
call fcn.1005ccd0
push ebx
push 0x101036d0
push ebx
push 1
mov ecx, ebp
call fcn.1005ccd0
push ebx
push str.checkpointed
push ebx
push 2
mov ecx, ebp
call fcn.1005ccd0
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
push 1
push edx
push eax
push 9
mov eax, ebp
call fcn.1005b480
add esp, 0x40
push ebx
push 3
push 1
push 0x1e
mov eax, ebp
call fcn.1005b480
jmp 0x1008697f
push str.wal_autocheckpoint
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x1008622c
cmp esi, ebx
je 0x100861fb
mov ecx, esi
call fcn.10042760
mov esi, dword [esp + 0x14]
push eax
push esi
call fcn.100a2600
add esp, 8
jmp 0x100861ff
mov esi, dword [esp + 0x14]
cmp dword [esi + 0xcc], 0x100a25c0
jne 0x10086211
mov ebx, dword [esi + 0xd0]
mov eax, ebx
cdq
push edx
push eax
mov eax, dword [esp + 0x6c]
push str.wal_autocheckpoint
call fcn.10083480
add esp, 0xc
jmp 0x10086982
push str.shrink_memory
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10086250
mov ecx, dword [esp + 0x14]
push ecx
call fcn.100a1510
add esp, 4
jmp 0x10086982
push str.busy_timeout
push edi
call fcn.10041e60
add esp, 8
test eax, eax
jne 0x10086982
cmp esi, ebx
je 0x1008627f
mov ecx, esi
call fcn.10042760
mov edx, dword [esp + 0x14]
push eax
push edx
call fcn.100a1fb0
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.10083480
add esp, 0xc
jmp 0x10086982
mov ecx, dword [esp + 0x18]
mov edx, 1
shl edx, cl
or dword [ebp + 0x6c], edx
cmp ecx, 1
je 0x100862bc
mov eax, ebp
call fcn.1005bfe0
movsx eax, byte [edi]
add eax, 0xffffffbf
cmp eax, 0x32
ja case.0x100862ce.66
movzx eax, byte [eax + 0x100869b4]
jmp dword [eax*4 + 0x100869a4]
mov edi, 8
jmp 0x100862ec
xor edi, edi
jmp 0x100862ec
mov edi, 1
jmp 0x100862ec
mov edi, 6
cmp esi, ebx
je 0x10086347
cmp edi, ebx
je 0x10086347
push 0x100f956c
push 3
mov eax, ebp
call fcn.1005b900
mov edx, dword [esp + 0x20]
add esp, 8
mov ecx, ebp
mov ebx, eax
call fcn.1005b9c0
mov ecx, esi
call fcn.10042760
lea ecx, [ebx + 1]
mov edx, eax
mov eax, ecx
mov ecx, ebp
call fcn.1005b9c0
mov edx, dword [esp + 0x18]
lea esi, [ebx + 2]
mov eax, esi
mov ecx, ebp
call fcn.1005b9c0
mov edx, edi
mov eax, esi
mov ecx, ebp
call fcn.1005b9d0
jmp 0x10086982
push 0x100f95c0
push 3
mov eax, ebp
call fcn.1005b900
mov edx, dword [esp + 0x20]
mov ecx, ebp
mov esi, eax
call fcn.1005b9c0
inc esi
mov eax, esi
mov ecx, ebp
call fcn.1005b9c0
mov edx, edi
mov eax, esi
mov ecx, ebp
call fcn.1005b9e0
push 1
mov edi, ebp
call fcn.1005cc50
mov edx, dword [esp + 0x44]
add esp, 0xc
push 0xffffffffffffffff
push edx
jmp 0x10086976
movzx eax, byte [edi]
mov edx, dword [esp + 0x6c]
xor ecx, ecx
cmp byte [eax + 0x100f8858], 0x71
sete cl
mov dword [esp + 0x3c], ecx
cmp dword [edx], ebx
jne 0x100863b2
mov dword [esp + 0x18], 0xffffffff
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
mov dword [edi + 0x4c], 6
push 1
mov edi, ebp
call fcn.1005cc50
add esp, 4
push ebx
push str.integrity_check
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
add esp, 0x10
mov edi, 0x64
mov dword [esp + 0x2c], edi
cmp esi, ebx
je 0x10086414
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.10042690
mov edi, dword [esp + 0x34]
add esp, 8
cmp edi, ebx
jg 0x10086414
mov edi, 0x64
mov dword [esp + 0x2c], edi
push ebx
push 1
push edi
push 0x15
mov eax, ebp
call fcn.1005b480
mov ecx, dword [esp + 0x24]
xor eax, eax
add esp, 0x10
cmp dword [ecx + 0x14], ebx
mov dword [esp + 0x40], eax
jle 0x1008684f
mov dword [esp + 0x30], ebx
mov ecx, dword [esp + 0x18]
xor esi, esi
cmp ecx, ebx
jl 0x1008644d
cmp eax, ecx
jne 0x10086834
push eax
mov eax, dword [esp + 0x68]
call fcn.100779b0
add esp, 4
push 1
push 0x7e
mov eax, ebp
call fcn.1005b530
push ebx
push ebx
mov edi, eax
push ebx
push 0x14
mov eax, ebp
call fcn.1005b480
add esp, 0x18
mov eax, edi
mov edx, ebp
call fcn.1005ba10
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 0x100864ed
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.1005b580
mov edi, dword [edi + 8]
add esp, 4
inc esi
cmp edi, ebx
je 0x100864df
mov ecx, dword [edi + 0x28]
lea eax, [esi + 2]
push ebp
mov edx, 0x15
call fcn.1005b580
mov edi, dword [edi + 0x14]
add esp, 4
inc esi
cmp edi, ebx
jne 0x100864c3
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x100864a0
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x4c]
lea ecx, [esi + 7]
cmp eax, ecx
jg 0x100864fd
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.1005b480
mov dl, byte [esp + 0x50]
mov eax, ebp
call fcn.1005b9f0
push 2
push 0x49
mov eax, ebp
call fcn.1005b530
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.10041200
add esp, 0xc
push eax
xor eax, eax
push 0x5e
lea ecx, [eax + 3]
xor edx, edx
mov edi, ebp
call fcn.1005b5a0
add esp, 0xc
push ebx
push 4
push 2
push 0x1b
mov eax, ebp
call fcn.1005b480
push 2
push 3
push 4
push 0x5b
mov eax, ebp
call fcn.1005b480
push ebx
push 1
push 2
push 0x1e
mov eax, ebp
call fcn.1005b480
mov eax, dword [esp + 0x78]
add esp, 0x30
mov edx, ebp
call fcn.1005ba10
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x10086830
cmp dword [esp + 0x3c], ebx
jne 0x10086830
mov ecx, dword [esp + 0x20]
mov edi, dword [ecx + 8]
mov dword [esp + 0x44], edi
cmp dword [edi + 8], ebx
je 0x1008681e
push 1
push 0x7e
mov eax, ebp
call fcn.1005b530
push ebx
push ebx
mov esi, eax
push ebx
push 0x14
mov eax, ebp
call fcn.1005b480
mov eax, esi
mov edx, ebp
call fcn.1005ba10
mov edx, dword [esp + 0x7c]
call fcn.1006d2d0
push 0x30
push 1
push edx
mov eax, edi
call fcn.10081a30
mov edi, dword [edi + 8]
add esp, 0x24
xor esi, esi
cmp edi, ebx
je 0x1008662a
nop
push ebx
lea edx, [esi + 7]
push edx
push ebx
push 0x15
mov eax, ebp
call fcn.1005b480
mov edi, dword [edi + 0x14]
add esp, 0x10
inc esi
cmp edi, ebx
jne 0x10086610
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x4c]
add esi, 7
cmp eax, esi
jg 0x1008663a
mov eax, esi
push ebx
push ebx
mov dword [ecx + 0x4c], eax
push 1
push 0x65
mov eax, ebp
call fcn.1005b480
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 0x10086733
mov dword [esp + 0x34], 2
jmp 0x10086670
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x28]
push ecx
push ebx
push 3
push 1
push edi
push edx
call fcn.10079680
mov esi, eax
mov eax, dword [esp + 0x4c]
push ebx
add eax, 5
push 1
push eax
push 0x20
mov eax, ebp
call fcn.1005b480
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.1005b6a0
add esp, 0x34
mov dword [esp + 0x48], eax
push 0x100f9540
push 0xb
mov eax, ebp
call fcn.1005b900
mov esi, eax
push str.rowid
lea eax, [esi + 1]
push ebp
mov ecx, 0xfffffffe
call fcn.1005bb90
push str._missing_from_index
lea eax, [esi + 3]
push ebp
mov ecx, 0xfffffffe
call fcn.1005bb90
mov edx, dword [edi]
push edx
lea eax, [esi + 4]
push ebp
xor ecx, ecx
call fcn.1005bb90
lea eax, [esi + 9]
mov edx, ebp
call fcn.1005ba10
mov eax, dword [esp + 0x68]
mov edx, ebp
call fcn.1005ba10
mov eax, dword [esp + 0x48]
push eax
mov edx, ebp
call fcn.1005b770
mov edi, dword [edi + 0x14]
inc dword [esp + 0x58]
add esp, 0x24
cmp edi, ebx
jne 0x10086670
mov esi, dword [esp + 0x1c]
push ebx
push esi
push 1
push 7
mov eax, ebp
call fcn.1005b480
lea eax, [esi - 1]
mov edx, ebp
call fcn.1005ba10
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.1005b5a0
mov ecx, dword [esp + 0x60]
mov esi, dword [ecx + 8]
add esp, 0x1c
cmp esi, ebx
je 0x1008681e
mov dword [esp + 0x34], 7
jmp 0x10086780
mov edi, dword [ebp + 0x1c]
push ebx
lea edx, [edi + 2]
push edx
push 1
push 0x7e
mov eax, ebp
call fcn.1005b480
push ebx
push ebx
push ebx
push 0x14
mov eax, ebp
call fcn.1005b480
mov eax, dword [esp + 0x54]
push ebx
add eax, 0xfffffffb
push 3
push eax
push 0x2c
mov eax, ebp
call fcn.1005b480
mov ecx, dword [esp + 0x64]
push 3
add edi, 8
push edi
push ecx
push 0x4c
mov eax, ebp
call fcn.1005b480
add esp, 0x40
push ebx
push 0xffffffffffffffff
push 1
push 0x20
mov eax, ebp
call fcn.1005b480
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.1005b5a0
add esp, 0x1c
push 7
push 2
push 3
push 0x5b
mov eax, ebp
call fcn.1005b480
push ebx
push 1
push 7
push 0x1e
mov eax, ebp
call fcn.1005b480
mov esi, dword [esi + 0x14]
inc dword [esp + 0x54]
add esp, 0x20
cmp esi, ebx
jne 0x10086780
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x100865ae
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 0x1008643b
mov edi, dword [esp + 0x2c]
push 0x100f9530
push 4
mov eax, ebp
call fcn.1005b900
mov edx, edi
neg edx
mov ecx, ebp
mov esi, eax
call fcn.1005b9d0
lea eax, [esi + 1]
mov edx, ebp
call fcn.1005ba10
push 0x10107c9c
lea eax, [esi + 2]
push ebp
mov ecx, 0xfffffffe
call fcn.1005bb90
jmp 0x1008697f
mov edi, dword [esp + 0x64]
call fcn.10087200
test eax, eax
jne 0x10086982
mov edx, dword [esp + 0x18]
push edx
mov eax, edi
call fcn.100779b0
inc dword [edi + 0x4c]
mov eax, dword [esp + 0x3c]
movzx ecx, byte [eax]
mov edi, dword [edi + 0x4c]
add esp, 4
cmp byte [ecx + 0x100f8858], 0x70
mov dword [esp + 0x64], edi
jne 0x10086904
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x100868dd
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10086926
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 0x10086926
mov ecx, esi
call fcn.10042760
call fcn.10042e60
mov edx, dword [esp + 0x18]
push eax
push edi
push edx
push 0x93
mov eax, ebp
call fcn.1005b480
add esp, 0x10
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x10086939
mov edi, ebp
call fcn.1005b400
test eax, eax
jne 0x10086963
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.1005cc50
mov eax, dword [esp + 0x3c]
add esp, 4
push 0xffffffffffffffff
push eax
push ebx
push ebx
mov ecx, ebp
call fcn.1005ccd0
add esp, 0x10
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov ecx, esi
call fcn.1003fc10
mov eax, dword [esp + 0x24]
mov ecx, esi
call fcn.1003fc10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret