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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x5903c4]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov dword [ebp - 0x4c], eax
mov ebx, edx
mov eax, dword [ecx]
mov edx, 0xc8
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x3c], ecx
mov ecx, eax
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x34], eax
call fcn.004451f0
mov esi, eax
mov dword [ebp - 0x58], eax
test esi, esi
je 0x4851cf
push 0xc8
push 0
push esi
call fcn.0051df40
mov ecx, dword [ebp - 0x34]
add esp, 0xc
mov dword [esi], ecx
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x4851b0
mov dword [eax + 0x3c], esi
mov eax, dword [ecx + 0x88]
mov dword [esi + 0x40], eax
mov dword [esi + 0x3c], 0
mov dword [ecx + 0x88], esi
mov dword [esi + 0x34], 0x26bceaa5
jmp 0x4851d4
xor esi, esi
mov dword [ebp - 0x58], esi
mov eax, dword [ebp - 0x3c]
mov dword [eax + 0xc], esi
test esi, esi
je 0x486604
lea ecx, [ebp - 0x54]
mov byte [esi + 0x64], 1
push ecx
push edi
mov edx, ebx
mov dword [eax + 0x48], 2
mov ecx, eax
call fcn.00477130
mov ebx, eax
add esp, 8
test ebx, ebx
js 0x486604
mov eax, dword [ebp - 0x34]
mov ecx, ebx
shl ecx, 4
add ecx, dword [eax + 8]
mov dword [ebp - 0x38], ecx
cmp ebx, 1
jne 0x48522e
mov ecx, dword [ebp - 0x3c]
call fcn.0047a800
test eax, eax
jne 0x486604
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x54]
mov ecx, eax
call fcn.00476ef0
mov dword [ebp - 0x40], eax
test eax, eax
je 0x486604
cmp dword [ebp + 0x10], 0
je 0x485263
push dword [ebp - 0x4c]
push 0x57aff4
push dword [ebp - 0x34]
call fcn.00446650
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x44], ecx
jmp 0x485273
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x34]
call fcn.00476ef0
mov ecx, eax
mov dword [ebp - 0x44], eax
cmp dword [edi + 4], 0
jbe 0x485280
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
jmp 0x485282
xor eax, eax
push eax
push ecx
push dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, 0x13
mov dword [ebp - 0x48], eax
call fcn.00476280
add esp, 0xc
test eax, eax
jne 0x4865ea
mov ecx, dword [ebp - 0x40]
mov edx, str.default_cache_size
call fcn.00447290
test eax, eax
jne 0x4853a7
mov edi, dword [ebp - 0x3c]
mov ecx, edi
call fcn.00487930
test eax, eax
jne 0x4865ea
mov edx, ebx
mov ecx, esi
call fcn.0045fac0
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x485358
lea edx, [eax + 1]
mov ecx, esi
call fcn.00460630
push 0
push str.cache_size
push 0
xor edx, edx
mov ecx, esi
call fcn.004606c0
add dword [edi + 0x48], 2
add esp, 0xc
mov edx, 8
mov ecx, esi
push 0x571bd8
call fcn.0045f420
mov edi, eax
add esp, 4
cmp dword [esi + 0x1c], edi
jbe 0x485321
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4 + 4], ebx
lea eax, [edi + 1]
cmp dword [esi + 0x1c], eax
jbe 0x485333
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [ebp - 0x38]
add edi, 6
cmp dword [esi + 0x1c], edi
jbe 0x485b26
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 4], 0x7d0
mov eax, dword [ebp - 0x34]
jmp 0x4865c2
mov ecx, eax
call fcn.00447be0
mov ecx, eax
call fcn.004481d0
mov ecx, dword [ebp - 0x3c]
xor edx, edx
push ebx
mov edi, eax
call fcn.0047a9a0
add esp, 4
mov edx, 7
mov ecx, esi
push 1
push edi
call fcn.0045eff0
push 1
push 3
push ebx
mov edx, 0x25
mov ecx, esi
call fcn.0045eed0
mov ebx, dword [ebp - 0x38]
add esp, 0x14
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x50], edi
jmp 0x485977
mov ecx, dword [ebp - 0x40]
mov edx, str.page_size
call fcn.00447290
test eax, eax
jne 0x485420
mov ebx, dword [ebp - 0x38]
mov edi, dword [ebp - 0x44]
mov esi, dword [ebx + 4]
test edi, edi
jne 0x4853ee
test esi, esi
je 0x4853d1
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x20]
jmp 0x4853d3
xor eax, eax
mov ecx, dword [ebp - 0x3c]
cdq
push edx
push eax
mov edx, str.page_size
call fcn.00484ed0
mov eax, dword [ebp - 0x34]
add esp, 8
jmp 0x4865c2
mov ecx, edi
call fcn.00447be0
mov ecx, dword [ebp - 0x34]
mov edx, eax
push 0
push 0xffffffffffffffff
mov dword [ecx + 0x24], eax
mov ecx, esi
call fcn.00455b50
add esp, 8
cmp eax, 7
mov eax, dword [ebp - 0x34]
jne 0x4865c2
mov byte [eax + 0x1e], 1
jmp 0x4865c2
mov ecx, dword [ebp - 0x40]
mov edx, str.secure_delete
call fcn.00447290
test eax, eax
jne 0x4854a2
mov eax, dword [ebp - 0x38]
or ebx, 0xffffffff
mov eax, dword [eax + 4]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x485450
mov ecx, eax
call fcn.00484cb0
mov bl, al
and ebx, 1
cmp dword [edi + 4], 0
jne 0x485480
test ebx, ebx
js 0x485480
mov eax, dword [ebp - 0x34]
xor edi, edi
cmp dword [eax + 4], edi
jle 0x485480
xor esi, esi
mov ecx, dword [eax + 8]
mov edx, ebx
mov ecx, dword [ecx + esi + 4]
call fcn.00455c70
mov eax, dword [ebp - 0x34]
lea esi, [esi + 0x10]
inc edi
cmp edi, dword [eax + 4]
jl 0x485466
mov ecx, dword [ebp - 0x54]
mov edx, ebx
call fcn.00455c70
mov ecx, dword [ebp - 0x3c]
cdq
push edx
mov edx, str.secure_delete
push eax
call fcn.00484ed0
add esp, 8
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.page_count
call fcn.00447290
test eax, eax
je 0x487127
mov ecx, dword [ebp - 0x40]
mov edx, str.max_page_count
call fcn.00447290
test eax, eax
je 0x487127
mov ecx, dword [ebp - 0x40]
mov edx, str.locking_mode
call fcn.00447290
test eax, eax
jne 0x4855b7
mov ecx, dword [ebp - 0x44]
call fcn.00484d50
mov edx, eax
mov eax, dword [edi + 4]
test eax, eax
jne 0x485543
cmp edx, 0xffffffff
jne 0x485503
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x38]
movzx eax, byte [eax + 0x1f]
jmp 0x485553
test eax, eax
jne 0x485543
mov eax, dword [ebp - 0x34]
mov ebx, 2
cmp dword [eax + 4], ebx
jle 0x485540
mov edi, 0x20
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi + 8]
mov eax, dword [eax + edi + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.00451320
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 4]
jl 0x485520
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x1f], dl
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.00451320
cmp eax, 1
mov edi, str.exclusive
mov eax, str.normal
mov edx, 1
mov ecx, esi
cmovne edi, eax
call fcn.00460630
push 0
push str.locking_mode
push 0
xor edx, edx
mov ecx, esi
call fcn.004606c0
add esp, 0xc
mov edx, 0x5e
mov ecx, esi
push 0
push edi
push 0
push 1
push 0
call fcn.0045f050
add esp, 0x14
mov edx, 0x10
mov ecx, esi
push 1
push 1
call fcn.0045eff0
mov eax, dword [ebp - 0x34]
add esp, 8
jmp 0x4865c2
mov ecx, dword [ebp - 0x40]
mov edx, str.journal_mode
call fcn.00447290
test eax, eax
jne 0x4856ce
mov ecx, dword [ebp - 0x3c]
call fcn.00487930
test eax, eax
jne 0x4865ea
lea edx, [eax + 1]
mov ecx, esi
call fcn.00460630
push 0
push str.journal_mode
push 0
xor edx, edx
mov ecx, esi
call fcn.004606c0
mov edx, dword [ebp - 0x44]
add esp, 0xc
test edx, edx
je 0x485646
mov ecx, edx
call fcn.004470b0
mov dword [ebp - 0x54], eax
xor edi, edi
mov dword [ebp - 0x48], edi
cmp edi, 6
je 0x485643
mov ecx, dword [edi*4 + 0x571618]
test ecx, ecx
je 0x485643
push eax
push ecx
push edx
call fcn.004472e0
add esp, 0xc
test eax, eax
je 0x485639
mov eax, dword [ebp - 0x54]
inc edi
mov edx, dword [ebp - 0x44]
jmp 0x48560e
cmp edi, 0xffffffff
jne 0x48565c
mov edi, dword [ebp - 0x50]
jmp 0x48564d
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x48], 0xffffffff
cmp dword [edi + 4], 0
jne 0x48565c
xor ebx, ebx
mov dword [edi + 4], 1
mov eax, dword [ebp - 0x34]
mov edi, dword [eax + 4]
sub edi, 1
js 0x4856b6
mov ecx, edi
shl ecx, 4
mov dword [ebp - 0x4c], ecx
nop
mov eax, dword [eax + 8]
cmp dword [eax + ecx + 4], 0
je 0x4856a8
cmp edi, ebx
je 0x485687
mov eax, dword [ebp - 0x50]
cmp dword [eax + 4], 0
jne 0x4856a8
mov edx, edi
mov ecx, esi
call fcn.0045fac0
push dword [ebp - 0x48]
mov edx, 0x7e
mov ecx, esi
push 1
push edi
call fcn.0045eed0
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
mov eax, dword [ebp - 0x34]
sub ecx, 0x10
sub edi, 1
mov dword [ebp - 0x4c], ecx
jns 0x485670
push 1
push 1
mov edx, 0x10
mov ecx, esi
call fcn.0045eff0
add esp, 8
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.journal_size_limit
call fcn.00447290
test eax, eax
jne 0x485752
mov ebx, dword [ebp - 0x38]
or ecx, 0xffffffff
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x68], ecx
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov eax, 0xfffffffe
mov dword [ebp - 0x6c], eax
test edi, edi
je 0x48572f
push 1
push 0xf4240
lea edx, [ebp - 0x6c]
mov ecx, edi
call fcn.00447970
mov ecx, dword [ebp - 0x68]
add esp, 8
cmp ecx, 0xffffffff
jg 0x48572c
jl 0x485725
mov eax, dword [ebp - 0x6c]
cmp eax, 0xffffffff
jae 0x48572f
or eax, 0xffffffff
or ecx, eax
jmp 0x48572f
mov eax, dword [ebp - 0x6c]
push ecx
push eax
mov ecx, esi
call fcn.00451440
mov ecx, dword [ebp - 0x3c]
push edx
push eax
mov edx, str.journal_size_limit
call fcn.00484ed0
mov eax, dword [ebp - 0x34]
add esp, 0x10
jmp 0x4865c2
mov ecx, dword [ebp - 0x40]
mov edx, str.auto_vacuum
call fcn.00447290
test eax, eax
jne 0x485867
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov edi, dword [eax + 4]
call fcn.00487930
test eax, eax
jne 0x4865ea
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x4857ab
test edi, edi
je 0x485791
mov ecx, edi
call fcn.00455d60
jmp 0x485793
xor eax, eax
mov ecx, dword [ebp - 0x3c]
cdq
push edx
push eax
mov edx, str.auto_vacuum
call fcn.00484ed0
add esp, 8
jmp 0x4865bc
mov ecx, eax
call fcn.00484d90
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x4c], eax
mov byte [ecx + 0x20], al
test eax, eax
js 0x4871be
mov edx, eax
mov ecx, edi
call fcn.00455ce0
test eax, eax
jne 0x4865bc
mov eax, dword [ebp - 0x4c]
cmp eax, 1
je 0x4857e5
cmp eax, 2
jne 0x4865bc
push 0x573d24
mov edx, 6
mov ecx, esi
call fcn.0045f420
mov edi, eax
add esp, 4
cmp dword [esi + 0x1c], edi
jbe 0x48580a
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4 + 4], ebx
lea eax, [edi + 1]
cmp dword [esi + 0x1c], eax
jbe 0x48581c
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], ebx
lea eax, [edi + 2]
cmp dword [esi + 0x1c], eax
jbe 0x485831
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea edx, [edi + 4]
mov dword [eax + ecx*4 + 8], edx
lea eax, [edi + 4]
cmp dword [esi + 0x1c], eax
jbe 0x485847
mov edx, dword [ebp - 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
dec edx
mov dword [eax + ecx*4 + 4], edx
add edi, 5
cmp dword [esi + 0x1c], edi
jbe 0x485859
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 4], ebx
mov edx, ebx
mov ecx, esi
call fcn.0045fac0
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.incremental_vacuum
call fcn.00447290
test eax, eax
jne 0x48591d
mov ecx, dword [ebp - 0x3c]
call fcn.00487930
test eax, eax
jne 0x4865ea
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x4858a8
lea edx, [ebp - 0x54]
mov ecx, eax
call fcn.00447b10
test eax, eax
je 0x4858a8
mov edi, dword [ebp - 0x54]
test edi, edi
jg 0x4858ad
mov edi, bind
mov ecx, dword [ebp - 0x3c]
xor edx, edx
push ebx
call fcn.0047a9a0
add esp, 4
mov edx, 7
mov ecx, esi
push 1
push edi
call fcn.0045eff0
push ebx
mov edx, 0x80
mov ecx, esi
call fcn.0045ef90
add esp, 0xc
mov edx, 0x10
mov ecx, esi
mov edi, eax
push 1
call fcn.0045ef90
add esp, 4
mov edx, 0x14
mov ecx, esi
push 0xffffffffffffffff
push 1
call fcn.0045eff0
push edi
push 1
mov edx, 0x78
mov ecx, esi
call fcn.0045eff0
add esp, 0x10
mov edx, edi
mov ecx, esi
call fcn.0045f4d0
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.cache_size
call fcn.00447290
test eax, eax
jne 0x48598d
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
mov edi, dword [ebp - 0x44]
test edi, edi
jne 0x485967
mov eax, dword [ebp - 0x38]
mov ecx, ebx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
mov edx, str.cache_size
call fcn.00484ed0
add esp, 8
jmp 0x4865bc
mov ecx, edi
call fcn.00447be0
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.00455a70
mov eax, dword [ebp - 0x34]
jmp 0x4865c2
mov ecx, dword [ebp - 0x40]
mov edx, str.temp_store
call fcn.00447290
test eax, eax
jne 0x4859d0
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
test edi, edi
jne 0x4859c4
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + 0x1d]
cdq
push edx
push eax
mov edx, str.temp_store
call fcn.00484ed0
add esp, 8
jmp 0x4865bc
mov edx, edi
call fcn.00484e60
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.temp_store_directory
call fcn.00447290
test eax, eax
jne 0x485ab2
mov edi, dword [ebp - 0x44]
test edi, edi
jne 0x485a32
cmp dword [0x599730], edi
je 0x4865bc
lea edx, [eax + 1]
mov ecx, esi
call fcn.00460630
push edi
push str.temp_store_directory
push edi
xor edx, edx
mov ecx, esi
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 0x5e]
mov ecx, esi
push edi
push dword [0x599730]
push edi
push 1
push edi
call fcn.0045f050
add esp, 0x14
jmp 0x4856b6
cmp byte [edi], 0
je 0x485a67
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x54]
push ecx
push 1
push edi
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x485a55
cmp dword [ebp - 0x54], eax
jne 0x485a67
push str.not_a_writable_directory
push dword [ebp - 0x3c]
call fcn.00447180
jmp 0x4865e7
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0x1d], 1
ja 0x485a78
mov ecx, dword [ebp - 0x3c]
call fcn.00484e10
push dword [0x599730]
call fcn.00444ee0
add esp, 4
cmp byte [edi], 0
je 0x485aa3
push edi
push 0x578aac
call fcn.00446730
add esp, 8
mov dword [0x599730], eax
jmp 0x4865bc
mov dword [0x599730], 0
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.synchronous
call fcn.00447290
test eax, eax
jne 0x485b2e
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
mov edi, dword [ebp - 0x44]
test edi, edi
jne 0x485afb
mov eax, dword [ebp - 0x38]
mov ecx, ebx
movzx eax, byte [eax + 9]
dec eax
cdq
push edx
mov edx, str.synchronous
push eax
call fcn.00484ed0
add esp, 8
jmp 0x4865bc
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0x1c], 0
jne 0x485b17
push str.Safety_level_may_not_be_changed_inside_a_transaction
push ebx
call fcn.00447180
add esp, 8
jmp 0x4865bc
mov ecx, edi
call fcn.00484cb0
mov ebx, dword [ebp - 0x38]
inc al
mov byte [ebx + 9], al
mov eax, dword [ebp - 0x34]
jmp 0x4865c2
push dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
call fcn.00485000
add esp, 4
test eax, eax
jne 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.table_info
call fcn.00447290
test eax, eax
jne 0x485d3d
cmp dword [ebp - 0x44], eax
je 0x485d3d
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
push dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
call fcn.00476840
mov edi, eax
add esp, 4
mov dword [ebp - 0x4c], edi
test edi, edi
je 0x4865bc
mov edx, 6
mov dword [ebp - 0x50], 0
mov ecx, esi
call fcn.00460630
push 0
push 0x57b12c
push 0
xor edx, edx
mov dword [ebx + 0x48], 6
mov ecx, esi
call fcn.004606c0
add esp, 0xc
mov edx, 1
mov ecx, esi
push 0
push str.name
push 0
call fcn.004606c0
add esp, 0xc
mov edx, 2
mov ecx, esi
push 0
push str.type
push 0
call fcn.004606c0
add esp, 0xc
mov edx, 3
mov ecx, esi
push 0
push str.notnull
push 0
call fcn.004606c0
add esp, 0xc
mov edx, 4
mov ecx, esi
push 0
push str.dflt_value
push 0
call fcn.004606c0
add esp, 0xc
mov edx, 5
mov ecx, esi
push 0
push 0x57b16c
push 0
call fcn.004606c0
add esp, 0xc
mov edx, edi
mov ecx, ebx
call fcn.00478550
mov eax, dword [ebp - 0x4c]
xor ebx, ebx
mov edi, dword [edi + 0xc]
cmp dword [eax + 8], ebx
jle 0x4865bc
cmp byte [edi + 0x17], 0
je 0x485c64
inc dword [ebp - 0x50]
jmp 0x485d2b
mov eax, ebx
mov edx, 7
sub eax, dword [ebp - 0x50]
mov ecx, esi
push 1
push eax
call fcn.0045eff0
push 0
push dword [edi]
mov edx, 0x5e
mov ecx, esi
push 0
push 2
push 0
call fcn.0045f050
mov eax, dword [edi + 0xc]
add esp, 0x1c
test eax, eax
mov ecx, 0x574775
mov edx, 0x5e
cmovne ecx, eax
push 0
push ecx
push 0
push 3
push 0
mov ecx, esi
call fcn.0045f050
xor eax, eax
add esp, 0x14
cmp byte [edi + 0x14], al
mov edx, 7
mov ecx, esi
setne al
push 4
push eax
call fcn.0045eff0
mov eax, dword [edi + 8]
add esp, 8
mov ecx, esi
test eax, eax
je 0x485cf1
push 0
push eax
push 0
push 5
push 0
mov edx, 0x5e
call fcn.0045f050
add esp, 0x14
jmp 0x485d02
push 5
push 0
mov edx, 0xa
call fcn.0045eff0
add esp, 8
movzx eax, byte [edi + 0x15]
mov edx, 7
push 6
push eax
mov ecx, esi
call fcn.0045eff0
push 6
push 1
mov edx, 0x10
mov ecx, esi
call fcn.0045eff0
mov eax, dword [ebp - 0x4c]
add esp, 0x10
inc ebx
add edi, 0x18
cmp ebx, dword [eax + 8]
jl 0x485c56
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.index_info
call fcn.00447290
test eax, eax
jne 0x485e5c
cmp dword [ebp - 0x44], eax
je 0x485e5c
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
push dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
call fcn.004769d0
mov edi, eax
add esp, 4
mov dword [ebp - 0x60], edi
test edi, edi
je 0x4865bc
mov eax, dword [edi + 0x10]
mov edx, 3
mov ecx, esi
mov dword [ebp - 0x54], eax
call fcn.00460630
push 0
push str.seqno
push 0
xor edx, edx
mov dword [ebx + 0x48], 3
mov ecx, esi
call fcn.004606c0
add esp, 0xc
mov edx, 1
mov ecx, esi
push 0
push 0x57b12c
push 0
call fcn.004606c0
add esp, 0xc
mov edx, 2
mov ecx, esi
push 0
push str.name
push 0
call fcn.004606c0
xor ebx, ebx
add esp, 0xc
cmp dword [edi + 4], ebx
jle 0x4865bc
mov eax, dword [edi + 8]
mov edx, 7
push 1
push ebx
mov ecx, esi
mov edi, dword [eax + ebx*4]
call fcn.0045eff0
push 2
push edi
mov edx, 7
mov ecx, esi
call fcn.0045eff0
mov eax, dword [ebp - 0x54]
lea ecx, [edi + edi*2]
push 0
mov edx, 0x5e
mov eax, dword [eax + 0xc]
push dword [eax + ecx*8]
mov ecx, esi
push 0
push 3
push 0
call fcn.0045f050
add esp, 0x24
mov edx, 0x10
mov ecx, esi
push 3
push 1
call fcn.0045eff0
mov edi, dword [ebp - 0x60]
inc ebx
add esp, 8
cmp ebx, dword [edi + 4]
jl 0x485df4
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.index_list
call fcn.00447290
test eax, eax
jne 0x485f6f
cmp dword [ebp - 0x44], eax
je 0x485f6f
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
push dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
call fcn.00476840
mov esi, eax
add esp, 4
test esi, esi
je 0x4865bc
mov ecx, ebx
call fcn.0048a060
mov esi, dword [esi + 0x10]
mov edi, eax
test esi, esi
je 0x4865bc
xor ebx, ebx
mov ecx, edi
lea edx, [ebx + 3]
call fcn.00460630
mov eax, dword [ebp - 0x3c]
xor edx, edx
push ebx
push 0x57b18c
push ebx
mov ecx, edi
mov dword [eax + 0x48], 3
call fcn.004606c0
add esp, 0xc
lea edx, [ebx + 1]
mov ecx, edi
push ebx
push str.name
push ebx
call fcn.004606c0
add esp, 0xc
lea edx, [ebx + 2]
mov ecx, edi
push ebx
push str.unique
push ebx
call fcn.004606c0
add esp, 0xc
nop dword [eax]
push 1
push ebx
mov edx, 7
mov ecx, edi
call fcn.0045eff0
push 0
push dword [esi]
mov edx, 0x5e
mov ecx, edi
push 0
push 2
push 0
call fcn.0045f050
xor eax, eax
add esp, 0x1c
cmp byte [esi + 0x18], al
mov edx, 7
mov ecx, edi
setne al
push 3
push eax
call fcn.0045eff0
push 3
push 1
mov edx, 0x10
mov ecx, edi
call fcn.0045eff0
mov esi, dword [esi + 0x20]
add esp, 0x10
inc ebx
test esi, esi
jne 0x485f10
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.database_list
call fcn.00447290
test eax, eax
jne 0x48608d
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
lea edx, [eax + 3]
mov ecx, esi
call fcn.00460630
push 0
push 0x57b18c
push 0
xor edx, edx
mov dword [ebx + 0x48], 3
mov ecx, esi
call fcn.004606c0
add esp, 0xc
mov edx, 1
mov ecx, esi
push 0
push str.name
push 0
call fcn.004606c0
add esp, 0xc
mov edx, 2
mov ecx, esi
push 0
push str.file
push 0
call fcn.004606c0
mov eax, dword [ebp - 0x34]
xor ebx, ebx
add esp, 0xc
cmp dword [eax + 4], ebx
jle 0x4865bf
xor edi, edi
nop dword [eax]
mov eax, dword [eax + 8]
cmp dword [eax + edi + 4], 0
je 0x486078
push 1
push ebx
mov edx, 7
mov ecx, esi
call fcn.0045eff0
mov eax, dword [ebp - 0x34]
mov edx, 0x5e
push 0
mov ecx, esi
mov eax, dword [eax + 8]
push dword [eax + edi]
push 0
push 2
push 0
call fcn.0045f050
mov eax, dword [ebp - 0x34]
add esp, 0x1c
mov edx, 0x5e
mov ecx, esi
mov eax, dword [eax + 8]
push 0
mov eax, dword [eax + edi + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
push dword [eax + 0x90]
push 0
push 3
push 0
call fcn.0045f050
add esp, 0x14
mov edx, 0x10
mov ecx, esi
push 3
push 1
call fcn.0045eff0
add esp, 8
mov eax, dword [ebp - 0x34]
inc ebx
add edi, 0x10
cmp ebx, dword [eax + 4]
jl 0x486000
jmp 0x4865bf
mov ecx, dword [ebp - 0x40]
mov edx, str.collation_list
call fcn.00447290
test eax, eax
jne 0x48614e
lea edx, [eax + 2]
mov dword [ebp - 0x50], eax
mov ecx, esi
call fcn.00460630
mov eax, dword [ebp - 0x3c]
xor edx, edx
push 0
push 0x57b18c
push 0
mov ecx, esi
mov dword [eax + 0x48], 2
call fcn.004606c0
add esp, 0xc
mov edx, 1
mov ecx, esi
push 0
push str.name
push 0
call fcn.004606c0
mov ebx, dword [ebp - 0x34]
add esp, 0xc
mov ebx, dword [ebx + 0x1a4]
test ebx, ebx
je 0x4865bc
nop word [eax + eax]
mov edi, dword [ebx + 8]
mov edx, 7
push 1
push dword [ebp - 0x50]
mov ecx, esi
call fcn.0045eff0
inc dword [ebp - 0x50]
mov edx, 0x5e
push 0
push dword [edi]
mov ecx, esi
push 0
push 2
push 0
call fcn.0045f050
add esp, 0x1c
mov edx, 0x10
mov ecx, esi
push 2
push 1
call fcn.0045eff0
mov ebx, dword [ebx]
add esp, 8
test ebx, ebx
jne 0x486100
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.foreign_key_list
call fcn.00447290
test eax, eax
jne 0x48641c
cmp dword [ebp - 0x44], eax
je 0x48641c
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
push dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
call fcn.00476840
mov esi, eax
add esp, 4
mov dword [ebp - 0x54], esi
test esi, esi
je 0x4865bc
mov ecx, ebx
call fcn.0048a060
mov esi, dword [esi + 0x24]
mov ebx, eax
test esi, esi
je 0x4865bc
xor edi, edi
mov ecx, ebx
mov dword [ebp - 0x58], edi
lea edx, [edi + 8]
call fcn.00460630
mov eax, dword [ebp - 0x3c]
xor edx, edx
push edi
push 0x577170
push edi
mov ecx, ebx
mov dword [eax + 0x48], 8
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 1]
mov ecx, ebx
push edi
push 0x57b18c
push edi
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 2]
mov ecx, ebx
push edi
push str.table
push edi
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 3]
mov ecx, ebx
push edi
push str.from
push edi
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 4]
mov ecx, ebx
push edi
push 0x57b1b0
push edi
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 5]
mov ecx, ebx
push edi
push str.on_update
push edi
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 6]
mov ecx, ebx
push edi
push str.on_delete
push edi
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 7]
mov ecx, ebx
push edi
push str.match
push edi
call fcn.004606c0
add esp, 0xc
nop dword [eax + eax]
cmp dword [esi + 0x14], 0
mov dword [ebp - 0x50], 0
jle 0x486408
lea eax, [esi + 0x24]
mov dword [ebp - 0x3c], eax
nop word [eax + eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x60], eax
movzx eax, byte [esi + 0x19]
add eax, 0xfffffffa
cmp eax, 3
ja case.default.0x4862a2
jmp dword [eax*4 + 0x4871c8]
mov dword [ebp - 0x48], str.SET_NULL
jmp 0x4862d4
mov dword [ebp - 0x48], str.SET_DEFAULT
jmp 0x4862d4
mov dword [ebp - 0x48], str.CASCADE
jmp 0x4862d4
mov dword [ebp - 0x48], str.RESTRICT
jmp 0x4862d4
mov dword [ebp - 0x48], str.NO_ACTION
movzx eax, byte [esi + 0x1a]
add eax, 0xfffffffa
cmp eax, 3
ja case.default.0x4862e0
jmp dword [eax*4 + 0x4871d8]
mov edi, str.SET_NULL
jmp 0x486308
mov edi, str.SET_DEFAULT
jmp 0x486308
mov edi, str.CASCADE
jmp 0x486308
mov edi, str.RESTRICT
jmp 0x486308
mov edi, str.NO_ACTION
push 1
push dword [ebp - 0x58]
mov edx, 7
mov ecx, ebx
call fcn.0045eff0
push 2
push dword [ebp - 0x50]
mov edx, 7
mov ecx, ebx
call fcn.0045eff0
push 0
push dword [esi + 8]
mov edx, 0x5e
mov ecx, ebx
push 0
push 3
push 0
call fcn.0045f050
mov eax, dword [ebp - 0x3c]
add esp, 0x24
mov edx, 0x5e
mov eax, dword [eax]
push 0
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0xc]
push dword [eax + ecx*8]
mov ecx, ebx
push 0
push 4
push 0
call fcn.0045f050
mov eax, dword [ebp - 0x60]
add esp, 0x14
test eax, eax
mov edx, 0xa
mov ecx, ebx
push 0
push eax
push 0
mov eax, 0x5e
push 5
push 0
cmovne edx, eax
call fcn.0045f050
add esp, 0x14
mov ecx, ebx
push 0
push edi
push 0
push 6
mov edi, 0x5e
push 0
mov edx, edi
call fcn.0045f050
add esp, 0x14
mov edx, edi
mov ecx, ebx
push 0
push dword [ebp - 0x48]
push 0
push 7
push 0
call fcn.0045f050
add esp, 0x14
mov edx, edi
mov ecx, ebx
push 0
push str.NONE
push 0
push 8
push 0
call fcn.0045f050
add esp, 0x14
lea edx, [edi - 0x4e]
mov ecx, ebx
push 8
push 1
call fcn.0045eff0
mov ecx, dword [ebp - 0x50]
add esp, 8
mov eax, dword [ebp - 0x3c]
inc ecx
add eax, 8
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x3c], eax
cmp ecx, dword [esi + 0x14]
jl 0x486290
mov edi, dword [ebp - 0x58]
mov esi, dword [esi + 4]
inc edi
mov dword [ebp - 0x58], edi
test esi, esi
jne 0x486270
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.case_sensitive_like
call fcn.00447290
test eax, eax
jne 0x486451
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x4865bc
mov ecx, edi
call fcn.00484cb0
mov ecx, dword [ebp - 0x34]
mov dl, al
and edx, 1
call fcn.0047e990
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.integrity_check
call fcn.00447290
test eax, eax
je 0x486a8c
mov ecx, dword [ebp - 0x40]
mov edx, str.quick_check
call fcn.00447290
test eax, eax
je 0x486a8c
mov ecx, dword [ebp - 0x40]
mov edx, str.encoding
call fcn.00447290
test eax, eax
jne 0x486615
mov edi, dword [ebp - 0x44]
test edi, edi
jne 0x48654b
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
lea edx, [edi + 1]
mov ecx, esi
call fcn.00460630
push edi
push str.encoding
push edi
xor edx, edx
mov ecx, esi
call fcn.004606c0
add esp, 0xc
lea edx, [edi + 0x5e]
mov ecx, esi
push 1
push edi
call fcn.0045eff0
mov eax, dword [ebx]
add esp, 8
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 0x4d]
mov ebx, dword [eax*8 + 0x571fa0]
test edx, edx
je 0x486538
cmp byte [ecx + 0x1e], 0
jne 0x486538
mov eax, dword [esi + 0x1c]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.0045f4f0
add esp, 4
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x48652c
mov dword [edi + 0x10], ebx
mov byte [edi + 1], bl
jmp 0x4856b6
mov dword [edi + 0x10], ebx
mov byte [edi + 1], 0xfe
jmp 0x4856b6
push ebx
mov edx, 0xfffffffe
call fcn.0045f4f0
add esp, 4
jmp 0x4856b6
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x4865bc
mov eax, dword [str.UTF8]
mov esi, 0x571fa0
test eax, eax
je 0x4865a6
nop dword [eax + eax]
mov edx, eax
mov ecx, edi
call fcn.00447290
test eax, eax
je 0x486589
mov eax, dword [esi + 8]
add esi, 8
test eax, eax
jne 0x486570
jmp 0x4865ab
mov al, byte [esi + 4]
movzx ecx, al
test al, al
jne 0x486598
mov ecx, 2
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], cl
cmp dword [esi], 0
jne 0x4865bc
push edi
push str.unsupported_encoding:__s
push dword [ebp - 0x3c]
call fcn.00447180
add esp, 0xc
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x38]
cmp byte [eax + 0x1c], 0
je 0x4865ed
mov edx, dword [eax + 0xc]
mov eax, edx
mov ecx, dword [ebx + 4]
shr eax, 0x16
shr edx, 0x15
and eax, 1
and edx, 1
push eax
push edx
movzx edx, byte [ebx + 9]
call fcn.00455b00
add esp, 8
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x40]
push eax
call fcn.00444f80
push dword [ebp - 0x44]
push dword [ebp - 0x34]
call fcn.00444f80
add esp, 0x10
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00519876
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x40]
mov edx, str.schema_version
call fcn.00447290
test eax, eax
je 0x48696e
mov ecx, dword [ebp - 0x40]
mov edx, str.user_version
call fcn.00447290
test eax, eax
je 0x48696e
mov ecx, dword [ebp - 0x40]
mov edx, str.freelist_count
call fcn.00447290
test eax, eax
je 0x48696e
mov ecx, dword [ebp - 0x40]
mov edx, str.compile_options
call fcn.00447290
test eax, eax
jne 0x4866df
lea edx, [eax + 1]
mov ecx, esi
xor edi, edi
call fcn.00460630
mov eax, dword [ebp - 0x3c]
xor edx, edx
push edi
push str.compile_option
push edi
mov ecx, esi
mov dword [eax + 0x48], 1
call fcn.004606c0
add esp, 0xc
push edi
call fcn.00442280
add esp, 4
test eax, eax
je 0x4865bc
lea ecx, [edi + 0x5e]
push 0
push eax
push 0
push 1
mov edx, ecx
inc edi
push 0
mov ecx, esi
call fcn.0045f050
add esp, 0x14
mov edx, 0x10
mov ecx, esi
push 1
push 1
call fcn.0045eff0
push edi
call fcn.00442280
add esp, 0xc
mov ecx, 0x5e
test eax, eax
jne 0x4866a2
jmp 0x4865bc
mov ecx, dword [ebp - 0x40]
mov edx, str.wal_checkpoint
call fcn.00447290
test eax, eax
jne 0x4867ba
cmp dword [edi], 0
mov eax, 0xa
cmovne eax, ebx
mov ebx, dword [ebp - 0x44]
xor edi, edi
mov dword [ebp - 0x54], eax
test ebx, ebx
je 0x486736
mov edx, str.full
mov ecx, ebx
call fcn.00447290
test eax, eax
jne 0x486720
lea edi, [eax + 1]
jmp 0x486736
mov edx, str.restart
mov ecx, ebx
call fcn.00447290
test eax, eax
mov eax, 2
cmove edi, eax
mov ebx, dword [ebp - 0x3c]
mov ecx, ebx
call fcn.00487930
test eax, eax
jne 0x4865ea
lea edx, [eax + 3]
mov ecx, esi
call fcn.00460630
push 0
push str.busy
push 0
xor edx, edx
mov dword [ebx + 0x48], 3
mov ecx, esi
call fcn.004606c0
add esp, 0xc
mov edx, 1
mov ecx, esi
push 0
push 0x57b350
push 0
call fcn.004606c0
add esp, 0xc
mov edx, 2
mov ecx, esi
push 0
push str.checkpointed
push 0
call fcn.004606c0
add esp, 0xc
mov edx, 0x7d
mov ecx, esi
push 1
push edi
push dword [ebp - 0x54]
call fcn.0045eed0
add esp, 0xc
push 3
jmp 0x4856b8
mov ebx, dword [ebp - 0x40]
mov edx, str.wal_autocheckpoint
mov ecx, ebx
call fcn.00447290
test eax, eax
jne 0x48682e
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x4867e7
mov ecx, edi
call fcn.00447be0
push eax
push dword [ebp - 0x34]
call fcn.0049e370
add esp, 8
mov eax, dword [ebp - 0x34]
cmp dword [eax + 0xc0], 0x49e330
jne 0x486814
mov eax, dword [eax + 0xc4]
mov ecx, dword [ebp - 0x3c]
cdq
push edx
mov edx, str.wal_autocheckpoint
push eax
call fcn.00484ed0
add esp, 8
jmp 0x4865bc
mov ecx, dword [ebp - 0x3c]
xor eax, eax
cdq
push edx
mov edx, str.wal_autocheckpoint
push eax
call fcn.00484ed0
add esp, 8
jmp 0x4865bc
mov edx, str.shrink_memory
mov ecx, ebx
call fcn.00447290
test eax, eax
jne 0x48684b
mov ecx, dword [ebp - 0x34]
call fcn.0049d440
jmp 0x4865bc
mov edx, 0x57b380
mov ecx, ebx
call fcn.00447290
mov edi, dword [ebp - 0x44]
test eax, eax
jne 0x48687d
test edi, edi
je 0x48687d
mov ecx, edi
call fcn.004470b0
mov ecx, dword [ebp - 0x34]
xor edx, edx
push eax
push edi
call fcn.004a2280
add esp, 8
jmp 0x4865bc
mov edx, str.rekey
mov ecx, ebx
call fcn.00447290
test eax, eax
jne 0x4868af
test edi, edi
je 0x4865bc
mov ecx, edi
call fcn.004470b0
mov ecx, dword [ebp - 0x34]
mov edx, edi
push eax
call fcn.004a2490
add esp, 4
jmp 0x4865bc
test edi, edi
je 0x4865bc
mov edx, str.hexkey
mov ecx, ebx
call fcn.00447290
test eax, eax
je 0x4868db
mov edx, str.hexrekey
mov ecx, ebx
call fcn.00447290
test eax, eax
jne 0x4865bc
movsx ebx, byte [edi]
xor esi, esi
test ebx, ebx
je 0x486932
movsx edx, byte [esi + edi + 1]
test edx, edx
je 0x486932
mov ecx, edx
sar ecx, 6
and cl, 1
mov al, cl
shl al, 3
sub al, cl
mov ecx, ebx
sub dl, al
sar ecx, 6
and cl, 1
and dl, 0xf
mov al, cl
shl al, 3
sub al, cl
sub bl, al
shl bl, 4
or dl, bl
mov eax, esi
test eax, eax
jns 0x486920
add eax, 1
sar eax, 1
movsx ebx, byte [esi + edi + 2]
add esi, 2
mov byte [ebp + eax - 0x30], dl
test ebx, ebx
jne 0x4868e4
mov eax, dword [ebp - 0x40]
mov cl, byte [eax + 3]
mov eax, esi
cdq
and cl, 0xf
sub eax, edx
sar eax, 1
cmp cl, 0xb
mov ecx, dword [ebp - 0x34]
push eax
jne 0x48695e
lea eax, [ebp - 0x30]
xor edx, edx
push eax
call fcn.004a2280
add esp, 8
jmp 0x4865bc
lea edx, [ebp - 0x30]
call fcn.004a2490
add esp, 4
jmp 0x4865bc
mov edx, ebx
mov ecx, esi
call fcn.0045fac0
mov ecx, dword [ebp - 0x40]
movsx eax, byte [ecx]
add eax, 0xffffffba
cmp eax, 0x2d
ja case.0x48698c.71
movzx eax, byte [eax + 0x4871f4]
jmp dword [eax*4 + 0x4871e8]
xor edi, edi
jmp 0x4869a3
mov edi, 1
jmp 0x4869a3
mov edi, 6
cmp dword [ebp - 0x44], 0
je 0x486a27
test edi, edi
je 0x486a27
push 0x570af4
mov edx, 3
mov ecx, esi
call fcn.0045f420
add esp, 4
mov dword [ebp - 0x4c], eax
cmp dword [esi + 0x1c], eax
jbe 0x4869d3
mov ecx, dword [esi + 4]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], ebx
mov ecx, dword [ebp - 0x44]
call fcn.00447be0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x4c]
lea ecx, [eax + 1]
cmp dword [esi + 0x1c], ecx
jbe 0x4869f9
mov eax, dword [ebp - 0x54]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 4]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [ebp - 0x4c]
lea edx, [eax + 2]
cmp dword [esi + 0x1c], edx
jbe 0x4865bc
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 4], ebx
cmp dword [esi + 0x1c], edx
jbe 0x4865bc
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 8], edi
jmp 0x4865bc
push 0x570d3c
mov edx, 3
mov ecx, esi
call fcn.0045f420
add esp, 4
cmp dword [esi + 0x1c], eax
jbe 0x486a4a
mov ecx, dword [esi + 4]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], ebx
lea edx, [eax + 1]
cmp dword [esi + 0x1c], edx
jbe 0x486a6b
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 4], ebx
cmp dword [esi + 0x1c], edx
jbe 0x486a6b
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 0xc], edi
mov edx, 1
mov ecx, esi
call fcn.00460630
push 0xffffffffffffffff
push dword [ebp - 0x40]
xor edx, edx
mov ecx, esi
push 0
call fcn.004606c0
jmp 0x4865b9
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
mov ecx, edi
movzx eax, byte [eax]
mov al, byte [eax + 0x571ff0]
mov byte [ebp - 0x59], al
call fcn.00487930
test eax, eax
jne 0x4865ea
lea edx, [eax + 1]
mov dword [edi + 0x48], 6
mov ecx, esi
call fcn.00460630
push 0
push str.integrity_check
push 0
xor edx, edx
mov ecx, esi
call fcn.004606c0
mov eax, dword [ebp - 0x44]
mov ebx, 0x64
add esp, 0xc
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x4c], ebx
test eax, eax
je 0x486aff
lea edx, [ebp - 0x4c]
mov ecx, eax
call fcn.00447b10
mov ebx, dword [ebp - 0x4c]
mov eax, 0x64
test ebx, ebx
cmovle ebx, eax
mov dword [ebp - 0x54], ebx
push 1
push ebx
mov edx, 7
mov ecx, esi
call fcn.0045eff0
mov eax, dword [ebp - 0x34]
xor ecx, ecx
add esp, 8
mov dword [ebp - 0x4c], ecx
cmp dword [eax + 4], ecx
jle 0x48709f
mov dword [ebp - 0x50], ecx
mov edx, ecx
xor ebx, ebx
mov ecx, edi
call fcn.0047a890
push 1
lea edx, [ebx + 0x78]
mov ecx, esi
call fcn.0045ef90
add esp, 4
lea edx, [ebx + 6]
mov ecx, esi
mov edi, eax
push ebx
push ebx
call fcn.0045eff0
add esp, 8
mov edx, edi
mov ecx, esi
call fcn.0045f4d0
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx + eax + 0xc]
add eax, 8
mov dword [ebp - 0x60], eax
mov eax, dword [eax + 8]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x486bcb
nop word [eax + eax]
mov edi, dword [eax + 8]
mov edx, 7
lea eax, [ebx + 2]
mov ecx, esi
push eax
push dword [edi + 0x14]
call fcn.0045eff0
mov edi, dword [edi + 0x10]
add esp, 8
inc ebx
test edi, edi
je 0x486bbf
lea eax, [ebx + 2]
mov edx, 7
push eax
push dword [edi + 0x14]
mov ecx, esi
call fcn.0045eff0
mov edi, dword [edi + 0x20]
add esp, 8
inc ebx
test edi, edi
jne 0x486ba1
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x486b80
mov ecx, dword [ebp - 0x3c]
lea eax, [ebx + 4]
cmp dword [ecx + 0x48], eax
jge 0x486bd9
mov dword [ecx + 0x48], eax
push 1
push ebx
push 2
mov edx, 0x6f
mov ecx, esi
call fcn.0045eed0
mov ecx, dword [esi + 4]
add esp, 0xc
test ecx, ecx
je 0x486c01
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x4c]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], dl
push 2
mov edx, 0x49
mov ecx, esi
call fcn.0045ef90
mov edx, dword [ebp - 0x50]
mov edi, eax
mov eax, dword [ebp - 0x34]
add esp, 4
mov ecx, dword [eax + 8]
push 0xffffffffffffffff
push dword [edx + ecx]
push str._in_database__s__n
push eax
call fcn.00446650
add esp, 0xc
mov edx, 0x5e
mov ecx, esi
push eax
push 0
push 3
push 0
call fcn.0045f050
add esp, 0x14
mov edx, 0xd
mov ecx, esi
push 1
push 4
push 2
call fcn.0045eed0
add esp, 0xc
mov edx, 0x5b
mov ecx, esi
push 2
push 3
push 4
call fcn.0045eed0
add esp, 0xc
mov edx, 0x10
mov ecx, esi
push 1
push 2
call fcn.0045eff0
add esp, 8
mov edx, edi
mov ecx, esi
call fcn.0045f4d0
mov eax, dword [ebp - 0x60]
mov ebx, dword [eax + 8]
mov dword [ebp - 0x60], ebx
test ebx, ebx
je 0x487082
mov al, byte [ebp - 0x59]
cmp al, 0x71
je 0x487082
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x68], ebx
cmp dword [ebx + 0x10], 0
je 0x487072
push 1
mov edx, 0x78
mov ecx, esi
call fcn.0045ef90
add esp, 4
mov edx, 6
mov ecx, esi
mov edi, eax
push 0
push 0
call fcn.0045eff0
mov edx, edi
mov ecx, esi
call fcn.0045f4d0
mov ecx, dword [ebp - 0x3c]
mov edx, ebx
push 0x27
push 1
call fcn.00483c40
push 2
push 0
mov edx, 7
mov ecx, esi
call fcn.0045eff0
push 0
push 1
mov edx, 0x48
mov ecx, esi
call fcn.0045eff0
mov edi, eax
mov edx, 0x14
push 1
push 2
mov ecx, esi
mov dword [ebp - 0x78], edi
call fcn.0045eff0
mov ebx, dword [ebx + 0x10]
add esp, 0x28
mov dword [ebp - 0x48], ebx
test ebx, ebx
je 0x486ec3
mov edi, 2
mov dword [ebp - 0x70], edi
mov ecx, dword [ebp - 0x3c]
mov edx, ebx
push 0
push 3
push 1
call fcn.0047c410
mov ecx, dword [ebx + 4]
add esp, 0xc
inc ecx
mov edx, 0x34
push ecx
push eax
push 0
push edi
mov ecx, esi
call fcn.0045f1b0
push 0x571b34
mov edx, 0xb
mov dword [ebp - 0x74], eax
mov ecx, esi
call fcn.0045f420
mov edx, dword [esi + 4]
add esp, 0x14
mov ebx, dword [esi]
mov dword [ebp - 0x58], eax
lea ecx, [eax + 1]
test edx, edx
je 0x486dbe
cmp byte [ebx + 0x1e], 0
jne 0x486dbe
test ecx, ecx
jns 0x486d9c
mov ecx, dword [esi + 0x1c]
dec ecx
lea eax, [ecx + ecx*4]
mov ecx, ebx
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.0045f4f0
mov dword [edi + 0x10], 0x57b250
mov byte [edi + 1], 0xfe
jmp 0x486dcf
push 0x57b250
mov edx, 0xfffffffe
mov ecx, ebx
call fcn.0045f4f0
mov eax, dword [ebp - 0x58]
add esp, 4
mov edx, dword [esi + 4]
add eax, 3
mov ecx, dword [esi]
test edx, edx
je 0x486e0f
cmp byte [ecx + 0x1e], 0
jne 0x486e0f
test eax, eax
jns 0x486def
mov eax, dword [esi + 0x1c]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.0045f4f0
mov dword [edi + 0x10], str._missing_from_index
mov byte [edi + 1], 0xfe
jmp 0x486e1e
push str._missing_from_index
mov edx, 0xfffffffe
call fcn.0045f4f0
mov ebx, dword [ebp - 0x48]
add esp, 4
mov eax, dword [ebp - 0x58]
mov edx, dword [esi + 4]
add eax, 4
mov ecx, dword [esi]
mov ebx, dword [ebx]
test edx, edx
je 0x486e86
cmp byte [ecx + 0x1e], 0
jne 0x486e86
test eax, eax
jns 0x486e43
mov eax, dword [esi + 0x1c]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.0045f4f0
add esp, 4
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x486e6c
mov dword [edi + 0x10], ebx
mov byte [edi + 1], bl
jmp 0x486e91
mov ecx, ebx
call fcn.004470b0
mov ecx, dword [esi]
mov edx, ebx
push eax
call fcn.00445360
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
jmp 0x486e8e
push ebx
xor edx, edx
call fcn.0045f4f0
add esp, 4
mov edx, dword [ebp - 0x58]
mov ecx, esi
lea edx, [edx + 9]
call fcn.0045f4d0
mov edx, dword [ebp - 0x74]
mov ecx, esi
call fcn.0045f4d0
mov ebx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x70]
inc edi
mov dword [ebp - 0x70], edi
mov ebx, dword [ebx + 0x20]
mov dword [ebp - 0x48], ebx
test ebx, ebx
jne 0x486d40
mov edi, dword [ebp - 0x78]
lea eax, [edi + 1]
mov edx, 0x5f
push eax
push 1
mov ecx, esi
call fcn.0045eff0
add esp, 8
mov edx, edi
mov ecx, esi
call fcn.0045f4d0
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x58], eax
test eax, eax
je 0x48706f
mov dword [ebp - 0x48], 2
nop dword [eax]
push 1
mov edx, 0x78
mov ecx, esi
call fcn.0045ef90
add esp, 4
mov edx, 6
mov ecx, esi
mov edi, eax
push 0
push 0
call fcn.0045eff0
mov edx, edi
mov ecx, esi
call fcn.0045f4d0
push 0x570d48
mov edx, 0xa
mov ecx, esi
call fcn.0045f420
mov ebx, eax
add esp, 0xc
lea edi, [ebx + 1]
cmp dword [esi + 0x1c], edi
jbe 0x486f69
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov eax, dword [ebp - 0x48]
mov dword [ecx + edx*4 + 4], eax
cmp dword [esi + 0x1c], edi
jbe 0x486f69
mov eax, dword [esi + 4]
lea edx, [ebx + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea edi, [ebx + 3]
cmp dword [esi + 0x1c], edi
jbe 0x486f90
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebp - 0x48]
mov dword [eax + ecx*4 + 4], edx
cmp dword [esi + 0x1c], edi
jbe 0x486f90
mov eax, dword [esi + 4]
lea edx, [ebx + 2]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
lea edx, [ebx + 4]
mov ecx, esi
call fcn.0045f4d0
mov edx, dword [esi + 4]
lea eax, [ebx + 6]
mov ecx, dword [esi]
test edx, edx
je 0x486fd4
cmp byte [ecx + 0x1e], 0
jne 0x486fd4
test eax, eax
jns 0x486fb4
mov eax, dword [esi + 0x1c]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.0045f4f0
mov dword [edi + 0x10], str.wrong__of_entries_in_index
mov byte [edi + 1], 0xfe
jmp 0x486fe3
push str.wrong__of_entries_in_index
mov edx, 0xfffffffe
call fcn.0045f4f0
mov ecx, dword [ebp - 0x58]
lea eax, [ebx + 7]
mov edx, dword [esi + 4]
add esp, 4
mov ebx, dword [esi]
mov ecx, dword [ecx]
mov dword [ebp - 0x68], ecx
test edx, edx
je 0x48704e
cmp byte [ebx + 0x1e], 0
jne 0x48704e
test eax, eax
jns 0x487008
mov eax, dword [esi + 0x1c]
dec eax
lea eax, [eax + eax*4]
mov ecx, ebx
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.0045f4f0
mov ecx, dword [ebp - 0x68]
add esp, 4
mov dword [edi + 0x10], 0
test ecx, ecx
jne 0x487036
mov dword [edi + 0x10], ecx
mov byte [edi + 1], cl
jmp 0x48705b
call fcn.004470b0
mov edx, ecx
mov ecx, dword [esi]
push eax
call fcn.00445360
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
jmp 0x487058
push ecx
xor edx, edx
mov ecx, ebx
call fcn.0045f4f0
add esp, 4
mov eax, dword [ebp - 0x58]
inc dword [ebp - 0x48]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x486f00
mov al, byte [ebp - 0x59]
mov ebx, dword [ebp - 0x60]
mov ebx, dword [ebx]
mov dword [ebp - 0x60], ebx
test ebx, ebx
jne 0x486ca0
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
inc ecx
add dword [ebp - 0x50], 0x10
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], ecx
cmp ecx, dword [eax + 4]
jl 0x486b25
mov ebx, dword [ebp - 0x54]
push 0x573d84
mov edx, 4
mov ecx, esi
call fcn.0045f420
mov edi, eax
add esp, 4
cmp dword [esi + 0x1c], edi
jbe 0x4870c6
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
neg ebx
mov dword [ecx + edx*4 + 8], ebx
lea edx, [edi + 1]
mov ecx, esi
call fcn.0045f4d0
mov edx, dword [esi + 4]
lea eax, [edi + 2]
mov ecx, dword [esi]
test edx, edx
je 0x487110
cmp byte [ecx + 0x1e], 0
jne 0x487110
test eax, eax
jns 0x4870ea
mov eax, dword [esi + 0x1c]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea esi, [edx + eax*4]
movsx edx, byte [esi + 1]
call fcn.0045f4f0
add esp, 4
mov dword [esi + 0x10], 0x5770f4
mov byte [esi + 1], 0xfe
jmp 0x4865bc
push 0x5770f4
mov edx, 0xfffffffe
call fcn.0045f4f0
add esp, 4
jmp 0x4865bc
mov edi, dword [ebp - 0x3c]
mov ecx, edi
call fcn.00487930
test eax, eax
jne 0x4865ea
mov edx, ebx
mov ecx, edi
call fcn.0047a890
mov eax, dword [ebp - 0x40]
inc dword [edi + 0x48]
mov edi, dword [edi + 0x48]
movzx eax, byte [eax]
cmp byte [eax + 0x571ff0], 0x70
jne 0x48716a
push edi
push ebx
mov edx, 0x92
mov ecx, esi
call fcn.0045eff0
add esp, 8
jmp 0x48718b
mov ecx, dword [ebp - 0x44]
call fcn.00447be0
mov ecx, eax
call fcn.004481d0
push eax
push edi
push ebx
mov edx, 0x93
mov ecx, esi
call fcn.0045eed0
add esp, 0xc
push 1
push edi
mov edx, 0x10
mov ecx, esi
call fcn.0045eff0
mov edx, 1
mov ecx, esi
call fcn.00460630
push 0xffffffffffffffff
push dword [ebp - 0x40]
xor edx, edx
mov ecx, esi
push 0
call fcn.004606c0
add esp, 0x14
jmp 0x4865bc
mov eax, ecx
jmp 0x4865bf