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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
push edi
mov edi, dword [esi]
mov eax, edi
mov dword [esp + 0x10], edi
call fcn.004648b0
mov ebp, eax
xor ebx, ebx
mov dword [esi + 0xc], ebp
cmp ebp, ebx
je 0x489429
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov byte [ebp + 0x64], 1
push esi
lea ecx, [esp + 0x38]
mov dword [esi + 0x48], 2
call fcn.0047a780
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
jl 0x489429
mov ecx, eax
shl ecx, 4
add ecx, dword [edi + 8]
mov dword [esp + 0x1c], ecx
cmp eax, 1
jne 0x489213
mov eax, esi
call fcn.0047e150
test eax, eax
jne 0x489429
mov eax, dword [esp + 0x34]
push edi
call fcn.0047a5d0
add esp, 4
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x489429
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x5c], ebx
je 0x48924e
push eax
push 0x542368
mov esi, edi
call fcn.0044be60
mov esi, eax
add esp, 8
mov dword [esp + 0x20], esi
jmp 0x48925d
push edi
call fcn.0047a5d0
add esp, 4
mov esi, eax
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x54]
cmp dword [ecx + 4], ebx
jbe 0x489272
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov dword [esp + 0x24], eax
jmp 0x489276
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
push ecx
push esi
push edx
push 0x13
call fcn.00479810
add esp, 0x10
test eax, eax
jne 0x48940c
mov ecx, dword [esp + 0x14]
mov edx, str.default_cache_size
call fcn.0044ca80
test eax, eax
jne 0x489431
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
mov ecx, dword [esp + 0x18]
mov eax, ebp
call fcn.00465580
cmp esi, ebx
jne 0x489349
push 1
mov edi, ebp
call fcn.00466020
add esp, 4
push ebx
push 0x542380
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
mov eax, dword [esp + 0x5c]
add dword [eax + 0x48], 2
push 0x518a08
push 8
mov eax, ebp
call fcn.00464e30
add esp, 0x18
cmp dword [ebp + 0x1c], eax
jle 0x489314
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
jle 0x48932a
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
jle 0x4893da
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 4], 0x7d0
jmp 0x4893da
mov ecx, esi
call fcn.0044d280
call fcn.0044d920
mov edi, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
push ebx
call fcn.0047e310
mov esi, dword [ebp + 0x1c]
add esp, 4
cmp dword [ebp + 0x20], esi
jg 0x48937d
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x4893a7
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 7
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 0x24
mov eax, ebp
call fcn.00464a20
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x50], edx
mov ecx, dword [eax + 0xc]
mov ebx, dword [ecx + 0x50]
mov eax, dword [eax + 4]
add esp, 0x10
call fcn.0045a8b0
xor ebx, ebx
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0x1c], bl
je 0x48940c
mov edx, ecx
mov eax, dword [edx + 0xc]
mov ecx, eax
shr ecx, 0x16
shr eax, 0x15
and ecx, 1
and eax, 1
push ecx
push eax
mov eax, dword [esp + 0x24]
movzx edx, byte [eax + 9]
mov eax, dword [eax + 4]
push edx
call fcn.0045a910
add esp, 0xc
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
push eax
push esi
call fcn.0044a9d0
mov ecx, dword [esp + 0x28]
push ecx
push esi
call fcn.0044a9d0
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov ecx, dword [esp + 0x14]
mov edx, 0x54238c
call fcn.0044ca80
test eax, eax
jne 0x4894a4
mov edx, dword [esp + 0x1c]
mov edi, dword [edx + 4]
cmp esi, ebx
jne 0x489475
cmp edi, ebx
je 0x48945a
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x48945c
xor eax, eax
cdq
push edx
push eax
mov eax, dword [esp + 0x54]
push str.page_size
call fcn.00488e30
add esp, 0xc
jmp 0x4893da
mov ecx, dword [esp + 0x20]
call fcn.0044d280
mov esi, dword [esp + 0x10]
push ebx
push 0xffffffffffffffff
mov ebx, edi
mov dword [esi + 0x24], eax
call fcn.0045a9a0
add esp, 8
cmp eax, 7
jne 0x4893d8
mov byte [esi + 0x1e], 1
jmp 0x4893d8
mov ecx, dword [esp + 0x14]
mov edx, 0x5423a4
call fcn.0044ca80
test eax, eax
jne 0x48953f
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov dword [esp + 0x34], edx
mov dword [esp + 0x24], 0xffffffff
cmp esi, ebx
je 0x4894e3
mov ebx, dword [esp + 0x20]
call fcn.00488c30
and eax, 1
mov dword [esp + 0x24], eax
xor ebx, ebx
mov eax, dword [esp + 0x54]
cmp dword [eax + 4], ebx
jne 0x489519
cmp dword [esp + 0x24], ebx
jl 0x489519
xor esi, esi
cmp dword [edi + 4], ebx
jle 0x489519
xor ebp, ebp
jmp 0x489500
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + ebp + 4]
call fcn.0045ab10
inc esi
add ebp, 0x10
cmp esi, dword [edi + 4]
jl 0x489500
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
call fcn.0045ab10
cdq
push edx
push eax
mov eax, dword [esp + 0x54]
push str.secure_delete
call fcn.00488e30
add esp, 0xc
jmp 0x4893da
mov ecx, dword [esp + 0x14]
mov edx, str.page_count
call fcn.0044ca80
test eax, eax
je 0x48b654
mov ecx, dword [esp + 0x14]
mov edx, str.max_page_count
call fcn.0044ca80
test eax, eax
je 0x48b654
mov ecx, dword [esp + 0x14]
mov edx, 0x5423e0
call fcn.0044ca80
test eax, eax
jne 0x4896e4
mov dword [esp + 0x30], str.normal
call fcn.00488cc0
mov edx, eax
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x4895df
cmp edx, 0xffffffff
jne 0x4895a6
movzx eax, byte [edi + 0x1f]
jmp 0x4895f0
cmp eax, ebx
jne 0x4895df
mov esi, 2
cmp dword [edi + 4], esi
jle 0x4895dc
mov dword [esp + 0x4c], 0x20
mov ecx, dword [edi + 8]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + ecx + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.004561c0
add dword [esp + 0x4c], 0x10
inc esi
cmp esi, dword [edi + 4]
jl 0x4895bc
mov byte [edi + 0x1f], dl
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.004561c0
cmp eax, 1
jne 0x4895fd
mov dword [esp + 0x30], str.exclusive
push 1
mov edi, ebp
call fcn.00466020
add esp, 4
push ebx
push str.locking_mode
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x489633
call fcn.004649a0
test eax, eax
je 0x489633
mov esi, 1
jmp 0x489659
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 0x4896b4
cmp byte [edi + 0x1e], bl
jne 0x4896b4
cmp esi, ebx
jge 0x489672
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.00464f80
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x10], ebx
cmp ecx, ebx
jne 0x489698
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x4896bf
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x4896bf
mov ecx, dword [esp + 0x30]
xor eax, eax
call fcn.00464f80
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x4896d6
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x4893da
mov edx, dword [ebp + 4]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
jmp 0x4897f9
mov ecx, dword [esp + 0x14]
mov edx, 0x542414
call fcn.0044ca80
test eax, eax
jne 0x48981b
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
push 1
mov edi, ebp
call fcn.00466020
add esp, 4
push ebx
push str.journal_mode
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
add esp, 0x10
cmp esi, ebx
jne 0x489737
mov dword [esp + 0x4c], 0xffffffff
jmp 0x489773
mov ecx, esi
call fcn.0044c8f0
mov dword [esp + 0x34], eax
xor edi, edi
cmp edi, 6
je 0x48972d
mov eax, dword [edi*4 + 0x5189f0]
cmp eax, ebx
je 0x48972d
mov ecx, dword [esp + 0x34]
push ecx
push eax
push esi
call sym.ShuamePacket.exe_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x48976a
inc edi
jmp 0x489744
mov dword [esp + 0x4c], edi
cmp edi, 0xffffffff
jne 0x489787
mov eax, dword [esp + 0x54]
cmp dword [eax + 4], ebx
jne 0x489787
mov dword [esp + 0x18], ebx
mov dword [eax + 4], 1
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
sub esi, 1
js 0x4897d9
mov edi, esi
shl edi, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
cmp dword [edi + ecx + 4], ebx
je 0x4897d1
cmp esi, dword [esp + 0x18]
je 0x4897b4
mov edx, dword [esp + 0x54]
cmp dword [edx + 4], ebx
jne 0x4897d1
mov ecx, esi
mov eax, ebp
call fcn.00465580
mov eax, dword [esp + 0x4c]
push eax
push 1
push esi
push 0x77
mov eax, ebp
call fcn.00464a20
add esp, 0x10
dec esi
sub edi, 0x10
cmp esi, ebx
jge 0x489798
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x4897f0
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x4893da
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x10
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 0x4893da
mov ecx, dword [esp + 0x14]
mov edx, 0x542434
call fcn.0044ca80
test eax, eax
jne 0x4898a3
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 4]
mov edi, dword [eax]
or eax, 0xffffffff
mov ecx, 0xfffffffe
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
cmp esi, ebx
je 0x489882
lea ecx, [esp + 0x40]
push ecx
mov al, 1
mov edx, 0xf4240
mov ecx, esi
call fcn.0044d040
mov eax, dword [esp + 0x48]
add esp, 4
cmp eax, 0xffffffff
jg 0x48987e
jl 0x489877
mov ecx, dword [esp + 0x40]
cmp ecx, 0xffffffff
jae 0x489882
or ecx, 0xffffffff
or eax, ecx
jmp 0x489882
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov ecx, edi
call fcn.00456300
push edx
push eax
mov eax, dword [esp + 0x5c]
push str.journal_size_limit
call fcn.00488e30
add esp, 0x14
jmp 0x4893da
mov ecx, dword [esp + 0x14]
mov edx, 0x54245c
call fcn.0044ca80
test eax, eax
jne 0x4899c0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x30], eax
call fcn.0048bf60
test eax, eax
jne 0x48940c
cmp esi, ebx
jne 0x489901
mov eax, dword [esp + 0x30]
cmp eax, ebx
je 0x4898e8
call fcn.0045abd0
jmp 0x4898ea
xor eax, eax
cdq
push edx
push eax
push str.auto_vacuum
mov eax, edi
call fcn.00488e30
add esp, 0xc
jmp 0x4893da
call fcn.00488cf0
cmp eax, ebx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov byte [ecx + 0x20], al
jl 0x4893da
push eax
mov eax, dword [esp + 0x34]
call fcn.0045ab60
add esp, 4
test eax, eax
jne 0x4893da
mov eax, dword [esp + 0x4c]
cmp eax, 1
je 0x489940
cmp eax, 2
jne 0x4893da
push 0x518a28
push 6
mov eax, ebp
call fcn.00464e30
mov ecx, dword [esp + 0x20]
add esp, 8
cmp dword [ebp + 0x1c], eax
jle 0x489964
mov esi, dword [ebp + 4]
lea edx, [eax + eax*4]
mov dword [esi + edx*4 + 4], ecx
lea edx, [eax + 1]
cmp dword [ebp + 0x1c], edx
jle 0x489976
mov esi, dword [ebp + 4]
lea edx, [edx + edx*4]
mov dword [esi + edx*4 + 4], ecx
lea edx, [eax + 2]
cmp dword [ebp + 0x1c], edx
jle 0x48998b
mov edi, dword [ebp + 4]
lea esi, [eax + 4]
lea edx, [edx + edx*4]
mov dword [edi + edx*4 + 8], esi
lea edx, [eax + 4]
cmp dword [ebp + 0x1c], edx
jle 0x4899a2
mov esi, dword [esp + 0x4c]
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
jle 0x4899b4
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 4], ecx
mov eax, ebp
call fcn.00465580
jmp 0x4893da
mov ecx, dword [esp + 0x14]
mov edx, str.incremental_vacuum
call fcn.0044ca80
test eax, eax
jne 0x489b11
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
cmp esi, ebx
je 0x489a03
lea eax, [esp + 0x30]
push eax
push esi
call fcn.0044d1b0
add esp, 8
test eax, eax
je 0x489a03
cmp dword [esp + 0x30], ebx
jg 0x489a0b
mov dword [esp + 0x30], SysReAllocString
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x4c]
push ebx
call fcn.0047e310
mov esi, dword [ebp + 0x1c]
add esp, 4
cmp dword [ebp + 0x20], esi
jg 0x489a2f
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x489a59
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 7
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 0x79
mov eax, ebp
call fcn.00464ad0
mov dword [esp + 0x54], eax
push 1
push 0x10
mov eax, ebp
call fcn.00464ad0
mov esi, dword [ebp + 0x1c]
add esp, 0x10
cmp dword [ebp + 0x20], esi
jg 0x489a8c
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x489ab6
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], 0x14
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 0x489ac9
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x489af3
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 + 0x4c]
mov byte [eax], 0x71
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 [ebp + 0x1c]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jle 0x4893da
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov dword [ecx + edx*4 + 8], eax
jmp 0x4893da
mov ecx, dword [esp + 0x14]
mov edx, 0x542488
call fcn.0044ca80
test eax, eax
jne 0x489b7f
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
cmp esi, ebx
jne 0x489b59
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.00488e30
add esp, 0xc
jmp 0x4893da
mov ecx, dword [esp + 0x20]
call fcn.0044d280
call fcn.0044d920
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0xc]
mov ebx, dword [eax + 0x50]
mov eax, dword [ecx + 4]
jmp 0x4893d3
mov ecx, dword [esp + 0x14]
mov edx, 0x5424a0
call fcn.0044ca80
test eax, eax
jne 0x489bc2
cmp esi, ebx
jne 0x489bb2
movzx eax, byte [edi + 0x1d]
cdq
push edx
push eax
mov eax, dword [esp + 0x54]
push str.temp_store
call fcn.00488e30
add esp, 0xc
jmp 0x4893da
mov edi, dword [esp + 0x4c]
mov eax, esi
call fcn.00488dc0
jmp 0x4893da
mov ecx, dword [esp + 0x14]
mov edx, 0x5424b8
call fcn.0044ca80
test eax, eax
jne 0x489d3e
cmp esi, ebx
jne 0x489cc3
cmp dword [sym.ShuamePacket.exe_sqlite3_temp_directory], ebx
je 0x4893da
push 1
mov edi, ebp
call fcn.00466020
add esp, 4
push ebx
push str.temp_store_directory
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
mov esi, dword [ebp + 0x1c]
mov ecx, dword [sym.ShuamePacket.exe_sqlite3_temp_directory]
add esp, 0x10
cmp dword [ebp + 0x20], esi
mov dword [esp + 0x4c], ecx
jg 0x489c2c
call fcn.004649a0
test eax, eax
je 0x489c2c
mov eax, 1
jmp 0x489c54
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 0x489cb3
cmp byte [edi + 0x1e], bl
jne 0x489cb3
cmp eax, ebx
jge 0x489c6b
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.00464f80
mov ecx, dword [esp + 0x4c]
mov dword [esi + 0x10], ebx
cmp ecx, ebx
jne 0x489c94
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x4897d9
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x4897d9
mov ecx, dword [esp + 0x4c]
xor eax, eax
call fcn.00464f80
jmp 0x4897d9
cmp byte [esi], bl
je 0x489cfa
mov eax, dword [edi]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x34]
push ecx
push 1
push esi
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x489ce4
cmp dword [esp + 0x34], ebx
jne 0x489cfa
mov edi, dword [esp + 0x4c]
push str.not_a_writable_directory
call fcn.0044c980
add esp, 4
jmp 0x48940c
cmp byte [edi + 0x1d], 1
ja 0x489d09
mov eax, dword [esp + 0x4c]
call fcn.00488d60
mov eax, dword [sym.ShuamePacket.exe_sqlite3_temp_directory]
push eax
call sym.ShuamePacket.exe_sqlite3_free
add esp, 4
cmp byte [esi], bl
je 0x489d33
push esi
push 0x542504
call sym.ShuamePacket.exe_sqlite3_mprintf
add esp, 8
mov dword [sym.ShuamePacket.exe_sqlite3_temp_directory], eax
jmp 0x4893da
mov dword [sym.ShuamePacket.exe_sqlite3_temp_directory], ebx
jmp 0x4893da
mov edi, dword [esp + 0x14]
mov edx, 0x542508
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x489db9
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
cmp esi, ebx
jne 0x489d87
mov ecx, dword [esp + 0x1c]
movzx eax, byte [ecx + 9]
dec eax
cdq
push edx
push eax
push str.synchronous
mov eax, edi
call fcn.00488e30
add esp, 0xc
jmp 0x4893da
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x1c], bl
jne 0x489da2
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.0044c980
add esp, 4
jmp 0x4893da
mov ebx, dword [esp + 0x20]
call fcn.00488c30
mov ecx, dword [esp + 0x1c]
inc al
mov byte [ecx + 9], al
jmp 0x4893d8
mov edx, dword [esp + 0x4c]
push esi
push edx
mov eax, edi
call fcn.00489000
add esp, 8
test eax, eax
jne 0x4893da
mov edx, str.table_info
mov ecx, edi
call fcn.0044ca80
mov esi, dword [esp + 0x20]
test eax, eax
jne 0x48a260
cmp esi, ebx
je 0x48a260
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push eax
push esi
push ecx
call fcn.00479e90
mov esi, eax
add esp, 0xc
mov dword [esp + 0x18], esi
cmp esi, ebx
je 0x4893da
push 6
mov edi, ebp
mov dword [esp + 0x34], ebx
call fcn.00466020
mov edi, dword [esp + 0x50]
add esp, 4
push ebx
push 0x542564
push ebx
push ebx
mov ecx, ebp
mov dword [edi + 0x48], 6
call fcn.004660a0
push ebx
push 0x542568
push ebx
push 1
mov ecx, ebp
call fcn.004660a0
push ebx
push str.type
push ebx
push 2
mov ecx, ebp
call fcn.004660a0
push ebx
push str.notnull
push ebx
push 3
mov ecx, ebp
call fcn.004660a0
add esp, 0x40
push ebx
push str.dflt_value
push ebx
push 4
mov ecx, ebp
call fcn.004660a0
push ebx
push 0x54258c
push ebx
push 5
mov ecx, ebp
call fcn.004660a0
push esi
push edi
call fcn.0047bea0
mov edx, dword [esi + 0xc]
add esp, 0x28
cmp dword [esi + 8], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x4c], edx
jle 0x4893da
mov eax, dword [esp + 0x4c]
cmp byte [eax + 0x17], bl
je 0x489ed0
inc dword [esp + 0x30]
jmp 0x48a240
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x489ee3
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x489f11
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x28]
mov ecx, 1
add dword [ebp + 0x1c], ecx
sub edx, dword [esp + 0x30]
mov byte [eax], 7
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 + 0x4c]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
jg 0x489f35
mov edi, ebp
call fcn.004649a0
test eax, eax
je 0x489f35
mov esi, 1
jmp 0x489f5a
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 0x489fb7
cmp byte [edi + 0x1e], bl
jne 0x489fb7
cmp esi, ebx
jge 0x489f73
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.00464f80
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x2c], ebx
jne 0x489f97
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x489fc2
mov ecx, dword [esp + 0x2c]
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x489fc2
mov ecx, dword [esp + 0x2c]
xor eax, eax
call fcn.00464f80
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], eax
cmp eax, ebx
jne 0x489fd9
mov dword [esp + 0x24], 0x5486f2
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x489ff3
mov edi, ebp
call fcn.004649a0
test eax, eax
je 0x489ff3
mov esi, 1
jmp 0x48a018
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 0x48a074
cmp byte [edi + 0x1e], bl
jne 0x48a074
cmp esi, ebx
jge 0x48a031
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.00464f80
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x24], ebx
jne 0x48a054
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x48a07f
mov ecx, dword [esp + 0x24]
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x48a07f
mov ecx, dword [esp + 0x24]
xor eax, eax
call fcn.00464f80
mov edx, dword [esp + 0x4c]
mov esi, dword [ebp + 0x1c]
xor ecx, ecx
cmp byte [edx + 0x14], bl
setne cl
cmp dword [ebp + 0x20], esi
mov dword [esp + 0x34], ecx
jg 0x48a0a2
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a0cb
mov ecx, dword [ebp + 4]
inc dword [ebp + 0x1c]
mov edx, dword [esp + 0x34]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 7
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 + 0x4c]
mov eax, dword [eax + 8]
mov esi, dword [ebp + 0x1c]
mov dword [esp + 0x2c], eax
cmp eax, ebx
je 0x48a186
cmp dword [ebp + 0x20], esi
jg 0x48a0f8
mov edi, ebp
call fcn.004649a0
test eax, eax
je 0x48a0f8
mov esi, 1
jmp 0x48a11d
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 0x48a179
cmp byte [edi + 0x1e], bl
jne 0x48a179
cmp esi, ebx
jge 0x48a136
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.00464f80
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x2c], ebx
jne 0x48a159
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x48a1bb
mov ecx, dword [esp + 0x2c]
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x48a1bb
mov ecx, dword [esp + 0x2c]
xor eax, eax
call fcn.00464f80
jmp 0x48a1bb
cmp dword [ebp + 0x20], esi
jg 0x48a196
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a1bb
mov edx, dword [ebp + 4]
inc dword [ebp + 0x1c]
lea ecx, [esi + esi*4]
lea eax, [edx + ecx*4]
mov byte [eax], 0xa
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 + 0x4c]
movzx ecx, byte [eax + 0x15]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov dword [esp + 0x34], ecx
jg 0x48a1da
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a203
mov eax, dword [ebp + 4]
inc dword [ebp + 0x1c]
mov ecx, dword [esp + 0x34]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov byte [eax], 7
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 esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x48a216
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a240
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], 0x10
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 eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
add dword [esp + 0x4c], 0x18
inc eax
cmp eax, dword [ecx + 8]
mov dword [esp + 0x28], eax
jl 0x489ebe
jmp 0x4893da
mov edx, str.index_info
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48a4ae
cmp esi, ebx
je 0x48a4ae
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
push edx
push esi
call fcn.0047a020
mov esi, eax
add esp, 8
mov dword [esp + 0x2c], esi
cmp esi, ebx
je 0x4893da
mov eax, dword [esi + 0x10]
push 3
mov edi, ebp
mov dword [esp + 0x38], eax
call fcn.00466020
mov ecx, dword [esp + 0x50]
add esp, 4
push ebx
push str.seqno
mov dword [ecx + 0x48], 3
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
push ebx
push 0x5425a4
push ebx
push 1
mov ecx, ebp
call fcn.004660a0
push ebx
push 0x5425a8
push ebx
push 2
mov ecx, ebp
call fcn.004660a0
add esp, 0x30
cmp dword [esi + 4], ebx
mov dword [esp + 0x4c], ebx
jle 0x4893da
jmp 0x48a314
mov esi, dword [esp + 0x2c]
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x4c]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov ecx, dword [edx + eax*4]
mov dword [esp + 0x30], ecx
jg 0x48a335
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a35f
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x4c]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 7
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 0x48a372
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a39b
mov ecx, dword [ebp + 4]
inc dword [ebp + 0x1c]
mov edx, dword [esp + 0x30]
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
mov byte [eax], 7
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 + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0xc]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
mov dword [esp + 0x30], eax
jg 0x48a3ca
mov edi, ebp
call fcn.004649a0
test eax, eax
je 0x48a3ca
mov esi, 1
jmp 0x48a3ef
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 0x48a44b
cmp byte [edi + 0x1e], bl
jne 0x48a44b
cmp esi, ebx
jge 0x48a408
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.00464f80
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x30], ebx
jne 0x48a42b
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x48a456
mov ecx, dword [esp + 0x30]
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x48a456
mov ecx, dword [esp + 0x30]
xor eax, eax
call fcn.00464f80
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x48a469
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a493
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], 0x10
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 + 0x4c]
mov ecx, dword [esp + 0x2c]
inc eax
cmp eax, dword [ecx + 4]
mov dword [esp + 0x4c], eax
jl 0x48a310
jmp 0x4893da
mov edx, str.index_list
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48a6f7
cmp esi, ebx
je 0x48a6f7
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push edx
push esi
push eax
call fcn.00479e90
mov ebp, eax
add esp, 0xc
cmp ebp, ebx
je 0x4893da
call fcn.0048eb60
mov ebp, dword [ebp + 0x10]
mov esi, eax
mov dword [esp + 0x24], ebp
cmp ebp, ebx
je 0x4893da
push 3
mov edi, esi
mov dword [esp + 0x34], ebx
call fcn.00466020
mov ecx, dword [esp + 0x50]
add esp, 4
push ebx
push 0x5425bc
mov dword [ecx + 0x48], 3
push ebx
push ebx
mov ecx, esi
call fcn.004660a0
push ebx
push 0x5425c0
push ebx
push 1
mov ecx, esi
call fcn.004660a0
push ebx
push str.unique
push ebx
push 2
mov ecx, esi
call fcn.004660a0
add esp, 0x30
mov ebp, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebp
jg 0x48a56e
mov edi, esi
call fcn.004649a0
test eax, eax
jne 0x48a599
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], 7
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 + 0x24]
mov ebp, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebp
mov ecx, dword [eax]
mov dword [esp + 0x4c], ecx
jg 0x48a5bd
mov edi, esi
call fcn.004649a0
test eax, eax
je 0x48a5bd
mov ebp, 1
jmp 0x48a5e3
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 0x48a63e
cmp byte [edi + 0x1e], bl
jne 0x48a63e
cmp ebp, ebx
jge 0x48a5fb
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.00464f80
mov dword [ebp + 0x10], ebx
cmp dword [esp + 0x4c], ebx
jne 0x48a61f
mov dword [ebp + 0x10], ebx
mov byte [ebp + 1], bl
jmp 0x48a649
mov ecx, dword [esp + 0x4c]
call fcn.0044c8f0
mov edx, dword [esi]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [ebp + 0x10], eax
mov byte [ebp + 1], 0xff
xor ebx, ebx
jmp 0x48a649
mov ecx, dword [esp + 0x4c]
xor eax, eax
call fcn.00464f80
mov ecx, dword [esp + 0x24]
mov ebp, dword [esi + 0x1c]
xor eax, eax
cmp byte [ecx + 0x18], bl
setne al
cmp dword [esi + 0x20], ebp
mov dword [esp + 0x4c], eax
jg 0x48a66c
mov edi, esi
call fcn.004649a0
test eax, eax
jne 0x48a696
mov eax, dword [esi + 4]
inc dword [esi + 0x1c]
mov ecx, dword [esp + 0x4c]
lea edx, [ebp + ebp*4]
lea eax, [eax + edx*4]
mov byte [eax], 7
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 0x48a6a9
mov edi, esi
call fcn.004649a0
test eax, eax
jne 0x48a6d6
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], 0x10
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 0x48a6db
mov ecx, 1
add dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x24], eax
cmp eax, ebx
jne 0x48a55b
jmp 0x4893da
mov edx, str.database_list
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48a9a4
mov esi, dword [esp + 0x4c]
mov edi, esi
call fcn.0048bf60
test eax, eax
jne 0x48940c
push 3
mov edi, ebp
call fcn.00466020
add esp, 4
push ebx
push 0x5425e0
push ebx
push ebx
mov ecx, ebp
mov dword [esi + 0x48], 3
call fcn.004660a0
push ebx
push 0x5425e4
push ebx
push 1
mov ecx, ebp
call fcn.004660a0
push ebx
push str.file
push ebx
push 2
mov ecx, ebp
call fcn.004660a0
mov edx, dword [esp + 0x40]
add esp, 0x30
cmp dword [edx + 4], ebx
mov dword [esp + 0x2c], ebx
jle 0x4893da
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x4c]
cmp dword [edx + ecx + 4], ebx
je 0x48a984
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x48a7a0
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a7ca
mov edx, dword [ebp + 4]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x2c]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 7
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 + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x4c]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov eax, dword [edx + ecx]
mov dword [esp + 0x30], eax
jg 0x48a7f6
mov edi, ebp
call fcn.004649a0
test eax, eax
je 0x48a7f6
mov esi, 1
jmp 0x48a81b
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 0x48a877
cmp byte [edi + 0x1e], bl
jne 0x48a877
cmp esi, ebx
jge 0x48a834
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.00464f80
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x30], ebx
jne 0x48a857
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x48a882
mov ecx, dword [esp + 0x30]
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x48a882
mov ecx, dword [esp + 0x30]
xor eax, eax
call fcn.00464f80
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + edx + 4]
mov edx, dword [ecx + 4]
mov eax, dword [edx]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov ecx, dword [eax + 0x90]
mov dword [esp + 0x30], ecx
jg 0x48a8ba
mov edi, ebp
call fcn.004649a0
test eax, eax
je 0x48a8ba
mov esi, 1
jmp 0x48a8df
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], 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 0x48a93c
cmp byte [edi + 0x1e], bl
jne 0x48a93c
cmp esi, ebx
jge 0x48a8f8
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.00464f80
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x30], ebx
jne 0x48a91c
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x48a947
mov ecx, dword [esp + 0x30]
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x48a947
mov ecx, dword [esp + 0x30]
xor eax, eax
call fcn.00464f80
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x48a95a
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48a984
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], 0x10
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 + 0x2c]
mov ecx, dword [esp + 0x10]
add dword [esp + 0x4c], 0x10
inc eax
cmp eax, dword [ecx + 4]
mov dword [esp + 0x2c], eax
jl 0x48a778
jmp 0x4893da
mov edx, str.collation_list
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48ab35
push 2
mov edi, ebp
mov dword [esp + 0x34], ebx
call fcn.00466020
mov edx, dword [esp + 0x50]
add esp, 4
push ebx
push 0x542604
push ebx
push ebx
mov ecx, ebp
mov dword [edx + 0x48], 2
call fcn.004660a0
push ebx
push str.name
push ebx
push 1
mov ecx, ebp
call fcn.004660a0
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x1a4]
add esp, 0x20
mov dword [esp + 0x2c], eax
cmp eax, ebx
je 0x4893da
jmp 0x48aa14
mov eax, dword [esp + 0x2c]
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
mov ecx, dword [eax + 8]
mov dword [esp + 0x4c], ecx
jg 0x48aa2e
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48aa58
mov eax, dword [ebp + 4]
lea edx, [esi + esi*4]
lea eax, [eax + edx*4]
mov edx, dword [esp + 0x30]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 7
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 + 0x4c]
mov esi, dword [ebp + 0x1c]
inc dword [esp + 0x30]
cmp dword [ebp + 0x20], esi
mov ecx, dword [eax]
mov dword [esp + 0x4c], ecx
jg 0x48aa80
mov edi, ebp
call fcn.004649a0
test eax, eax
je 0x48aa80
mov esi, 1
jmp 0x48aaa5
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 0x48ab02
cmp byte [edi + 0x1e], bl
jne 0x48ab02
cmp esi, ebx
jge 0x48aabe
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.00464f80
mov dword [esi + 0x10], ebx
cmp dword [esp + 0x4c], ebx
jne 0x48aae2
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x48ab0d
mov ecx, dword [esp + 0x4c]
call fcn.0044c8f0
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.0044ad90
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
xor ebx, ebx
jmp 0x48ab0d
mov ecx, dword [esp + 0x4c]
xor eax, eax
call fcn.00464f80
push ebx
push 2
push 1
push 0x10
mov eax, ebp
call fcn.00464a20
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
add esp, 0x10
mov dword [esp + 0x2c], eax
cmp eax, ebx
jne 0x48aa10
jmp 0x4893da
mov edx, str.foreign_key_list
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48ad6a
cmp esi, ebx
je 0x48ad6a
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
push ecx
push esi
push edx
call fcn.00479e90
mov esi, eax
add esp, 0xc
mov dword [esp + 0x34], esi
cmp esi, ebx
je 0x4893da
call fcn.0048eb60
mov esi, dword [esi + 0x24]
mov edi, eax
cmp esi, ebx
je 0x4893da
push 8
mov dword [esp + 0x30], ebx
call fcn.00466020
mov eax, dword [esp + 0x50]
add esp, 4
push ebx
push 0x542624
push ebx
push ebx
mov ecx, edi
mov dword [eax + 0x48], 8
call fcn.004660a0
push ebx
push 0x542628
push ebx
push 1
mov ecx, edi
call fcn.004660a0
push ebx
push str.table
push ebx
push 2
mov ecx, edi
call fcn.004660a0
push ebx
push 0x542634
push ebx
push 3
mov ecx, edi
call fcn.004660a0
add esp, 0x40
push ebx
push 0x54263c
push ebx
push 4
mov ecx, edi
call fcn.004660a0
push ebx
push str.on_update
push ebx
push 5
mov ecx, edi
call fcn.004660a0
push ebx
push str.on_delete
push ebx
push 6
mov ecx, edi
call fcn.004660a0
push ebx
push 0x542658
push ebx
push 7
mov ecx, edi
call fcn.004660a0
add esp, 0x40
cmp dword [esi + 0x14], ebx
mov dword [esp + 0x30], ebx
jle 0x48ad56
lea ecx, [esi + 0x24]
mov dword [esp + 0x4c], ecx
jmp 0x48ac50
mov edx, dword [esp + 0x4c]
mov al, byte [esi + 0x19]
mov ebp, dword [edx + 4]
call fcn.00489160
mov dword [esp + 0x24], eax
mov al, byte [esi + 0x1a]
call fcn.00489160
push ebx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
push 1
push eax
push 7
mov eax, edi
call fcn.00464a20
mov ecx, dword [esp + 0x40]
push ebx
push 2
push ecx
push 7
mov eax, edi
call fcn.00464a20
mov edx, dword [esi + 8]
push ebx
push edx
xor eax, eax
push 0x5e
lea ecx, [eax + 3]
xor edx, edx
call fcn.00464b40
mov eax, dword [esp + 0x78]
mov eax, dword [eax]
mov edx, dword [esp + 0x60]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + ecx*8]
add esp, 0x2c
push ebx
push ecx
xor eax, eax
push 0x5e
lea ecx, [eax + 4]
xor edx, edx
call fcn.00464b40
add esp, 0xc
push ebx
push ebp
neg ebp
sbb ebp, ebp
and ebp, 0x54
xor eax, eax
add ebp, 0xa
push ebp
lea ecx, [eax + 5]
xor edx, edx
call fcn.00464b40
mov edx, dword [esp + 0x34]
add esp, 0xc
push ebx
push edx
xor eax, eax
push 0x5e
lea ecx, [eax + 6]
xor edx, edx
call fcn.00464b40
mov eax, dword [esp + 0x30]
add esp, 0xc
push ebx
push eax
xor eax, eax
push 0x5e
lea ecx, [eax + 7]
xor edx, edx
call fcn.00464b40
add esp, 0xc
push ebx
xor eax, eax
push str.NONE
push 0x5e
lea ecx, [eax + 8]
xor edx, edx
call fcn.00464b40
add esp, 0xc
push ebx
push 8
push 1
push 0x10
mov eax, edi
call fcn.00464a20
mov eax, dword [esp + 0x40]
add dword [esp + 0x5c], 8
inc eax
add esp, 0x10
cmp eax, dword [esi + 0x14]
mov dword [esp + 0x30], eax
jl 0x48ac50
mov esi, dword [esi + 4]
inc dword [esp + 0x2c]
cmp esi, ebx
jne 0x48ac33
jmp 0x4893da
mov edx, str.case_sensitive_like
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48ad9f
cmp esi, ebx
je 0x4893da
mov ebx, dword [esp + 0x20]
call fcn.00488c30
mov edi, dword [esp + 0x10]
movzx ebx, al
and ebx, 1
call fcn.004826e0
jmp 0x4893d8
mov edx, 0x54267c
mov ecx, edi
call fcn.0044ca80
test eax, eax
je 0x48b1d6
mov edx, str.quick_check
mov ecx, edi
call fcn.0044ca80
test eax, eax
je 0x48b1d6
mov edx, 0x542704
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48aed8
cmp esi, ebx
jne 0x48ae52
mov esi, dword [esp + 0x4c]
mov edi, esi
call fcn.0048bf60
test eax, eax
jne 0x48940c
push 1
mov edi, ebp
call fcn.00466020
add esp, 4
push ebx
push str.encoding
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
push ebx
push 1
push ebx
push 0x5e
mov eax, ebp
call fcn.00464a20
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + 0x4d]
mov edx, dword [ecx*8 + 0x518ab0]
push edx
push ebp
mov ecx, 0xfffffffe
or eax, 0xffffffff
call fcn.00465120
push ebx
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00464a20
add esp, 0x38
jmp 0x4893da
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
movzx eax, word [edx + 0x4e]
test al, 1
je 0x48ae70
test al, 4
je 0x4893da
mov esi, dword [esp + 0x20]
mov edx, dword [str.UTF8]
mov edi, 0x518ab0
cmp edx, ebx
je 0x48aec1
nop
mov ecx, esi
call fcn.0044ca80
test eax, eax
je 0x48ae97
mov edx, dword [edi + 8]
add edi, 8
cmp edx, ebx
jne 0x48ae80
jmp 0x48aec1
mov al, byte [edi + 4]
cmp al, bl
movzx eax, al
jne 0x48aea6
mov eax, 2
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x4d], al
cmp dword [edi], ebx
jne 0x4893da
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
push esi
push str.unsupported_encoding:__s
call fcn.0044c980
add esp, 8
jmp 0x4893da
mov edx, str.schema_version
mov ecx, edi
call fcn.0044ca80
test eax, eax
je 0x48b0e5
mov edx, str.user_version
mov ecx, edi
call fcn.0044ca80
test eax, eax
je 0x48b0e5
mov edx, str.freelist_count
mov ecx, edi
call fcn.0044ca80
test eax, eax
je 0x48b0e5
mov edx, str.compile_options
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48af96
push 1
mov edi, ebp
xor esi, esi
call fcn.00466020
mov eax, dword [esp + 0x50]
add esp, 4
push ebx
push str.compile_option
push ebx
push ebx
mov ecx, ebp
mov dword [eax + 0x48], 1
call fcn.004660a0
push ebx
call sym.ShuamePacket.exe_sqlite3_compileoption_get
add esp, 0x14
cmp eax, ebx
je 0x4893da
lea ecx, [ecx]
push ebx
push eax
xor eax, eax
push 0x5e
lea ecx, [eax + 1]
xor edx, edx
mov edi, ebp
inc esi
call fcn.00464b40
add esp, 0xc
push ebx
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00464a20
push esi
call sym.ShuamePacket.exe_sqlite3_compileoption_get
add esp, 0x14
cmp eax, ebx
jne 0x48af60
jmp 0x4893da
mov edx, str.wal_checkpoint
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x48b081
mov ecx, dword [esp + 0x54]
cmp dword [ecx], ebx
je 0x48afbc
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
jmp 0x48afc4
mov dword [esp + 0x2c], 0xa
mov dword [esp + 0x30], ebx
cmp esi, ebx
je 0x48affe
mov edx, str.full
mov ecx, esi
call fcn.0044ca80
test eax, eax
jne 0x48afe6
mov dword [esp + 0x30], 1
jmp 0x48affe
mov edx, str.restart
mov ecx, esi
call fcn.0044ca80
test eax, eax
jne 0x48affe
mov dword [esp + 0x30], 2
mov esi, dword [esp + 0x4c]
mov edi, esi
call fcn.0048bf60
test eax, eax
jne 0x48940c
push 3
mov edi, ebp
call fcn.00466020
add esp, 4
push ebx
push str.busy
push ebx
push ebx
mov ecx, ebp
mov dword [esi + 0x48], 3
call fcn.004660a0
push ebx
push 0x5427f8
push ebx
push 1
mov ecx, ebp
call fcn.004660a0
push ebx
push str.checkpointed
push ebx
push 2
mov ecx, ebp
call fcn.004660a0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push 1
push eax
push ecx
push 0x76
mov eax, ebp
call fcn.00464a20
add esp, 0x40
push ebx
push 3
push 1
push 0x10
mov eax, ebp
call fcn.00464a20
add esp, 0x10
jmp 0x4893da
mov edx, 0x54280c
mov ecx, edi
call fcn.0044ca80
test eax, eax
jne 0x4893da
mov ecx, dword [esp + 0x20]
cmp ecx, ebx
je 0x48b0b2
call fcn.0044d280
mov esi, dword [esp + 0x10]
push eax
push esi
call sym.ShuamePacket.exe_sqlite3_wal_autocheckpoint
add esp, 8
jmp 0x48b0b6
mov esi, dword [esp + 0x10]
cmp dword [esi + 0xc0], 0x4a2f90
jne 0x48b0ca
mov eax, dword [esi + 0xc4]
jmp 0x48b0cc
xor eax, eax
cdq
push edx
push eax
mov eax, dword [esp + 0x54]
push str.wal_autocheckpoint
call fcn.00488e30
add esp, 0xc
jmp 0x4893da
mov ecx, dword [esp + 0x18]
mov eax, ebp
call fcn.00465580
movsx eax, byte [edi]
add eax, 0xffffffba
cmp eax, 0x2d
ja case.0x48b102.71
movzx edx, byte [eax + 0x48b750]
jmp dword [edx*4 + 0x48b744]
mov dword [esp + 0x4c], ebx
jmp 0x48b121
mov dword [esp + 0x4c], 1
jmp 0x48b121
mov dword [esp + 0x4c], 6
cmp esi, ebx
je 0x48b180
cmp dword [esp + 0x4c], ebx
je 0x48b180
push 0x518aa4
push 3
mov eax, ebp
call fcn.00464e30
mov edx, dword [esp + 0x20]
add esp, 8
mov ecx, ebp
mov edi, eax
call fcn.00464ef0
mov ecx, esi
call fcn.0044d280
lea ecx, [edi + 1]
mov edx, eax
mov eax, ecx
mov ecx, ebp
call fcn.00464ef0
mov edx, dword [esp + 0x18]
lea esi, [edi + 2]
mov eax, esi
mov ecx, ebp
call fcn.00464ef0
mov edx, dword [esp + 0x4c]
mov eax, esi
mov ecx, ebp
call fcn.00464f00
jmp 0x4893da
push 0x518af8
push 3
mov eax, ebp
call fcn.00464e30
mov edx, dword [esp + 0x20]
mov ecx, ebp
mov esi, eax
call fcn.00464ef0
inc esi
mov eax, esi
mov ecx, ebp
call fcn.00464ef0
mov edx, dword [esp + 0x54]
mov eax, esi
mov ecx, ebp
call fcn.00464f10
push 1
mov edi, ebp
call fcn.00466020
mov edx, dword [esp + 0x20]
add esp, 0xc
push 0xffffffffffffffff
push edx
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
add esp, 0x10
jmp 0x4893da
xor eax, eax
mov ecx, edi
cmp byte [ecx], 0x71
mov edi, dword [esp + 0x4c]
sete al
mov dword [esp + 0x38], eax
call fcn.0048bf60
test eax, eax
jne 0x48940c
mov dword [edi + 0x48], 6
push 1
mov edi, ebp
call fcn.00466020
add esp, 4
push ebx
push str.integrity_check
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
add esp, 0x10
mov eax, 0x64
mov dword [esp + 0x30], eax
cmp esi, ebx
je 0x48b246
lea edx, [esp + 0x30]
push edx
push esi
call fcn.0044d1b0
mov eax, dword [esp + 0x38]
add esp, 8
cmp eax, ebx
jg 0x48b246
mov eax, 0x64
mov dword [esp + 0x30], eax
push ebx
push 1
push eax
push 7
mov eax, ebp
call fcn.00464a20
mov eax, dword [esp + 0x20]
add esp, 0x10
cmp dword [eax + 4], ebx
mov dword [esp + 0x28], ebx
jle 0x48b612
mov dword [esp + 0x2c], ebx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x4c]
push ecx
xor edi, edi
call fcn.0047e1e0
add esp, 4
push 1
push 0x71
mov eax, ebp
call fcn.00464ad0
push ebx
push ebx
mov esi, eax
push ebx
push 6
mov eax, ebp
call fcn.00464a20
add esp, 0x18
mov eax, esi
mov edx, ebp
call fcn.00464f40
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax + 0xc]
add eax, 8
mov dword [esp + 0x24], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x48b311
mov edx, dword [esp + 0x18]
mov esi, dword [edx + 8]
mov ecx, dword [esi + 0x14]
lea eax, [edi + 2]
push ebp
mov edx, 7
call fcn.00464b20
mov esi, dword [esi + 0x10]
add esp, 4
inc edi
cmp esi, ebx
je 0x48b303
mov ecx, dword [esi + 0x14]
lea eax, [edi + 2]
push ebp
mov edx, 7
call fcn.00464b20
mov esi, dword [esi + 0x20]
add esp, 4
inc edi
cmp esi, ebx
jne 0x48b2e7
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x48b2c4
mov ecx, dword [esp + 0x4c]
lea eax, [edi + 4]
cmp dword [ecx + 0x48], eax
jge 0x48b320
mov dword [ecx + 0x48], eax
push 1
push edi
push 2
push 0x68
mov eax, ebp
call fcn.00464a20
mov dl, byte [esp + 0x38]
mov eax, ebp
call fcn.00464f20
push 2
push 0x49
mov eax, ebp
call fcn.00464ad0
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x44]
add esp, 0x18
push 0xffffffffffffffff
push ecx
mov ecx, dword [esi + 8]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + ecx]
push eax
push str._in_database__s__n
call fcn.0044be60
add esp, 0xc
push eax
xor eax, eax
push 0x5e
lea ecx, [eax + 3]
xor edx, edx
mov edi, ebp
call fcn.00464b40
add esp, 0xc
push 1
push 4
push 2
push 0xd
mov eax, ebp
call fcn.00464a20
push 2
push 3
push 4
push 0x5b
mov eax, ebp
call fcn.00464a20
push ebx
push 1
push 2
push 0x10
mov eax, ebp
call fcn.00464a20
mov eax, dword [esp + 0x64]
add esp, 0x30
mov edx, ebp
call fcn.00464f40
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 8]
mov dword [esp + 0x18], eax
cmp eax, ebx
je 0x48b5f7
jmp 0x48b3d0
cmp dword [esp + 0x38], ebx
jne 0x48b5f7
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 8]
mov dword [esp + 0x34], eax
cmp dword [eax + 0x10], ebx
je 0x48b5e5
push 1
push 0x71
mov eax, ebp
call fcn.00464ad0
push ebx
push ebx
mov esi, eax
push ebx
push 6
mov eax, ebp
call fcn.00464a20
mov eax, esi
mov edx, ebp
call fcn.00464f40
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0x4c]
push 0x26
push 1
push eax
mov eax, esi
call fcn.004877a0
add esp, 0x24
push ebx
push 2
push ebx
push 7
mov eax, ebp
call fcn.00464a20
push ebx
push ebx
push 1
push 0x41
mov eax, ebp
call fcn.00464a20
push ebx
push 1
mov dword [esp + 0x68], eax
push 2
push 0x14
mov eax, ebp
call fcn.00464a20
mov edi, dword [esi + 0x10]
add esp, 0x30
cmp edi, ebx
je 0x48b508
mov dword [esp + 0x24], 2
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
push ebx
push 3
push 1
push edi
push ecx
call fcn.0047fdb0
mov edx, dword [edi + 4]
add esp, 0x14
inc edx
push edx
mov edx, dword [esp + 0x28]
push 0x32
push ebp
xor ecx, ecx
call fcn.00464c40
add esp, 0xc
mov dword [esp + 0x3c], eax
push 0x518a50
push 0xb
mov eax, ebp
call fcn.00464e30
mov esi, eax
push 0x5426c0
lea eax, [esi + 1]
push ebp
mov ecx, 0xfffffffe
call fcn.00465120
push str._missing_from_index
lea eax, [esi + 3]
push ebp
mov ecx, 0xfffffffe
call fcn.00465120
mov eax, dword [edi]
push eax
lea eax, [esi + 4]
push ebp
xor ecx, ecx
call fcn.00465120
add esp, 0x20
lea eax, [esi + 9]
mov edx, ebp
call fcn.00464f40
mov eax, dword [esp + 0x3c]
mov edx, ebp
call fcn.00464f40
mov edi, dword [edi + 0x20]
inc dword [esp + 0x24]
cmp edi, ebx
jne 0x48b470
mov esi, dword [esp + 0x40]
push ebx
lea ecx, [esi + 1]
push ecx
push 1
push 0x43
mov eax, ebp
call fcn.00464a20
add esp, 0x10
mov eax, esi
mov edx, ebp
call fcn.00464f40
mov edx, dword [esp + 0x34]
mov esi, dword [edx + 0x10]
cmp esi, ebx
je 0x48b5e5
mov dword [esp + 0x24], 2
nop
push 1
push 0x71
mov eax, ebp
call fcn.00464ad0
push ebx
push ebx
mov edi, eax
push ebx
push 6
mov eax, ebp
call fcn.00464a20
mov eax, edi
mov edx, ebp
call fcn.00464f40
push 0x518a7c
push 0xa
mov eax, ebp
call fcn.00464e30
mov edx, dword [esp + 0x44]
mov edi, eax
lea eax, [edi + 1]
mov ecx, ebp
call fcn.00464ef0
lea edx, [edi + 4]
lea eax, [edi + 1]
mov ecx, ebp
call fcn.00464f00
mov edx, dword [esp + 0x44]
lea eax, [edi + 3]
mov ecx, ebp
call fcn.00464ef0
lea edx, [edi + 2]
lea eax, [edi + 3]
mov ecx, ebp
call fcn.00464f00
lea eax, [edi + 4]
mov edx, ebp
call fcn.00464f40
push str.wrong__of_entries_in_index
lea eax, [edi + 6]
push ebp
mov ecx, 0xfffffffe
call fcn.00465120
mov eax, dword [esi]
push eax
lea eax, [edi + 7]
push ebp
xor ecx, ecx
call fcn.00465120
mov esi, dword [esi + 0x20]
inc dword [esp + 0x54]
add esp, 0x30
cmp esi, ebx
jne 0x48b540
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov dword [esp + 0x18], eax
cmp eax, ebx
jne 0x48b3d0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
add dword [esp + 0x2c], 0x10
inc eax
cmp eax, dword [edx + 4]
mov dword [esp + 0x28], eax
jl 0x48b26b
push 0x518a40
push 4
mov eax, ebp
call fcn.00464e30
mov edx, dword [esp + 0x38]
neg edx
mov ecx, ebp
mov esi, eax
call fcn.00464f00
lea eax, [esi + 1]
mov edx, ebp
call fcn.00464f40
push 0x542700
lea eax, [esi + 2]
push ebp
mov ecx, 0xfffffffe
call fcn.00465120
add esp, 0x10
jmp 0x4893da
mov edi, dword [esp + 0x4c]
call fcn.0048bf60
test eax, eax
jne 0x48940c
mov eax, dword [esp + 0x18]
push eax
mov eax, edi
call fcn.0047e1e0
inc dword [edi + 0x48]
mov ecx, dword [esp + 0x18]
mov edi, dword [edi + 0x48]
add esp, 4
cmp byte [ecx], 0x70
mov dword [esp + 0x4c], edi
jne 0x48b6c5
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x48b69e
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48b6e2
mov edi, dword [esp + 0x4c]
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], 0x86
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 0x48b6e2
mov ecx, esi
call fcn.0044d280
mov edx, dword [esp + 0x18]
push eax
push edi
push edx
push 0x87
mov eax, ebp
call fcn.00464a20
add esp, 0x10
mov esi, dword [ebp + 0x1c]
cmp dword [ebp + 0x20], esi
jg 0x48b6f5
mov edi, ebp
call fcn.004649a0
test eax, eax
jne 0x48b71f
mov edx, dword [ebp + 4]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x4c]
mov ecx, 1
add dword [ebp + 0x1c], ecx
mov byte [eax], 0x10
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.00466020
mov eax, dword [esp + 0x18]
add esp, 4
push 0xffffffffffffffff
push eax
push ebx
push ebx
mov ecx, ebp
call fcn.004660a0
add esp, 0x10
jmp 0x4893da