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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push ebx
mov ebx, ecx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebx]
mov edx, 0xc0
mov ecx, eax
mov dword [ebp - 0xc], eax
call fcn.0040b030
mov esi, eax
mov dword [ebp - 0x20], esi
test esi, esi
je 0x456c3f
push 0xbc
lea eax, [esi + 4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0xc]
add esp, 0xc
mov dword [esi], ecx
mov eax, dword [ecx + 0x88]
test eax, eax
je 0x452919
mov dword [eax + 0x3c], esi
mov eax, dword [ecx + 0x88]
mov dword [esi + 0x40], eax
mov edx, edi
mov dword [esi + 0x3c], 0
lea eax, [ebp - 0x3c]
mov dword [ecx + 0x88], esi
mov ecx, dword [ebp + 8]
mov dword [esi + 0x34], 0x26bceaa5
push eax
mov dword [ebx + 0xc], esi
push ecx
mov byte [esi + 0x64], 1
mov ecx, ebx
mov dword [ebx + 0x48], 2
call fcn.00440e90
add esp, 8
mov dword [ebp - 0x24], eax
test eax, eax
js 0x456c46
mov edi, dword [ebp - 0xc]
mov ecx, eax
shl ecx, 4
mov dword [ebp - 0x2c], ecx
mov edx, dword [edi + 8]
add edx, ecx
mov dword [ebp - 0x10], edx
cmp eax, 1
jne 0x452984
mov ecx, ebx
call fcn.00445a40
test eax, eax
jne 0x456c46
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x456c46
mov ebx, dword [eax]
test ebx, ebx
jne 0x45299c
xor eax, eax
mov dword [ebp - 0x18], eax
jmp 0x4529c6
mov edi, dword [eax + 4]
mov ecx, dword [ebp - 0xc]
lea edx, [edi + 1]
call fcn.0040b030
mov dword [ebp - 0x18], eax
test eax, eax
je 0x4529c3
push edi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x18]
add esp, 0xc
mov byte [eax + edi], 0
mov edi, dword [ebp - 0xc]
mov ecx, eax
call fcn.0040d310
cmp dword [ebp - 0x18], 0
je 0x456c46
cmp dword [ebp + 0x10], 0
je 0x4529f2
push dword [ebp + 0xc]
push 0x47ee54
push edi
call fcn.0040c600
add esp, 0xc
mov ecx, eax
jmp 0x452a45
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x452a43
mov ebx, dword [eax]
test ebx, ebx
jne 0x452a10
xor eax, eax
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.0040d310
mov ecx, dword [ebp - 0x14]
jmp 0x452a48
mov edi, dword [eax + 4]
mov ecx, dword [ebp - 0xc]
lea edx, [edi + 1]
call fcn.0040b030
mov dword [ebp - 0x14], eax
test eax, eax
je 0x452a37
push edi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x14]
add esp, 0xc
mov byte [eax + edi], 0
mov ecx, eax
call fcn.0040d310
mov ecx, dword [ebp - 0x14]
jmp 0x452a48
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jbe 0x452a58
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
jmp 0x452a5a
xor eax, eax
push eax
push ecx
push dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov edx, 0x13
mov dword [ebp - 0x28], eax
call fcn.0043fe10
add esp, 0xc
test eax, eax
jne 0x456c1e
mov ecx, dword [ebp - 0x18]
mov edi, str.default_cache_size
mov dl, byte [ecx]
mov bl, dl
test dl, dl
je 0x452aba
sub ecx, edi
mov dword [ebp - 0x20], esi
mov al, dl
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x452ab7
mov al, byte [edi + esi + 1]
inc edi
mov bl, al
test al, al
jne 0x452a96
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
jne 0x452d01
mov edi, dword [ebp - 0x1c]
mov ecx, dword [edi]
cmp byte [ecx + 0x7c], 0
jne 0x452af8
lea edx, [edi + 8]
call fcn.00457420
test eax, eax
je 0x452af8
inc dword [edi + 0x40]
mov dword [edi + 4], eax
jmp 0x456c1e
mov eax, dword [esi + 0x70]
mov ebx, dword [ebp - 0x24]
bts eax, ebx
mov dword [esi + 0x70], eax
cmp ebx, 1
je 0x452b24
mov eax, dword [esi]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x452b24
mov eax, dword [esi + 0x74]
bts eax, ebx
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x452bb7
lea edx, [eax + 1]
mov ecx, esi
call fcn.00426e40
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x452b57
mov ecx, dword [esi + 0x10]
mov edx, str.cache_size
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
add esp, 0xc
add dword [edi + 0x48], 2
mov edx, 8
push 0x479674
mov ecx, esi
call fcn.00425d60
mov ecx, dword [esi + 0x1c]
mov edi, eax
add esp, 4
cmp ecx, edi
jbe 0x452b85
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov dword [ecx + edx*4 + 4], ebx
mov ecx, dword [esi + 0x1c]
lea eax, [edi + 1]
cmp ecx, eax
jbe 0x452b99
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], ebx
mov ecx, dword [esi + 0x1c]
add edi, 6
cmp ecx, edi
jbe 0x452d86
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 4], 0x7d0
jmp 0x452d86
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
mov ecx, eax
call fcn.0040dbf0
mov ebx, dword [ebp - 0x30]
test ebx, ebx
jns 0x452be0
cmp ebx, 0x80000000
jne 0x452bde
mov ebx, 0x7fffffff
jmp 0x452be0
neg ebx
mov eax, dword [edi + 0x1a8]
test eax, eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
cmovne edi, eax
call fcn.00445ad0
mov eax, dword [edi + 0x150]
mov ecx, dword [ebp - 0x24]
bts eax, ecx
mov dword [edi + 0x150], eax
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x452c20
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x452c51
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x1c]
cmp dword [esi + 0x20], edi
jg 0x452c64
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x452c97
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov edi, dword [ebp - 0x24]
mov word [eax + ecx*4], 0x25
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp - 0x10]
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x50], ebx
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 4]
mov ebx, dword [eax + 0x50]
mov ecx, edi
mov esi, dword [edi + 4]
call fcn.00419ba0
mov eax, dword [esi]
mov eax, dword [eax + 0xb0]
mov dword [eax + 0x10], ebx
mov eax, dword [eax + 0x28]
test eax, eax
je 0x452cd0
push ebx
push eax
call dword [0x4831e0]
add esp, 8
cmp byte [edi + 9], 0
je 0x452d86
add dword [edi + 0xc], 0xffffffff
jne 0x452d86
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x452cf8
push eax
call dword [0x4831c4]
add esp, 4
mov byte [edi + 0xa], 0
jmp 0x452d86
mov edi, str.page_size
mov bl, dl
test dl, dl
je 0x452d3c
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x452d39
mov al, byte [edi + esi + 1]
inc edi
mov bl, al
test al, al
jne 0x452d18
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
jne 0x452e04
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
mov esi, dword [eax + 4]
test ebx, ebx
jne 0x452dcb
test esi, esi
je 0x452d71
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x24]
jmp 0x452d73
xor eax, eax
cdq
push edx
push eax
mov edx, str.page_size
mov ecx, dword [ebp - 0x1c]
call fcn.00452640
add esp, 8
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
cmp byte [eax + 0x1c], 0
je 0x456c21
mov edi, dword [ecx + 4]
mov ebx, dword [eax + 0xc]
mov al, byte [ecx + 9]
mov ecx, edi
mov byte [ebp - 5], al
mov esi, dword [edi + 4]
call fcn.00419ba0
mov dl, byte [ebp - 5]
mov eax, dword [esi]
cmp dl, 1
je 0x456bb5
cmp byte [eax + 0xc], 0
jne 0x456bb5
xor cl, cl
jmp 0x456bb7
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
mov ecx, ebx
call fcn.0040dbf0
mov eax, dword [ebp - 0xc]
mov ecx, esi
mov edx, dword [ebp - 0x30]
push 0
push 0xffffffffffffffff
mov dword [eax + 0x24], edx
call fcn.0041b640
mov ecx, dword [ebp - 0x10]
add esp, 8
cmp eax, 7
mov eax, dword [ebp - 0xc]
jne 0x452d8c
mov byte [eax + 0x1e], 1
jmp 0x452d8c
mov edi, str.secure_delete
mov bl, dl
test dl, dl
je 0x452e44
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop dword [eax + eax]
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x452e41
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x452e20
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
jne 0x452f64
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov ebx, dword [eax + 4]
or eax, 0xffffffff
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x28], eax
test ecx, ecx
je 0x452e81
call fcn.00452560
and eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 0
jne 0x452ef2
test eax, eax
js 0x452ef2
mov eax, dword [ebp - 0xc]
xor edi, edi
cmp dword [eax + 4], edi
jle 0x452ef2
xor ebx, ebx
nop word [eax + eax]
mov eax, dword [eax + 8]
mov esi, dword [ebx + eax + 4]
test esi, esi
je 0x452ee3
mov ecx, esi
call fcn.00419ba0
cmp dword [ebp - 0x28], 0
mov eax, dword [esi + 4]
setne cl
mov byte [eax + 0x12], cl
cmp byte [esi + 9], 0
je 0x452ee3
add dword [esi + 0xc], 0xffffffff
jne 0x452ee3
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x452edf
push eax
call dword [0x4831c4]
add esp, 4
mov byte [esi + 0xa], 0
mov eax, dword [ebp - 0xc]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 4]
jl 0x452ea0
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
jne 0x452f10
xorps xmm0, xmm0
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x4c]
push edx
push eax
mov edx, str.secure_delete
jmp 0x452d7b
mov ecx, ebx
call fcn.00419ba0
mov eax, dword [ebp - 0x28]
test eax, eax
js 0x452f27
mov eax, dword [ebx + 4]
setne cl
mov byte [eax + 0x12], cl
cmp byte [ebx + 9], 0
mov eax, dword [ebx + 4]
mov cl, byte [eax + 0x12]
mov byte [ebp - 5], cl
je 0x452f54
add dword [ebx + 0xc], 0xffffffff
jne 0x452f54
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x452f50
push eax
call dword [0x4831c4]
mov cl, byte [ebp - 5]
add esp, 4
mov byte [ebx + 0xa], 0
movzx eax, cl
cdq
push edx
push eax
mov edx, str.secure_delete
jmp 0x452d7b
mov edi, str.page_count
mov bl, dl
test dl, dl
je 0x452fa4
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop dword [eax + eax]
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x452fa1
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x452f80
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
je 0x456a77
mov edi, str.max_page_count
mov bl, dl
test dl, dl
je 0x452ffb
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x452ff8
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x452fd7
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
je 0x456a77
mov edi, str.locking_mode
mov bl, dl
test dl, dl
je 0x453054
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453051
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453030
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
jne 0x4531e9
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x453119
mov bl, byte [edi]
mov edx, str.exclusive
mov bh, bl
test bl, bl
je 0x4530b4
mov al, bl
sub edi, edx
nop dword [eax]
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x4530b1
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x453090
mov edi, dword [ebp - 0x14]
movzx eax, bh
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
jne 0x4530d3
mov ecx, 1
jmp 0x45311c
mov edx, str.normal
test bl, bl
je 0x453101
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453101
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x4530e0
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
je 0x45311c
or ecx, 0xffffffff
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x45317a
cmp ecx, 0xffffffff
jne 0x453132
mov eax, dword [ebp - 0xc]
mov al, byte [eax + 0x1f]
jmp 0x4531a7
mov ebx, dword [ebp - 0xc]
mov edx, 2
cmp dword [ebx + 4], edx
jle 0x453177
lea edi, [edx + 0x1e]
test ecx, ecx
js 0x45316e
mov eax, dword [ebx + 8]
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x45316e
mov ebx, dword [eax + 0xb4]
test ebx, ebx
je 0x453168
cmp byte [ebx + 0x26], 2
je 0x45316b
mov byte [eax + 4], cl
mov ebx, dword [ebp - 0xc]
inc edx
add edi, 0x10
cmp edx, dword [ebx + 4]
jl 0x453142
mov byte [ebx + 0x1f], cl
mov eax, dword [ebp - 0x10]
mov dl, cl
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
js 0x4531a4
cmp byte [eax + 0xc], 0
jne 0x4531a4
mov ecx, dword [eax + 0xb4]
test ecx, ecx
je 0x4531a1
cmp byte [ecx + 0x26], 2
je 0x4531a4
mov byte [eax + 4], dl
mov al, byte [eax + 4]
cmp al, 1
mov ecx, str.exclusive
mov ebx, str.normal
mov edx, 1
cmove ebx, ecx
mov ecx, esi
call fcn.00426e40
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x453d35
mov ecx, dword [esi + 0x10]
mov edx, str.locking_mode
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
add esp, 0xc
jmp 0x453d35
mov edi, str.journal_mode
mov bl, dl
test dl, dl
je 0x453224
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453221
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453200
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
jne 0x45341a
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx]
cmp byte [ecx + 0x7c], 0
jne 0x453262
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
je 0x453262
inc dword [ebx + 0x40]
mov dword [ebx + 4], eax
jmp 0x456c1e
mov edx, 1
mov ecx, esi
call fcn.00426e40
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x45328c
mov ecx, dword [esi + 0x10]
mov edx, str.journal_mode
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
add esp, 0xc
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4533f9
cmp byte [ebx], 0
mov eax, ebx
je 0x4532a6
nop
inc eax
cmp byte [eax], 0
jne 0x4532a0
sub eax, ebx
and eax, 0x3fffffff
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x28], ecx
cmp ecx, 6
je 0x4533f9
mov edi, dword [ecx*4 + 0x479104]
test edi, edi
je 0x4533f9
mov edx, eax
test eax, eax
je 0x4532f4
mov al, byte [ebx]
dec edx
test al, al
je 0x4532f5
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x4532f5
inc ebx
inc edi
test edx, edx
jg 0x4532d3
dec edx
test edx, edx
js 0x45331d
movzx eax, byte [ebx]
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
je 0x45331d
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
inc ecx
mov ebx, dword [ebp - 0x14]
jmp 0x4532b2
mov ebx, dword [ebp - 0x28]
cmp ebx, 0xffffffff
je 0x4533fc
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xc]
mov edi, dword [eax + 4]
sub edi, 1
js 0x453d98
mov edx, edi
shl edx, 4
mov dword [ebp - 0x28], edx
nop dword [eax]
nop word [eax + eax]
mov eax, dword [eax + 8]
cmp dword [edx + eax + 4], 0
je 0x4533df
cmp edi, ecx
je 0x45336b
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x4533df
mov eax, dword [esi + 0x70]
bts eax, edi
mov dword [esi + 0x70], eax
cmp edi, 1
je 0x453391
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x453391
mov eax, dword [esi + 0x74]
bts eax, edi
mov dword [esi + 0x74], eax
mov ecx, dword [esi + 0x1c]
mov eax, ecx
mov dword [ebp - 0x3c], ecx
cmp dword [esi + 0x20], ecx
jg 0x4533b2
mov ecx, esi
call fcn.00425920
mov edx, dword [ebp - 0x28]
test eax, eax
jne 0x4533df
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x3c]
inc eax
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x7e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp - 0x24]
sub edx, 0x10
sub edi, 1
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], edx
jns 0x453350
jmp 0x453d98
or ebx, 0xffffffff
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x453329
xor ecx, ecx
mov dword [eax + 4], 1
mov dword [ebp - 0x24], ecx
jmp 0x45332c
mov edi, str.journal_size_limit
mov bl, dl
test dl, dl
je 0x453455
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453452
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453431
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x4534f3
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
mov dword [ebp - 0x4c], 0xfffffffe
mov dword [ebp - 0x48], 0xffffffff
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov esi, dword [eax]
test ebx, ebx
je 0x4534dd
push 1
push 0xf4240
lea edx, [ebp - 0x4c]
mov ecx, ebx
call fcn.0040da30
mov ecx, dword [ebp - 0x48]
add esp, 8
cmp ecx, 0xffffffff
jg 0x4534be
jl 0x4534b7
mov eax, dword [ebp - 0x4c]
cmp eax, 0xffffffff
jae 0x4534c1
or eax, 0xffffffff
or ecx, eax
jmp 0x4534c1
mov eax, dword [ebp - 0x4c]
mov edx, dword [esi + 0xb4]
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], ecx
test edx, edx
je 0x4534dd
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [esi + 0x8c]
mov edx, str.journal_size_limit
push dword [esi + 0x88]
jmp 0x452d7b
mov edi, str.auto_vacuum
mov bl, dl
test dl, dl
je 0x453534
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop word [eax + eax]
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453531
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453510
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x4537ea
mov ebx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebx]
mov edi, dword [eax + 4]
mov dword [ebp - 0x28], edi
cmp byte [ecx + 0x7c], 0
jne 0x453574
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x4535d4
test edi, edi
je 0x4535c5
mov ecx, edi
call fcn.00419ba0
mov eax, dword [edi + 4]
xor ebx, ebx
cmp byte [eax + 0x15], bl
je 0x453597
cmp byte [eax + 0x16], bl
setne bl
inc ebx
cmp byte [edi + 9], 0
je 0x4535c7
add dword [edi + 0xc], 0xffffffff
jne 0x4535c7
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x4535b4
push eax
call dword [0x4831c4]
add esp, 4
push 0
mov byte [edi + 0xa], 0
mov edx, str.auto_vacuum
push ebx
jmp 0x452d7b
xor ebx, ebx
push 0
push ebx
mov edx, str.auto_vacuum
jmp 0x452d7b
mov bl, byte [ecx]
mov edx, str.none
mov bh, bl
test bl, bl
je 0x453614
sub ecx, edx
mov al, bl
mov dword [ebp - 0x3c], ecx
mov edi, ecx
nop word [eax + eax]
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453611
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x4535f0
mov edi, dword [ebp - 0x28]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bh
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x453633
xor ebx, ebx
jmp 0x453706
mov edx, str.full
mov bh, bl
test bl, bl
je 0x453674
mov ecx, dword [ebp - 0x14]
mov al, bl
sub ecx, edx
mov dword [ebp - 0x3c], ecx
mov edi, ecx
nop word [eax + eax]
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453671
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x453650
mov edi, dword [ebp - 0x28]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bh
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x453691
lea ebx, [eax + 1]
jmp 0x453706
mov edx, str.incremental
test bl, bl
je 0x4536ca
mov ecx, dword [ebp - 0x14]
mov al, bl
sub ecx, edx
mov dword [ebp - 0x3c], ecx
mov edi, ecx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x4536c7
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x4536a6
mov edi, dword [ebp - 0x28]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x4536e7
lea ebx, [eax + 2]
jmp 0x453706
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
call fcn.0040dbf0
xor edx, edx
cmp dword [ebp - 0x30], 2
cmovbe edx, dword [ebp - 0x30]
movzx ebx, dl
mov eax, dword [ebp - 0xc]
mov edx, ebx
mov ecx, edi
mov byte [eax + 0x20], bl
call fcn.0041b770
test eax, eax
jne 0x452d86
cmp ebx, 1
je 0x45372b
cmp ebx, 2
jne 0x452d86
push 0x47b52c
mov edx, 6
mov ecx, esi
call fcn.00425d60
mov ecx, dword [esi + 0x1c]
mov edi, eax
add esp, 4
cmp ecx, edi
jbe 0x453758
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov eax, dword [ebp - 0x24]
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [esi + 0x1c]
lea eax, [edi + 1]
cmp ecx, eax
jbe 0x45376f
mov edx, dword [ebp - 0x24]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x1c]
lea eax, [edi + 2]
cmp ecx, eax
jbe 0x453786
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea edx, [edi + 4]
mov dword [eax + ecx*4 + 8], edx
mov ecx, dword [esi + 0x1c]
lea eax, [edi + 4]
cmp ecx, eax
jbe 0x45379d
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
lea edx, [ebx - 1]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x1c]
add edi, 5
cmp ecx, edi
jbe 0x4537b1
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebp - 0x24]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [esi + 0x70]
mov ecx, dword [ebp - 0x24]
bts eax, ecx
mov dword [esi + 0x70], eax
cmp ecx, 1
je 0x452d86
mov eax, dword [esi]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x452d86
mov eax, dword [esi + 0x74]
bts eax, ecx
mov dword [esi + 0x74], eax
jmp 0x452d86
mov edi, str.incremental_vacuum
mov bl, dl
test dl, dl
je 0x453825
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453822
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453801
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x453a3f
mov edi, dword [ebp - 0x1c]
mov ecx, dword [edi]
cmp byte [ecx + 0x7c], al
jne 0x45385b
lea edx, [edi + 8]
call fcn.00457420
test eax, eax
jne 0x452aed
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x453877
lea edx, [ebp - 0x3c]
mov ecx, eax
call fcn.0040dbf0
test eax, eax
je 0x453877
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
jg 0x45387c
mov ebx, 0x7fffffff
mov eax, dword [edi + 0x1a8]
test eax, eax
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
cmovne edi, eax
call fcn.00445ad0
mov eax, dword [edi + 0x150]
mov ecx, dword [ebp - 0x24]
bts eax, ecx
mov dword [edi + 0x150], eax
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4538bc
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4538ed
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x45390c
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x453909
mov edi, 1
jmp 0x453940
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x80
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x1c]
mov eax, ebx
cmp dword [esi + 0x20], ebx
jg 0x453958
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x45398d
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x1c]
mov eax, ebx
cmp dword [esi + 0x20], ebx
jg 0x4539a5
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4539da
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x14
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0xffffffff
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x4539ed
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x453a1d
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x78
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edi, edi
js 0x452d86
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x452d86
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
jmp 0x452d86
mov edi, str.cache_size
mov bl, dl
test dl, dl
je 0x453a7a
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453a77
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453a56
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x453b1e
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx]
cmp byte [ecx + 0x7c], al
jne 0x453ab0
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x453acf
mov eax, dword [ebp - 0x10]
mov ecx, ebx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
mov edx, str.cache_size
jmp 0x452d7e
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
mov ecx, esi
call fcn.0040dbf0
mov ecx, dword [ebp - 0x30]
test ecx, ecx
jns 0x453b0a
cmp ecx, 0x80000000
jne 0x453b08
mov edx, dword [ebp - 0x10]
mov ecx, 0x7fffffff
mov eax, dword [edx + 0xc]
mov dword [eax + 0x50], ecx
mov eax, dword [edx + 0xc]
mov edi, dword [edx + 4]
jmp 0x452ca6
neg ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0xc]
mov dword [eax + 0x50], ecx
mov eax, dword [edx + 0xc]
mov edi, dword [edx + 4]
jmp 0x452ca6
mov edi, str.temp_store
mov bl, dl
test dl, dl
je 0x453b59
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453b56
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453b35
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x453c9b
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x453b90
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x1d]
cdq
push edx
push eax
mov edx, str.temp_store
jmp 0x452d7b
mov bl, byte [esi]
mov al, bl
sub al, 0x30
cmp al, 2
ja 0x453ba5
movsx ebx, bl
sub ebx, 0x30
jmp 0x453c43
mov edx, str.file
mov bh, bl
test bl, bl
je 0x453bd8
mov al, bl
sub esi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453bd5
mov al, byte [esi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x453bb4
mov esi, dword [ebp - 0x14]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bh
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x453bf5
lea ebx, [eax + 1]
jmp 0x453c43
mov edx, str.memory
test bl, bl
je 0x453c23
mov al, bl
sub esi, edx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453c23
mov al, byte [esi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x453c02
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx ebx, byte [eax + 0x479a68]
sub ebx, ecx
neg ebx
sbb ebx, ebx
and ebx, 0xfffffffe
add ebx, 2
mov edx, dword [ebp - 0x1c]
mov esi, dword [edx]
movzx eax, byte [esi + 0x1d]
cmp eax, ebx
je 0x452d86
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x453c83
cmp byte [esi + 0x1c], 0
je 0x453c8b
cmp byte [ecx + 8], 0
jne 0x453c8b
call fcn.0041b4d0
mov eax, dword [esi + 8]
or edx, 0xffffffff
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.004407a0
mov byte [esi + 0x1d], bl
jmp 0x452d86
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.0040d2b0
jmp 0x452d83
mov edi, str.temp_store_directory
mov bl, dl
test dl, dl
je 0x453cd6
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453cd3
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453cb2
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x453eaa
cmp dword [ebp - 0x14], eax
jne 0x453de8
cmp dword [0x484148], eax
je 0x452d86
lea edx, [eax + 1]
mov ecx, esi
call fcn.00426e40
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x453d2f
mov ecx, dword [esi + 0x10]
mov edx, str.temp_store_directory
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
add esp, 0xc
mov ebx, dword [0x484148]
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x453d54
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x453d51
mov edi, 1
jmp 0x453d89
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push ebx
mov edx, edi
mov ecx, esi
call fcn.00425f90
add esp, 8
mov edi, dword [esi + 0x1c]
cmp dword [esi + 0x20], edi
jg 0x453daf
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x452d86
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x452d86
mov esi, dword [ebp - 0x14]
cmp byte [esi], 0
je 0x453e23
mov eax, dword [ebp - 0xc]
lea ecx, [ebp - 0x3c]
push ecx
push 1
push esi
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x453e0e
cmp dword [ebp - 0x3c], eax
jne 0x453e23
push str.not_a_writable_directory
push dword [ebp - 0x1c]
call fcn.0040d2b0
add esp, 8
jmp 0x456c1e
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1d], 1
ja 0x453e73
mov edx, dword [ebp - 0x1c]
mov esi, dword [edx]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x453e70
cmp byte [esi + 0x1c], 0
je 0x453e62
cmp byte [ecx + 8], 0
jne 0x453e62
call fcn.0041b4d0
mov eax, dword [esi + 8]
or edx, 0xffffffff
mov ecx, esi
mov dword [eax + 0x14], 0
call fcn.004407a0
jmp 0x453e70
push str.temporary_storage_cannot_be_changed_from_within_a_transaction
push edx
call fcn.0040d2b0
add esp, 8
mov esi, dword [ebp - 0x14]
push dword [0x484148]
call fcn.0040ad30
add esp, 4
cmp byte [esi], 0
je 0x453e9b
push esi
push 0x47c934
call fcn.0040c740
mov dword [0x484148], eax
jmp 0x452d83
mov dword [0x484148], 0
jmp 0x452d86
mov edi, str.synchronous
test dl, dl
je 0x453ee1
mov ebx, dword [ebp - 0x18]
mov al, dl
sub ebx, edi
nop word [eax + eax]
movzx ecx, byte [edi]
mov dl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453ee1
mov al, byte [ebx + edi + 1]
inc edi
mov dl, al
test al, al
jne 0x453ec0
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, dl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x453f65
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx]
cmp byte [ecx + 0x7c], al
jne 0x453f13
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
mov esi, dword [ebp - 0x14]
test esi, esi
jne 0x453f35
mov eax, dword [ebp - 0x10]
mov ecx, ebx
movzx eax, byte [eax + 9]
cdq
sub eax, 1
sbb edx, esi
push edx
push eax
mov edx, str.synchronous
jmp 0x452d7e
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x1c], 0
jne 0x453f4e
push str.Safety_level_may_not_be_changed_inside_a_transaction
push ebx
call fcn.0040d2b0
jmp 0x452d83
mov ecx, esi
call fcn.00452560
mov ecx, dword [ebp - 0x10]
inc al
mov byte [ecx + 9], al
mov eax, dword [ebp - 0xc]
jmp 0x452d8c
push dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
call fcn.00452750
add esp, 4
test eax, eax
jne 0x452d86
mov ecx, dword [ebp - 0x18]
mov edi, str.table_info
mov dl, byte [ecx]
mov bl, dl
test dl, dl
je 0x453fbb
sub ecx, edi
mov al, dl
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x453fb8
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x453f97
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x454426
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x454426
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx]
cmp byte [ecx + 0x7c], al
jne 0x453ffc
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov edx, edi
call fcn.00440480
mov ebx, eax
add esp, 4
mov dword [ebp - 0x20], ebx
test ebx, ebx
je 0x452d86
xor edi, edi
mov ecx, esi
mov dword [ebp - 0x28], edi
lea edx, [edi + 6]
call fcn.00426e40
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x48], 6
mov ecx, dword [esi]
cmp byte [ecx + 0x1e], 0
jne 0x454101
mov ecx, dword [esi + 0x10]
mov edx, 0x47ef94
push edi
push 1
push 0xffffffffffffffff
call fcn.00424c30
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x454101
mov ecx, dword [esi + 0x10]
mov edx, str.name
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00424c30
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x454101
mov ecx, dword [esi + 0x10]
mov edx, str.type
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00424c30
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x454101
mov ecx, dword [esi + 0x10]
mov edx, str.notnull
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x78
call fcn.00424c30
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x454101
mov ecx, dword [esi + 0x10]
mov edx, str.dflt_value
push edi
push 1
push 0xffffffffffffffff
add ecx, 0xa0
call fcn.00424c30
mov ecx, dword [esi]
add esp, 0xc
cmp byte [ecx + 0x1e], 0
jne 0x454101
mov ecx, dword [esi + 0x10]
mov edx, 0x47efbc
push edi
push 1
push 0xffffffffffffffff
add ecx, 0xc8
call fcn.00424c30
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
mov edx, ebx
call fcn.004428f0
mov ecx, dword [ebp - 0x20]
xor eax, eax
mov ebx, dword [ebx + 0xc]
mov dword [ebp - 0x24], eax
cmp dword [ecx + 8], eax
jle 0x452d86
nop
cmp byte [ebx + 0x17], 0
je 0x45412f
inc edi
mov dword [ebp - 0x28], edi
jmp 0x454411
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454147
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x45417e
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 1
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0xc], 0
sub eax, dword [ebp - 0x28]
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov eax, dword [ebx]
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4541a2
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x45419f
mov edi, 1
jmp 0x4541d7
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov eax, dword [ebx + 0xc]
add esp, 8
mov edi, dword [esi + 0x1c]
test eax, eax
mov ecx, 0x47bdf9
cmovne ecx, eax
mov eax, edi
mov dword [ebp - 0x3c], ecx
cmp dword [esi + 0x20], edi
jg 0x454217
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x454214
mov edi, 1
jmp 0x45424c
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
xor eax, eax
add esp, 8
cmp byte [ebx + 0x14], al
setne al
mov dword [ebp - 0x3c], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454280
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4542b4
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x3c]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 8]
test eax, eax
mov edi, dword [esi + 0x1c]
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x3c], eax
mov eax, edi
je 0x454327
cmp ecx, edi
jg 0x4542df
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x4542dc
mov edi, 1
jmp 0x454314
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 5
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00425f90
add esp, 8
jmp 0x45436e
cmp ecx, edi
jg 0x454339
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x45436e
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0xa
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 5
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx eax, byte [ebx + 0x15]
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x45438d
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4543c1
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x3c]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 6
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x1c]
cmp dword [esi + 0x20], edi
jg 0x4543d4
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x454408
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 6
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
inc eax
add ebx, 0x18
mov dword [ebp - 0x24], eax
cmp eax, dword [ecx + 8]
jl 0x454120
jmp 0x452d86
mov edi, str.index_info
mov bl, dl
test dl, dl
je 0x454464
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop dword [eax]
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x454461
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x454440
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x4546b4
mov edi, dword [ebp - 0x14]
test edi, edi
je 0x4546b4
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx]
cmp byte [ecx + 0x7c], al
jne 0x4544a5
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov edx, edi
call fcn.00440620
mov edi, eax
add esp, 4
mov dword [ebp - 0x34], edi
test edi, edi
je 0x452d86
mov eax, dword [edi + 0x10]
mov edx, 3
mov ecx, esi
mov dword [ebp - 0x3c], eax
call fcn.00426e40
mov dword [ebx + 0x48], 3
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x45453b
mov ecx, dword [esi + 0x10]
mov edx, str.seqno
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x45453b
mov ecx, dword [esi + 0x10]
mov edx, 0x47ef94
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x45453b
mov ecx, dword [esi + 0x10]
mov edx, str.name
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00424c30
add esp, 0xc
xor ebx, ebx
cmp dword [edi + 4], ebx
jle 0x452d86
mov eax, dword [edi + 8]
mov edi, dword [esi + 0x1c]
mov eax, dword [eax + ebx*4]
mov dword [ebp - 0x30], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454567
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x454598
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4545b0
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4545e4
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x30]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp - 0x30]
mov edi, dword [esi + 0x1c]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x38], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454615
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x454612
mov edi, 1
jmp 0x45464a
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x38]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
cmp dword [esi + 0x20], edi
jg 0x45466e
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4546a2
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebp - 0x34]
inc ebx
cmp ebx, dword [edi + 4]
jl 0x454546
jmp 0x452d86
mov edi, str.index_list
mov bl, dl
test dl, dl
je 0x4546f4
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop dword [eax + eax]
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x4546f1
mov al, byte [edi + esi + 1]
inc edi
mov bl, al
test al, al
jne 0x4546d0
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x454947
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x454947
mov edi, dword [ebp - 0x1c]
mov ecx, dword [edi]
cmp byte [ecx + 0x7c], al
jne 0x454735
lea edx, [edi + 8]
call fcn.00457420
test eax, eax
jne 0x452aed
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov edx, ebx
call fcn.00440480
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x452d86
mov ecx, edi
call fcn.0045a840
mov ebx, dword [ebx + 0x10]
mov esi, eax
test ebx, ebx
je 0x452d86
mov edx, 3
mov dword [ebp - 0x28], 0
mov ecx, esi
call fcn.00426e40
mov dword [edi + 0x48], 3
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x4547e0
mov ecx, dword [esi + 0x10]
mov edx, 0x47efe0
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x4547e0
mov ecx, dword [esi + 0x10]
mov edx, str.name
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x4547e0
mov ecx, dword [esi + 0x10]
mov edx, str.unique
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00424c30
add esp, 0xc
nop dword [eax]
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4547f8
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x45482c
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x28]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454850
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x45484d
mov edi, 1
jmp 0x454885
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
xor eax, eax
add esp, 8
cmp byte [ebx + 0x18], al
setne al
mov dword [ebp - 0x3c], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4548b9
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4548ed
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x3c]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x1c]
cmp dword [esi + 0x20], edi
jg 0x454900
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x454934
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
inc dword [ebp - 0x28]
mov ebx, dword [ebx + 0x20]
test ebx, ebx
jne 0x4547e0
jmp 0x452d86
mov edi, str.database_list
mov bl, dl
test dl, dl
je 0x454984
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x454981
mov al, byte [edi + esi + 1]
inc edi
mov bl, al
test al, al
jne 0x454960
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
jne 0x454bf6
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx]
cmp byte [ecx + 0x7c], 0
jne 0x4549bb
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
mov edx, 3
mov ecx, esi
call fcn.00426e40
mov dword [ebx + 0x48], 3
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x454a2e
mov ecx, dword [esi + 0x10]
mov edx, 0x47efe0
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454a2e
mov ecx, dword [esi + 0x10]
mov edx, str.name
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454a2e
mov ecx, dword [esi + 0x10]
mov edx, str.file
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00424c30
add esp, 0xc
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x28], 0
cmp dword [eax + 4], 0
jle 0x452d89
xor ebx, ebx
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [eax + 8]
cmp dword [ebx + eax + 4], 0
je 0x454bd9
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454a76
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x454aaa
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x28]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp - 0xc]
mov edi, dword [esi + 0x1c]
mov eax, dword [eax + 8]
mov eax, dword [ebx + eax]
mov dword [ebp - 0x3c], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454ad5
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x454ad2
mov edi, 1
jmp 0x454b0a
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov eax, dword [ebp - 0xc]
add esp, 8
mov edi, dword [esi + 0x1c]
mov eax, dword [eax + 8]
mov eax, dword [ebx + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x90]
mov dword [ebp - 0x3c], eax
cmp dword [esi + 0x20], edi
jg 0x454b4d
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x454b4d
mov edi, 1
jmp 0x454b81
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
cmp dword [esi + 0x20], edi
jg 0x454ba5
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x454bd9
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp - 0xc]
add ebx, 0x10
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp eax, dword [ecx + 4]
mov eax, ecx
jl 0x454a50
jmp 0x452d89
mov edi, str.collation_list
mov bl, dl
test dl, dl
je 0x454c34
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop dword [eax]
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x454c31
mov al, byte [edi + esi + 1]
inc edi
mov bl, al
test al, al
jne 0x454c10
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x454dcf
lea edx, [eax + 2]
mov dword [ebp - 0x28], eax
mov ecx, esi
call fcn.00426e40
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x48], 2
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x454ca6
mov ecx, dword [esi + 0x10]
mov edx, 0x47efe0
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454ca6
mov ecx, dword [esi + 0x10]
mov edx, str.name
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00424c30
add esp, 0xc
mov ebx, dword [ebp - 0xc]
mov ebx, dword [ebx + 0x1a4]
test ebx, ebx
je 0x452d86
mov eax, dword [ebx + 8]
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x3c], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454cd5
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x454d09
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x28]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebp - 0x3c]
mov edi, dword [esi + 0x1c]
inc dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x454d33
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x454d30
mov edi, 1
jmp 0x454d68
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
cmp dword [esi + 0x20], edi
jg 0x454d8c
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x454dc0
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebx]
test ebx, ebx
jne 0x454cb7
jmp 0x452d86
mov edi, str.foreign_key_list
mov bl, dl
test dl, dl
je 0x454e0a
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x454e07
mov al, byte [edi + esi + 1]
inc edi
mov bl, al
test al, al
jne 0x454de6
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x4553fb
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4553fb
mov esi, dword [ebp - 0x1c]
mov ecx, dword [esi]
cmp byte [ecx + 0x7c], al
jne 0x454e52
lea edx, [esi + 8]
call fcn.00457420
test eax, eax
je 0x454e52
inc dword [esi + 0x40]
mov dword [esi + 4], eax
jmp 0x456c1e
push dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov edx, ebx
call fcn.00440480
mov ebx, eax
add esp, 4
mov dword [ebp - 0x3c], ebx
test ebx, ebx
je 0x452d86
mov ecx, esi
call fcn.0045a840
mov ebx, dword [ebx + 0x24]
mov esi, eax
mov dword [ebp - 0x34], ebx
test ebx, ebx
je 0x452d86
xor edi, edi
mov ecx, esi
mov dword [ebp - 0x2c], edi
lea edx, [edi + 8]
call fcn.00426e40
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x48], 8
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x454fc0
mov ecx, dword [esi + 0x10]
mov edx, 0x47f020
push edi
push 1
push 0xffffffffffffffff
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454fc0
mov ecx, dword [esi + 0x10]
mov edx, 0x47efe0
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454fc0
mov ecx, dword [esi + 0x10]
mov edx, str.table
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454fc0
mov ecx, dword [esi + 0x10]
mov edx, str.from
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x78
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454fc0
mov ecx, dword [esi + 0x10]
mov edx, 0x47f02c
push edi
push 1
push 0xffffffffffffffff
add ecx, 0xa0
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454fc0
mov ecx, dword [esi + 0x10]
mov edx, str.on_update
push edi
push 1
push 0xffffffffffffffff
add ecx, 0xc8
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454fc0
mov ecx, dword [esi + 0x10]
mov edx, str.on_delete
push edi
push 1
push 0xffffffffffffffff
add ecx, 0xf0
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x454fc0
mov ecx, dword [esi + 0x10]
mov edx, str.match
push edi
push 1
push 0xffffffffffffffff
add ecx, 0x118
call fcn.00424c30
add esp, 0xc
nop dword [eax]
cmp dword [ebx + 0x14], 0
mov dword [ebp - 0x20], 0
jle 0x4553e4
lea eax, [ebx + 0x24]
mov dword [ebp - 0x1c], eax
nop word [eax + eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], eax
movzx eax, byte [ebx + 0x19]
add eax, 0xfffffffa
cmp eax, 3
ja case.default.0x454ff2
jmp dword [eax*4 + 0x456c50]
mov dword [ebp - 0x24], str.SET_NULL
jmp 0x455024
mov dword [ebp - 0x24], str.SET_DEFAULT
jmp 0x455024
mov dword [ebp - 0x24], str.CASCADE
jmp 0x455024
mov dword [ebp - 0x24], str.RESTRICT
jmp 0x455024
mov dword [ebp - 0x24], str.NO_ACTION
movzx eax, byte [ebx + 0x1a]
add eax, 0xfffffffa
cmp eax, 3
ja case.default.0x455030
jmp dword [eax*4 + 0x456c60]
mov dword [ebp - 0x28], str.SET_NULL
jmp 0x455062
mov dword [ebp - 0x28], str.SET_DEFAULT
jmp 0x455062
mov dword [ebp - 0x28], str.CASCADE
jmp 0x455062
mov dword [ebp - 0x28], str.RESTRICT
jmp 0x455062
mov dword [ebp - 0x28], str.NO_ACTION
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x45507a
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4550ae
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x2c]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4550c6
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4550fa
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x20]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x1c]
mov eax, edi
mov ebx, dword [ebx + 8]
cmp dword [esi + 0x20], edi
jg 0x45511c
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x455119
mov edi, 1
jmp 0x455151
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push ebx
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov eax, dword [ebp - 0x1c]
add esp, 8
mov edi, dword [esi + 0x1c]
mov eax, dword [eax]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + ecx*8]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x455190
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x45518d
mov edi, 1
jmp 0x4551c5
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push ebx
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4551f6
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x4551f3
mov edx, dword [ebp - 0x30]
mov edi, 1
jmp 0x45523e
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x30]
lea ecx, [edi + edi*4]
inc eax
mov ebx, 0x5e
mov dword [esi + 0x1c], eax
test edx, edx
mov eax, dword [esi + 4]
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 5
lea ecx, [eax + ecx*4]
mov eax, 0xa
cmovne eax, ebx
mov dword [ecx + 0xc], 0
mov byte [ecx], al
mov dword [ecx + 0x10], 0
mov byte [ecx + 1], 0
push 0
push edx
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x45526c
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x455269
mov edi, 1
jmp 0x4552a1
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 6
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x28]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4552d1
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x4552ce
mov edi, 1
jmp 0x455306
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 7
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x24]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x455336
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x455333
mov edi, 1
jmp 0x45536b
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 8
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.NONE
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
cmp dword [esi + 0x20], edi
jg 0x455391
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4553c5
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 8
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x34]
inc ecx
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
cmp ecx, dword [ebx + 0x14]
jl 0x454fe0
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebx + 4]
inc edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x34], ebx
test ebx, ebx
jne 0x454fc0
jmp 0x452d86
mov edi, str.case_sensitive_like
mov bl, dl
test dl, dl
je 0x455436
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455433
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x455412
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x455512
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x452d86
mov ecx, esi
call fcn.00452560
mov ebx, dword [ebp - 0xc]
mov edi, eax
push 0
push 0
push 0
and edi, 1
mov eax, 0x479384
mov esi, 0x4786ac
mov edx, str.like
push 0x449110
cmovne esi, eax
mov ecx, ebx
push esi
push 1
push 2
call fcn.00473a70
add esp, 0x1c
mov edx, str.like
mov ecx, ebx
push 0
push 0
push 0
push 0x449110
push esi
push 1
push 3
call fcn.00473a70
add esp, 0x1c
mov edx, str.glob
mov ecx, ebx
push 0
push 0
push 0
push 0x449110
push 0x4793fc
push 1
push 2
call fcn.00473a70
add esp, 0x1c
mov edx, str.glob
mov ecx, ebx
push 3
call fcn.0044aa60
add esp, 4
mov edx, str.like
test edi, 1
mov ecx, ebx
setne al
lea eax, [eax*2 + 1]
push eax
call fcn.0044aa60
add esp, 4
mov eax, ebx
jmp 0x452d89
mov edi, str.integrity_check
mov bl, dl
test dl, dl
je 0x455554
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop dword [eax]
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455551
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x455530
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
je 0x455e44
mov edi, str.quick_check
mov bl, dl
test dl, dl
je 0x4555ab
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x4555a8
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x455587
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
je 0x455e44
mov edi, str.encoding
mov bl, dl
test dl, dl
je 0x455604
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455601
mov al, byte [edi + esi + 1]
inc edi
mov bl, al
test al, al
jne 0x4555e0
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x4557e5
cmp dword [ebp - 0x14], eax
jne 0x455724
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx]
cmp byte [ecx + 0x7c], al
jne 0x455643
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
mov edx, 1
mov ecx, esi
call fcn.00426e40
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x45566d
mov ecx, dword [esi + 0x10]
mov edx, str.encoding
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
add esp, 0xc
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x455685
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4556ba
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx]
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 + 0x479a18]
test edx, edx
je 0x455711
cmp byte [ecx + 0x1e], 0
jne 0x455711
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.00425e20
add esp, 4
test ebx, ebx
jne 0x455705
mov dword [edi + 0x10], ebx
mov byte [edi + 1], bl
jmp 0x453d98
mov dword [edi + 0x10], ebx
mov byte [edi + 1], 0xfe
jmp 0x453d98
push ebx
mov edx, 0xfffffffe
call fcn.00425e20
add esp, 4
jmp 0x453d98
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x452d86
mov edx, dword [str.UTF8]
mov edi, 0x479a18
mov esi, dword [ebp - 0x14]
test edx, edx
je 0x4557cf
mov bh, byte [esi]
mov bl, bh
test bh, bh
je 0x455784
mov al, bh
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455781
mov al, byte [esi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x455760
mov esi, dword [ebp - 0x14]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
je 0x4557a8
mov edx, dword [edi + 8]
add edi, 8
test edx, edx
jne 0x455752
jmp 0x4557cf
mov cl, byte [edi + 4]
mov edx, 2
test cl, cl
movzx eax, cl
cmovne edx, eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
cmp dword [edi], 0
jne 0x452d86
push esi
push str.unsupported_encoding:__s
push dword [ebp - 0x1c]
call fcn.0040d2b0
add esp, 0xc
jmp 0x452d86
mov edi, str.schema_version
mov bl, dl
test dl, dl
je 0x455824
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop dword [eax]
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455821
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x455800
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
je 0x455cda
mov edi, str.user_version
mov bl, dl
test dl, dl
je 0x45587b
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455878
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x455857
mov esi, dword [ebp - 0x20]
movzx eax, bl
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edi]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
je 0x455cda
mov edi, str.freelist_count
mov bl, dl
test dl, dl
je 0x4558d4
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
nop
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x4558d1
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x4558b0
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
je 0x455cda
mov edi, str.compile_options
mov bl, dl
test dl, dl
je 0x45592b
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455928
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x455907
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x455a51
lea edx, [eax + 1]
mov ecx, esi
xor ebx, ebx
call fcn.00426e40
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x48], 1
mov eax, dword [esi]
cmp byte [eax + 0x1e], bl
jne 0x455980
mov ecx, dword [esi + 0x10]
mov edx, str.compile_option
push ebx
push 1
push 0xffffffffffffffff
call fcn.00424c30
add esp, 0xc
nop dword [eax]
cmp ebx, 1
ja 0x452d86
mov eax, dword [ebx*4 + 0x47b484]
inc ebx
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x452d86
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4559bb
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x4559b8
mov edi, 1
jmp 0x4559f0
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push dword [ebp - 0x3c]
mov edx, edi
mov ecx, esi
call fcn.00425f90
mov edi, dword [esi + 0x1c]
add esp, 8
cmp dword [esi + 0x20], edi
jg 0x455a18
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x455980
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x455980
mov edi, str.wal_checkpoint
mov bl, dl
test dl, dl
je 0x455a8c
mov ecx, dword [ebp - 0x18]
mov al, dl
sub ecx, edi
mov dword [ebp - 0x3c], ecx
mov esi, ecx
movzx ecx, byte [edi]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455a89
mov al, byte [esi + edi + 1]
inc edi
mov bl, al
test al, al
jne 0x455a68
mov esi, dword [ebp - 0x20]
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x455c42
mov ecx, dword [ebp + 8]
mov eax, 0xa
mov edi, dword [ebp - 0x14]
cmp dword [ecx], 0
cmovne eax, dword [ebp - 0x24]
xor ebx, ebx
mov dword [ebp - 0x3c], eax
test edi, edi
je 0x455b6a
mov bl, byte [edi]
mov edx, str.full
mov bh, bl
test bl, bl
je 0x455afc
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455af9
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x455ad8
mov edi, dword [ebp - 0x14]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x479a68]
movzx eax, bh
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x455b19
lea ebx, [eax + 1]
jmp 0x455b6a
mov edx, str.restart
test bl, bl
je 0x455b47
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455b47
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x455b26
movzx eax, bl
mov ebx, 0
movzx ecx, byte [eax + 0x479a68]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x479a68]
sub ecx, eax
mov eax, 2
cmove ebx, eax
mov edi, dword [ebp - 0x1c]
mov ecx, edi
call fcn.00457520
test eax, eax
jne 0x456c1e
lea edx, [eax + 3]
mov ecx, esi
call fcn.00426e40
mov dword [edi + 0x48], 3
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x455bed
mov ecx, dword [esi + 0x10]
mov edx, str.busy
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x455bed
mov ecx, dword [esi + 0x10]
mov edx, 0x47f1c4
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x28
call fcn.00424c30
mov eax, dword [esi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne 0x455bed
mov ecx, dword [esi + 0x10]
mov edx, str.checkpointed
push 0
push 1
push 0xffffffffffffffff
add ecx, 0x50
call fcn.00424c30
add esp, 0xc
push 1
push ebx
push dword [ebp - 0x3c]
mov edx, 0x7d
mov ecx, esi
call fcn.004259a0
mov edi, dword [esi + 0x1c]
add esp, 0xc
cmp dword [esi + 0x20], edi
jg 0x455c19
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x452d86
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 3
jmp 0x453dd3
mov esi, str.wal_autocheckpoint
test dl, dl
je 0x455c73
mov edi, dword [ebp - 0x18]
mov al, dl
sub edi, esi
movzx ecx, byte [esi]
mov dl, al
movzx eax, al
mov al, byte [eax + 0x479a68]
cmp al, byte [ecx + 0x479a68]
jne 0x455c73
mov al, byte [edi + esi + 1]
inc esi
mov dl, al
test al, al
jne 0x455c52
movzx eax, byte [esi]
movzx ecx, byte [eax + 0x479a68]
movzx eax, dl
movzx eax, byte [eax + 0x479a68]
sub eax, ecx
jne 0x452d86
mov esi, dword [ebp - 0x14]
test esi, esi
je 0x455ca9
mov ecx, esi
call fcn.0040dcc0
push eax
push dword [ebp - 0xc]
call fcn.00474170
add esp, 8
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xc0], 0x4740a0
jne 0x455ccb
mov eax, dword [eax + 0xc4]
cdq
push edx
push eax
mov edx, str.wal_autocheckpoint
jmp 0x452d7b
xor eax, eax
cdq
push edx
push eax
mov edx, str.wal_autocheckpoint
jmp 0x452d7b
mov eax, dword [esi + 0x70]
mov edi, dword [ebp - 0x24]
bts eax, edi
mov dword [esi + 0x70], eax
cmp edi, 1
je 0x455d06
mov eax, dword [esi]
mov edx, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
mov eax, dword [eax + edx + 4]
cmp byte [eax + 9], 0
je 0x455d06
mov eax, dword [esi + 0x74]
bts eax, edi
mov dword [esi + 0x74], eax
mov eax, dword [ebp - 0x18]
movsx eax, byte [eax]
add eax, 0xffffffba
cmp eax, 0x2d
ja case.0x455d1b.71
movzx eax, byte [eax + 0x456c7c]
jmp dword [eax*4 + 0x456c70]
xor ebx, ebx
jmp 0x455d32
mov ebx, 1
jmp 0x455d32
mov ebx, 6
cmp dword [ebp - 0x14], 0
je 0x455dc9
test ebx, ebx
je 0x455dc9
push 0x478704
mov edx, 3
mov ecx, esi
call fcn.00425d60
mov edi, dword [esi + 0x1c]
add esp, 4
mov dword [ebp - 0x3c], eax
cmp edi, eax
jbe 0x455d72
mov ecx, dword [esi + 4]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x24]
mov dword [ecx + edx*4 + 4], eax
mov edi, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x14]
call fcn.0040dcc0
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
lea ecx, [eax + 1]
cmp edi, ecx
jbe 0x455d97
mov edi, dword [ebp - 0x38]
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + 4]
mov dword [ecx + edx*4 + 4], edi
mov edi, dword [esi + 0x1c]
lea edx, [eax + 2]
cmp edi, edx
jbe 0x452d86
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov edi, dword [ebp - 0x24]
mov dword [eax + ecx*4 + 4], edi
mov edi, dword [esi + 0x1c]
cmp edi, edx
jbe 0x452d86
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 8], ebx
jmp 0x452d86
push 0x478834
mov edx, 3
mov ecx, esi
call fcn.00425d60
mov ecx, dword [esi + 0x1c]
add esp, 4
cmp ecx, eax
jbe 0x455df1
mov ecx, dword [esi + 4]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], edi
mov ecx, dword [esi + 0x1c]
lea edx, [eax + 1]
cmp ecx, edx
jbe 0x455e13
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 4], edi
mov ecx, dword [esi + 0x1c]
cmp ecx, edx
jbe 0x455e13
mov eax, dword [esi + 4]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4 + 0xc], ebx
mov edx, 1
mov ecx, esi
call fcn.00426e40
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x452d86
mov edx, dword [ebp - 0x18]
mov ecx, dword [esi + 0x10]
push 0xffffffffffffffff
push 1
push 0xffffffffffffffff
call fcn.00424c30
add esp, 0xc
jmp 0x452d86
mov ebx, dword [ebp - 0x1c]
movzx eax, dl
mov ecx, dword [ebx]
mov al, byte [eax + 0x479a68]
mov byte [ebp - 5], al
cmp byte [ecx + 0x7c], 0
jne 0x455e6b
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
mov edx, 1
mov dword [ebx + 0x48], 6
mov ecx, esi
call fcn.00426e40
mov eax, dword [esi]
cmp byte [eax + 0x1e], 0
jne 0x455e9c
mov ecx, dword [esi + 0x10]
mov edx, str.integrity_check
push 0
push 1
push 0xffffffffffffffff
call fcn.00424c30
add esp, 0xc
mov eax, dword [ebp - 0x14]
mov ebx, 0x64
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
test eax, eax
je 0x455ec8
lea edx, [ebp - 0x34]
mov ecx, eax
call fcn.0040dbf0
mov ebx, dword [ebp - 0x34]
mov eax, 0x64
test ebx, ebx
cmovle ebx, eax
mov dword [ebp - 0x3c], ebx
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x455ee0
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x455f11
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebp - 0xc]
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ecx + 4], eax
jle 0x4569d5
mov ecx, dword [ebp - 0x1c]
mov edx, eax
xor ebx, ebx
call fcn.00445ad0
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x455f4b
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x455f48
lea edi, [ebx + 1]
jmp 0x455f73
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x78
mov byte [eax + ecx*4 + 3], bl
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], ebx
mov ecx, dword [esi + 0x1c]
mov eax, ecx
mov dword [ebp - 0x38], ecx
cmp dword [esi + 0x20], ecx
jg 0x455f91
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x455fb5
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x38]
inc eax
lea ecx, [ecx + ecx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 6
mov byte [eax + ecx*4 + 3], bl
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], ebx
test edi, edi
js 0x455fca
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x455fca
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x24]
shl ecx, 4
mov dword [ebp - 0x28], ecx
mov eax, dword [eax + 8]
mov eax, dword [ecx + eax + 0xc]
mov dword [ebp - 0x20], eax
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x4560c9
nop
mov eax, dword [eax + 8]
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x30], eax
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x38], eax
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x456014
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x456047
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
lea eax, [ebx + 2]
mov dword [ecx + 8], eax
mov edi, dword [ebp - 0x30]
inc ebx
mov dword [ebp - 0x2c], ebx
mov edi, dword [edi + 0x10]
test edi, edi
je 0x4560b9
mov eax, dword [edi + 0x14]
mov ebx, dword [esi + 0x1c]
mov dword [ebp - 0x38], eax
mov eax, ebx
cmp dword [esi + 0x20], ebx
jg 0x456073
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4560ab
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov ebx, dword [ebp - 0x2c]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x38]
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], eax
lea eax, [ebx + 2]
mov dword [ecx + 8], eax
jmp 0x4560ae
mov ebx, dword [ebp - 0x2c]
mov edi, dword [edi + 0x20]
inc ebx
mov dword [ebp - 0x2c], ebx
test edi, edi
jne 0x456055
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x455ff0
mov ecx, dword [ebp - 0x1c]
lea eax, [ebx + 4]
cmp dword [ecx + 0x48], eax
jge 0x4560d7
mov dword [ecx + 0x48], eax
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4560ef
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x456120
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x6f
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 4]
test ecx, ecx
je 0x456134
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x24]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], dl
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x456153
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x456150
mov edi, 1
jmp 0x456188
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x49
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx + 8]
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.0040c600
mov ebx, dword [esi + 0x1c]
add esp, 0xc
mov dword [ebp - 0x38], eax
mov eax, ebx
cmp dword [esi + 0x20], ebx
jg 0x4561c4
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x4561c1
mov ebx, 1
jmp 0x4561f9
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5e
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xffffffffffffffff
push dword [ebp - 0x38]
mov edx, ebx
mov ecx, esi
call fcn.00425f90
mov ebx, dword [esi + 0x1c]
add esp, 8
mov eax, ebx
cmp dword [esi + 0x20], ebx
jg 0x456222
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x456257
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0xd
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 1
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x1c]
mov eax, ebx
cmp dword [esi + 0x20], ebx
jg 0x45626f
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4562a4
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 2
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x1c]
cmp dword [esi + 0x20], ebx
jg 0x4562b7
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4562eb
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edi, edi
js 0x456300
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x456300
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x4569c2
mov cl, byte [ebp - 5]
cmp cl, 0x71
je 0x4569c2
mov eax, dword [eax + 8]
mov dword [ebp - 0x20], eax
cmp dword [eax + 0x10], 0
je 0x4569b2
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x45634c
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x456349
mov edi, 1
jmp 0x456381
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x78
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x1c]
mov eax, ebx
cmp dword [esi + 0x20], ebx
jg 0x456399
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4563ce
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 6
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edi, edi
js 0x4563e3
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x4563e3
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
push 0x27
push 1
call fcn.00450e10
mov edi, dword [esi + 0x1c]
add esp, 8
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x45640d
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x456442
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x1c]
mov eax, ebx
mov dword [ebp - 0x30], ebx
cmp dword [esi + 0x20], ebx
jg 0x456466
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x456463
mov dword [ebp - 0x30], 1
jmp 0x45649b
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x48
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4564b3
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x4564e8
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x14
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 2
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0x28], edi
test edi, edi
je 0x4566e2
mov ebx, 2
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebp - 0x1c]
mov edx, edi
push 0
push 3
push 1
call fcn.00447c90
mov ecx, dword [edi + 4]
add esp, 0xc
inc ecx
mov edx, 0x34
push ecx
push eax
push 0
push ebx
mov ecx, esi
call fcn.00425af0
push 0x47938c
mov edx, 0xb
mov dword [ebp - 0x48], eax
mov ecx, esi
call fcn.00425d60
mov edx, dword [esi + 4]
add esp, 0x14
mov ebx, dword [esi]
mov dword [ebp - 0x2c], eax
lea ecx, [eax + 1]
test edx, edx
je 0x456582
cmp byte [ebx + 0x1e], 0
jne 0x456582
test ecx, ecx
jns 0x45655d
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.00425e20
mov dword [edi + 0x10], 0x47f0a0
mov byte [edi + 1], 0xfe
mov edi, dword [ebp - 0x28]
jmp 0x456593
push 0x47f0a0
mov edx, 0xfffffffe
mov ecx, ebx
call fcn.00425e20
mov eax, dword [ebp - 0x2c]
add esp, 4
mov edx, dword [esi + 4]
add eax, 3
mov ecx, dword [esi]
test edx, edx
je 0x4565e0
cmp byte [ecx + 0x1e], 0
jne 0x4565e0
test eax, eax
jns 0x4565b3
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.00425e20
mov dword [edi + 0x10], str._missing_from_index
mov byte [edi + 1], 0xfe
mov edi, dword [ebp - 0x28]
jmp 0x4565ef
push str._missing_from_index
mov edx, 0xfffffffe
call fcn.00425e20
mov eax, dword [ebp - 0x2c]
add esp, 4
mov edx, dword [esi + 4]
add eax, 4
mov ebx, dword [edi]
mov ecx, dword [esi]
mov dword [ebp - 0x40], ebx
test edx, edx
je 0x45668e
cmp byte [ecx + 0x1e], 0
jne 0x45668e
test eax, eax
jns 0x45661c
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]
mov dword [ebp - 0x44], edi
call fcn.00425e20
add esp, 4
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x456648
mov byte [edi + 1], bl
mov edi, dword [ebp - 0x28]
jmp 0x456699
cmp byte [ebx], 0
mov edi, ebx
je 0x456656
nop
inc edi
cmp byte [edi], 0
jne 0x456650
mov ecx, dword [esi]
sub edi, ebx
and edi, 0x3fffffff
lea edx, [edi + 1]
call fcn.0040b030
mov ebx, eax
test ebx, ebx
je 0x45667f
push edi
push dword [ebp - 0x40]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebx + edi], 0
mov eax, dword [ebp - 0x44]
mov edi, dword [ebp - 0x28]
mov dword [eax + 0x10], ebx
mov byte [eax + 1], 0xff
jmp 0x456699
push ebx
xor edx, edx
call fcn.00425e20
add esp, 4
mov eax, dword [ebp - 0x2c]
add eax, 9
js 0x4566b2
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x4566b2
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [ebp - 0x48]
test eax, eax
js 0x4566ca
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x4566ca
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov ebx, dword [ebp - 0x34]
mov edi, dword [edi + 0x20]
inc ebx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x34], ebx
test edi, edi
jne 0x456501
mov ebx, dword [ebp - 0x20]
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x4566fa
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x45672f
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x5f
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0x10], 0
mov eax, dword [ebp - 0x30]
test eax, eax
js 0x456747
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x456747
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4569af
mov dword [ebp - 0x28], 2
nop dword [eax]
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x45677f
mov ecx, esi
call fcn.00425920
test eax, eax
je 0x45677c
mov edi, 1
jmp 0x4567b4
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x78
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [esi + 0x1c]
mov eax, ebx
cmp dword [esi + 0x20], ebx
jg 0x4567cc
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x456801
mov eax, dword [esi + 0x1c]
inc eax
lea ecx, [ebx + ebx*4]
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 6
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
test edi, edi
js 0x456816
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x456816
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
push 0x478858
mov edx, 0xa
mov ecx, esi
call fcn.00425d60
mov edx, dword [esi + 0x1c]
mov ebx, eax
add esp, 4
lea edi, [ebx + 1]
cmp edx, edi
jbe 0x45685a
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebp - 0x28]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x45685a
mov eax, dword [esi + 4]
lea edx, [ebx + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x1c]
lea edi, [ebx + 3]
cmp edx, edi
jbe 0x456885
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov edx, dword [ebp - 0x28]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esi + 0x1c]
cmp edx, edi
jbe 0x456885
mov eax, dword [esi + 4]
lea edx, [ebx + 2]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x1c]
lea eax, [ebx + 4]
mov edi, edx
test eax, eax
js 0x45689f
cmp edx, eax
jbe 0x45689f
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov edi, dword [esi + 0x1c]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x4568e0
cmp byte [ecx + 0x1e], 0
jne 0x4568e0
lea eax, [edi - 1]
lea edi, [ebx + 6]
test edi, edi
cmovns eax, edi
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx edx, byte [edi + 1]
call fcn.00425e20
mov dword [edi + 0x10], str.wrong__of_entries_in_index
mov byte [edi + 1], 0xfe
jmp 0x4568ef
push str.wrong__of_entries_in_index
mov edx, 0xfffffffe
call fcn.00425e20
mov ecx, dword [ebp - 0x30]
lea eax, [ebx + 7]
mov edx, dword [esi + 4]
add esp, 4
mov ebx, dword [esi]
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
test edx, edx
je 0x45698e
cmp byte [ebx + 0x1e], 0
jne 0x45698e
test eax, eax
jns 0x45691c
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]
mov dword [ebp - 0x44], edi
call fcn.00425e20
mov ebx, dword [ebp - 0x48]
add esp, 4
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x45694a
mov byte [edi + 1], bl
jmp 0x45699b
cmp byte [ebx], 0
mov edi, ebx
je 0x456957
inc edi
cmp byte [edi], 0
jne 0x456951
mov ecx, dword [esi]
sub edi, ebx
and edi, 0x3fffffff
lea edx, [edi + 1]
call fcn.0040b030
mov dword [ebp - 0x48], eax
test eax, eax
je 0x456982
push edi
push ebx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x48]
add esp, 0xc
mov byte [eax + edi], 0
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xff
jmp 0x45699b
push ecx
xor edx, edx
mov ecx, ebx
call fcn.00425e20
add esp, 4
mov ecx, dword [ebp - 0x30]
inc dword [ebp - 0x28]
mov ecx, dword [ecx + 0x20]
mov dword [ebp - 0x30], ecx
test ecx, ecx
jne 0x456760
mov cl, byte [ebp - 5]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x456314
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, dword [ecx + 4]
jl 0x455f22
push 0x47b5f0
mov edx, 4
mov ecx, esi
call fcn.00425d60
mov edi, eax
add esp, 4
cmp dword [esi + 0x1c], edi
jbe 0x4569ff
mov ecx, dword [esi + 4]
lea edx, [edi + edi*4]
mov eax, dword [ebp - 0x3c]
neg eax
mov dword [ecx + edx*4 + 8], eax
lea eax, [edi + 1]
test eax, eax
js 0x456a17
mov edx, dword [esi + 0x1c]
cmp edx, eax
jbe 0x456a17
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 4]
lea eax, [edi + 2]
mov ecx, dword [esi]
test edx, edx
je 0x456a60
cmp byte [ecx + 0x1e], 0
jne 0x456a60
test eax, eax
jns 0x456a31
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.00425e20
add esp, 4
mov dword [esi + 0x10], 0x47f0e0
mov byte [esi + 1], 0xfe
jmp 0x452d86
push 0x47f0e0
mov edx, 0xfffffffe
call fcn.00425e20
add esp, 4
jmp 0x452d86
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebx]
cmp byte [ecx + 0x7c], 0
jne 0x456a92
lea edx, [ebx + 8]
call fcn.00457420
test eax, eax
jne 0x453257
mov edx, dword [ebp - 0x24]
mov ecx, ebx
call fcn.00445ad0
mov eax, dword [ebp - 0x18]
inc dword [ebx + 0x48]
mov ebx, dword [ebx + 0x48]
mov dword [ebp - 0x30], ebx
movzx eax, byte [eax]
cmp byte [eax + 0x479a68], 0x70
jne 0x456b02
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x456ad0
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x456b69
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x92
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x456b69
mov eax, dword [ebp - 0x14]
xor ebx, ebx
mov dword [ebp - 0x3c], ebx
test eax, eax
je 0x456b1b
lea edx, [ebp - 0x3c]
mov ecx, eax
call fcn.0040dbf0
mov ebx, dword [ebp - 0x3c]
mov edi, dword [esi + 0x1c]
mov eax, edi
cmp dword [esi + 0x20], edi
jg 0x456b33
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x456b66
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x24]
lea ecx, [edi + edi*4]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [ebp - 0x30]
mov dword [eax + ecx*4 + 0xc], ebx
mov ebx, edx
mov word [eax + ecx*4], 0x93
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x456b69
mov ebx, dword [ebp - 0x30]
mov edi, dword [esi + 0x1c]
cmp dword [esi + 0x20], edi
jg 0x456b80
mov ecx, esi
call fcn.00425920
test eax, eax
jne 0x455e13
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x1c]
mov word [eax + ecx*4], 0x10
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x455e13
mov cl, 1
mov byte [eax + 8], cl
cmp dl, 3
jne 0x456bc9
cmp byte [eax + 0xc], 0
jne 0x456bc9
mov dl, 1
jmp 0x456bcb
xor dl, dl
mov byte [eax + 9], dl
test cl, cl
je 0x456bda
mov word [eax + 0xa], 0
jmp 0x456bfa
test ebx, 0x200000
je 0x456bea
mov word [eax + 0xa], 0x303
jmp 0x456bfa
shr ebx, 0x16
and bl, 1
mov byte [eax + 0xb], 2
or bl, 2
mov byte [eax + 0xa], bl
cmp byte [edi + 9], 0
je 0x456c1e
add dword [edi + 0xc], 0xffffffff
jne 0x456c1e
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x456c1a
push eax
call dword [0x4831c4]
add esp, 4
mov byte [edi + 0xa], 0
mov eax, dword [ebp - 0xc]
push dword [ebp - 0x18]
push eax
call fcn.0040add0
push dword [ebp - 0x14]
push dword [ebp - 0xc]
call fcn.0040add0
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0xc], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret