Function at 0x58849d
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi]
mov dword [ebp - 8], esi
call fcn.00560af6
xor ebx, ebx
mov dword [ebp - 4], eax
mov dword [edi + 0xc], eax
cmp eax, ebx
je 0x589d5c
call fcn.005559e5
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
lea edx, [ebp - 0x2c]
mov eax, edi
mov dword [edi + 0x48], 2
call fcn.0055e192
cmp eax, ebx
mov dword [ebp - 0x10], eax
jl 0x589d5c
mov ecx, dword [ebp - 8]
mov esi, eax
shl esi, 4
add esi, dword [ecx + 8]
mov dword [ebp - 0x14], esi
cmp eax, 1
jne 0x58850c
mov eax, edi
call fcn.0057693f
test eax, eax
jne 0x589d5c
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
call fcn.0055e148
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x589d5c
cmp dword [ebp + 0x18], ebx
je 0x58853e
push dword [ebp + 0x14]
mov esi, dword [ebp - 8]
push 0x5ccf14
call fcn.00559ec3
mov esi, dword [ebp - 0x14]
pop ecx
pop ecx
jmp 0x588549
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
call fcn.0055e148
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], ebx
jbe 0x58855b
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
jmp 0x58855e
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x1c]
mov eax, edi
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push 0x13
call fcn.0055dec8
add esp, 0x10
test eax, eax
jne 0x589d43
mov edi, dword [ebp - 0x18]
mov edx, str.default_cache_size
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588667
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00555b45
mov eax, dword [ebp - 0xc]
cmp eax, ebx
jne 0x588611
xor edi, edi
inc edi
mov esi, edx
call fcn.00560d70
push ebx
push str.cache_size
push ebx
mov edi, esi
push ebx
mov eax, edi
call fcn.005644a5
mov eax, dword [ebp + 8]
add dword [eax + 0x48], 2
push 0x5c73e0
push 8
mov eax, edi
call fcn.0055c3ab
mov edx, dword [ebp - 0x10]
add esp, 0x18
mov ecx, edi
mov esi, eax
call fcn.00555aba
lea eax, [esi + 1]
mov ecx, edi
call fcn.00555aba
lea eax, [esi + 6]
mov edx, 0x7d0
mov ecx, edi
call fcn.00555aba
jmp 0x589d15
call fcn.00551dc2
call fcn.005522a2
mov ecx, dword [ebp - 0x10]
mov esi, eax
push ebx
mov eax, edi
call fcn.00576a78
mov ecx, dword [ebp - 4]
push 1
push esi
push 7
pop eax
call fcn.0055c34c
mov ecx, dword [ebp - 4]
push 1
push 3
push dword [ebp - 0x10]
push 0x24
pop eax
call fcn.0055c2b7
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x50], esi
mov ecx, dword [eax + 0xc]
push dword [ecx + 0x50]
mov eax, dword [eax + 4]
call fcn.005551b1
add esp, 0x1c
jmp 0x589d15
mov esi, str.page_size
mov edx, esi
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x5886c3
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0xc]
cmp eax, ebx
jne 0x58869a
cmp edi, ebx
je 0x589782
mov eax, edi
call fcn.00555223
jmp 0x589784
call fcn.00551dc2
mov esi, dword [ebp - 8]
push ebx
push 0xffffffffffffffff
push edi
mov dword [esi + 0x24], eax
call fcn.0055be29
add esp, 0xc
cmp eax, 7
jne 0x589d15
mov byte [esi + 0x1e], 1
jmp 0x589d15
mov edx, str.secure_delete
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588750
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
or dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0xc], ebx
je 0x5886f5
mov ebx, dword [ebp - 0xc]
call fcn.005576fe
movzx eax, al
mov dword [ebp - 0x20], eax
xor ebx, ebx
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp - 8]
cmp dword [eax + 4], ebx
jne 0x58872d
cmp dword [ebp - 0x20], ebx
jl 0x58872d
cmp dword [edi + 4], ebx
mov dword [ebp - 0x24], ebx
jle 0x58872d
xor esi, esi
mov eax, dword [edi + 8]
push dword [ebp - 0x20]
mov eax, dword [esi + eax + 4]
call fcn.0055526d
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add esi, 0x10
cmp eax, dword [edi + 4]
pop ecx
jl 0x58870f
push dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
call fcn.0055526d
cdq
push edx
push eax
mov eax, dword [ebp + 8]
push str.secure_delete
call fcn.005660bf
add esp, 0x10
jmp 0x589d15
mov edx, str.page_count
mov ecx, edi
call fcn.00551775
test eax, eax
je 0x589c96
mov edx, str.max_page_count
mov ecx, edi
call fcn.00551775
test eax, eax
je 0x589c96
mov edx, str.locking_mode
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x58884d
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x2c], str.normal
call fcn.00557707
mov edx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x5887ee
cmp edx, 0xffffffff
jne 0x5887b5
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x1f]
jmp 0x588800
cmp eax, ebx
jne 0x5887ee
mov esi, dword [ebp - 8]
push 2
pop edi
cmp dword [esi + 4], edi
jle 0x5887eb
mov dword [ebp + 8], 0x20
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax + 4]
call fcn.005555b2
mov ecx, eax
call fcn.0055bc7f
add dword [ebp + 8], 0x10
inc edi
cmp edi, dword [esi + 4]
jl 0x5887cb
mov byte [esi + 0x1f], dl
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
call fcn.005555b2
mov ecx, eax
call fcn.0055bc7f
cmp eax, 1
jne 0x58880c
mov dword [ebp - 0x2c], str.exclusive
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
call fcn.00560d70
push ebx
push str.locking_mode
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
push dword [ebp - 0x2c]
push ebx
push 1
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
push 1
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0055c34c
add esp, 0x30
jmp 0x589d15
mov edx, str.journal_mode
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588955
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
call fcn.00560d70
push ebx
push str.journal_mode
push ebx
push ebx
mov eax, esi
call fcn.005644a5
add esp, 0x10
cmp dword [ebp - 0xc], ebx
jne 0x588899
or dword [ebp + 8], 0xffffffff
jmp 0x5888e3
mov ecx, dword [ebp - 0xc]
call fcn.00551700
mov edi, eax
xor eax, eax
mov dword [ebp + 8], ebx
call fcn.005577e7
mov esi, eax
cmp esi, ebx
je 0x5888d9
push edi
push esi
push dword [ebp - 0xc]
call sym.hao123Juzi.exe_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x5888d5
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
call fcn.005577e7
mov esi, eax
cmp esi, ebx
jne 0x5888b3
cmp esi, ebx
jne 0x5888dd
or dword [ebp + 8], 0xffffffff
cmp dword [ebp + 8], 0xffffffff
jne 0x5888f5
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], ebx
jne 0x5888f5
mov dword [ebp - 0x10], ebx
mov dword [eax + 4], 1
mov eax, dword [ebp - 8]
mov esi, dword [eax + 4]
dec esi
js 0x588941
mov edi, esi
shl edi, 4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
cmp dword [edi + eax + 4], ebx
je 0x588939
cmp esi, dword [ebp - 0x10]
je 0x58891c
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], ebx
jne 0x588939
mov edx, dword [ebp - 4]
mov ecx, esi
call fcn.00555b45
push dword [ebp + 8]
mov ecx, edx
push 1
push esi
push 0x77
pop eax
call fcn.0055c2b7
add esp, 0xc
dec esi
sub edi, 0x10
cmp esi, ebx
jge 0x588903
mov ecx, dword [ebp - 4]
push 1
push 1
push 0x10
pop eax
call fcn.0055c34c
jmp 0x5895ae
mov esi, str.journal_size_limit
mov edx, esi
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x5889cc
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
call fcn.005555b2
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xc]
or edi, 0xffffffff
mov dword [ebp - 0x3c], 0xfffffffe
mov dword [ebp - 0x38], edi
cmp eax, ebx
je 0x5889ae
push 1
lea ecx, [ebp - 0x3c]
push 0xf4240
push ecx
call fcn.00551bdb
add esp, 0xc
cmp dword [ebp - 0x38], edi
jg 0x5889ae
jl 0x5889a8
cmp dword [ebp - 0x3c], edi
jae 0x5889ae
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], edi
push dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x3c]
call fcn.0055447d
push edx
push eax
mov eax, dword [ebp + 8]
push esi
call fcn.005660bf
jmp 0x589c91
mov esi, str.auto_vacuum
mov edx, esi
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588ab4
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
call fcn.00583949
test eax, eax
jne 0x589d43
cmp dword [ebp - 0xc], ebx
jne 0x588a1a
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x588a0e
call fcn.005552ed
jmp 0x588a10
xor eax, eax
cdq
push edx
push eax
mov eax, edi
jmp 0x58978a
mov esi, dword [ebp - 0xc]
call fcn.00557732
cmp eax, ebx
mov ecx, dword [ebp - 8]
mov dword [ebp + 8], eax
mov byte [ecx + 0x20], al
jl 0x589d15
push eax
mov eax, dword [ebp - 0x2c]
call fcn.0055529f
pop ecx
test eax, eax
jne 0x589d15
cmp dword [ebp + 8], 1
je 0x588a55
cmp dword [ebp + 8], 2
jne 0x589d15
mov edi, dword [ebp - 4]
push 0x5c7400
push 6
mov eax, edi
call fcn.0055c3ab
mov edx, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, edi
mov esi, eax
call fcn.00555aba
lea eax, [esi + 1]
mov ecx, edi
call fcn.00555aba
lea edx, [esi + 4]
lea eax, [esi + 2]
mov ecx, edi
call fcn.00555aca
mov edx, dword [ebp + 8]
dec edx
lea eax, [esi + 4]
mov ecx, edi
call fcn.00555aba
mov edx, dword [ebp - 0x10]
lea eax, [esi + 5]
mov ecx, edi
call fcn.00555aba
mov ecx, edx
mov edx, edi
call fcn.00555b45
jmp 0x589d15
mov edx, str.incremental_vacuum
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588b60
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
mov eax, dword [ebp - 0xc]
cmp eax, ebx
je 0x588af2
lea ecx, [ebp - 0x24]
push ecx
call fcn.00551d14
pop ecx
test eax, eax
je 0x588af2
cmp dword [ebp - 0x24], ebx
jg 0x588af9
mov dword [ebp - 0x24], 0x7fffffff
mov ecx, dword [ebp - 0x10]
push ebx
mov eax, edi
call fcn.00576a78
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
push edi
push dword [ebp - 0x24]
mov ecx, esi
push 7
pop eax
call fcn.0055c34c
push dword [ebp - 0x10]
mov ecx, esi
push 0x79
pop eax
call fcn.0055c33b
push edi
mov dword [ebp + 8], eax
push 0x10
pop eax
mov ecx, esi
call fcn.0055c33b
push 0xffffffffffffffff
push edi
push 0x14
pop eax
mov ecx, esi
call fcn.0055c34c
push dword [ebp + 8]
mov ecx, esi
push edi
push 0x71
pop eax
call fcn.0055c34c
mov eax, dword [ebp + 8]
add esp, 0x24
mov ecx, esi
call fcn.00555afc
jmp 0x589d15
mov esi, str.cache_size
mov edx, esi
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588bbd
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
mov eax, dword [ebp - 0xc]
cmp eax, ebx
jne 0x588b97
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x588a10
call fcn.00551dc2
call fcn.005522a2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0xc]
push dword [eax + 0x50]
mov eax, dword [ecx + 4]
call fcn.005551b1
jmp 0x5895af
mov esi, str.temp_store
mov edx, esi
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588bf0
cmp dword [ebp - 0xc], ebx
jne 0x588be0
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x1d]
jmp 0x589784
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp + 8]
call fcn.0057ba78
jmp 0x589d15
mov edx, str.temp_store_directory
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588cb4
mov esi, dword [ebp - 0xc]
cmp esi, ebx
jne 0x588c3d
cmp dword [sym.hao123Juzi.exe_sqlite3_temp_directory], ebx
je 0x589d15
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
call fcn.00560d70
push ebx
push str.temp_store_directory
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
push dword [sym.hao123Juzi.exe_sqlite3_temp_directory]
jmp 0x58882a
cmp byte [esi], bl
je 0x588c71
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
push 1
push esi
call fcn.00550f99
add esp, 0xc
test eax, eax
jne 0x588c5e
cmp dword [ebp - 0x2c], ebx
jne 0x588c71
mov edi, dword [ebp + 8]
push str.not_a_writable_directory
call fcn.0055a104
pop ecx
jmp 0x589d43
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1d], 1
ja 0x588c82
mov eax, dword [ebp + 8]
call fcn.0057ba2e
push dword [sym.hao123Juzi.exe_sqlite3_temp_directory]
call sym.hao123Juzi.exe_sqlite3_free
pop ecx
cmp byte [esi], bl
je 0x588ca9
push esi
push 0x5deb9c
call sym.hao123Juzi.exe_sqlite3_mprintf
pop ecx
pop ecx
mov dword [sym.hao123Juzi.exe_sqlite3_temp_directory], eax
jmp 0x589d15
mov dword [sym.hao123Juzi.exe_sqlite3_temp_directory], ebx
jmp 0x589d15
mov esi, str.synchronous
mov edx, esi
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588d14
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
cmp dword [ebp - 0xc], ebx
jne 0x588ce8
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax + 9]
dec eax
jmp 0x588a10
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1c], bl
jne 0x588cff
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.0055a104
jmp 0x5895af
mov ebx, dword [ebp - 0xc]
call fcn.005576a5
mov ecx, dword [ebp - 0x14]
inc al
mov byte [ecx + 9], al
jmp 0x589488
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
push esi
push edi
call fcn.00566139
pop ecx
pop ecx
test eax, eax
jne 0x589d15
mov edx, str.table_info
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588ed4
cmp esi, ebx
je 0x588ed4
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
push dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
push esi
call fcn.00556c26
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x589d15
mov esi, dword [ebp - 4]
push 6
pop edi
mov dword [ebp - 0x24], ebx
call fcn.00560d70
mov esi, dword [ebp + 8]
push ebx
push 0x5f3eac
mov dword [esi + 0x48], edi
mov edi, dword [ebp - 4]
push ebx
push ebx
mov eax, edi
call fcn.005644a5
push ebx
push str.name
push ebx
push 1
mov eax, edi
call fcn.005644a5
push ebx
push 0x5e86ec
push ebx
push 2
mov eax, edi
call fcn.005644a5
push ebx
push str.notnull
push ebx
push 3
mov eax, edi
call fcn.005644a5
add esp, 0x40
push ebx
push str.dflt_value
push ebx
push 4
mov eax, edi
call fcn.005644a5
push ebx
push 0x5ccdc0
push ebx
push 5
mov eax, edi
call fcn.005644a5
mov edi, dword [ebp - 0x2c]
push edi
push esi
call fcn.005877ae
mov esi, dword [edi + 0xc]
add esp, 0x28
cmp dword [edi + 8], ebx
mov dword [ebp + 8], ebx
jle 0x589d15
mov edi, dword [ebp - 4]
cmp byte [esi + 0x17], bl
je 0x588e15
inc dword [ebp - 0x24]
jmp 0x588eba
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0x24]
push 1
push eax
push 7
pop eax
mov ecx, edi
call fcn.0055c34c
push ebx
push dword [esi]
push ebx
push 2
push ebx
push edi
push 0x5e
pop eax
call fcn.00560b2c
mov eax, dword [esi + 0xc]
add esp, 0x20
cmp eax, ebx
jne 0x588e47
mov eax, 0x5ddd69
push ebx
push eax
push ebx
push 3
push ebx
push edi
push 0x5e
pop eax
call fcn.00560b2c
xor eax, eax
cmp byte [esi + 0x14], bl
push 4
setne al
mov ecx, edi
push eax
push 7
pop eax
call fcn.0055c34c
mov eax, dword [esi + 8]
add esp, 0x20
cmp eax, ebx
je 0x588e89
push ebx
push eax
push ebx
push 5
push ebx
push edi
push 0x5e
pop eax
call fcn.00560b2c
add esp, 0x18
jmp 0x588e98
push 5
push ebx
push 0xa
pop eax
mov ecx, edi
call fcn.0055c34c
pop ecx
pop ecx
movzx eax, byte [esi + 0x15]
push 6
push eax
push 7
pop eax
mov ecx, edi
call fcn.0055c34c
push 6
push 1
push 0x10
pop eax
mov ecx, edi
call fcn.0055c34c
add esp, 0x10
inc dword [ebp + 8]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp + 8]
add esi, 0x18
cmp ecx, dword [eax + 8]
jl 0x588e08
jmp 0x589d15
mov edx, str.index_info
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x588fd3
cmp esi, ebx
je 0x588fd3
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
push dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00556c9d
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x589d15
mov eax, dword [eax + 0x10]
mov esi, dword [ebp - 4]
push 3
pop edi
mov dword [ebp - 0x2c], eax
call fcn.00560d70
mov eax, dword [ebp + 8]
push ebx
push str.seqno
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
push 0x5f3eac
push ebx
push 1
mov eax, esi
call fcn.005644a5
push ebx
push str.name
push ebx
push 2
mov eax, esi
call fcn.005644a5
mov eax, dword [ebp - 0x20]
add esp, 0x30
xor edi, edi
cmp dword [eax + 4], ebx
jle 0x589d15
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
mov esi, dword [eax + edi*4]
mov ecx, dword [ebp - 4]
push 1
push edi
push 7
pop eax
call fcn.0055c34c
mov ecx, dword [ebp - 4]
push 2
push esi
push 7
pop eax
call fcn.0055c34c
imul esi, esi, 0x18
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0xc]
push ebx
push dword [esi + eax]
push ebx
push 3
push ebx
push dword [ebp - 4]
push 0x5e
pop eax
call fcn.00560b2c
mov ecx, dword [ebp - 4]
push 3
push 1
push 0x10
pop eax
call fcn.0055c34c
mov eax, dword [ebp - 0x20]
add esp, 0x30
inc edi
cmp edi, dword [eax + 4]
jl 0x588f72
jmp 0x589d15
mov edx, str.index_list
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x5890cf
cmp esi, ebx
je 0x5890cf
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
push dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00556c26
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x589d15
mov edi, dword [ebp + 8]
call fcn.0056287c
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x589d15
push 3
pop edi
mov dword [ebp - 0x24], ebx
call fcn.00560d70
mov eax, dword [ebp + 8]
push ebx
push 0x5ccd9c
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
push str.name
push ebx
push 1
mov eax, esi
call fcn.005644a5
push ebx
push str.unique
push ebx
push 2
mov eax, esi
call fcn.005644a5
mov edi, dword [ebp - 0x2c]
add esp, 0x30
push 1
push dword [ebp - 0x24]
mov ecx, esi
push 7
pop eax
call fcn.0055c34c
push ebx
push dword [edi]
push ebx
push 2
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
xor eax, eax
cmp byte [edi + 0x18], bl
push 3
setne al
mov ecx, esi
push eax
push 7
pop eax
call fcn.0055c34c
push 3
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0055c34c
mov edi, dword [edi + 0x20]
add esp, 0x30
inc dword [ebp - 0x24]
cmp edi, ebx
jne 0x58907b
jmp 0x589d15
mov edx, str.database_list
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x5891bd
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
mov esi, dword [ebp - 4]
push 3
pop edi
call fcn.00560d70
mov eax, dword [ebp + 8]
push ebx
push 0x5ccd9c
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
push str.name
push ebx
push 1
mov eax, esi
call fcn.005644a5
push ebx
push 0x5eb7c8
push ebx
push 2
mov eax, esi
call fcn.005644a5
mov eax, dword [ebp - 8]
add esp, 0x30
cmp dword [eax + 4], ebx
mov dword [ebp + 8], ebx
jle 0x589d15
xor edi, edi
mov esi, eax
mov eax, dword [esi + 8]
cmp dword [edi + eax + 4], ebx
je 0x5891aa
mov ecx, dword [ebp - 4]
push 1
push dword [ebp + 8]
push 7
pop eax
call fcn.0055c34c
mov eax, dword [esi + 8]
push ebx
push dword [edi + eax]
push ebx
push 2
push ebx
push dword [ebp - 4]
push 0x5e
pop eax
call fcn.00560b2c
mov eax, dword [esi + 8]
mov eax, dword [edi + eax + 4]
add esp, 0x20
push ebx
call fcn.005555b8
push eax
push ebx
push 3
push ebx
push dword [ebp - 4]
push 0x5e
pop eax
call fcn.00560b2c
mov ecx, dword [ebp - 4]
push 3
push 1
push 0x10
pop eax
call fcn.0055c34c
add esp, 0x20
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
add edi, 0x10
cmp eax, dword [esi + 4]
jl 0x589149
jmp 0x589d15
mov edx, str.collation_list
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x589257
mov esi, dword [ebp - 4]
push 2
pop edi
mov dword [ebp - 0x24], ebx
call fcn.00560d70
mov eax, dword [ebp + 8]
push ebx
push 0x5ccd9c
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
push str.name
push ebx
push 1
mov eax, esi
call fcn.005644a5
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x1a4]
add esp, 0x20
jmp 0x58924e
mov ecx, dword [ebp - 4]
mov edi, dword [esi + 8]
push 1
push dword [ebp - 0x24]
push 7
pop eax
call fcn.0055c34c
inc dword [ebp - 0x24]
push ebx
push dword [edi]
push ebx
push 2
push ebx
push dword [ebp - 4]
push 0x5e
pop eax
call fcn.00560b2c
mov ecx, dword [ebp - 4]
push 2
push 1
push 0x10
pop eax
call fcn.0055c34c
mov esi, dword [esi]
add esp, 0x28
cmp esi, ebx
jne 0x589212
jmp 0x589d15
mov edx, str.foreign_key_list
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x58945c
cmp esi, ebx
je 0x58945c
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
push dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00556c26
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x589d15
mov edi, dword [ebp + 8]
call fcn.0056287c
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x28], eax
cmp eax, ebx
je 0x589d15
push 8
pop edi
mov dword [ebp - 0x24], ebx
call fcn.00560d70
mov eax, dword [ebp + 8]
push ebx
push 0x5e9b14
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
push 0x5ccd9c
push ebx
push 1
mov eax, esi
call fcn.005644a5
push ebx
push str.table
push ebx
push 2
mov eax, esi
call fcn.005644a5
push ebx
push str.from
push ebx
push 3
mov eax, esi
call fcn.005644a5
add esp, 0x40
push ebx
push 0x5ccd5c
push ebx
push 4
mov eax, esi
call fcn.005644a5
push ebx
push str.on_update
push ebx
push 5
mov eax, esi
call fcn.005644a5
push ebx
push str.on_delete
push ebx
push 6
mov eax, esi
call fcn.005644a5
push ebx
push str.match
push ebx
push 7
mov eax, esi
call fcn.005644a5
mov edi, dword [ebp - 0x28]
add esp, 0x40
cmp dword [edi + 0x14], ebx
mov dword [ebp - 0x20], ebx
jle 0x589449
lea eax, [edi + 0x24]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], eax
mov al, byte [edi + 0x19]
call fcn.005577b8
mov dword [ebp - 0x10], eax
mov al, byte [edi + 0x1a]
call fcn.005577b8
push 1
push dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
push 7
pop eax
mov ecx, esi
call fcn.0055c34c
push 2
push dword [ebp - 0x20]
mov ecx, esi
push 7
pop eax
call fcn.0055c34c
push ebx
push dword [edi + 8]
push ebx
push 3
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2c]
imul eax, eax, 0x18
mov ecx, dword [ecx + 0xc]
push ebx
push dword [eax + ecx]
push ebx
push 4
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
mov eax, dword [ebp - 0x28]
add esp, 0x40
push ebx
push eax
neg eax
push ebx
sbb eax, eax
push 5
and eax, 0x54
push ebx
add eax, 0xa
push esi
call fcn.00560b2c
push ebx
push dword [ebp - 0x1c]
push ebx
push 6
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
push ebx
push dword [ebp - 0x10]
push ebx
push 7
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
add esp, 0x48
push ebx
push str.NONE
push ebx
push 8
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
push 8
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0055c34c
add dword [ebp + 8], 8
add esp, 0x20
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, dword [edi + 0x14]
jl 0x589364
mov edi, dword [edi + 4]
inc dword [ebp - 0x24]
cmp edi, ebx
jne 0x589352
jmp 0x589d15
mov edx, str.case_sensitive_like
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x58948f
cmp esi, ebx
je 0x589d15
mov ebx, esi
call fcn.005576fe
mov ebx, dword [ebp - 8]
movzx eax, al
push eax
call fcn.0057201c
pop ecx
xor ebx, ebx
jmp 0x589d15
mov edx, str.integrity_check
mov ecx, edi
call fcn.00551775
test eax, eax
je 0x58985f
mov edx, str.quick_check
mov ecx, edi
call fcn.00551775
test eax, eax
je 0x58985f
mov edx, str.encoding
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x5895b5
cmp esi, ebx
jne 0x58953a
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
call fcn.00560d70
push ebx
push str.encoding
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push edi
push ebx
push 0x5e
pop eax
mov ecx, esi
call fcn.0055c34c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 0x4d]
push 0xfffffffffffffffe
push dword [eax*8 + 0x5c7488]
or eax, 0xffffffff
push esi
call fcn.0055c595
push edi
push edi
push 0x10
pop eax
mov ecx, esi
call fcn.0055c34c
add esp, 0x2c
jmp 0x589d15
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
movzx eax, word [eax + 0x4e]
test al, 1
je 0x589553
test al, 4
je 0x589d15
mov eax, dword [str.UTF8]
mov edi, 0x5c7488
cmp eax, ebx
je 0x58959e
mov edx, eax
mov ecx, esi
call fcn.00551775
test eax, eax
je 0x589579
add edi, 8
mov eax, dword [edi]
cmp eax, ebx
jne 0x589561
jmp 0x589596
mov al, byte [edi + 4]
cmp al, bl
je 0x589585
movzx eax, al
jmp 0x589588
push 2
pop eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov byte [ecx + 0x4d], al
cmp dword [edi], ebx
jne 0x589d15
push dword [ebp - 0xc]
mov edi, dword [ebp + 8]
push str.unsupported_encoding:__s
call fcn.0055a104
pop ecx
pop ecx
jmp 0x589d15
mov edx, str.schema_version
mov ecx, edi
call fcn.00551775
test eax, eax
je 0x589798
mov edx, str.user_version
mov ecx, edi
call fcn.00551775
test eax, eax
je 0x589798
mov edx, str.freelist_count
mov ecx, edi
call fcn.00551775
test eax, eax
je 0x589798
mov edx, str.compile_options
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x589663
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
mov dword [ebp - 0x24], ebx
call fcn.00560d70
mov eax, dword [ebp + 8]
push ebx
push str.compile_option
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
call sym.hao123Juzi.exe_sqlite3_compileoption_get
add esp, 0x14
jmp 0x58965a
inc dword [ebp - 0x24]
push ebx
push eax
push ebx
push 1
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
push 1
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0055c34c
push dword [ebp - 0x24]
call sym.hao123Juzi.exe_sqlite3_compileoption_get
add esp, 0x24
cmp eax, ebx
jne 0x58962f
jmp 0x589d15
mov edx, str.wal_checkpoint
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x58973b
mov eax, dword [ebp + 0x10]
cmp dword [eax], ebx
je 0x589686
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
jmp 0x58968d
mov dword [ebp - 0x2c], 0xa
mov dword [ebp - 0x24], ebx
cmp esi, ebx
je 0x5896c4
mov edx, str.full
mov ecx, esi
call fcn.00551775
test eax, eax
jne 0x5896ad
mov dword [ebp - 0x24], 1
jmp 0x5896c4
mov edx, str.restart
mov ecx, esi
call fcn.00551775
test eax, eax
jne 0x5896c4
mov dword [ebp - 0x24], 2
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
mov esi, dword [ebp - 4]
push 3
pop edi
call fcn.00560d70
mov eax, dword [ebp + 8]
push ebx
push str.busy
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.005644a5
push ebx
push 0x5ccc70
push ebx
push 1
mov eax, esi
call fcn.005644a5
push ebx
push str.checkpointed
push ebx
push 2
mov eax, esi
call fcn.005644a5
push 1
push dword [ebp - 0x24]
mov ecx, esi
push dword [ebp - 0x2c]
push 0x76
pop eax
call fcn.0055c2b7
push edi
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0055c34c
add esp, 0x44
jmp 0x589d15
mov esi, str.wal_autocheckpoint
mov edx, esi
mov ecx, edi
call fcn.00551775
test eax, eax
jne 0x589d15
mov eax, dword [ebp - 0xc]
cmp eax, ebx
je 0x58976b
call fcn.00551dc2
mov edi, dword [ebp - 8]
push eax
push edi
call sym.hao123Juzi.exe_sqlite3_wal_autocheckpoint
pop ecx
pop ecx
jmp 0x58976e
mov edi, dword [ebp - 8]
cmp dword [edi + 0xc0], 0x57381d
jne 0x589782
mov eax, dword [edi + 0xc4]
jmp 0x589784
xor eax, eax
cdq
push edx
push eax
mov eax, dword [ebp + 8]
push esi
call fcn.005660bf
add esp, 0xc
jmp 0x589d15
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov edx, esi
call fcn.00555b45
mov al, byte [edi]
cmp al, 0x46
je 0x5897c9
cmp al, 0x53
je 0x5897c0
cmp al, 0x66
je 0x5897c9
cmp al, 0x73
je 0x5897c0
mov dword [ebp + 8], 6
jmp 0x5897cc
mov dword [ebp + 8], 1
jmp 0x5897cc
mov dword [ebp + 8], ebx
cmp dword [ebp - 0xc], ebx
je 0x589828
cmp dword [ebp + 8], ebx
je 0x589828
push 0x5c747c
push 3
mov eax, esi
call fcn.0055c3ab
mov edx, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, esi
mov edi, eax
call fcn.00555aba
mov eax, dword [ebp - 0xc]
call fcn.00551dc2
lea ecx, [edi + 1]
mov edx, eax
mov eax, ecx
mov ecx, esi
call fcn.00555aba
mov edx, dword [ebp - 0x10]
add edi, 2
mov eax, edi
mov ecx, esi
call fcn.00555aba
mov edx, dword [ebp + 8]
mov eax, edi
mov ecx, esi
call fcn.00555aca
jmp 0x589d15
mov esi, edx
push 0x5c74d0
push 3
mov eax, esi
call fcn.0055c3ab
mov edx, dword [ebp - 0x10]
mov ecx, esi
mov edi, eax
call fcn.00555aba
inc edi
mov eax, edi
mov ecx, esi
call fcn.00555aba
mov edx, dword [ebp + 8]
mov eax, edi
mov ecx, esi
call fcn.00555ada
jmp 0x589cfc
xor eax, eax
mov ecx, edi
cmp byte [ecx], 0x71
mov edi, dword [ebp + 8]
sete al
mov dword [ebp - 0x30], eax
call fcn.00583949
test eax, eax
jne 0x589d43
mov esi, dword [ebp - 4]
mov eax, edi
xor edi, edi
inc edi
mov dword [eax + 0x48], 6
call fcn.00560d70
push ebx
push str.integrity_check
push ebx
push ebx
mov eax, esi
call fcn.005644a5
add esp, 0x10
push 0x64
pop esi
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0xc], ebx
je 0x5898c2
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
call fcn.00551d14
cmp dword [ebp - 0x20], ebx
pop ecx
jg 0x5898c2
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 4]
push 1
push dword [ebp - 0x20]
push 7
pop eax
call fcn.0055c34c
mov eax, dword [ebp - 8]
cmp dword [eax + 4], ebx
pop ecx
pop ecx
mov dword [ebp - 0x1c], ebx
jle 0x589c58
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
call fcn.005769ba
mov ecx, dword [ebp - 4]
push 1
push 0x71
pop eax
call fcn.0055c33b
mov ecx, dword [ebp - 4]
push ebx
push ebx
mov esi, eax
push 6
pop eax
call fcn.0055c34c
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, esi
call fcn.00555afc
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x24]
mov edi, dword [ecx + eax + 0xc]
mov esi, dword [edi + 0x10]
add edi, 8
jmp 0x589981
mov ecx, dword [ebp - 0x10]
mov eax, dword [esi + 8]
add ecx, 2
push ecx
push dword [eax + 0x14]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x2c], eax
push 7
pop eax
call fcn.0055c34c
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x589973
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
add eax, 2
push eax
mov eax, dword [ebp - 0x28]
push dword [eax + 0x14]
push 7
pop eax
call fcn.0055c34c
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x20]
inc dword [ebp - 0x10]
pop ecx
mov dword [ebp - 0x28], eax
pop ecx
cmp eax, ebx
jne 0x589955
mov esi, dword [esi]
cmp esi, ebx
jne 0x589932
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
add eax, 4
cmp dword [ecx + 0x48], eax
jge 0x589996
mov dword [ecx + 0x48], eax
mov ecx, dword [ebp - 4]
push 1
push dword [ebp - 0x10]
push 2
push 0x68
pop eax
call fcn.0055c2b7
mov dl, byte [ebp - 0x1c]
mov ecx, dword [ebp - 4]
call fcn.00555aea
mov ecx, dword [ebp - 4]
push 2
push 0x49
pop eax
call fcn.0055c33b
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 0x24]
add esp, 0x10
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + 8]
push 0xffffffffffffffff
push dword [ecx + eax]
push str._in_database__s__n
call fcn.00559ec3
mov esi, dword [ebp - 4]
pop ecx
pop ecx
push eax
push ebx
push 3
push ebx
push esi
push 0x5e
pop eax
call fcn.00560b2c
push 1
push 4
push 2
push 0xd
pop eax
mov ecx, esi
call fcn.0055c2b7
push 2
push 3
push 4
push 0x5b
pop eax
mov ecx, esi
call fcn.0055c2b7
push 1
push 2
push 0x10
pop eax
mov ecx, esi
call fcn.0055c34c
mov eax, dword [ebp - 0x2c]
add esp, 0x38
mov ecx, esi
call fcn.00555afc
mov edi, dword [edi + 8]
mov dword [ebp - 0x2c], edi
cmp edi, ebx
je 0x589c42
cmp dword [ebp - 0x30], ebx
jne 0x589c42
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x10], eax
cmp dword [eax + 0x10], ebx
je 0x589c32
mov ecx, dword [ebp - 4]
push 1
push 0x71
pop eax
call fcn.0055c33b
mov ecx, dword [ebp - 4]
push ebx
push ebx
mov esi, eax
push 6
pop eax
call fcn.0055c34c
mov ecx, dword [ebp - 4]
mov eax, esi
call fcn.00555afc
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
push 0x26
push 1
mov ebx, esi
call fcn.00569e6a
mov edi, dword [ebp - 4]
push 2
pop ebx
push ebx
push 0
push 7
pop eax
mov ecx, edi
call fcn.0055c34c
push 0
push 1
push 0x41
pop eax
mov ecx, edi
call fcn.0055c34c
push 1
push ebx
mov dword [ebp - 0x38], eax
push 0x14
pop eax
mov ecx, edi
call fcn.0055c34c
mov esi, dword [esi + 0x10]
add esp, 0x2c
test esi, esi
je 0x589b59
mov dword [ebp - 0x28], ebx
push 0
push 3
push 1
push esi
push dword [ebp + 8]
call fcn.0056c9b8
mov ecx, dword [esi + 4]
inc ecx
push ecx
push eax
push 0
push dword [ebp - 0x28]
push edi
push 0x32
pop eax
call fcn.00560b59
mov dword [ebp - 0x34], eax
push 0x5c7428
push 0xb
mov eax, edi
call fcn.0055c3ab
push 0xfffffffffffffffe
mov ebx, eax
push str.rowid
lea eax, [ebx + 1]
push edi
call fcn.0055c595
push 0xfffffffffffffffe
push str._missing_from_index
lea eax, [ebx + 3]
push edi
call fcn.0055c595
add esp, 0x48
push 0
push dword [esi]
lea eax, [ebx + 4]
push edi
call fcn.0055c595
add esp, 0xc
lea eax, [ebx + 9]
mov ecx, edi
call fcn.00555afc
mov eax, dword [ebp - 0x34]
mov ecx, edi
call fcn.00555afc
mov esi, dword [esi + 0x20]
inc dword [ebp - 0x28]
test esi, esi
jne 0x589ace
mov esi, dword [ebp - 0x38]
lea eax, [esi + 1]
push eax
push 1
push 0x43
pop eax
mov ecx, edi
call fcn.0055c34c
pop ecx
pop ecx
mov eax, esi
mov ecx, edi
call fcn.00555afc
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x589c30
mov dword [ebp - 0x10], 2
mov edi, dword [ebp - 4]
push 1
push 0x71
pop eax
mov ecx, edi
call fcn.0055c33b
push 0
push 0
mov esi, eax
push 6
pop eax
mov ecx, edi
call fcn.0055c34c
mov eax, esi
mov ecx, edi
call fcn.00555afc
push 0x5c7454
push 0xa
mov eax, edi
call fcn.0055c3ab
mov edx, dword [ebp - 0x10]
mov esi, eax
lea eax, [esi + 1]
mov ecx, edi
call fcn.00555aba
lea edx, [esi + 4]
lea eax, [esi + 1]
mov ecx, edi
call fcn.00555aca
mov edx, dword [ebp - 0x10]
lea eax, [esi + 3]
mov ecx, edi
call fcn.00555aba
lea edx, [esi + 2]
lea eax, [esi + 3]
mov ecx, edi
call fcn.00555aca
lea eax, [esi + 4]
mov ecx, edi
call fcn.00555afc
push 0xfffffffffffffffe
push str.wrong__of_entries_in_index
lea eax, [esi + 6]
push edi
call fcn.0055c595
push 0
push dword [ebx]
lea eax, [esi + 7]
push edi
call fcn.0055c595
mov ebx, dword [ebx + 0x20]
add esp, 0x2c
inc dword [ebp - 0x10]
test ebx, ebx
jne 0x589b8c
xor ebx, ebx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
jne 0x589a3a
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
add dword [ebp - 0x24], 0x10
cmp ecx, dword [eax + 4]
jl 0x5898e6
mov edi, dword [ebp - 4]
push 0x5c7418
push 4
mov eax, edi
call fcn.0055c3ab
mov edx, dword [ebp - 0x20]
neg edx
mov ecx, edi
mov esi, eax
call fcn.00555aca
lea eax, [esi + 1]
mov ecx, edi
call fcn.00555afc
push 0xfffffffffffffffe
push 0x5ccbf0
lea eax, [esi + 2]
push edi
call fcn.0055c595
add esp, 0x14
jmp 0x589d15
mov edi, dword [ebp + 8]
call fcn.00583949
test eax, eax
jne 0x589d43
mov esi, dword [ebp - 0x10]
mov eax, edi
call fcn.005769ba
inc dword [edi + 0x48]
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x70
mov edi, dword [edi + 0x48]
jne 0x589cd1
mov ecx, dword [ebp - 4]
push edi
push esi
mov eax, 0x86
call fcn.0055c34c
pop ecx
pop ecx
jmp 0x589cec
mov eax, dword [ebp - 0xc]
call fcn.00551dc2
mov ecx, dword [ebp - 4]
push eax
push edi
push esi
mov eax, 0x87
call fcn.0055c2b7
add esp, 0xc
mov esi, dword [ebp - 4]
push 1
push edi
push 0x10
pop eax
mov ecx, esi
call fcn.0055c34c
xor edi, edi
inc edi
call fcn.00560d70
push 0xffffffffffffffff
push dword [ebp - 0x18]
mov eax, esi
push ebx
push ebx
call fcn.005644a5
add esp, 0x18
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1c], bl
je 0x589d43
mov eax, dword [eax + 0xc]
mov ecx, eax
shr ecx, 0x16
shr eax, 0x15
and ecx, 1
push ecx
and eax, 1
push eax
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 9]
mov eax, dword [eax + 4]
push ecx
call fcn.005551d4
add esp, 0xc
push dword [ebp - 0x18]
push dword [ebp - 8]
call fcn.00551521
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.00551521
add esp, 0x10
pop edi
pop esi
pop ebx
leave
ret