Function at 0x576852
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.0054eea8
xor ebx, ebx
mov dword [ebp - 4], eax
mov dword [edi + 0xc], eax
cmp eax, ebx
je 0x578111
call fcn.00543d98
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
lea edx, [ebp - 0x2c]
mov eax, edi
mov dword [edi + 0x48], 2
call fcn.0054c544
cmp eax, ebx
mov dword [ebp - 0x10], eax
jl 0x578111
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 0x5768c1
mov eax, edi
call fcn.00564cf4
test eax, eax
jne 0x578111
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 8]
call fcn.0054c4fa
mov dword [ebp - 0x18], eax
cmp eax, ebx
je 0x578111
cmp dword [ebp + 0x18], ebx
je 0x5768f3
push dword [ebp + 0x14]
mov esi, dword [ebp - 8]
push 0x5b9ed4
call fcn.00548275
mov esi, dword [ebp - 0x14]
pop ecx
pop ecx
jmp 0x5768fe
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
call fcn.0054c4fa
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], ebx
jbe 0x576910
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
jmp 0x576913
mov dword [ebp - 0x1c], ebx
push dword [ebp - 0x1c]
mov eax, edi
push dword [ebp - 0xc]
push dword [ebp - 0x18]
push 0x13
call fcn.0054c27a
add esp, 0x10
test eax, eax
jne 0x5780f8
mov edi, dword [ebp - 0x18]
mov edx, str.default_cache_size
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576a1c
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
call fcn.00543ef8
mov eax, dword [ebp - 0xc]
cmp eax, ebx
jne 0x5769c6
xor edi, edi
inc edi
mov esi, edx
call fcn.0054f122
push ebx
push str.cache_size
push ebx
mov edi, esi
push ebx
mov eax, edi
call fcn.00552857
mov eax, dword [ebp + 8]
add dword [eax + 0x48], 2
push 0x5b4390
push 8
mov eax, edi
call fcn.0054a75d
mov edx, dword [ebp - 0x10]
add esp, 0x18
mov ecx, edi
mov esi, eax
call fcn.00543e6d
lea eax, [esi + 1]
mov ecx, edi
call fcn.00543e6d
lea eax, [esi + 6]
mov edx, 0x7d0
mov ecx, edi
call fcn.00543e6d
jmp 0x5780ca
call fcn.00540175
call fcn.00540655
mov ecx, dword [ebp - 0x10]
mov esi, eax
push ebx
mov eax, edi
call fcn.00564e2d
mov ecx, dword [ebp - 4]
push 1
push esi
push 7
pop eax
call fcn.0054a6fe
mov ecx, dword [ebp - 4]
push 1
push 3
push dword [ebp - 0x10]
push 0x24
pop eax
call fcn.0054a669
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.00543564
add esp, 0x1c
jmp 0x5780ca
mov esi, str.page_size
mov edx, esi
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576a78
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0xc]
cmp eax, ebx
jne 0x576a4f
cmp edi, ebx
je 0x577b37
mov eax, edi
call fcn.005435d6
jmp 0x577b39
call fcn.00540175
mov esi, dword [ebp - 8]
push ebx
push 0xffffffffffffffff
push edi
mov dword [esi + 0x24], eax
call fcn.0054a1db
add esp, 0xc
cmp eax, 7
jne 0x5780ca
mov byte [esi + 0x1e], 1
jmp 0x5780ca
mov edx, str.secure_delete
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576b05
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 0x576aaa
mov ebx, dword [ebp - 0xc]
call fcn.00545ab1
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 0x576ae2
cmp dword [ebp - 0x20], ebx
jl 0x576ae2
cmp dword [edi + 4], ebx
mov dword [ebp - 0x24], ebx
jle 0x576ae2
xor esi, esi
mov eax, dword [edi + 8]
push dword [ebp - 0x20]
mov eax, dword [esi + eax + 4]
call fcn.00543620
inc dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
add esi, 0x10
cmp eax, dword [edi + 4]
pop ecx
jl 0x576ac4
push dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
call fcn.00543620
cdq
push edx
push eax
mov eax, dword [ebp + 8]
push str.secure_delete
call fcn.00554471
add esp, 0x10
jmp 0x5780ca
mov edx, str.page_count
mov ecx, edi
call fcn.0053fb28
test eax, eax
je 0x57804b
mov edx, str.max_page_count
mov ecx, edi
call fcn.0053fb28
test eax, eax
je 0x57804b
mov edx, str.locking_mode
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576c02
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x2c], str.normal
call fcn.00545aba
mov edx, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
cmp eax, ebx
jne 0x576ba3
cmp edx, 0xffffffff
jne 0x576b6a
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x1f]
jmp 0x576bb5
cmp eax, ebx
jne 0x576ba3
mov esi, dword [ebp - 8]
push 2
pop edi
cmp dword [esi + 4], edi
jle 0x576ba0
mov dword [ebp + 8], 0x20
mov eax, dword [esi + 8]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax + 4]
call fcn.00543965
mov ecx, eax
call fcn.0054a031
add dword [ebp + 8], 0x10
inc edi
cmp edi, dword [esi + 4]
jl 0x576b80
mov byte [esi + 0x1f], dl
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
call fcn.00543965
mov ecx, eax
call fcn.0054a031
cmp eax, 1
jne 0x576bc1
mov dword [ebp - 0x2c], str.exclusive
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
call fcn.0054f122
push ebx
push str.locking_mode
push ebx
push ebx
mov eax, esi
call fcn.00552857
push ebx
push dword [ebp - 0x2c]
push ebx
push 1
push ebx
push esi
push 0x5e
pop eax
call fcn.0054eede
push 1
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6fe
add esp, 0x30
jmp 0x5780ca
mov edx, str.journal_mode
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576d0a
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
call fcn.0054f122
push ebx
push str.journal_mode
push ebx
push ebx
mov eax, esi
call fcn.00552857
add esp, 0x10
cmp dword [ebp - 0xc], ebx
jne 0x576c4e
or dword [ebp + 8], 0xffffffff
jmp 0x576c98
mov ecx, dword [ebp - 0xc]
call fcn.0053fab3
mov edi, eax
xor eax, eax
mov dword [ebp + 8], ebx
call fcn.00545b9a
mov esi, eax
cmp esi, ebx
je 0x576c8e
push edi
push esi
push dword [ebp - 0xc]
call fcn.0053fb63
add esp, 0xc
test eax, eax
je 0x576c8a
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
call fcn.00545b9a
mov esi, eax
cmp esi, ebx
jne 0x576c68
cmp esi, ebx
jne 0x576c92
or dword [ebp + 8], 0xffffffff
cmp dword [ebp + 8], 0xffffffff
jne 0x576caa
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], ebx
jne 0x576caa
mov dword [ebp - 0x10], ebx
mov dword [eax + 4], 1
mov eax, dword [ebp - 8]
mov esi, dword [eax + 4]
dec esi
js 0x576cf6
mov edi, esi
shl edi, 4
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
cmp dword [edi + eax + 4], ebx
je 0x576cee
cmp esi, dword [ebp - 0x10]
je 0x576cd1
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], ebx
jne 0x576cee
mov edx, dword [ebp - 4]
mov ecx, esi
call fcn.00543ef8
push dword [ebp + 8]
mov ecx, edx
push 1
push esi
push 0x77
pop eax
call fcn.0054a669
add esp, 0xc
dec esi
sub edi, 0x10
cmp esi, ebx
jge 0x576cb8
mov ecx, dword [ebp - 4]
push 1
push 1
push 0x10
pop eax
call fcn.0054a6fe
jmp 0x577963
mov esi, str.journal_size_limit
mov edx, esi
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576d81
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
call fcn.00543965
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 0x576d63
push 1
lea ecx, [ebp - 0x3c]
push 0xf4240
push ecx
call fcn.0053ff8e
add esp, 0xc
cmp dword [ebp - 0x38], edi
jg 0x576d63
jl 0x576d5d
cmp dword [ebp - 0x3c], edi
jae 0x576d63
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.00542830
push edx
push eax
mov eax, dword [ebp + 8]
push esi
call fcn.00554471
jmp 0x578046
mov esi, str.auto_vacuum
mov edx, esi
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576e69
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x2c], eax
call fcn.00571cfe
test eax, eax
jne 0x5780f8
cmp dword [ebp - 0xc], ebx
jne 0x576dcf
mov eax, dword [ebp - 0x2c]
cmp eax, ebx
je 0x576dc3
call fcn.005436a0
jmp 0x576dc5
xor eax, eax
cdq
push edx
push eax
mov eax, edi
jmp 0x577b3f
mov esi, dword [ebp - 0xc]
call fcn.00545ae5
cmp eax, ebx
mov ecx, dword [ebp - 8]
mov dword [ebp + 8], eax
mov byte [ecx + 0x20], al
jl 0x5780ca
push eax
mov eax, dword [ebp - 0x2c]
call fcn.00543652
pop ecx
test eax, eax
jne 0x5780ca
cmp dword [ebp + 8], 1
je 0x576e0a
cmp dword [ebp + 8], 2
jne 0x5780ca
mov edi, dword [ebp - 4]
push 0x5b43b0
push 6
mov eax, edi
call fcn.0054a75d
mov edx, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, edi
mov esi, eax
call fcn.00543e6d
lea eax, [esi + 1]
mov ecx, edi
call fcn.00543e6d
lea edx, [esi + 4]
lea eax, [esi + 2]
mov ecx, edi
call fcn.00543e7d
mov edx, dword [ebp + 8]
dec edx
lea eax, [esi + 4]
mov ecx, edi
call fcn.00543e6d
mov edx, dword [ebp - 0x10]
lea eax, [esi + 5]
mov ecx, edi
call fcn.00543e6d
mov ecx, edx
mov edx, edi
call fcn.00543ef8
jmp 0x5780ca
mov edx, str.incremental_vacuum
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576f15
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov eax, dword [ebp - 0xc]
cmp eax, ebx
je 0x576ea7
lea ecx, [ebp - 0x24]
push ecx
call fcn.005400c7
pop ecx
test eax, eax
je 0x576ea7
cmp dword [ebp - 0x24], ebx
jg 0x576eae
mov dword [ebp - 0x24], 0x7fffffff
mov ecx, dword [ebp - 0x10]
push ebx
mov eax, edi
call fcn.00564e2d
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.0054a6fe
push dword [ebp - 0x10]
mov ecx, esi
push 0x79
pop eax
call fcn.0054a6ed
push edi
mov dword [ebp + 8], eax
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6ed
push 0xffffffffffffffff
push edi
push 0x14
pop eax
mov ecx, esi
call fcn.0054a6fe
push dword [ebp + 8]
mov ecx, esi
push edi
push 0x71
pop eax
call fcn.0054a6fe
mov eax, dword [ebp + 8]
add esp, 0x24
mov ecx, esi
call fcn.00543eaf
jmp 0x5780ca
mov esi, str.cache_size
mov edx, esi
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576f72
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov eax, dword [ebp - 0xc]
cmp eax, ebx
jne 0x576f4c
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x576dc5
call fcn.00540175
call fcn.00540655
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.00543564
jmp 0x577964
mov esi, str.temp_store
mov edx, esi
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x576fa5
cmp dword [ebp - 0xc], ebx
jne 0x576f95
mov eax, dword [ebp - 8]
movzx eax, byte [eax + 0x1d]
jmp 0x577b39
mov eax, dword [ebp - 0xc]
mov edi, dword [ebp + 8]
call fcn.00569e2d
jmp 0x5780ca
mov edx, str.temp_store_directory
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577069
mov esi, dword [ebp - 0xc]
cmp esi, ebx
jne 0x576ff2
cmp dword [0x61ee40], ebx
je 0x5780ca
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
call fcn.0054f122
push ebx
push str.temp_store_directory
push ebx
push ebx
mov eax, esi
call fcn.00552857
push ebx
push dword [0x61ee40]
jmp 0x576bdf
cmp byte [esi], bl
je 0x577026
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
push 1
push esi
call fcn.0053f34f
add esp, 0xc
test eax, eax
jne 0x577013
cmp dword [ebp - 0x2c], ebx
jne 0x577026
mov edi, dword [ebp + 8]
push str.not_a_writable_directory
call fcn.005484b6
pop ecx
jmp 0x5780f8
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1d], 1
ja 0x577037
mov eax, dword [ebp + 8]
call fcn.00569de3
push dword [0x61ee40]
call fcn.0053f87a
pop ecx
cmp byte [esi], bl
je 0x57705e
push esi
push 0x5cb97c
call fcn.0054831b
pop ecx
pop ecx
mov dword [0x61ee40], eax
jmp 0x5780ca
mov dword [0x61ee40], ebx
jmp 0x5780ca
mov esi, str.synchronous
mov edx, esi
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x5770c9
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
cmp dword [ebp - 0xc], ebx
jne 0x57709d
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax + 9]
dec eax
jmp 0x576dc5
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1c], bl
jne 0x5770b4
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.005484b6
jmp 0x577964
mov ebx, dword [ebp - 0xc]
call fcn.00545a58
mov ecx, dword [ebp - 0x14]
inc al
mov byte [ecx + 9], al
jmp 0x57783d
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp + 8]
push esi
push edi
call fcn.005544eb
pop ecx
pop ecx
test eax, eax
jne 0x5780ca
mov edx, str.table_info
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577289
cmp esi, ebx
je 0x577289
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
push dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
push esi
call fcn.00544fd9
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x5780ca
mov esi, dword [ebp - 4]
push 6
pop edi
mov dword [ebp - 0x24], ebx
call fcn.0054f122
mov esi, dword [ebp + 8]
push ebx
push 0x5df3b4
mov dword [esi + 0x48], edi
mov edi, dword [ebp - 4]
push ebx
push ebx
mov eax, edi
call fcn.00552857
push ebx
push str.name
push ebx
push 1
mov eax, edi
call fcn.00552857
push ebx
push 0x5d5034
push ebx
push 2
mov eax, edi
call fcn.00552857
push ebx
push str.notnull
push ebx
push 3
mov eax, edi
call fcn.00552857
add esp, 0x40
push ebx
push str.dflt_value
push ebx
push 4
mov eax, edi
call fcn.00552857
push ebx
push 0x5b9d80
push ebx
push 5
mov eax, edi
call fcn.00552857
mov edi, dword [ebp - 0x2c]
push edi
push esi
call fcn.00575b63
mov esi, dword [edi + 0xc]
add esp, 0x28
cmp dword [edi + 8], ebx
mov dword [ebp + 8], ebx
jle 0x5780ca
mov edi, dword [ebp - 4]
cmp byte [esi + 0x17], bl
je 0x5771ca
inc dword [ebp - 0x24]
jmp 0x57726f
mov eax, dword [ebp + 8]
sub eax, dword [ebp - 0x24]
push 1
push eax
push 7
pop eax
mov ecx, edi
call fcn.0054a6fe
push ebx
push dword [esi]
push ebx
push 2
push ebx
push edi
push 0x5e
pop eax
call fcn.0054eede
mov eax, dword [esi + 0xc]
add esp, 0x20
cmp eax, ebx
jne 0x5771fc
mov eax, 0x5caab9
push ebx
push eax
push ebx
push 3
push ebx
push edi
push 0x5e
pop eax
call fcn.0054eede
xor eax, eax
cmp byte [esi + 0x14], bl
push 4
setne al
mov ecx, edi
push eax
push 7
pop eax
call fcn.0054a6fe
mov eax, dword [esi + 8]
add esp, 0x20
cmp eax, ebx
je 0x57723e
push ebx
push eax
push ebx
push 5
push ebx
push edi
push 0x5e
pop eax
call fcn.0054eede
add esp, 0x18
jmp 0x57724d
push 5
push ebx
push 0xa
pop eax
mov ecx, edi
call fcn.0054a6fe
pop ecx
pop ecx
movzx eax, byte [esi + 0x15]
push 6
push eax
push 7
pop eax
mov ecx, edi
call fcn.0054a6fe
push 6
push 1
push 0x10
pop eax
mov ecx, edi
call fcn.0054a6fe
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 0x5771bd
jmp 0x5780ca
mov edx, str.index_info
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577388
cmp esi, ebx
je 0x577388
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
push dword [ebp - 0x1c]
mov edx, dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00545050
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
cmp eax, ebx
je 0x5780ca
mov eax, dword [eax + 0x10]
mov esi, dword [ebp - 4]
push 3
pop edi
mov dword [ebp - 0x2c], eax
call fcn.0054f122
mov eax, dword [ebp + 8]
push ebx
push str.seqno
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.00552857
push ebx
push 0x5df3b4
push ebx
push 1
mov eax, esi
call fcn.00552857
push ebx
push str.name
push ebx
push 2
mov eax, esi
call fcn.00552857
mov eax, dword [ebp - 0x20]
add esp, 0x30
xor edi, edi
cmp dword [eax + 4], ebx
jle 0x5780ca
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.0054a6fe
mov ecx, dword [ebp - 4]
push 2
push esi
push 7
pop eax
call fcn.0054a6fe
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.0054eede
mov ecx, dword [ebp - 4]
push 3
push 1
push 0x10
pop eax
call fcn.0054a6fe
mov eax, dword [ebp - 0x20]
add esp, 0x30
inc edi
cmp edi, dword [eax + 4]
jl 0x577327
jmp 0x5780ca
mov edx, str.index_list
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577484
cmp esi, ebx
je 0x577484
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
push dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00544fd9
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x5780ca
mov edi, dword [ebp + 8]
call fcn.00550c2e
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x5780ca
push 3
pop edi
mov dword [ebp - 0x24], ebx
call fcn.0054f122
mov eax, dword [ebp + 8]
push ebx
push 0x5b9d5c
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.00552857
push ebx
push str.name
push ebx
push 1
mov eax, esi
call fcn.00552857
push ebx
push str.unique
push ebx
push 2
mov eax, esi
call fcn.00552857
mov edi, dword [ebp - 0x2c]
add esp, 0x30
push 1
push dword [ebp - 0x24]
mov ecx, esi
push 7
pop eax
call fcn.0054a6fe
push ebx
push dword [edi]
push ebx
push 2
push ebx
push esi
push 0x5e
pop eax
call fcn.0054eede
xor eax, eax
cmp byte [edi + 0x18], bl
push 3
setne al
mov ecx, esi
push eax
push 7
pop eax
call fcn.0054a6fe
push 3
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6fe
mov edi, dword [edi + 0x20]
add esp, 0x30
inc dword [ebp - 0x24]
cmp edi, ebx
jne 0x577430
jmp 0x5780ca
mov edx, str.database_list
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577572
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov esi, dword [ebp - 4]
push 3
pop edi
call fcn.0054f122
mov eax, dword [ebp + 8]
push ebx
push 0x5b9d5c
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.00552857
push ebx
push str.name
push ebx
push 1
mov eax, esi
call fcn.00552857
push ebx
push 0x5d7020
push ebx
push 2
mov eax, esi
call fcn.00552857
mov eax, dword [ebp - 8]
add esp, 0x30
cmp dword [eax + 4], ebx
mov dword [ebp + 8], ebx
jle 0x5780ca
xor edi, edi
mov esi, eax
mov eax, dword [esi + 8]
cmp dword [edi + eax + 4], ebx
je 0x57755f
mov ecx, dword [ebp - 4]
push 1
push dword [ebp + 8]
push 7
pop eax
call fcn.0054a6fe
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.0054eede
mov eax, dword [esi + 8]
mov eax, dword [edi + eax + 4]
add esp, 0x20
push ebx
call fcn.0054396b
push eax
push ebx
push 3
push ebx
push dword [ebp - 4]
push 0x5e
pop eax
call fcn.0054eede
mov ecx, dword [ebp - 4]
push 3
push 1
push 0x10
pop eax
call fcn.0054a6fe
add esp, 0x20
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
add edi, 0x10
cmp eax, dword [esi + 4]
jl 0x5774fe
jmp 0x5780ca
mov edx, str.collation_list
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x57760c
mov esi, dword [ebp - 4]
push 2
pop edi
mov dword [ebp - 0x24], ebx
call fcn.0054f122
mov eax, dword [ebp + 8]
push ebx
push 0x5b9d5c
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.00552857
push ebx
push str.name
push ebx
push 1
mov eax, esi
call fcn.00552857
mov eax, dword [ebp - 8]
mov esi, dword [eax + 0x1a4]
add esp, 0x20
jmp 0x577603
mov ecx, dword [ebp - 4]
mov edi, dword [esi + 8]
push 1
push dword [ebp - 0x24]
push 7
pop eax
call fcn.0054a6fe
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.0054eede
mov ecx, dword [ebp - 4]
push 2
push 1
push 0x10
pop eax
call fcn.0054a6fe
mov esi, dword [esi]
add esp, 0x28
cmp esi, ebx
jne 0x5775c7
jmp 0x5780ca
mov edx, str.foreign_key_list
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577811
cmp esi, ebx
je 0x577811
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
push dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.00544fd9
pop ecx
pop ecx
mov dword [ebp - 0x2c], eax
cmp eax, ebx
je 0x5780ca
mov edi, dword [ebp + 8]
call fcn.00550c2e
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x28], eax
cmp eax, ebx
je 0x5780ca
push 8
pop edi
mov dword [ebp - 0x24], ebx
call fcn.0054f122
mov eax, dword [ebp + 8]
push ebx
push 0x5d6464
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.00552857
push ebx
push 0x5b9d5c
push ebx
push 1
mov eax, esi
call fcn.00552857
push ebx
push str.table
push ebx
push 2
mov eax, esi
call fcn.00552857
push ebx
push str.from
push ebx
push 3
mov eax, esi
call fcn.00552857
add esp, 0x40
push ebx
push 0x5b9d1c
push ebx
push 4
mov eax, esi
call fcn.00552857
push ebx
push str.on_update
push ebx
push 5
mov eax, esi
call fcn.00552857
push ebx
push str.on_delete
push ebx
push 6
mov eax, esi
call fcn.00552857
push ebx
push str.match
push ebx
push 7
mov eax, esi
call fcn.00552857
mov edi, dword [ebp - 0x28]
add esp, 0x40
cmp dword [edi + 0x14], ebx
mov dword [ebp - 0x20], ebx
jle 0x5777fe
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.00545b6b
mov dword [ebp - 0x10], eax
mov al, byte [edi + 0x1a]
call fcn.00545b6b
push 1
push dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
push 7
pop eax
mov ecx, esi
call fcn.0054a6fe
push 2
push dword [ebp - 0x20]
mov ecx, esi
push 7
pop eax
call fcn.0054a6fe
push ebx
push dword [edi + 8]
push ebx
push 3
push ebx
push esi
push 0x5e
pop eax
call fcn.0054eede
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.0054eede
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.0054eede
push ebx
push dword [ebp - 0x1c]
push ebx
push 6
push ebx
push esi
push 0x5e
pop eax
call fcn.0054eede
push ebx
push dword [ebp - 0x10]
push ebx
push 7
push ebx
push esi
push 0x5e
pop eax
call fcn.0054eede
add esp, 0x48
push ebx
push str.NONE
push ebx
push 8
push ebx
push esi
push 0x5e
pop eax
call fcn.0054eede
push 8
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6fe
add dword [ebp + 8], 8
add esp, 0x20
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, dword [edi + 0x14]
jl 0x577719
mov edi, dword [edi + 4]
inc dword [ebp - 0x24]
cmp edi, ebx
jne 0x577707
jmp 0x5780ca
mov edx, str.case_sensitive_like
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577844
cmp esi, ebx
je 0x5780ca
mov ebx, esi
call fcn.00545ab1
mov ebx, dword [ebp - 8]
movzx eax, al
push eax
call fcn.005603d1
pop ecx
xor ebx, ebx
jmp 0x5780ca
mov edx, str.integrity_check
mov ecx, edi
call fcn.0053fb28
test eax, eax
je 0x577c14
mov edx, str.quick_check
mov ecx, edi
call fcn.0053fb28
test eax, eax
je 0x577c14
mov edx, str.encoding
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x57796a
cmp esi, ebx
jne 0x5778ef
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
call fcn.0054f122
push ebx
push str.encoding
push ebx
push ebx
mov eax, esi
call fcn.00552857
push edi
push ebx
push 0x5e
pop eax
mov ecx, esi
call fcn.0054a6fe
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 + 0x5b4438]
or eax, 0xffffffff
push esi
call fcn.0054a947
push edi
push edi
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6fe
add esp, 0x2c
jmp 0x5780ca
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
movzx eax, word [eax + 0x4e]
test al, 1
je 0x577908
test al, 4
je 0x5780ca
mov eax, dword [str.UTF8]
mov edi, 0x5b4438
cmp eax, ebx
je 0x577953
mov edx, eax
mov ecx, esi
call fcn.0053fb28
test eax, eax
je 0x57792e
add edi, 8
mov eax, dword [edi]
cmp eax, ebx
jne 0x577916
jmp 0x57794b
mov al, byte [edi + 4]
cmp al, bl
je 0x57793a
movzx eax, al
jmp 0x57793d
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 0x5780ca
push dword [ebp - 0xc]
mov edi, dword [ebp + 8]
push str.unsupported_encoding:__s
call fcn.005484b6
pop ecx
pop ecx
jmp 0x5780ca
mov edx, str.schema_version
mov ecx, edi
call fcn.0053fb28
test eax, eax
je 0x577b4d
mov edx, str.user_version
mov ecx, edi
call fcn.0053fb28
test eax, eax
je 0x577b4d
mov edx, str.freelist_count
mov ecx, edi
call fcn.0053fb28
test eax, eax
je 0x577b4d
mov edx, str.compile_options
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577a18
mov esi, dword [ebp - 4]
xor edi, edi
inc edi
mov dword [ebp - 0x24], ebx
call fcn.0054f122
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.00552857
push ebx
call fcn.0053eb7a
add esp, 0x14
jmp 0x577a0f
inc dword [ebp - 0x24]
push ebx
push eax
push ebx
push 1
push ebx
push esi
push 0x5e
pop eax
call fcn.0054eede
push 1
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6fe
push dword [ebp - 0x24]
call fcn.0053eb7a
add esp, 0x24
cmp eax, ebx
jne 0x5779e4
jmp 0x5780ca
mov edx, str.wal_checkpoint
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x577af0
mov eax, dword [ebp + 0x10]
cmp dword [eax], ebx
je 0x577a3b
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
jmp 0x577a42
mov dword [ebp - 0x2c], 0xa
mov dword [ebp - 0x24], ebx
cmp esi, ebx
je 0x577a79
mov edx, str.full
mov ecx, esi
call fcn.0053fb28
test eax, eax
jne 0x577a62
mov dword [ebp - 0x24], 1
jmp 0x577a79
mov edx, str.restart
mov ecx, esi
call fcn.0053fb28
test eax, eax
jne 0x577a79
mov dword [ebp - 0x24], 2
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov esi, dword [ebp - 4]
push 3
pop edi
call fcn.0054f122
mov eax, dword [ebp + 8]
push ebx
push str.busy
mov dword [eax + 0x48], edi
push ebx
push ebx
mov eax, esi
call fcn.00552857
push ebx
push 0x5b9c30
push ebx
push 1
mov eax, esi
call fcn.00552857
push ebx
push str.checkpointed
push ebx
push 2
mov eax, esi
call fcn.00552857
push 1
push dword [ebp - 0x24]
mov ecx, esi
push dword [ebp - 0x2c]
push 0x76
pop eax
call fcn.0054a669
push edi
push 1
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6fe
add esp, 0x44
jmp 0x5780ca
mov esi, str.wal_autocheckpoint
mov edx, esi
mov ecx, edi
call fcn.0053fb28
test eax, eax
jne 0x5780ca
mov eax, dword [ebp - 0xc]
cmp eax, ebx
je 0x577b20
call fcn.00540175
mov edi, dword [ebp - 8]
push eax
push edi
call fcn.00561bf8
pop ecx
pop ecx
jmp 0x577b23
mov edi, dword [ebp - 8]
cmp dword [edi + 0xc0], 0x561bd2
jne 0x577b37
mov eax, dword [edi + 0xc4]
jmp 0x577b39
xor eax, eax
cdq
push edx
push eax
mov eax, dword [ebp + 8]
push esi
call fcn.00554471
add esp, 0xc
jmp 0x5780ca
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov edx, esi
call fcn.00543ef8
mov al, byte [edi]
cmp al, 0x46
je 0x577b7e
cmp al, 0x53
je 0x577b75
cmp al, 0x66
je 0x577b7e
cmp al, 0x73
je 0x577b75
mov dword [ebp + 8], 6
jmp 0x577b81
mov dword [ebp + 8], 1
jmp 0x577b81
mov dword [ebp + 8], ebx
cmp dword [ebp - 0xc], ebx
je 0x577bdd
cmp dword [ebp + 8], ebx
je 0x577bdd
push 0x5b442c
push 3
mov eax, esi
call fcn.0054a75d
mov edx, dword [ebp - 0x10]
pop ecx
pop ecx
mov ecx, esi
mov edi, eax
call fcn.00543e6d
mov eax, dword [ebp - 0xc]
call fcn.00540175
lea ecx, [edi + 1]
mov edx, eax
mov eax, ecx
mov ecx, esi
call fcn.00543e6d
mov edx, dword [ebp - 0x10]
add edi, 2
mov eax, edi
mov ecx, esi
call fcn.00543e6d
mov edx, dword [ebp + 8]
mov eax, edi
mov ecx, esi
call fcn.00543e7d
jmp 0x5780ca
mov esi, edx
push 0x5b4480
push 3
mov eax, esi
call fcn.0054a75d
mov edx, dword [ebp - 0x10]
mov ecx, esi
mov edi, eax
call fcn.00543e6d
inc edi
mov eax, edi
mov ecx, esi
call fcn.00543e6d
mov edx, dword [ebp + 8]
mov eax, edi
mov ecx, esi
call fcn.00543e8d
jmp 0x5780b1
xor eax, eax
mov ecx, edi
cmp byte [ecx], 0x71
mov edi, dword [ebp + 8]
sete al
mov dword [ebp - 0x30], eax
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov esi, dword [ebp - 4]
mov eax, edi
xor edi, edi
inc edi
mov dword [eax + 0x48], 6
call fcn.0054f122
push ebx
push str.integrity_check
push ebx
push ebx
mov eax, esi
call fcn.00552857
add esp, 0x10
push 0x64
pop esi
mov dword [ebp - 0x20], esi
cmp dword [ebp - 0xc], ebx
je 0x577c77
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebp - 0xc]
call fcn.005400c7
cmp dword [ebp - 0x20], ebx
pop ecx
jg 0x577c77
mov dword [ebp - 0x20], esi
mov ecx, dword [ebp - 4]
push 1
push dword [ebp - 0x20]
push 7
pop eax
call fcn.0054a6fe
mov eax, dword [ebp - 8]
cmp dword [eax + 4], ebx
pop ecx
pop ecx
mov dword [ebp - 0x1c], ebx
jle 0x57800d
mov dword [ebp - 0x24], ebx
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
call fcn.00564d6f
mov ecx, dword [ebp - 4]
push 1
push 0x71
pop eax
call fcn.0054a6ed
mov ecx, dword [ebp - 4]
push ebx
push ebx
mov esi, eax
push 6
pop eax
call fcn.0054a6fe
mov ecx, dword [ebp - 4]
add esp, 0xc
mov eax, esi
call fcn.00543eaf
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 0x577d36
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.0054a6fe
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x10]
jmp 0x577d28
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.0054a6fe
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 0x577d0a
mov esi, dword [esi]
cmp esi, ebx
jne 0x577ce7
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
add eax, 4
cmp dword [ecx + 0x48], eax
jge 0x577d4b
mov dword [ecx + 0x48], eax
mov ecx, dword [ebp - 4]
push 1
push dword [ebp - 0x10]
push 2
push 0x68
pop eax
call fcn.0054a669
mov dl, byte [ebp - 0x1c]
mov ecx, dword [ebp - 4]
call fcn.00543e9d
mov ecx, dword [ebp - 4]
push 2
push 0x49
pop eax
call fcn.0054a6ed
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.00548275
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.0054eede
push 1
push 4
push 2
push 0xd
pop eax
mov ecx, esi
call fcn.0054a669
push 2
push 3
push 4
push 0x5b
pop eax
mov ecx, esi
call fcn.0054a669
push 1
push 2
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6fe
mov eax, dword [ebp - 0x2c]
add esp, 0x38
mov ecx, esi
call fcn.00543eaf
mov edi, dword [edi + 8]
mov dword [ebp - 0x2c], edi
cmp edi, ebx
je 0x577ff7
cmp dword [ebp - 0x30], ebx
jne 0x577ff7
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x10], eax
cmp dword [eax + 0x10], ebx
je 0x577fe7
mov ecx, dword [ebp - 4]
push 1
push 0x71
pop eax
call fcn.0054a6ed
mov ecx, dword [ebp - 4]
push ebx
push ebx
mov esi, eax
push 6
pop eax
call fcn.0054a6fe
mov ecx, dword [ebp - 4]
mov eax, esi
call fcn.00543eaf
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
push 0x26
push 1
mov ebx, esi
call fcn.0055821c
mov edi, dword [ebp - 4]
push 2
pop ebx
push ebx
push 0
push 7
pop eax
mov ecx, edi
call fcn.0054a6fe
push 0
push 1
push 0x41
pop eax
mov ecx, edi
call fcn.0054a6fe
push 1
push ebx
mov dword [ebp - 0x38], eax
push 0x14
pop eax
mov ecx, edi
call fcn.0054a6fe
mov esi, dword [esi + 0x10]
add esp, 0x2c
test esi, esi
je 0x577f0e
mov dword [ebp - 0x28], ebx
push 0
push 3
push 1
push esi
push dword [ebp + 8]
call fcn.0055ad6a
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.0054ef0b
mov dword [ebp - 0x34], eax
push 0x5b43d8
push 0xb
mov eax, edi
call fcn.0054a75d
push 0xfffffffffffffffe
mov ebx, eax
push str.rowid
lea eax, [ebx + 1]
push edi
call fcn.0054a947
push 0xfffffffffffffffe
push str._missing_from_index
lea eax, [ebx + 3]
push edi
call fcn.0054a947
add esp, 0x48
push 0
push dword [esi]
lea eax, [ebx + 4]
push edi
call fcn.0054a947
add esp, 0xc
lea eax, [ebx + 9]
mov ecx, edi
call fcn.00543eaf
mov eax, dword [ebp - 0x34]
mov ecx, edi
call fcn.00543eaf
mov esi, dword [esi + 0x20]
inc dword [ebp - 0x28]
test esi, esi
jne 0x577e83
mov esi, dword [ebp - 0x38]
lea eax, [esi + 1]
push eax
push 1
push 0x43
pop eax
mov ecx, edi
call fcn.0054a6fe
pop ecx
pop ecx
mov eax, esi
mov ecx, edi
call fcn.00543eaf
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x577fe5
mov dword [ebp - 0x10], 2
mov edi, dword [ebp - 4]
push 1
push 0x71
pop eax
mov ecx, edi
call fcn.0054a6ed
push 0
push 0
mov esi, eax
push 6
pop eax
mov ecx, edi
call fcn.0054a6fe
mov eax, esi
mov ecx, edi
call fcn.00543eaf
push 0x5b4404
push 0xa
mov eax, edi
call fcn.0054a75d
mov edx, dword [ebp - 0x10]
mov esi, eax
lea eax, [esi + 1]
mov ecx, edi
call fcn.00543e6d
lea edx, [esi + 4]
lea eax, [esi + 1]
mov ecx, edi
call fcn.00543e7d
mov edx, dword [ebp - 0x10]
lea eax, [esi + 3]
mov ecx, edi
call fcn.00543e6d
lea edx, [esi + 2]
lea eax, [esi + 3]
mov ecx, edi
call fcn.00543e7d
lea eax, [esi + 4]
mov ecx, edi
call fcn.00543eaf
push 0xfffffffffffffffe
push str.wrong__of_entries_in_index
lea eax, [esi + 6]
push edi
call fcn.0054a947
push 0
push dword [ebx]
lea eax, [esi + 7]
push edi
call fcn.0054a947
mov ebx, dword [ebx + 0x20]
add esp, 0x2c
inc dword [ebp - 0x10]
test ebx, ebx
jne 0x577f41
xor ebx, ebx
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
jne 0x577def
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 0x577c9b
mov edi, dword [ebp - 4]
push 0x5b43c8
push 4
mov eax, edi
call fcn.0054a75d
mov edx, dword [ebp - 0x20]
neg edx
mov ecx, edi
mov esi, eax
call fcn.00543e7d
lea eax, [esi + 1]
mov ecx, edi
call fcn.00543eaf
push 0xfffffffffffffffe
push 0x5b9bb0
lea eax, [esi + 2]
push edi
call fcn.0054a947
add esp, 0x14
jmp 0x5780ca
mov edi, dword [ebp + 8]
call fcn.00571cfe
test eax, eax
jne 0x5780f8
mov esi, dword [ebp - 0x10]
mov eax, edi
call fcn.00564d6f
inc dword [edi + 0x48]
mov eax, dword [ebp - 0x18]
cmp byte [eax], 0x70
mov edi, dword [edi + 0x48]
jne 0x578086
mov ecx, dword [ebp - 4]
push edi
push esi
mov eax, 0x86
call fcn.0054a6fe
pop ecx
pop ecx
jmp 0x5780a1
mov eax, dword [ebp - 0xc]
call fcn.00540175
mov ecx, dword [ebp - 4]
push eax
push edi
push esi
mov eax, 0x87
call fcn.0054a669
add esp, 0xc
mov esi, dword [ebp - 4]
push 1
push edi
push 0x10
pop eax
mov ecx, esi
call fcn.0054a6fe
xor edi, edi
inc edi
call fcn.0054f122
push 0xffffffffffffffff
push dword [ebp - 0x18]
mov eax, esi
push ebx
push ebx
call fcn.00552857
add esp, 0x18
mov eax, dword [ebp - 8]
cmp byte [eax + 0x1c], bl
je 0x5780f8
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.00543587
add esp, 0xc
push dword [ebp - 0x18]
push dword [ebp - 8]
call fcn.0053f8d4
push dword [ebp - 0xc]
push dword [ebp - 8]
call fcn.0053f8d4
add esp, 0x10
pop edi
pop esi
pop ebx
leave
ret