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

Disassembly:
sub esp, 0x58
push ebp
push edi
mov edi, dword [esp + 0x64]
mov ebp, dword [edi + 8]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
test ebp, ebp
jne 0x5b1f15
call fcn.00575ac0
mov ebp, eax
mov dword [edi + 8], eax
test ebp, ebp
je 0x5b4260
push 0x96
call fcn.0056cf10
add esp, 4
or dword [ebp + 0x64], 0x40
mov eax, dword [esp + 0x6c]
push ebx
push esi
mov esi, dword [esp + 0x70]
lea ecx, [esp + 0x44]
mov ebx, edi
mov dword [edi + 0x4c], 2
call fcn.00577870
mov dword [esp + 0x10], eax
test eax, eax
jl 0x5b425e
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + 0x10]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x14], edx
cmp eax, 1
jne 0x5b1f6b
mov eax, edi
call fcn.005a56f0
test eax, eax
jne 0x5b425e
mov eax, dword [esp + 0x44]
push ebx
call fcn.0056f820
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x5b425e
cmp dword [esp + 0x7c], 0
mov eax, dword [esp + 0x78]
je 0x5b1fa7
push eax
push 0x661b28
mov esi, ebx
call fcn.005736c0
mov esi, eax
add esp, 8
mov dword [esp + 0x30], esi
jmp 0x5b1fb6
push ebx
call fcn.0056f820
add esp, 4
mov esi, eax
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x74]
cmp dword [ecx + 4], 0
jbe 0x5b1fcc
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov dword [esp + 0x18], eax
jmp 0x5b1fd4
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
push ecx
push esi
push edx
push 0x13
mov eax, edi
call fcn.005773f0
add esp, 0x10
test eax, eax
jne 0x5b4244
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x58]
push edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], esi
mov dword [ebx + 0x1bc], eax
mov eax, dword [esp + 0x1c]
push 0xe
push eax
push ebx
call fcn.00572550
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x5b2084
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5b4244
inc dword [edi + 0x4c]
mov edi, dword [edi + 0x4c]
push ebx
push eax
push ebx
push edi
push ebx
push 0x5f
mov eax, ebp
call fcn.00575b20
push 1
mov ebx, ebp
call fcn.00576000
push 0
push str.result
push 0
push 0
mov ecx, ebp
call fcn.0057f030
push 1
push edi
push 0x20
mov eax, ebp
call fcn.0056cfb0
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0055d790
add esp, 0x3c
jmp 0x5b4244
cmp ebx, 0xc
je 0x5b20b4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5b20a9
push eax
push 0x60c800
call fcn.00573960
mov edx, dword [esp + 0x60]
push edx
call fcn.0055d790
add esp, 0xc
inc dword [edi + 0x44]
mov dword [edi + 0xc], ebx
jmp 0x5b4244
xor ebx, ebx
mov dword [esp + 0x38], 0x36
mov edi, edi
mov eax, dword [esp + 0x38]
add eax, ebx
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x20]
sar edi, 1
lea ecx, [edi + edi*2]
mov edx, dword [ecx*4 + 0x65c1a8]
push edx
push eax
call fcn.0055dac0
add esp, 8
test eax, eax
je 0x5b2100
jge 0x5b20f2
dec edi
mov dword [esp + 0x38], edi
jmp 0x5b20f5
lea ebx, [edi + 1]
cmp ebx, dword [esp + 0x38]
jle 0x5b20c0
jmp 0x5b4244
cmp ebx, dword [esp + 0x38]
jg 0x5b4244
lea ebx, [edi + edi*2]
add ebx, ebx
add ebx, ebx
test byte [ebx + 0x65c1ad], 1
je 0x5b212f
mov edi, dword [esp + 0x6c]
call fcn.005b0180
test eax, eax
jne 0x5b4244
mov esi, dword [esp + 0x30]
movzx eax, byte [ebx + 0x65c1ac]
mov edi, dword [esp + 0x1c]
cmp eax, 0x22
ja case.0x5b2143.3
jmp dword [eax*4 + 0x5b4268]
mov edi, dword [esp + 0x10]
mov ecx, edi
mov eax, ebp
call fcn.00562f10
test esi, esi
jne 0x5b21d4
push 1
mov ebx, ebp
call fcn.00576000
push esi
push str.cache_size
push esi
push esi
mov ecx, ebp
call fcn.0057f030
mov eax, dword [esp + 0x80]
add dword [eax + 0x4c], 2
push 0x65be84
push 9
push ebp
call fcn.0056d060
add esp, 0x20
cmp dword [ebp + 0x1c], eax
jbe 0x5b219f
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov esi, edi
mov dword [edx + ecx*4 + 4], esi
lea ecx, [eax + 1]
cmp dword [ebp + 0x1c], ecx
jbe 0x5b21b5
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x10]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 4], esi
add eax, 6
cmp dword [ebp + 0x1c], eax
jbe 0x5b4244
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 4], 0x7d0
jmp 0x5b4244
mov ecx, esi
call fcn.0055e3b0
call fcn.0055e940
mov esi, eax
mov eax, dword [esp + 0x6c]
push 0
mov ecx, edi
call fcn.005a5880
push 1
push esi
push 0x17
mov eax, ebp
call fcn.0056cfb0
push 1
push 3
push edi
push 0x30
mov eax, ebp
call fcn.0056ceb0
mov eax, dword [esp + 0x34]
mov edx, dword [eax + 0xc]
mov dword [edx + 0x50], esi
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x50]
mov eax, dword [eax + 4]
push edx
call fcn.00562240
add esp, 0x24
jmp 0x5b4244
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 4]
test esi, esi
jne 0x5b225b
test ebx, ebx
je 0x5b224c
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x20]
cdq
push edx
push eax
push str.page_size
jmp 0x5b4238
xor eax, eax
cdq
push edx
push eax
push str.page_size
jmp 0x5b4238
mov ecx, esi
call fcn.0055e3b0
push 0
push 0xffffffffffffffff
mov dword [edi + 0x48], eax
call fcn.0056c7e0
add esp, 8
cmp eax, 7
jne 0x5b4244
mov byte [edi + 0x40], 1
jmp 0x5b4244
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
or ebx, 0xffffffff
mov dword [esp + 0x44], eax
test esi, esi
je 0x5b22aa
push 0
push 1
mov ebx, esi
call fcn.005661d0
xor ebx, ebx
add esp, 8
test al, al
setne bl
mov ecx, dword [esp + 0x74]
cmp dword [ecx + 4], 0
jne 0x5b22d8
test ebx, ebx
jl 0x5b22d8
xor esi, esi
cmp dword [edi + 0x14], esi
jle 0x5b22d8
xor ebp, ebp
mov edx, dword [edi + 0x10]
mov ecx, dword [edx + ebp + 4]
mov eax, ebx
call fcn.00562400
inc esi
add ebp, 0x10
cmp esi, dword [edi + 0x14]
jl 0x5b22c1
mov ecx, dword [esp + 0x44]
mov eax, ebx
call fcn.00562400
cdq
push edx
push eax
push str.secure_delete
jmp 0x5b4238
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x10]
mov eax, edi
call fcn.005a5780
inc dword [edi + 0x4c]
mov eax, dword [esp + 0x20]
movzx ecx, byte [eax]
cmp byte [ecx + 0x65b518], 0x70
mov edi, dword [edi + 0x4c]
jne 0x5b2328
push edi
push ebx
push 0x94
mov eax, ebp
call fcn.0056cfb0
add esp, 0xc
jmp 0x5b2346
mov ecx, esi
call fcn.0055e3b0
call fcn.0055e940
push eax
push edi
push ebx
push 0x95
mov eax, ebp
call fcn.0056ceb0
add esp, 0x10
push 1
push edi
push 0x20
mov eax, ebp
call fcn.0056cfb0
push 1
mov ebx, ebp
call fcn.00576000
mov edx, dword [esp + 0x30]
push 0xffffffffffffffff
push edx
push 0
push 0
mov ecx, ebp
call fcn.0057f030
add esp, 0x20
jmp 0x5b4244
mov dword [esp + 0x6c], str.normal
call fcn.00566260
mov edx, eax
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 4]
test eax, eax
jne 0x5b23cd
cmp edx, 0xffffffff
jne 0x5b239a
movzx eax, byte [edi + 0x41]
jmp 0x5b23de
test eax, eax
jne 0x5b23cd
mov esi, 2
cmp dword [edi + 0x14], esi
jle 0x5b23ca
mov ebx, 0x20
lea ecx, [ecx]
mov ecx, dword [edi + 0x10]
mov eax, dword [ebx + ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.0056bc80
inc esi
add ebx, 0x10
cmp esi, dword [edi + 0x14]
jl 0x5b23b0
mov byte [edi + 0x41], dl
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.0056bc80
cmp eax, 1
jne 0x5b23eb
mov dword [esp + 0x6c], str.exclusive
push 1
mov ebx, ebp
call fcn.00576000
push 0
push str.locking_mode
push 0
push 0
mov ecx, ebp
call fcn.0057f030
mov ecx, dword [esp + 0x80]
push 0
push ecx
push 0
push 1
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
push 1
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
add esp, 0x38
jmp 0x5b4244
push 1
mov ebx, ebp
call fcn.00576000
push 0
push str.journal_mode
push 0
push 0
mov ecx, ebp
call fcn.0057f030
add esp, 0x14
test esi, esi
jne 0x5b2460
mov dword [esp + 0x6c], 0xffffffff
jmp 0x5b249f
mov ecx, esi
call fcn.0055d9f0
mov dword [esp + 0x44], eax
xor ebx, ebx
lea ecx, [ecx]
cmp ebx, 6
je 0x5b2456
mov eax, dword [ebx*4 + 0x65c46c]
test eax, eax
je 0x5b2456
mov edx, dword [esp + 0x44]
push edx
push eax
push esi
call fcn.0055db10
add esp, 0xc
test eax, eax
je 0x5b2496
inc ebx
jmp 0x5b2470
mov dword [esp + 0x6c], ebx
cmp ebx, 0xffffffff
jne 0x5b24ba
mov eax, dword [esp + 0x74]
cmp dword [eax + 4], 0
jne 0x5b24ba
mov ecx, eax
mov dword [esp + 0x10], 0
mov dword [ecx + 4], 1
mov esi, dword [edi + 0x14]
sub esi, 1
js 0x5b250d
mov ebx, esi
shl ebx, 4
jmp 0x5b24d0
mov edx, dword [edi + 0x10]
cmp dword [ebx + edx + 4], 0
je 0x5b2505
cmp esi, dword [esp + 0x10]
je 0x5b24ea
mov eax, dword [esp + 0x74]
cmp dword [eax + 4], 0
jne 0x5b2505
mov ecx, esi
mov eax, ebp
call fcn.00562f10
mov ecx, dword [esp + 0x6c]
push ecx
push 1
push esi
push 0xc
call fcn.0056ceb0
add esp, 0x10
dec esi
sub ebx, 0x10
test esi, esi
jge 0x5b24d0
push 1
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
jmp 0x5b4241
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
or eax, 0xffffffff
mov ecx, 0xfffffffe
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
test esi, esi
je 0x5b2575
mov ecx, esi
call fcn.0055d9f0
push eax
lea edx, [esp + 0x54]
push edx
mov al, 1
call fcn.0055e0d0
mov eax, dword [esp + 0x5c]
add esp, 8
cmp eax, 0xffffffff
jg 0x5b2571
jl 0x5b256a
mov ecx, dword [esp + 0x50]
cmp ecx, 0xffffffff
jae 0x5b2575
or ecx, 0xffffffff
or eax, ecx
jmp 0x5b2575
mov ecx, dword [esp + 0x50]
push eax
push ecx
mov ecx, edi
call fcn.0056bcb0
push edx
push eax
mov eax, dword [esp + 0x7c]
push str.journal_size_limit
call fcn.005831d0
add esp, 0x14
jmp 0x5b4244
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 4]
test esi, esi
jne 0x5b25b5
mov eax, ebx
call fcn.005624e0
cdq
push edx
push eax
push str.auto_vacuum
jmp 0x5b4238
call fcn.005662a0
mov dword [esp + 0x6c], eax
mov byte [edi + 0x42], al
push eax
mov eax, ebx
call fcn.00562470
add esp, 4
test eax, eax
jne 0x5b4244
mov esi, dword [esp + 0x6c]
cmp esi, 1
je 0x5b25e6
cmp esi, 2
jne 0x5b4244
push 0x65c484
push 6
push ebp
call fcn.0056d060
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp dword [ebp + 0x1c], eax
jbe 0x5b2609
mov edi, dword [ebp + 4]
lea edx, [eax + eax*4]
mov dword [edi + edx*4 + 4], ecx
lea edx, [eax + 1]
cmp dword [ebp + 0x1c], edx
jbe 0x5b261b
mov edi, dword [ebp + 4]
lea edx, [edx + edx*4]
mov dword [edi + edx*4 + 4], ecx
lea edx, [eax + 2]
cmp dword [ebp + 0x1c], edx
jbe 0x5b2630
mov ebx, dword [ebp + 4]
lea edi, [eax + 4]
lea edx, [edx + edx*4]
mov dword [ebx + edx*4 + 8], edi
lea edx, [eax + 4]
cmp dword [ebp + 0x1c], edx
jbe 0x5b2643
mov edi, dword [ebp + 4]
dec esi
lea edx, [edx + edx*4]
mov dword [edi + edx*4 + 4], esi
add eax, 5
cmp dword [ebp + 0x1c], eax
jbe 0x5b2655
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 4], ecx
mov eax, ebp
call fcn.00562f10
jmp 0x5b4244
test esi, esi
je 0x5b267f
lea eax, [esp + 0x44]
push eax
push esi
call fcn.0055e2e0
add esp, 8
test eax, eax
je 0x5b267f
mov esi, dword [esp + 0x44]
test esi, esi
jg 0x5b2684
mov esi, SysReAllocString
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x6c]
push 0
mov ecx, edi
call fcn.005a5880
push 1
push esi
push 0x17
mov eax, ebp
call fcn.0056cfb0
push edi
push 0x85
mov eax, ebp
call fcn.0056cf60
mov esi, eax
push 1
push 0x20
mov eax, ebp
call fcn.0056cf60
push 0xffffffffffffffff
push 1
push 0x22
mov eax, ebp
call fcn.0056cfb0
push esi
push 1
push 0x80
mov eax, ebp
call fcn.0056cfb0
add esp, 0x38
mov eax, esi
mov edx, ebp
call fcn.00562ed0
jmp 0x5b4244
test esi, esi
jne 0x5b2703
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0x50]
cdq
push edx
push eax
push str.cache_size
jmp 0x5b4238
mov ecx, esi
call fcn.0055e3b0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x50]
mov eax, dword [ecx + 4]
push edx
call fcn.00562240
add esp, 4
jmp 0x5b4244
test esi, esi
je 0x5b27c7
mov ecx, esi
call fcn.0055d9f0
push eax
lea eax, [esp + 0x54]
push eax
mov al, 1
call fcn.0055e0d0
mov ecx, dword [esp + 0x5c]
add esp, 8
test ecx, ecx
jg 0x5b276f
jl 0x5b275b
cmp dword [esp + 0x50], 0
jae 0x5b276f
mov ecx, dword [0x69fde8]
mov dword [esp + 0x50], ecx
mov ecx, dword [0x69fdec]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x74]
cmp dword [edx + 4], 0
jne 0x5b2783
mov eax, dword [esp + 0x50]
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], ecx
mov esi, dword [edi + 0x14]
sub esi, 1
js 0x5b27c7
mov ebp, dword [esp + 0x10]
mov ebx, esi
shl ebx, 4
mov edx, dword [edi + 0x10]
mov eax, dword [ebx + edx + 4]
test eax, eax
je 0x5b27bf
cmp esi, ebp
je 0x5b27ad
mov edx, dword [esp + 0x74]
cmp dword [edx + 4], 0
jne 0x5b27bf
push ecx
mov ecx, dword [esp + 0x54]
push ecx
call fcn.00562290
mov ecx, dword [esp + 0x5c]
add esp, 8
dec esi
sub ebx, 0x10
test esi, esi
jge 0x5b2794
or eax, 0xffffffff
lea edx, [esp + 0x50]
push edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
push 0x12
push eax
push edi
call fcn.00572550
add esp, 0x10
test eax, eax
jne 0x5b27ff
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
push ecx
push edx
push str.mmap_size
jmp 0x5b4238
cmp eax, 0xc
je 0x5b4244
mov ecx, dword [esp + 0x6c]
inc dword [ecx + 0x44]
mov dword [ecx + 0xc], eax
jmp 0x5b4244
test esi, esi
jne 0x5b282c
movzx eax, byte [edi + 0x3f]
cdq
push edx
push eax
push str.temp_store
jmp 0x5b4238
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x6c]
call fcn.005a59f0
jmp 0x5b4244
test esi, esi
jne 0x5b2872
cmp dword [0x7612f8], esi
je 0x5b4244
push 1
mov ebx, ebp
call fcn.00576000
push esi
push str.temp_store_directory
push esi
push esi
mov ecx, ebp
call fcn.0057f030
mov eax, dword [0x7612f8]
push esi
push eax
jmp 0x5b2410
cmp byte [esi], 0
je 0x5b28aa
mov eax, dword [edi]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x44]
push ecx
push 1
push esi
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x5b2894
cmp dword [esp + 0x44], eax
jne 0x5b28aa
mov edi, dword [esp + 0x6c]
push str.not_a_writable_directory
call fcn.00573960
add esp, 4
jmp 0x5b4244
cmp byte [edi + 0x3f], 1
ja 0x5b28b9
mov eax, dword [esp + 0x6c]
call fcn.005a59a0
mov eax, dword [0x7612f8]
push eax
call fcn.0055d790
add esp, 4
cmp byte [esi], 0
je 0x5b28e4
push esi
push 0x60c800
call fcn.005737f0
add esp, 8
mov dword [0x7612f8], eax
jmp 0x5b4244
mov dword [0x7612f8], 0
jmp 0x5b4244
test esi, esi
jne 0x5b2926
cmp dword [0x7612fc], esi
je 0x5b4244
push 1
mov ebx, ebp
call fcn.00576000
push esi
push str.data_store_directory
push esi
push esi
mov ecx, ebp
call fcn.0057f030
mov ecx, dword [0x7612fc]
jmp 0x5b240d
cmp byte [esi], 0
je 0x5b2950
mov edi, dword [edi]
mov eax, dword [edi + 0x20]
lea edx, [esp + 0x44]
push edx
push 1
push esi
push edi
call eax
add esp, 0x10
test eax, eax
jne 0x5b2894
cmp dword [esp + 0x44], eax
je 0x5b2894
mov ecx, dword [0x7612fc]
push ecx
call fcn.0055d790
add esp, 4
cmp byte [esi], 0
je 0x5b297c
push esi
push 0x60c800
call fcn.005737f0
add esp, 8
mov dword [0x7612fc], eax
jmp 0x5b4244
mov dword [0x7612fc], 0
jmp 0x5b4244
test esi, esi
jne 0x5b29a5
mov edx, dword [esp + 0x14]
movzx eax, byte [edx + 8]
dec eax
cdq
push edx
push eax
push str.synchronous
jmp 0x5b4238
cmp byte [edi + 0x3e], 0
jne 0x5b29c1
mov edi, dword [esp + 0x6c]
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.00573960
add esp, 4
jmp 0x5b4244
push 1
push 0
mov ebx, esi
call fcn.005661d0
mov ecx, dword [esp + 0x1c]
inc al
push edi
mov byte [ecx + 8], al
call fcn.00566320
jmp 0x5b4241
mov eax, dword [ebx + 0x65c1b0]
test esi, esi
jne 0x5b2a02
and eax, dword [edi + 0x18]
neg eax
sbb eax, eax
neg eax
cdq
push edx
mov edx, dword [ebx + 0x65c1a8]
push eax
push edx
jmp 0x5b4238
cmp byte [edi + 0x3e], 0
mov dword [esp + 0x6c], eax
jne 0x5b2a14
and dword [esp + 0x6c], 0xfff7ffff
push 0
push 1
mov ebx, esi
call fcn.005661d0
add esp, 8
test al, al
je 0x5b2a2f
mov ecx, dword [esp + 0x6c]
or dword [edi + 0x18], ecx
jmp 0x5b2a4f
mov eax, dword [esp + 0x6c]
mov edx, eax
not edx
and dword [edi + 0x18], edx
cmp eax, 0x1000000
jne 0x5b2a4f
xor eax, eax
mov dword [edi + 0x1f8], eax
mov dword [edi + 0x1fc], eax
push 0
push 0
push 0x86
mov eax, ebp
call fcn.0056cfb0
push edi
call fcn.00566320
add esp, 0x10
jmp 0x5b4244
test esi, esi
je 0x5b4244
mov eax, dword [esp + 0x18]
push eax
push esi
push edi
call fcn.00564d30
mov edi, eax
add esp, 0xc
test edi, edi
je 0x5b4244
mov dword [esp + 0x38], 0
call fcn.005651b0
push 6
mov ebx, ebp
mov dword [esp + 0x48], eax
call fcn.00576000
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x14]
mov eax, esi
mov dword [esi + 0x4c], 6
call fcn.005a5780
push 0
push 0x661ac8
push 0
push 0
mov ecx, ebp
call fcn.0057f030
push 0
push str.name
push 0
mov ebx, 1
push ebx
mov ecx, ebp
call fcn.0057f030
push 0
push str.type
push 0
push 2
mov ecx, ebp
call fcn.0057f030
push 0
push str.notnull
push 0
push 3
mov ecx, ebp
call fcn.0057f030
add esp, 0x44
push 0
push str.dflt_value
push 0
push 4
mov ecx, ebp
call fcn.0057f030
push 0
push 0x661aa0
push 0
push 5
mov ecx, ebp
call fcn.0057f030
push edi
mov eax, esi
call fcn.00593dc0
mov esi, dword [edi + 4]
xor eax, eax
xor ecx, ecx
add esp, 0x24
cmp cx, word [edi + 0x26]
mov dword [esp + 0x6c], eax
jge 0x5b4244
test byte [esi + 0x17], 2
je 0x5b2b60
add dword [esp + 0x38], ebx
jmp 0x5b2c3f
sub eax, dword [esp + 0x38]
push ebx
push eax
push 0x17
mov eax, ebp
call fcn.0056cfb0
mov edx, dword [esi]
push 0
push edx
push 0
push 2
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
mov eax, dword [esi + 0xc]
add esp, 0x24
test eax, eax
jne 0x5b2b92
mov eax, 0x60c81c
push 0
push eax
push 0
push 3
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
xor eax, eax
cmp byte [esi + 0x14], al
push 4
setne al
push eax
push 0x17
mov eax, ebp
call fcn.0056cfb0
mov eax, dword [esi + 8]
add esp, 0x24
test eax, eax
je 0x5b2bd9
push 0
push eax
push 0
push 5
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
add esp, 0x18
jmp 0x5b2be9
push 5
push 0
push 0x1a
mov eax, ebp
call fcn.0056cfb0
add esp, 0xc
test byte [esi + 0x17], bl
jne 0x5b2bf2
xor eax, eax
jmp 0x5b2c18
mov ecx, dword [esp + 0x44]
mov eax, ebx
test ecx, ecx
je 0x5b2c18
movsx edx, word [edi + 0x26]
cmp edx, ebx
jl 0x5b2c18
mov ecx, dword [ecx + 4]
movsx ebx, word [ecx]
cmp ebx, dword [esp + 0x6c]
je 0x5b2c18
inc eax
add ecx, 2
cmp eax, edx
jle 0x5b2c07
push 6
push eax
push 0x17
mov eax, ebp
call fcn.0056cfb0
push 6
mov ebx, 1
push ebx
push 0x20
mov eax, ebp
call fcn.0056cfb0
mov eax, dword [esp + 0x84]
add esp, 0x18
movsx ecx, word [edi + 0x26]
add eax, ebx
add esi, 0x18
cmp eax, ecx
mov dword [esp + 0x6c], eax
jl 0x5b2b51
jmp 0x5b4244
mov edi, dword [esp + 0x6c]
call fcn.0057a370
mov esi, eax
push 4
mov ebx, esi
call fcn.00576000
mov ebx, dword [esp + 0x14]
mov eax, edi
mov dword [edi + 0x4c], 4
call fcn.005a5780
push 0
push str.table
push 0
push 0
mov ecx, esi
call fcn.0057f030
push 0
push str.index
push 0
push 1
mov ecx, esi
call fcn.0057f030
push 0
push str.width
push 0
push 2
mov ecx, esi
call fcn.0057f030
push 0
push str.height
push 0
push 3
mov ecx, esi
call fcn.0057f030
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 0xc]
mov ebx, dword [eax + 0x10]
add esp, 0x44
test ebx, ebx
je 0x5b4244
lea esp, [esp]
mov edi, dword [ebx + 8]
mov ecx, dword [edi]
push 0
push ecx
push 0
push 1
push 0
push 0x5f
mov eax, esi
call fcn.00575b20
push 2
push 0
push 0x1a
mov eax, esi
call fcn.0056cfb0
mov ax, word [edi + 0x2a]
add esp, 0x24
push 3
call fcn.0055ea50
push eax
push 0x17
mov eax, esi
call fcn.0056cfb0
mov edx, dword [edi + 0x1c]
push 4
push edx
push 0x17
mov eax, esi
call fcn.0056cfb0
push 4
push 1
push 0x20
mov eax, esi
call fcn.0056cfb0
mov edi, dword [edi + 8]
add esp, 0x24
test edi, edi
je 0x5b2d96
mov eax, dword [edi]
push 0
push eax
push 0
push 2
push 0
push 0x5f
mov eax, esi
call fcn.00575b20
mov ax, word [edi + 0x30]
add esp, 0x18
push 3
call fcn.0055ea50
push eax
push 0x17
mov eax, esi
call fcn.0056cfb0
mov ecx, dword [edi + 8]
mov edx, dword [ecx]
push 4
push edx
push 0x17
mov eax, esi
call fcn.0056cfb0
push 4
push 1
push 0x20
mov eax, esi
call fcn.0056cfb0
mov edi, dword [edi + 0x14]
add esp, 0x24
test edi, edi
jne 0x5b2d42
mov ebx, dword [ebx]
test ebx, ebx
jne 0x5b2ce0
jmp 0x5b4244
test esi, esi
je 0x5b4244
mov eax, dword [esp + 0x18]
push eax
push esi
mov ecx, edi
call fcn.00564e30
mov edi, eax
add esp, 8
test edi, edi
je 0x5b4244
mov ecx, dword [edi + 0xc]
push 3
mov ebx, ebp
mov dword [esp + 0x48], ecx
call fcn.00576000
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x4c], 3
call fcn.005a5780
push 0
push str.seqno
push 0
push 0
mov ecx, ebp
call fcn.0057f030
push 0
push 0x661ac8
push 0
push 1
mov ecx, ebp
call fcn.0057f030
push 0
push str.name
push 0
push 2
mov ecx, ebp
call fcn.0057f030
xor edx, edx
add esp, 0x34
xor esi, esi
cmp dx, word [edi + 0x32]
jae 0x5b4244
mov eax, dword [edi + 4]
movzx ebx, word [eax + esi*2]
push 1
push esi
push 0x17
mov eax, ebp
call fcn.0056cfb0
movsx ebx, bx
push 2
push ebx
push 0x17
mov eax, ebp
call fcn.0056cfb0
mov edx, dword [esp + 0x5c]
mov eax, dword [edx + 4]
push 0
lea ecx, [ebx + ebx*2]
mov ecx, dword [eax + ecx*8]
push ecx
push 0
push 3
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
push 3
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
movzx edx, word [edi + 0x32]
inc esi
add esp, 0x3c
cmp esi, edx
jl 0x5b2e32
jmp 0x5b4244
test esi, esi
je 0x5b4244
mov eax, dword [esp + 0x18]
push eax
push esi
push edi
call fcn.00564d30
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x5b4244
mov edi, dword [esp + 0x6c]
call fcn.0057a370
mov esi, eax
push 3
mov ebx, esi
call fcn.00576000
mov ebx, dword [esp + 0x14]
mov eax, edi
mov dword [edi + 0x4c], 3
call fcn.005a5780
push 0
push 0x661a74
push 0
push 0
mov ecx, esi
call fcn.0057f030
push 0
push str.name
push 0
push 1
mov ecx, esi
call fcn.0057f030
push 0
push str.unique
push 0
push 2
mov ecx, esi
call fcn.0057f030
mov edi, dword [ebp + 8]
add esp, 0x34
xor ebx, ebx
test edi, edi
je 0x5b4244
mov edi, edi
push 1
push ebx
push 0x17
mov eax, esi
call fcn.0056cfb0
mov ecx, dword [edi]
push 0
push ecx
push 0
push 2
push 0
push 0x5f
mov eax, esi
call fcn.00575b20
xor edx, edx
cmp byte [edi + 0x36], dl
push 3
setne dl
mov eax, esi
push edx
push 0x17
call fcn.0056cfb0
push 3
push 1
push 0x20
mov eax, esi
call fcn.0056cfb0
mov edi, dword [edi + 0x14]
add esp, 0x3c
inc ebx
test edi, edi
jne 0x5b2f20
jmp 0x5b4244
push 3
mov ebx, ebp
call fcn.00576000
mov eax, dword [esp + 0x70]
push 0
push 0x661a74
push 0
push 0
mov ecx, ebp
mov dword [eax + 0x4c], 3
call fcn.0057f030
push 0
push str.name
push 0
push 1
mov ecx, ebp
call fcn.0057f030
push 0
push str.file
push 0
push 2
mov ecx, ebp
call fcn.0057f030
xor ebx, ebx
add esp, 0x34
cmp dword [edi + 0x14], ebx
jle 0x5b4244
xor esi, esi
jmp 0x5b2fd0
mov ecx, dword [edi + 0x10]
cmp dword [esi + ecx + 4], 0
je 0x5b302f
push 1
push ebx
push 0x17
mov eax, ebp
call fcn.0056cfb0
mov edx, dword [edi + 0x10]
mov eax, dword [esi + edx]
push 0
push eax
push 0
push 2
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
mov ecx, dword [edi + 0x10]
mov eax, dword [esi + ecx + 4]
add esp, 0x24
push 0
call fcn.005629c0
push eax
push 0
push 3
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
push 3
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
add esp, 0x24
inc ebx
add esi, 0x10
cmp ebx, dword [edi + 0x14]
jl 0x5b2fd0
jmp 0x5b4244
push 2
mov ebx, ebp
xor esi, esi
call fcn.00576000
mov edx, dword [esp + 0x70]
push esi
push 0x661a74
push esi
push esi
mov ecx, ebp
mov dword [edx + 0x4c], 2
call fcn.0057f030
push esi
push str.name
push esi
push 1
mov ecx, ebp
call fcn.0057f030
mov edi, dword [edi + 0x1ac]
add esp, 0x24
test edi, edi
je 0x5b4244
mov ebx, dword [edi + 8]
push 1
push esi
push 0x17
mov eax, ebp
call fcn.0056cfb0
mov eax, dword [ebx]
push 0
push eax
push 0
push 2
push 0
push 0x5f
mov eax, ebp
inc esi
call fcn.00575b20
push 2
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
mov edi, dword [edi]
add esp, 0x30
test edi, edi
jne 0x5b3083
jmp 0x5b4244
test esi, esi
je 0x5b4244
mov ecx, dword [esp + 0x18]
push ecx
push esi
push edi
call fcn.00564d30
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x44], ebx
test ebx, ebx
je 0x5b4244
mov edi, dword [esp + 0x6c]
call fcn.0057a370
mov ebp, dword [ebx + 0x10]
mov esi, eax
test ebp, ebp
je 0x5b4244
push 8
mov ebx, esi
mov dword [esp + 0x3c], 0
call fcn.00576000
mov ebx, dword [esp + 0x14]
mov eax, edi
mov dword [eax + 0x4c], 8
call fcn.005a5780
push 0
push 0x6473b0
push 0
push 0
mov ecx, esi
call fcn.0057f030
push 0
push 0x661a74
push 0
push 1
mov ecx, esi
call fcn.0057f030
push 0
push str.table
push 0
push 2
mov ecx, esi
call fcn.0057f030
push 0
push str.from
push 0
push 3
mov ecx, esi
call fcn.0057f030
add esp, 0x44
push 0
push 0x661a68
push 0
push 4
mov ecx, esi
call fcn.0057f030
push 0
push str.on_update
push 0
push 5
mov ecx, esi
call fcn.0057f030
push 0
push str.on_delete
push 0
push 6
mov ecx, esi
call fcn.0057f030
push 0
push str.match
push 0
push 7
mov ecx, esi
call fcn.0057f030
add esp, 0x40
jmp 0x5b31c0
xor ebx, ebx
cmp dword [ebp + 0x14], ebx
jle 0x5b32cf
lea edx, [ebp + 0x24]
mov dword [esp + 0x6c], edx
mov eax, dword [esp + 0x6c]
mov edi, dword [eax + 4]
mov al, byte [ebp + 0x19]
call fcn.005663b0
mov dword [esp + 0x3c], eax
mov al, byte [ebp + 0x1a]
call fcn.005663b0
mov ecx, dword [esp + 0x38]
push 1
push ecx
mov dword [esp + 0x48], eax
push 0x17
mov eax, esi
call fcn.0056cfb0
push 2
push ebx
push 0x17
mov eax, esi
call fcn.0056cfb0
mov edx, dword [ebp + 8]
push 0
push edx
push 0
push 3
push 0
push 0x5f
mov eax, esi
call fcn.00575b20
mov eax, dword [esp + 0x9c]
mov eax, dword [eax]
mov edx, dword [esp + 0x74]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx*8]
push 0
push ecx
push 0
push 4
push 0
push 0x5f
mov eax, esi
call fcn.00575b20
add esp, 0x48
push 0
push edi
neg edi
push 0
sbb edi, edi
push 5
and edi, 0x45
push 0
add edi, 0x1a
push edi
mov eax, esi
call fcn.00575b20
mov edx, dword [esp + 0x58]
push 0
push edx
push 0
push 6
push 0
push 0x5f
mov eax, esi
call fcn.00575b20
mov eax, dword [esp + 0x6c]
push 0
push eax
push 0
push 7
push 0
push 0x5f
mov eax, esi
call fcn.00575b20
add esp, 0x48
push 0
push str.NONE
push 0
push 8
push 0
push 0x5f
mov eax, esi
call fcn.00575b20
push 8
push 1
push 0x20
mov eax, esi
call fcn.0056cfb0
add dword [esp + 0x90], 8
inc ebx
add esp, 0x24
cmp ebx, dword [ebp + 0x14]
jl 0x5b31d2
mov ebp, dword [ebp + 4]
inc dword [esp + 0x38]
test ebp, ebp
jne 0x5b31c0
jmp 0x5b4244
mov edi, dword [esp + 0x6c]
mov eax, dword [edi + 0x4c]
lea esi, [eax + 5]
lea ecx, [eax + 1]
lea eax, [esi + 1]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], esi
mov dword [edi + 0x4c], eax
call fcn.0057a370
mov ebp, eax
push 4
mov ebx, ebp
call fcn.00576000
push 0
push str.table
push 0
push 0
mov ecx, ebp
call fcn.0057f030
push 0
push str.rowid
push 0
push 1
mov ecx, ebp
call fcn.0057f030
push 0
push str.parent
push 0
push 2
mov ecx, ebp
call fcn.0057f030
push 0
push str.fkid
push 0
push 3
mov ecx, ebp
call fcn.0057f030
mov ebx, dword [esp + 0x54]
add esp, 0x44
mov eax, edi
call fcn.005a5780
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + eax + 0xc]
mov eax, dword [edx + 0x10]
test eax, eax
je 0x5b4244
mov edi, edi
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x5b339f
mov ebx, dword [esp + 0x18]
push ecx
push 0
mov eax, edi
call fcn.005b0a20
add esp, 8
mov ebx, eax
xor eax, eax
jmp 0x5b33a4
mov ebx, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x5b37b9
cmp dword [ebx + 0x10], 0
je 0x5b37b9
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x20]
mov edx, dword [esp + 0x10]
push eax
push 0
push ecx
push edx
mov eax, edi
call fcn.0056f250
movsx ecx, word [ebx + 0x26]
lea eax, [esi + 1]
add eax, ecx
add esp, 0x10
cmp eax, dword [edi + 0x4c]
jle 0x5b33e7
mov dword [edi + 0x4c], eax
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x34]
push 0x32
push edx
push 0
mov eax, esi
mov ebx, edi
call fcn.00594320
mov eax, dword [esi]
mov ecx, dword [esp + 0x4c]
push 0
push eax
push 0
push ecx
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
mov esi, dword [esi + 0x10]
add esp, 0x24
mov dword [esp + 0x14], 1
test esi, esi
je 0x5b34df
lea ebx, [ebx]
mov edx, dword [esp + 0x18]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x1c]
push edx
push eax
push ecx
call fcn.00564d30
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x5b34d0
mov edx, dword [ebx]
mov eax, dword [ebx + 0x20]
mov ecx, dword [esp + 0x10]
push edx
push 0
push eax
push ecx
mov eax, edi
mov dword [esp + 0x34], 0
call fcn.0056f250
push 0
lea edx, [esp + 0x38]
push edx
push esi
push ebx
push edi
call fcn.00578d20
add esp, 0x24
test eax, eax
jne 0x5b4244
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
test edi, edi
jne 0x5b34ad
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x6c]
push 0x32
push eax
mov eax, ebx
push ecx
mov ebx, edi
call fcn.00594320
add esp, 0xc
jmp 0x5b34d0
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x2c]
push edx
push eax
push ecx
push 0x32
mov eax, ebp
call fcn.0056ceb0
mov ecx, edi
mov edi, dword [esp + 0x7c]
add esp, 0x10
mov eax, edi
call fcn.00592870
mov esi, dword [esi + 4]
inc dword [esp + 0x14]
test esi, esi
jne 0x5b3430
mov eax, dword [esp + 0x14]
cmp dword [edi + 0x48], eax
jge 0x5b34eb
mov dword [edi + 0x48], eax
push 0
push 0x67
mov eax, ebp
call fcn.0056cf60
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x54], eax
mov eax, dword [edx + 0x10]
add esp, 8
mov dword [esp + 0x14], 1
mov dword [esp + 0x28], eax
test eax, eax
je 0x5b378e
jmp 0x5b3520
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
xor edi, edi
call fcn.00564d30
mov esi, eax
add esp, 0xc
mov dword [esp + 0x48], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x3c], edi
cmp esi, edi
je 0x5b3567
mov edx, dword [esp + 0x6c]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x28]
push ecx
push ebx
push esi
push edx
call fcn.00578d20
add esp, 0x14
mov eax, ebp
call fcn.0056d000
mov dword [esp + 0x38], eax
cmp esi, edi
je 0x5b3616
cmp dword [esp + 0x24], edi
jne 0x5b3616
mov edi, dword [ebx + 0x24]
mov ebx, dword [esp + 0x34]
movsx eax, word [ebx + 0x24]
mov esi, dword [esp + 0x2c]
inc esi
cmp edi, eax
push esi
mov eax, ebp
je 0x5b35d4
push edi
push 0
push 0x2b
call fcn.0056ceb0
push esi
push ebx
push ebp
mov eax, edi
call fcn.0058df60
mov ecx, dword [esp + 0x54]
push ecx
push esi
push 0x4a
mov eax, ebp
call fcn.0056cfb0
mov edx, dword [ebp + 0x1c]
add edx, 3
push edx
push esi
push 0x23
mov eax, ebp
call fcn.0056cfb0
add esp, 0x34
jmp 0x5b35e0
push 0
push 0x62
call fcn.0056cfb0
add esp, 0xc
mov eax, dword [esp + 0x14]
push esi
push 0
push eax
push 0x41
mov eax, ebp
call fcn.0056ceb0
mov ecx, dword [esp + 0x48]
push ecx
push 0
push 0x10
mov eax, ebp
call fcn.0056cfb0
mov eax, dword [ebp + 0x1c]
add esp, 0x1c
sub eax, 2
mov edx, ebp
call fcn.00562ed0
jmp 0x5b370f
cmp dword [ebx + 0x14], edi
jle 0x5b3664
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
inc ebx
add esi, 0x24
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x5b3634
mov eax, dword [eax + edi*4]
jmp 0x5b3636
mov eax, dword [esi]
mov edx, dword [esp + 0x34]
push 0
push edx
mov ecx, ebp
call fcn.00593bc0
mov eax, dword [esp + 0x40]
push eax
push ebx
push 0x4a
mov eax, ebp
call fcn.0056cfb0
mov ecx, dword [esp + 0x3c]
inc edi
add esp, 0x14
add esi, 8
inc ebx
cmp edi, dword [ecx + 0x14]
jl 0x5b3627
cmp dword [esp + 0x48], 0
je 0x5b370f
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 0x14]
push eax
push ecx
inc eax
push eax
push 0x2d
mov eax, ebp
call fcn.0056ceb0
mov esi, dword [esp + 0x34]
add esp, 0x10
mov eax, ebp
call fcn.00570480
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov ebx, eax
test ecx, ecx
je 0x5b36e9
cmp byte [edi + 0x40], 0
jne 0x5b36e9
mov eax, dword [ebp + 0x1c]
dec eax
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.0056d100
xor eax, eax
mov dword [esi + 0x10], eax
cmp ebx, eax
jne 0x5b36cf
mov dword [esi + 0x10], eax
mov byte [esi + 1], al
jmp 0x5b36f2
mov ecx, ebx
call fcn.0055d9f0
mov edx, dword [ebp]
mov edi, eax
call fcn.00569990
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
jmp 0x5b36f2
mov ecx, ebx
xor eax, eax
call fcn.0056d100
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x14]
push 0
push eax
push ecx
push edx
push 0x40
mov eax, ebp
call fcn.00575c60
add esp, 0x14
mov esi, dword [esp + 0x40]
lea eax, [esi + 1]
push eax
push 0
push 0x62
mov eax, ebp
call fcn.0056cfb0
mov ebx, dword [esp + 0x34]
mov eax, dword [ebx + 8]
push 0
push eax
push 0
lea eax, [esi + 2]
push eax
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
mov edi, dword [esp + 0x38]
lea eax, [esi + 3]
push eax
lea ecx, [edi - 1]
push ecx
push 0x17
mov eax, ebp
call fcn.0056cfb0
push 4
push esi
push 0x20
mov eax, ebp
call fcn.0056cfb0
mov edx, dword [esp + 0x74]
push edx
mov edx, ebp
call fcn.00562eb0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x5c]
add esp, 0x40
call fcn.0055d830
mov eax, dword [ebx + 4]
inc edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x28], eax
test eax, eax
jne 0x5b3520
mov esi, dword [esp + 0x4c]
lea eax, [esi + 1]
push eax
push 0
push 9
mov eax, ebp
call fcn.0056cfb0
add esp, 0xc
mov eax, esi
mov edx, ebp
call fcn.00562ed0
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x5b3380
jmp 0x5b4244
test esi, esi
je 0x5b4244
push 0
push 1
mov ebx, esi
call fcn.005661d0
xor ebx, ebx
add esp, 8
test al, al
setne bl
mov esi, edi
call fcn.00594230
jmp 0x5b4244
mov ecx, dword [esp + 0x20]
movzx edx, byte [ecx]
mov ecx, dword [esp + 0x74]
xor eax, eax
cmp byte [edx + 0x65b518], 0x71
sete al
cmp dword [ecx], 0
mov dword [esp + 0x4c], eax
jne 0x5b3817
mov dword [esp + 0x10], 0xffffffff
mov edx, dword [esp + 0x6c]
push 1
mov ebx, ebp
mov dword [edx + 0x4c], 6
call fcn.00576000
push 0
push str.integrity_check
push 0
push 0
mov ecx, ebp
call fcn.0057f030
add esp, 0x14
mov eax, 0x64
mov dword [esp + 0x34], eax
test esi, esi
je 0x5b386c
lea eax, [esp + 0x34]
push eax
push esi
call fcn.0055e2e0
mov eax, dword [esp + 0x3c]
add esp, 8
test eax, eax
jg 0x5b386c
mov eax, 0x64
mov dword [esp + 0x34], eax
push 1
push eax
push 0x17
mov eax, ebp
call fcn.0056cfb0
xor ebx, ebx
add esp, 0xc
cmp dword [edi + 0x14], ebx
mov dword [esp + 0x28], ebx
jle 0x5b3d4c
mov dword [esp + 0x38], ebx
mov edi, edi
mov eax, dword [esp + 0x10]
xor esi, esi
test eax, eax
jl 0x5b38a2
cmp ebx, eax
jne 0x5b3d35
mov edi, dword [esp + 0x6c]
mov eax, edi
call fcn.005a5780
push 1
push 0x80
mov eax, ebp
call fcn.0056cf60
push 0
mov ebx, eax
push 0
push 0x16
mov eax, ebp
call fcn.0056cfb0
add esp, 0x14
mov eax, ebx
mov edx, ebp
call fcn.00562ed0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov edx, dword [ecx + 0x10]
mov ebx, dword [eax + edx + 0xc]
mov eax, dword [ebx + 0x10]
add ebx, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x5b394e
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 8]
test byte [edi + 0x2c], 0x20
jne 0x5b3915
mov eax, dword [edi + 0x20]
lea edx, [esi + 2]
push edx
push eax
push 0x17
mov eax, ebp
call fcn.0056cfb0
add esp, 0xc
inc esi
mov edi, dword [edi + 8]
test edi, edi
je 0x5b393c
lea esp, [esp]
mov edx, dword [edi + 0x2c]
lea ecx, [esi + 2]
push ecx
push edx
push 0x17
mov eax, ebp
call fcn.0056cfb0
mov edi, dword [edi + 0x14]
add esp, 0xc
inc esi
test edi, edi
jne 0x5b3920
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x5b38f3
mov edi, dword [esp + 0x6c]
mov ecx, dword [edi + 0x4c]
lea eax, [esi + 8]
cmp ecx, eax
jle 0x5b395a
mov eax, ecx
push 1
push esi
mov dword [edi + 0x4c], eax
push 2
push 0x77
mov eax, ebp
call fcn.0056ceb0
mov eax, dword [ebp + 4]
add esp, 0x10
test eax, eax
je 0x5b3983
mov ecx, dword [ebp + 0x1c]
mov dl, byte [esp + 0x28]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x11], dl
push 2
push 0x4a
mov eax, ebp
call fcn.0056cf60
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x40]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + eax]
push 0xffffffffffffffff
push edx
push str._in_database__s__n
call fcn.005736c0
add esp, 8
push eax
push 0
push 3
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
push 4
push 2
push 0x1d
mov eax, ebp
call fcn.0056cfb0
push 2
push 3
push 4
push 0x5c
mov eax, ebp
call fcn.0056ceb0
push 1
push 2
push 0x20
mov eax, ebp
call fcn.0056cfb0
add esp, 0x40
mov eax, edi
mov edx, ebp
call fcn.00562ed0
mov ebx, dword [ebx + 8]
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x5b3d31
cmp dword [esp + 0x4c], 0
jne 0x5b3d31
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 8]
cmp dword [edi + 8], 0
mov dword [esp + 0x14], edi
je 0x5b3d1f
test byte [edi + 0x2c], 0x20
jne 0x5b3a35
mov dword [esp + 0x2c], 0
jmp 0x5b3a40
mov eax, edi
call fcn.005651b0
mov dword [esp + 0x2c], eax
push 1
push 0x80
mov eax, ebp
call fcn.0056cf60
push 0
mov esi, eax
push 0
push 0x16
mov eax, ebp
call fcn.0056cfb0
mov eax, esi
mov edx, ebp
call fcn.00562ed0
mov edx, dword [esp + 0x80]
call fcn.005649e0
lea ecx, [esp + 0x58]
push ecx
lea eax, [esp + 0x54]
push eax
push 0
push 1
push 0x32
push edi
push edx
call fcn.00594b90
push 7
push 0
push 0x17
mov eax, ebp
call fcn.0056cfb0
mov esi, dword [edi + 8]
add esp, 0x3c
xor ebx, ebx
test esi, esi
je 0x5b3abc
lea ecx, [ebx + 8]
push ecx
push 0
push 0x17
mov eax, ebp
call fcn.0056cfb0
mov esi, dword [esi + 0x14]
add esp, 0xc
inc ebx
test esi, esi
jne 0x5b3aa2
mov edx, dword [esp + 0x6c]
mov ecx, dword [edx + 0x4c]
lea eax, [ebx + 8]
cmp ecx, eax
jle 0x5b3acc
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x3c]
push 0
push edx
mov dword [ecx + 0x4c], eax
push 0x67
mov eax, ebp
call fcn.0056cfb0
push 1
push 7
push 0x22
mov eax, ebp
call fcn.0056cfb0
mov esi, dword [edi + 8]
mov ebx, dword [esp + 0x5c]
add esp, 0x18
mov dword [esp + 0x50], eax
test esi, esi
je 0x5b3c38
mov eax, 8
sub eax, ebx
mov dword [esp + 0x48], eax
nop
cmp dword [esp + 0x2c], esi
je 0x5b3c2c
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
push 0
push 0
push eax
push esi
push ecx
lea eax, [esp + 0x38]
call fcn.00593f20
mov edx, dword [esp + 0x5c]
push 1
add edx, ebx
push edx
mov edi, eax
push 0x22
mov eax, ebp
call fcn.0056cfb0
movzx eax, word [esi + 0x34]
push eax
push edi
push 0
push ebx
push 0x40
mov eax, ebp
call fcn.00575c60
push 0xffffffffffffffff
mov edi, eax
push 1
push 0x22
mov eax, ebp
call fcn.0056cfb0
add esp, 0x40
push 0xfffffffffffffffe
push str.row
push 0
push 3
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
push 3
push 3
push 7
push 0x5c
mov eax, ebp
call fcn.0056ceb0
push 0xfffffffffffffffe
push str._missing_from_index
push 0
push 4
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
add esp, 0x40
push 3
push 3
push 4
push 0x5c
mov eax, ebp
call fcn.0056ceb0
mov ecx, dword [esi]
push 0
push ecx
push 0
push 4
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
push 3
push 3
push 4
push 0x5c
mov eax, ebp
call fcn.0056ceb0
push 1
push 3
push 0x20
mov eax, ebp
call fcn.0056cfb0
add esp, 0x44
push 1
push 0x80
mov eax, ebp
call fcn.0056cf60
mov dword [esp + 0x48], eax
push 0x16
mov eax, ebp
call fcn.0056cf10
mov eax, dword [esp + 0x4c]
mov edx, ebp
call fcn.00562ed0
mov eax, edi
mov edx, ebp
call fcn.00562ed0
mov edx, dword [esp + 0x30]
push edx
mov edx, ebp
call fcn.00562eb0
mov edi, dword [esp + 0x24]
add esp, 0x10
mov esi, dword [esi + 0x14]
inc ebx
test esi, esi
jne 0x5b3b10
mov esi, dword [esp + 0x50]
mov eax, dword [esp + 0x3c]
push esi
push eax
push 9
mov eax, ebp
call fcn.0056cfb0
lea eax, [esi - 1]
mov edx, ebp
call fcn.00562ed0
push 0xfffffffffffffffe
push str.wrong__of_entries_in_index
push 0
push 2
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
mov ebx, dword [edi + 8]
add esp, 0x24
test ebx, ebx
je 0x5b3d1f
mov edi, 8
mov edi, edi
cmp dword [esp + 0x2c], ebx
je 0x5b3d13
mov esi, dword [ebp + 0x1c]
lea ecx, [esi + 2]
push ecx
push 1
push 0x80
mov eax, ebp
call fcn.0056cfb0
push 0
push 0
push 0x16
mov eax, ebp
call fcn.0056cfb0
mov edx, dword [esp + 0x5c]
lea eax, [edx + edi - 8]
push 3
push eax
push 0x2e
mov eax, ebp
call fcn.0056cfb0
push 3
add esi, 8
push esi
push edi
push 0x4d
mov eax, ebp
call fcn.0056ceb0
push 0xffffffffffffffff
push 1
push 0x22
mov eax, ebp
call fcn.0056cfb0
mov ecx, dword [ebx]
add esp, 0x40
push 0
push ecx
push 0
push 3
push 0
push 0x5f
mov eax, ebp
call fcn.00575b20
push 7
push 2
push 3
push 0x5c
mov eax, ebp
call fcn.0056ceb0
push 1
push 7
push 0x20
mov eax, ebp
call fcn.0056cfb0
add esp, 0x34
mov ebx, dword [ebx + 0x14]
inc edi
test ebx, ebx
jne 0x5b3c80
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp + 0x18], eax
test eax, eax
jne 0x5b3a05
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x38], 0x10
inc ebx
cmp ebx, dword [eax + 0x14]
mov dword [esp + 0x28], ebx
jl 0x5b3890
push 0x65c49c
push 4
push ebp
call fcn.0056d060
mov esi, eax
add esp, 0xc
cmp dword [ebp + 0x1c], esi
jbe 0x5b3d73
mov eax, dword [esp + 0x34]
mov edx, dword [ebp + 4]
neg eax
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4 + 8], eax
lea eax, [esi + 1]
mov edx, ebp
call fcn.00562ed0
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
lea eax, [esi + 2]
test ecx, ecx
je 0x5b3dba
cmp byte [edi + 0x40], 0
jne 0x5b3dba
test eax, eax
jge 0x5b3d98
mov eax, dword [ebp + 0x1c]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.0056d100
mov dword [esi + 0x10], 0x6619dc
mov byte [esi + 1], 0xfe
jmp 0x5b4244
mov ecx, 0x6619dc
mov eax, 0xfffffffe
call fcn.0056d100
jmp 0x5b4244
test esi, esi
jne 0x5b3ea1
mov edi, dword [esp + 0x6c]
call fcn.005b0180
test eax, eax
jne 0x5b4244
push 1
mov ebx, ebp
call fcn.00576000
push esi
push str.encoding
push esi
push esi
mov ecx, ebp
call fcn.0057f030
push 1
push esi
push 0x5f
mov eax, ebp
call fcn.0056cfb0
mov ecx, edi
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x4d]
mov ecx, dword [ebp + 4]
mov ebx, dword [edx*8 + 0x65c4b8]
mov edi, dword [ebp]
add esp, 0x20
test ecx, ecx
je 0x5b3e83
cmp byte [edi + 0x40], 0
jne 0x5b3e83
mov eax, dword [ebp + 0x1c]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.0056d100
xor eax, eax
mov dword [esi + 0x10], eax
cmp ebx, eax
jne 0x5b3e6a
push 1
mov dword [esi + 0x10], eax
mov byte [esi + 1], al
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
jmp 0x5b4241
push 1
push 1
push 0x20
mov eax, ebp
mov dword [esi + 0x10], ebx
mov byte [esi + 1], 0xfe
call fcn.0056cfb0
jmp 0x5b4241
mov ecx, ebx
mov eax, 0xfffffffe
call fcn.0056d100
push 1
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
jmp 0x5b4241
mov ecx, dword [edi + 0x10]
mov edx, dword [ecx + 0xc]
movzx eax, word [edx + 0x4e]
test al, 1
je 0x5b3eb7
test al, 4
je 0x5b4244
mov eax, dword [str.UTF8]
mov edi, 0x65c4b8
test eax, eax
je 0x5b3f06
push eax
push esi
call fcn.0055dac0
add esp, 8
test eax, eax
je 0x5b3edf
mov eax, dword [edi + 8]
add edi, 8
test eax, eax
jne 0x5b3ec5
jmp 0x5b3f06
mov al, byte [edi + 4]
test al, al
movzx eax, al
jne 0x5b3eee
mov eax, 2
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x4d], al
cmp dword [edi], 0
jne 0x5b4244
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x6c]
push eax
push str.unsupported_encoding:__s
call fcn.00573960
add esp, 8
jmp 0x5b4244
mov ebx, dword [esp + 0x10]
mov ecx, ebx
mov eax, ebp
call fcn.00562f10
mov ecx, dword [esp + 0x20]
movsx eax, byte [ecx]
add eax, 0xffffffbf
cmp eax, 0x32
ja case.0x5b3f44.66
movzx edx, byte [eax + 0x5b4304]
jmp dword [edx*4 + 0x5b42f4]
mov dword [esp + 0x6c], 8
jmp 0x5b3f71
mov dword [esp + 0x6c], 0
jmp 0x5b3f71
mov dword [esp + 0x6c], 1
jmp 0x5b3f71
mov dword [esp + 0x6c], 6
test esi, esi
je 0x5b3fe8
cmp dword [esp + 0x6c], 0
je 0x5b3fe8
push 0x65c4ac
push 3
push ebp
call fcn.0056d060
mov edi, eax
add esp, 0xc
cmp dword [ebp + 0x1c], edi
jbe 0x5b3f9d
mov ecx, dword [ebp + 4]
lea eax, [edi + edi*4]
mov dword [ecx + eax*4 + 4], ebx
mov ecx, esi
call fcn.0055e3b0
lea ecx, [edi + 1]
cmp dword [ebp + 0x1c], ecx
jbe 0x5b3fb6
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov dword [ecx + edx*4 + 4], eax
lea eax, [edi + 2]
cmp dword [ebp + 0x1c], eax
jbe 0x5b4244
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], ebx
cmp dword [ebp + 0x1c], eax
jbe 0x5b4244
mov ecx, dword [esp + 0x6c]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + edx*4 + 8], ecx
jmp 0x5b4244
push 0x65c500
push 3
push ebp
call fcn.0056d060
add esp, 0xc
cmp dword [ebp + 0x1c], eax
jbe 0x5b4007
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], ebx
inc eax
cmp dword [ebp + 0x1c], eax
jbe 0x5b402a
mov ecx, dword [ebp + 4]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], ebx
cmp dword [ebp + 0x1c], eax
jbe 0x5b402a
mov ecx, dword [esp + 0x6c]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + edx*4 + 0xc], ecx
push 1
mov ebx, ebp
call fcn.00576000
mov edx, dword [esp + 0x24]
push 0xffffffffffffffff
push edx
push 0
push 0
mov ecx, ebp
call fcn.0057f030
add esp, 0x14
jmp 0x5b4244
push 1
mov ebx, ebp
xor esi, esi
call fcn.00576000
mov eax, dword [esp + 0x70]
push esi
push str.compile_option
push esi
push esi
mov ecx, ebp
mov dword [eax + 0x4c], 1
call fcn.0057f030
push esi
call fcn.0055cc90
add esp, 0x18
test eax, eax
je 0x5b4244
push 0
push eax
push 0
push 1
push 0
push 0x5f
mov eax, ebp
inc esi
call fcn.00575b20
push 1
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
push esi
call fcn.0055cc90
add esp, 0x28
test eax, eax
jne 0x5b4083
jmp 0x5b4244
mov ecx, dword [esp + 0x74]
cmp dword [ecx], 0
je 0x5b40c8
mov edx, dword [esp + 0x10]
mov dword [esp + 0x44], edx
jmp 0x5b40d0
mov dword [esp + 0x44], 0xa
xor edi, edi
test esi, esi
je 0x5b4102
push str.full
push esi
call fcn.0055dac0
add esp, 8
test eax, eax
jne 0x5b40ed
lea edi, [eax + 1]
jmp 0x5b4102
push str.restart
push esi
call fcn.0055dac0
add esp, 8
test eax, eax
jne 0x5b4102
lea edi, [eax + 2]
push 3
mov ebx, ebp
call fcn.00576000
mov eax, dword [esp + 0x70]
push 0
push str.busy
push 0
push 0
mov ecx, ebp
mov dword [eax + 0x4c], 3
call fcn.0057f030
push 0
push 0x64ee94
push 0
push 1
mov ecx, ebp
call fcn.0057f030
push 0
push str.checkpointed
push 0
push 2
mov ecx, ebp
call fcn.0057f030
mov ecx, dword [esp + 0x78]
push 1
push edi
push ecx
push 0xb
mov eax, ebp
call fcn.0056ceb0
add esp, 0x44
push 3
push 1
push 0x20
mov eax, ebp
call fcn.0056cfb0
jmp 0x5b4241
test esi, esi
je 0x5b4187
mov ecx, esi
call fcn.0055e3b0
push eax
push edi
call fcn.005a9670
add esp, 8
cmp dword [edi + 0xcc], 0x5a9630
jne 0x5b41a8
mov edi, dword [edi + 0xd0]
mov eax, edi
cdq
push edx
push eax
push str.wal_autocheckpoint
jmp 0x5b4238
xor edi, edi
mov eax, edi
cdq
push edx
push eax
push str.wal_autocheckpoint
jmp 0x5b4238
push edi
call fcn.00568480
add esp, 4
jmp 0x5b4244
test esi, esi
je 0x5b41f7
lea edx, [esp + 0x50]
push 0xf4240
push edx
mov al, 1
mov ecx, esi
call fcn.0055e0d0
add esp, 8
test eax, eax
jne 0x5b41f7
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
call fcn.00598e20
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00598e20
push edx
push eax
mov eax, dword [esp + 0x7c]
push str.soft_heap_limit
call fcn.005831d0
add esp, 0x14
jmp 0x5b4244
test esi, esi
je 0x5b422a
mov ecx, esi
call fcn.0055e3b0
push eax
push edi
call fcn.00568970
add esp, 8
mov eax, dword [edi + 0x1e4]
cdq
push edx
push eax
push str.timeout
mov eax, dword [esp + 0x78]
call fcn.005831d0
add esp, 0xc
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ecx, esi
call fcn.0055d830
mov eax, dword [esp + 0x30]
mov ecx, esi
call fcn.0055d830
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x58
ret