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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x50b0b0]
xor eax, esp
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
push ebx
mov ebx, dword [esp + 0x84]
push ebp
mov ebp, dword [esp + 0x90]
push esi
push edi
mov edi, dword [esp + 0x94]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx]
push ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x14], eax
call fcn.0045d470
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
je 0x465cc5
or dword [esi + 0x58], 0x10
mov eax, dword [ebx]
mov dword [ebx + 0x48], 2
test ebp, ebp
je 0x465ad6
cmp dword [ebp + 4], 0
jbe 0x465ad6
cmp byte [eax + 0x91], 0
je 0x465a98
push str.corrupt_database
push ebx
call fcn.00453ae0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004bf6e8
add esp, 0x7c
ret
push edi
push eax
call fcn.00458180
mov ecx, eax
add esp, 8
mov dword [esp + 0x34], ecx
test ecx, ecx
jns 0x465ace
push edi
push str.unknown_database__T
push ebx
call fcn.00453ae0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004bf6e8
add esp, 0x7c
ret
mov dword [esp + 0x2c], eax
mov edi, ebp
jmp 0x465ae5
movzx ecx, byte [eax + 0x90]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x10]
mov eax, ecx
shl eax, 4
mov dword [esp + 0x48], eax
mov ebx, dword [edx + 0x10]
add ebx, eax
mov dword [esp + 0x30], ebx
cmp ecx, 1
jne 0x465b14
push dword [esp + 0x20]
call fcn.00462a90
add esp, 4
test eax, eax
jne 0x465cc5
push edi
mov edi, dword [esp + 0x14]
push edi
call fcn.00462610
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
je 0x465cc5
cmp dword [esp + 0xa0], 0
push dword [esp + 0x1c]
je 0x465b4c
push 0x4f2d04
push edi
call fcn.00461d50
add esp, 0xc
jmp 0x465b55
push edi
call fcn.00462610
add esp, 8
cmp dword [ebp + 4], 0
mov dword [esp + 0x14], eax
jbe 0x465b63
mov ebx, dword [ebx]
jmp 0x465b65
xor ebx, ebx
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x20]
push ebx
push eax
push edi
push 0x13
push ebp
mov dword [esp + 0x2c], ebx
call fcn.00449bb0
add esp, 0x14
test eax, eax
jne 0x465ca7
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x78]
mov eax, dword [esp + 0x14]
push ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x14]
push 0xe
push ebx
mov dword [esp + 0x88], edi
mov dword [esp + 0x90], 0
push eax
mov dword [eax + 0x1c4], 0
call fcn.0041cfa0
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x465ce4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x465ca7
inc dword [ebp + 0x48]
mov ebx, dword [ebp + 0x48]
push edi
push eax
push edi
push ebx
push edi
push 0x61
push esi
call fcn.004755d0
push 1
push esi
call fcn.004809f0
push edi
push str.result
push edi
push edi
push esi
call fcn.004809b0
mov eax, dword [esi + 0x18]
add esp, 0x38
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x465c23
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x465c53
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x23
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 esi, dword [esp + 0x78]
test esi, esi
je 0x465ca7
cmp dword [section..data], 0
je 0x465cdb
mov eax, dword [0x50cf50]
test eax, eax
je 0x465c77
push eax
call dword [0x50a054]
add esp, 4
push esi
call dword [0x50a030]
sub dword [0x50cdd0], eax
dec dword [0x50cdf4]
push esi
call dword [0x50a028]
mov eax, dword [0x50cf50]
add esp, 8
test eax, eax
je 0x465ca7
push eax
call dword [0x50a05c]
add esp, 4
mov ecx, dword [esp + 0x10]
push dword [esp + 0x4c]
push ecx
call fcn.004514c0
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.004514c0
add esp, 0x10
mov ecx, dword [esp + 0x88]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004bf6e8
add esp, 0x7c
ret
push esi
call dword [0x50a028]
jmp 0x465ca4
cmp edi, 0xc
je 0x465d7b
mov eax, dword [esp + 0x78]
test eax, eax
je 0x465d70
push eax
push 0x4f0960
push ebp
call fcn.00453ae0
mov esi, dword [esp + 0x84]
add esp, 0xc
test esi, esi
je 0x465d70
cmp dword [section..data], 0
je 0x465d66
mov eax, dword [0x50cf50]
test eax, eax
je 0x465d2b
push eax
call dword [0x50a054]
add esp, 4
push esi
call dword [0x50a030]
sub dword [0x50cdd0], eax
dec dword [0x50cdf4]
push esi
call dword [0x50a028]
mov eax, dword [0x50cf50]
add esp, 8
test eax, eax
je 0x465d70
push eax
call dword [0x50a05c]
add esp, 4
mov dword [ebp + 0xc], edi
inc dword [ebp + 0x40]
jmp 0x465ca7
push esi
call dword [0x50a028]
add esp, 4
inc dword [ebp + 0x40]
mov dword [ebp + 0xc], edi
jmp 0x465ca7
xor edi, edi
mov esi, 0x39
mov dword [esp + 0x1c], edi
lea eax, [esi + edi]
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
lea ecx, [ebp*2]
add ecx, ebp
mov edx, dword [ecx*4 + 0x4ee310]
test edx, edx
jne 0x465dab
mov edx, 1
jmp 0x465dfd
mov ecx, dword [esp + 0x4c]
mov bl, byte [ecx]
test bl, bl
je 0x465de5
mov edi, ecx
mov al, bl
sub edi, edx
nop dword [eax + eax]
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x465de1
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x465dc0
mov edi, dword [esp + 0x1c]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4eb938]
movzx eax, bl
movzx edx, byte [eax + 0x4eb938]
sub edx, ecx
je 0x465e19
test edx, edx
lea eax, [ebp - 1]
cmovns eax, esi
mov esi, eax
lea eax, [ebp + 1]
cmovns edi, eax
mov dword [esp + 0x1c], edi
cmp edi, esi
jle 0x465d86
cmp edi, esi
mov esi, dword [esp + 0x28]
jg 0x465ca7
mov edi, dword [esp + 0x20]
lea ebx, [ebp*2]
add ebx, ebp
mov dword [esp + 0x50], ebx
test byte [ebx*4 + 0x4ee315], 1
je 0x465e51
push edi
call fcn.00469e60
add esp, 4
test eax, eax
jne 0x465ca7
movzx eax, byte [ebx*4 + 0x4ee314]
cmp eax, 0x23
ja case.0x465e62.3
jmp dword [eax*4 + 0x4694d0]
mov ebp, dword [esp + 0x34]
push ebp
push esi
call fcn.004811c0
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x465eda
push 1
push esi
call fcn.004809f0
push 0
push str.cache_size
push 0
push 0
push esi
call fcn.004809b0
add dword [edi + 0x48], 2
push 0
push 0x4ecbc4
push 9
push esi
call fcn.00475680
mov edi, eax
push ebp
push edi
push esi
call fcn.004758c0
push ebp
lea ecx, [edi + 1]
push ecx
push esi
call fcn.004758c0
add esp, 0x44
lea eax, [edi + 6]
push 0x7d0
push eax
push esi
call fcn.004758c0
add esp, 0xc
jmp 0x465ca7
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push eax
call fcn.0045c9b0
mov edi, dword [esp + 0x24]
add esp, 8
test edi, edi
jns 0x465f09
cmp edi, 0x80000000
jne 0x465f07
mov edi, SysReAllocString
jmp 0x465f09
neg edi
push ebp
push 0
push dword [esp + 0x28]
call fcn.0044abf0
mov eax, dword [esi + 0x18]
add esp, 0xc
mov ebx, dword [esi + 0x20]
cmp dword [eax + 0x54], ebx
jg 0x465f32
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x465f62
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x19
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], 0
mov dword [eax + ecx*4 + 0x10], 0
push 1
push 3
push ebp
push 0x34
push esi
call fcn.00475560
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0xc]
mov dword [eax + 0x50], edi
mov eax, dword [edx + 0xc]
push dword [eax + 0x50]
push dword [edx + 4]
call fcn.0044dfe0
add esp, 0x1c
jmp 0x465ca7
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov esi, dword [edx + 4]
test eax, eax
jne 0x465fc2
test esi, esi
je 0x465faa
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x20]
jmp 0x465fac
xor eax, eax
cdq
push edx
push eax
push str.page_size
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push eax
call fcn.0045c9b0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
push 0
push 0xffffffffffffffff
push eax
push esi
mov dword [ecx + 0x48], eax
call fcn.0044e060
mov ecx, dword [esp + 0x28]
add esp, 0x18
cmp eax, 7
jne 0x465cab
mov byte [ecx + 0x41], 1
jmp 0x465cab
mov edx, dword [esp + 0x30]
or ebp, 0xffffffff
mov eax, dword [edx + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x466028
push 0
push eax
call fcn.0045c650
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x4660b2
test ebp, ebp
js 0x4660b2
mov eax, dword [esp + 0x10]
xor edi, edi
cmp dword [eax + 0x14], edi
jle 0x4660b2
xor ebx, ebx
mov ecx, 0xfffb
nop dword [eax]
mov eax, dword [eax + 0x10]
mov esi, dword [ebx + eax + 4]
test esi, esi
je 0x4660a5
cmp byte [esi + 9], 0
je 0x466078
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x466078
push esi
call fcn.00423b80
add esp, 4
mov ecx, 0xfffb
mov eax, dword [esi + 4]
and word [eax + 0x16], cx
test ebp, ebp
je 0x46608b
mov eax, dword [esi + 4]
or word [eax + 0x16], 4
cmp byte [esi + 9], 0
je 0x4660a5
add dword [esi + 0xc], 0xffffffff
jne 0x4660a5
push esi
call fcn.00486170
add esp, 4
mov ecx, 0xfffb
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x466050
push ebp
push dword [esp + 0x2c]
call fcn.0044def0
cdq
push edx
push eax
push str.secure_delete
push dword [esp + 0x34]
call fcn.00443f90
add esp, 0x18
jmp 0x465ca7
mov ebp, dword [esp + 0x34]
push ebp
push edi
call fcn.0044f7a0
mov eax, dword [esp + 0x54]
add esp, 8
inc dword [edi + 0x48]
mov ebx, dword [edi + 0x48]
movzx eax, byte [eax]
cmp byte [eax + 0x4eb938], 0x70
jne 0x46610b
push ebx
push ebp
push 0x99
push esi
call fcn.00475540
add esp, 0x10
jmp 0x466150
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x46613f
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.0045c9b0
mov eax, dword [esp + 0x24]
add esp, 8
test eax, eax
jns 0x46613f
cmp eax, 0x80000000
jne 0x46613d
mov eax, SysReAllocString
jmp 0x46613f
neg eax
push eax
push ebx
push ebp
push 0x9a
push esi
call fcn.00475560
add esp, 0x14
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x46616a
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x46619a
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x23
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
push 1
push esi
call fcn.004809f0
push 0xffffffffffffffff
push dword [esp + 0x58]
push 0
push 0
push esi
call fcn.004809b0
add esp, 0x1c
jmp 0x465ca7
mov edi, dword [esp + 0x14]
test edi, edi
je 0x466265
mov bl, byte [edi]
mov edx, str.exclusive
mov bh, bl
test bl, bl
je 0x4661fc
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x4661f8
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x4661d7
mov edi, dword [esp + 0x14]
movzx eax, bh
movzx ecx, byte [eax + 0x4eb938]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4eb938]
sub ecx, eax
jne 0x46621b
mov ecx, 1
jmp 0x466268
mov edx, str.normal
test bl, bl
je 0x466249
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x466249
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x466228
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4eb938]
movzx eax, bl
movzx eax, byte [eax + 0x4eb938]
sub eax, ecx
jne 0x466265
xor ecx, ecx
jmp 0x466268
or ecx, 0xffffffff
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x4662c7
cmp ecx, 0xffffffff
jne 0x466281
mov eax, dword [esp + 0x10]
movzx edi, byte [eax + 0x42]
jmp 0x4662de
mov ebp, dword [esp + 0x10]
mov edx, 2
cmp dword [ebp + 0x14], edx
jle 0x4662c4
lea edi, [edx + 0x1e]
test ecx, ecx
js 0x4662bb
mov eax, dword [ebp + 0x10]
mov eax, dword [edi + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax]
cmp byte [eax + 0xc], 0
jne 0x4662bb
mov ebx, dword [eax + 0xd0]
test ebx, ebx
je 0x4662b8
cmp byte [ebx + 0x2b], 2
je 0x4662bb
mov byte [eax + 4], cl
inc edx
add edi, 0x10
cmp edx, dword [ebp + 0x14]
jl 0x466292
mov byte [ebp + 0x42], cl
mov edx, dword [esp + 0x30]
push ecx
mov eax, dword [edx + 4]
mov eax, dword [eax + 4]
push dword [eax]
call fcn.00463830
add esp, 8
mov edi, eax
push 1
push esi
call fcn.004809f0
push 0
push str.locking_mode
push 0
push 0
push esi
call fcn.004809b0
cmp edi, 1
mov eax, str.normal
mov ecx, str.exclusive
push 0
cmove eax, ecx
push eax
push 0
push 1
push 0
push 0x61
push esi
call fcn.004755d0
add esp, 0x38
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x466339
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x465ca7
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x23
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 0x465ca7
push 1
push esi
call fcn.004809f0
push 0
push str.journal_mode
push 0
push 0
push esi
call fcn.004809b0
mov ecx, dword [esp + 0x30]
add esp, 0x1c
test ecx, ecx
je 0x466505
cmp byte [ecx], 0
mov ebp, ecx
je 0x4663a8
inc ebp
cmp byte [ebp], 0
jne 0x4663a1
sub ebp, ecx
and ebp, 0x3fffffff
xor eax, eax
mov dword [esp + 0x38], eax
cmp eax, 6
je 0x466505
mov edi, dword [eax*4 + 0x4ecbac]
test edi, edi
je 0x466505
mov edx, ebp
mov ebx, ecx
test ebp, ebp
je 0x4663f7
mov al, byte [ebx]
dec edx
test al, al
je 0x4663f8
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x4663f8
inc ebx
inc edi
test edx, edx
jg 0x4663d6
dec edx
test edx, edx
js 0x46641f
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x4eb938]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x4eb938]
sub eax, ecx
je 0x46641f
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
inc eax
jmp 0x4663b2
mov ebx, dword [esp + 0x38]
cmp ebx, 0xffffffff
je 0x466508
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x46631b
mov ebp, edi
shl ebp, 4
nop dword [eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x4664e8
cmp edi, edx
je 0x46646c
cmp dword [ecx + 4], 0
jne 0x4664e8
mov eax, dword [esi + 0x60]
bts eax, edi
mov dword [esi + 0x60], eax
cmp edi, 1
je 0x466492
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 4]
cmp byte [eax + 9], 0
je 0x466492
mov eax, dword [esi + 0x64]
bts eax, edi
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
mov edx, ecx
mov dword [esp + 0x28], ecx
cmp dword [eax + 0x54], ecx
jg 0x4664b9
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x4664e8
mov edx, dword [esi + 0x20]
mov ecx, dword [esp + 0x28]
lea eax, [edx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0xc
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 [esp + 0x24]
sub ebp, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
jns 0x466450
jmp 0x46631b
or ebx, 0xffffffff
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 4], 0
jne 0x466430
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x2c], edx
jmp 0x466434
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], 0xfffffffe
mov dword [esp + 0x70], 0xffffffff
mov eax, dword [edx + 4]
mov eax, dword [eax + 4]
mov esi, dword [eax]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x466595
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.00451930
mov ecx, dword [esp + 0x78]
add esp, 8
cmp ecx, 0xffffffff
jg 0x466575
jl 0x46656e
mov eax, dword [esp + 0x6c]
cmp eax, 0xffffffff
jae 0x466579
or eax, 0xffffffff
or ecx, eax
jmp 0x466579
mov eax, dword [esp + 0x6c]
mov edx, dword [esi + 0xd0]
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], ecx
test edx, edx
je 0x466595
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
push dword [esi + 0xa4]
push dword [esi + 0xa0]
push str.journal_size_limit
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov ebp, dword [edx + 4]
test ecx, ecx
jne 0x4665df
push ebp
call fcn.0044c3a0
cdq
push edx
push eax
push str.auto_vacuum
push edi
call fcn.00443f90
add esp, 0x14
jmp 0x465ca7
mov bl, byte [ecx]
mov edx, str.none
mov bh, bl
test bl, bl
je 0x466613
mov edi, ecx
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x466613
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x4665f2
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4eb938]
movzx eax, bh
movzx eax, byte [eax + 0x4eb938]
sub eax, ecx
jne 0x466632
xor ebx, ebx
jmp 0x4666fd
mov edx, str.full
mov bh, bl
test bl, bl
je 0x466666
mov edi, dword [esp + 0x14]
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x466666
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x466645
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4eb938]
movzx eax, bh
movzx eax, byte [eax + 0x4eb938]
sub eax, ecx
jne 0x466686
lea ebx, [eax + 1]
jmp 0x4666fd
mov edx, str.incremental
test bl, bl
je 0x4666b8
mov edi, dword [esp + 0x14]
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x4666b8
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x466697
movzx eax, bl
movzx ecx, byte [eax + 0x4eb938]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4eb938]
sub ecx, eax
jne 0x4666d5
lea ebx, [ecx + 2]
jmp 0x4666fd
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push dword [esp + 0x18]
call fcn.0045c9b0
xor ecx, ecx
add esp, 8
cmp dword [esp + 0x1c], 2
cmovbe ecx, dword [esp + 0x1c]
movzx ebx, cl
mov eax, dword [esp + 0x10]
push ebx
push ebp
mov dword [esp + 0x20], ebx
mov byte [eax + 0x43], bl
call fcn.0044df60
add esp, 8
test eax, eax
jne 0x465ca7
cmp ebx, 1
je 0x466728
cmp ebx, 2
jne 0x465ca7
push 0
push 0x4ee7fc
push 6
push esi
call fcn.00475680
mov ebp, dword [esp + 0x44]
mov ebx, eax
push ebp
push ebx
push esi
call fcn.004758c0
push ebp
lea ecx, [ebx + 1]
push ecx
push esi
call fcn.004758c0
lea edi, [ebx + 4]
push edi
lea eax, [ebx + 2]
push eax
push esi
call fcn.004758e0
mov eax, dword [esp + 0x4c]
dec eax
push eax
push edi
push esi
call fcn.004758c0
add esp, 0x40
lea eax, [ebx + 5]
push ebp
push eax
push esi
call fcn.004758c0
push ebp
push esi
call fcn.004811c0
add esp, 0x14
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4667aa
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.0045c9b0
add esp, 8
test eax, eax
je 0x4667aa
mov ebx, dword [esp + 0x28]
test ebx, ebx
jg 0x4667af
mov ebx, SysReAllocString
mov ebp, dword [esp + 0x34]
push ebp
push 0
push edi
call fcn.0044abf0
mov eax, dword [esi + 0x18]
add esp, 0xc
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4667de
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x466811
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x19
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
push ebp
push 0x8f
push esi
call fcn.004754d0
push 1
push 0x23
push esi
mov ebx, eax
call fcn.004754d0
mov ecx, dword [esi + 0x18]
add esp, 0x18
mov edi, dword [esi + 0x20]
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x46684b
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x466880
mov eax, dword [esi + 0x20]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x25
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 eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x46689a
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x4668ca
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x89
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push ebx
push esi
call fcn.0047e300
add esp, 8
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x466901
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x50]
cdq
push edx
push eax
push str.cache_size
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push eax
call fcn.0045c9b0
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov ecx, dword [edx + 0xc]
mov dword [ecx + 0x50], eax
mov eax, dword [edx + 0xc]
push dword [eax + 0x50]
push dword [edx + 4]
call fcn.0044dfe0
add esp, 0x10
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x466a6d
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.00451930
add esp, 8
cmp dword [esp + 0x70], 0
jg 0x466974
jl 0x466962
cmp dword [esp + 0x6c], 0
jae 0x466974
mov eax, dword [0x50a0b0]
mov dword [esp + 0x6c], eax
mov eax, dword [0x50a0b4]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x466990
mov eax, dword [esp + 0x6c]
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [edx + 0x2c], eax
mov edi, dword [edx + 0x14]
sub edi, 1
js 0x466a6d
mov ebx, edi
shl ebx, 4
mov eax, dword [edx + 0x10]
mov esi, dword [ebx + eax + 4]
test esi, esi
je 0x466a61
cmp edi, dword [esp + 0x34]
je 0x4669c0
cmp dword [ecx + 4], 0
jne 0x466a61
cmp byte [esi + 9], 0
mov ecx, dword [esp + 0x70]
mov eax, dword [esi + 4]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x28], eax
je 0x4669f3
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x4669f3
push esi
call fcn.00423b80
mov ecx, dword [esp + 0x20]
add esp, 4
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov edx, dword [eax + 0x3c]
mov dword [eax + 0x84], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x80], ebp
cmp dword [edx], 0
je 0x466a44
mov edx, dword [edx]
cmp dword [edx], 3
mov edx, dword [eax + 0x3c]
jl 0x466a44
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ecx
test ecx, ecx
jl 0x466a2d
jg 0x466a29
test ebp, ebp
je 0x466a2d
mov cl, 1
jmp 0x466a2f
xor cl, cl
mov byte [eax + 0x16], cl
lea ecx, [esp + 0x64]
mov eax, dword [edx]
push ecx
push 0x12
push edx
mov eax, dword [eax + 0x28]
call eax
add esp, 0xc
cmp byte [esi + 9], 0
je 0x466a59
add dword [esi + 0xc], 0xffffffff
jne 0x466a59
push esi
call fcn.00486170
add esp, 4
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
sub ebx, 0x10
sub edi, 1
jns 0x4669a1
lea eax, [esp + 0x6c]
mov dword [esp + 0x6c], 0xffffffff
push eax
push 0x12
push dword [esp + 0x20]
mov dword [esp + 0x7c], 0xffffffff
push dword [esp + 0x1c]
call fcn.0041cfa0
add esp, 0x10
test eax, eax
jne 0x466ab6
push dword [esp + 0x70]
push dword [esp + 0x70]
push str.mmap_size
push dword [esp + 0x2c]
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
cmp eax, 0xc
je 0x465ca7
mov ecx, dword [esp + 0x20]
inc dword [ecx + 0x40]
mov dword [ecx + 0xc], eax
jmp 0x465ca7
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x466af4
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x40]
cdq
push edx
push eax
push str.temp_store
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
mov bl, byte [ecx]
mov al, bl
sub al, 0x30
cmp al, 2
ja 0x466b09
movsx ebx, bl
sub ebx, 0x30
jmp 0x466bb4
mov edx, str.file
mov bh, bl
test bl, bl
je 0x466b41
mov esi, ecx
mov al, bl
sub esi, edx
nop word [eax + eax]
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x466b41
mov al, byte [edx + esi + 1]
inc edx
mov bh, al
test al, al
jne 0x466b20
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4eb938]
movzx eax, bh
movzx eax, byte [eax + 0x4eb938]
sub eax, ecx
jne 0x466b5e
lea ebx, [eax + 1]
jmp 0x466bb4
mov edx, str.memory
test bl, bl
je 0x466b91
mov esi, dword [esp + 0x14]
mov al, bl
sub esi, edx
nop
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4eb938]
cmp al, byte [ecx + 0x4eb938]
jne 0x466b91
mov al, byte [edx + esi + 1]
inc edx
mov bl, al
test al, al
jne 0x466b70
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4eb938]
movzx eax, bl
mov ebx, 0
movzx eax, byte [eax + 0x4eb938]
sub eax, ecx
mov eax, 2
cmove ebx, eax
mov esi, dword [edi]
movzx eax, byte [esi + 0x40]
cmp eax, ebx
je 0x465ca7
push edi
call fcn.00436780
mov ecx, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x465cab
mov byte [esi + 0x40], bl
jmp 0x465cab
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x466c19
cmp dword [0x50cd68], ecx
je 0x465ca7
push 1
push esi
call fcn.004809f0
push 0
push str.temp_store_directory
push 0
push 0
push esi
call fcn.004809b0
push 0
push dword [0x50cd68]
jmp 0x46630a
cmp byte [ecx], 0
je 0x466c52
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x28]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x466c3f
cmp dword [esp + 0x28], eax
jne 0x466c52
push str.not_a_writable_directory
push edi
call fcn.00453ae0
add esp, 8
jmp 0x465ca7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x40], 1
ja 0x466c65
push edi
call fcn.00436780
add esp, 4
push dword [0x50cd68]
call fcn.00418530
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x466c94
push eax
push 0x4f0960
call fcn.00417ee0
add esp, 8
mov dword [0x50cd68], eax
jmp 0x465ca7
mov dword [0x50cd68], 0
jmp 0x465ca7
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x466cdd
cmp dword [0x50cd6c], ecx
je 0x465ca7
push 1
push esi
call fcn.004809f0
push 0
push str.data_store_directory
push 0
push 0
push esi
call fcn.004809b0
push 0
push dword [0x50cd6c]
jmp 0x46630a
cmp byte [ecx], 0
je 0x466d0b
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x28]
push edx
push 1
push ecx
mov eax, dword [eax]
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x466c3f
cmp dword [esp + 0x28], eax
je 0x466c3f
push dword [0x50cd6c]
call fcn.00418530
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x466d3a
push eax
push 0x4f0960
call fcn.00417ee0
add esp, 8
mov dword [0x50cd6c], eax
jmp 0x465ca7
mov dword [0x50cd6c], 0
jmp 0x465ca7
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x466d74
mov edx, dword [esp + 0x30]
movzx eax, byte [edx + 8]
cdq
sub eax, 1
sbb edx, ecx
push edx
push eax
push str.synchronous
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3f], 0
jne 0x466d91
push str.Safety_level_may_not_be_changed_inside_a_transaction
push edi
call fcn.00453ae0
add esp, 8
jmp 0x465ca7
push 1
push 0
push ecx
call fcn.00435f10
mov edx, dword [esp + 0x3c]
inc eax
push dword [esp + 0x1c]
and eax, 3
mov ecx, 1
cmove eax, ecx
mov byte [edx + 8], al
call fcn.00447400
add esp, 0x10
jmp 0x465ca7
mov edx, dword [esp + 0x14]
mov eax, dword [ebx*4 + 0x4ee318]
mov ecx, dword [esp + 0x10]
push 0
test edx, edx
jne 0x466df3
and eax, dword [ecx + 0x18]
neg eax
sbb eax, eax
neg eax
push eax
push dword [ebx*4 + 0x4ee310]
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
mov edi, eax
and edi, 0xfff7ffff
cmp byte [ecx + 0x3f], 0
push edx
cmovne edi, eax
call fcn.0045c650
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edx + 0x18]
test al, al
je 0x466e1d
or ecx, edi
mov dword [edx + 0x18], ecx
jmp 0x466e42
mov eax, edi
not eax
and eax, ecx
mov dword [edx + 0x18], eax
cmp edi, 0x1000000
jne 0x466e42
mov dword [edx + 0x200], 0
mov dword [edx + 0x204], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x466e5c
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x466e90
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x90
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
push dword [esp + 0x10]
call fcn.00447400
jmp 0x465ca4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465ca7
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call fcn.004589d0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x465ca7
xor edi, edi
push ebx
mov dword [esp + 0x28], edi
call fcn.00469da0
push 6
push esi
mov dword [esp + 0x34], eax
call fcn.004809f0
mov ebp, dword [esp + 0x2c]
push dword [esp + 0x40]
push ebp
mov dword [ebp + 0x48], 6
call fcn.0044f7a0
push edi
push 0x4f2d64
push edi
push edi
push esi
call fcn.004809b0
push edi
push str.name
push edi
push 1
push esi
call fcn.004809b0
push edi
push str.type
push edi
push 2
push esi
call fcn.004809b0
add esp, 0x50
push edi
push str.notnull
push edi
push 3
push esi
call fcn.004809b0
push edi
push str.dflt_value
push edi
push 4
push esi
call fcn.004809b0
push edi
push 0x4f2d84
push edi
push 5
push esi
call fcn.004809b0
push ebx
push ebp
call fcn.00481200
mov eax, dword [esp + 0x70]
xor ecx, ecx
mov ebx, dword [ebx + 4]
add esp, 0x44
xor ebp, ebp
mov dword [esp + 0x18], ebx
cmp cx, word [eax + 0x22]
jge 0x465ca7
test byte [ebx + 0x17], 2
je 0x466f85
inc edi
mov dword [esp + 0x24], edi
jmp 0x4673eb
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x466fa4
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x466fdd
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], 1
lea ecx, [eax + ecx*4]
mov eax, ebp
mov dword [ecx + 0xc], 0
sub eax, dword [esp + 0x24]
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebx, dword [ebx]
cmp dword [eax + 0x54], edi
jg 0x467005
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
je 0x467002
mov edi, 1
jmp 0x46703c
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
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 edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x4670a4
cmp byte [ecx + 0x41], 0
jne 0x4670a4
test edi, edi
jns 0x467053
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00433490
add esp, 0xc
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x46707b
mov byte [edi + 1], bl
jmp 0x4670a4
cmp byte [ebx], 0
mov eax, ebx
je 0x467088
inc eax
cmp byte [eax], 0
jne 0x467082
sub eax, ebx
push 0
and eax, 0x3fffffff
push eax
push ebx
push dword [esi]
call fcn.004518e0
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
mov eax, dword [esp + 0x18]
mov ebx, 0x4ea3f4
mov edi, dword [esi + 0x20]
mov ecx, edi
mov eax, dword [eax + 0xc]
test eax, eax
cmovne ebx, eax
mov eax, dword [esi + 0x18]
cmp dword [eax + 0x54], edi
jg 0x4670db
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
je 0x4670d8
mov edi, 1
jmp 0x467112
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
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
mov edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x46717a
cmp byte [ecx + 0x41], 0
jne 0x46717a
test edi, edi
jns 0x467129
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00433490
add esp, 0xc
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x467151
mov byte [edi + 1], bl
jmp 0x46717a
cmp byte [ebx], 0
mov eax, ebx
je 0x46715e
inc eax
cmp byte [eax], 0
jne 0x467158
sub eax, ebx
push 0
and eax, 0x3fffffff
push eax
push ebx
push dword [esi]
call fcn.004518e0
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp byte [eax + 0x14], bl
mov eax, dword [esi + 0x18]
setne bl
cmp dword [eax + 0x54], edi
jg 0x4671a5
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x4671d8
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebx, dword [eax + 8]
mov eax, dword [esi + 0x18]
test ebx, ebx
je 0x4672b4
cmp dword [eax + 0x54], edi
jg 0x46720d
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
je 0x46720a
mov edi, 1
jmp 0x467244
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
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
mov edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x467302
cmp byte [ecx + 0x41], 0
jne 0x467302
test edi, edi
jns 0x467263
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00433490
add esp, 0xc
mov dword [edi + 0x10], 0
cmp byte [ebx], 0
mov eax, ebx
je 0x467296
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x467290
sub eax, ebx
push 0
and eax, 0x3fffffff
push eax
push ebx
push dword [esi]
call fcn.004518e0
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
jmp 0x467302
cmp dword [eax + 0x54], edi
jg 0x4672cb
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x467302
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x1c
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
mov eax, dword [esp + 0x18]
test byte [eax + 0x17], 1
jne 0x467310
xor edi, edi
jmp 0x46733f
mov ecx, dword [esp + 0x28]
mov edi, 1
test ecx, ecx
je 0x46733f
mov eax, dword [esp + 0x2c]
movsx edx, word [eax + 0x22]
cmp edx, edi
jl 0x46733f
mov ecx, dword [ecx + 4]
nop dword [eax]
movsx eax, word [ecx]
cmp eax, ebp
je 0x46733f
inc edi
add ecx, 2
cmp edi, edx
jle 0x467330
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x46735e
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x467391
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], 6
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x4673ab
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x4673df
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x23
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 edi, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
movsx eax, word [eax + 0x22]
inc ebp
add ebx, 0x18
cmp ebp, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x18], ebx
jl 0x466f75
jmp 0x465ca7
push edi
call fcn.0045d470
mov esi, eax
push 4
push esi
call fcn.004809f0
push dword [esp + 0x40]
mov dword [edi + 0x48], 4
push edi
call fcn.0044f7a0
push 0
push str.table
push 0
push 0
push esi
call fcn.004809b0
push 0
push str.index
push 0
push 1
push esi
call fcn.004809b0
push 0
push str.width
push 0
push 2
push esi
call fcn.004809b0
add esp, 0x50
push 0
push str.height
push 0
push 3
push esi
call fcn.004809b0
mov edx, dword [esp + 0x44]
add esp, 0x14
mov eax, dword [edx + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x465ca7
nop dword [eax]
mov ebp, dword [eax + 8]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebx, dword [ebp]
cmp dword [eax + 0x54], edi
jg 0x4674bc
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
je 0x4674b9
mov edi, 1
jmp 0x4674f3
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
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 edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x467562
cmp byte [ecx + 0x41], 0
jne 0x467562
test edi, edi
jns 0x46750a
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00433490
add esp, 0xc
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x467532
mov byte [edi + 1], bl
jmp 0x467562
cmp byte [ebx], 0
mov eax, ebx
je 0x467546
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x467540
sub eax, ebx
push 0
and eax, 0x3fffffff
push eax
push ebx
push dword [esi]
call fcn.004518e0
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x467581
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x4675b8
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x1c
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
movzx eax, word [ebp + 0x28]
push eax
call fcn.00461c20
mov ecx, dword [esi + 0x18]
add esp, 4
mov edi, dword [esi + 0x20]
mov ebx, eax
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x4675e6
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x467617
mov eax, dword [esi + 0x20]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
movzx eax, word [ebp + 0x26]
push eax
call fcn.00461c20
mov ecx, dword [esi + 0x18]
add esp, 4
mov edi, dword [esi + 0x20]
mov ebx, eax
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x467645
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x467676
mov eax, dword [esi + 0x20]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x467690
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x4676c4
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x23
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x46786f
nop
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebp, dword [ebx]
cmp dword [eax + 0x54], edi
jg 0x4676f8
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
je 0x4676f5
mov edi, 1
jmp 0x46772f
mov ecx, dword [esi + 0x20]
lea eax, [ecx + 1]
mov dword [esi + 0x20], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x61
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 edx, dword [esi + 4]
mov ecx, dword [esi]
test edx, edx
je 0x467799
cmp byte [ecx + 0x41], 0
jne 0x467799
test edi, edi
jns 0x467746
mov edi, dword [esi + 0x20]
dec edi
lea eax, [edi + edi*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00433490
add esp, 0xc
mov dword [edi + 0x10], 0
test ebp, ebp
jne 0x46776f
mov byte [edi + 1], 0
jmp 0x467799
cmp byte [ebp], 0
mov eax, ebp
je 0x46777d
inc eax
cmp byte [eax], 0
jne 0x467777
sub eax, ebp
push 0
and eax, 0x3fffffff
push eax
push ebp
push dword [esi]
call fcn.004518e0
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
movzx eax, word [ebx + 0x2c]
push eax
call fcn.00461c20
mov ecx, dword [esi + 0x18]
add esp, 4
mov edi, dword [esi + 0x20]
mov ebp, eax
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x4677c7
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x4677f8
mov eax, dword [esi + 0x20]
inc eax
lea ecx, [edi + edi*4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [ebx + 8]
movzx eax, word [eax]
push eax
call fcn.00461c20
mov ecx, dword [esi + 0x18]
add esp, 4
mov edi, dword [esi + 0x20]
mov ebp, eax
cmp dword [ecx + 0x54], edi
jg 0x467823
push 1
push esi
call fcn.00436000
add esp, 8
test eax, eax
jne 0x467853
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
inc dword [esi + 0x20]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], ebp
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push 4
push 1
push 0x23
push esi
call fcn.00475560
mov ebx, dword [ebx + 0x14]
add esp, 0x14
test ebx, ebx
jne 0x4676d0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x467490
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465ca7
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call fcn.004588f0
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x18], ebp
test ebp, ebp
je 0x465ca7
mov ecx, dword [ebx*4 + 0x4ee318]
test ecx, ecx
je 0x4678c2
movzx eax, word [ebp + 0x30]
jmp 0x4678c6
movzx eax, word [ebp + 0x2e]
movzx edi, ax
test ecx, ecx
mov ecx, dword [esp + 0x20]
mov edx, 3
mov eax, 6
mov dword [esp + 0x1c], edi
cmove eax, edx
mov dword [ecx + 0x48], eax
push dword [ecx + 0x48]
mov eax, dword [ebp + 0xc]
push esi
mov dword [esp + 0x5c], eax
call fcn.004809f0
push dword [esp + 0x3c]
push dword [esp + 0x2c]
call fcn.0044f7a0
push 0
push str.seqno
push 0
push 0
push esi
call fcn.004809b0
push 0
push 0x4f2d64
push 0
push 1
push esi
call fcn.004809b0
push 0
push str.name
push 0
push 2
push esi
call fcn.004809b0
add esp, 0x4c
cmp dword [ebx*4 + 0x4ee318], 0
je 0x467976
push 0
push str.desc
push 0
push 3
push esi
call fcn.004809b0
push 0
push str.coll
push 0
push 4
push esi
call fcn.004809b0
push 0
push 0x4f2db0
push 0
push 5
push esi
call fcn.004809b0
add esp, 0x3c
xor ebx, ebx
test edi, edi
je 0x465ca7
mov eax, dword [ebp + 4]
push 0
push 1
push ebx
movzx edi, word [eax + ebx*2]
push 0x19
push esi
call fcn.00475560
push 0
movsx eax, di
push 2
push eax
push 0x19
push esi
mov dword [esp + 0x50], eax
call fcn.00475560
add esp, 0x28
push 0
push 3
push 0
test di, di
jns 0x4679c6
push 0x1c
push esi
call fcn.00475560
add esp, 0x14
jmp 0x467a56
mov eax, dword [esp + 0x34]
push 0x61
push esi
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 4]
mov ebp, dword [eax + ecx*8]
call fcn.00475560
mov edx, dword [esi + 4]
add esp, 0x14
mov ecx, dword [esi]
test edx, edx
je 0x467a52
cmp byte [ecx + 0x41], 0
jne 0x467a52
test eax, eax
jns 0x4679f9
mov eax, dword [esi + 0x20]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00433490
add esp, 0xc
mov dword [edi + 0x10], 0
test ebp, ebp
jne 0x467a22
mov byte [edi + 1], 0
jmp 0x467a52
cmp byte [ebp], 0
mov eax, ebp
je 0x467a36
nop word [eax + eax]
inc eax
cmp byte [eax], 0
jne 0x467a30
sub eax, ebp
push 0
and eax, 0x3fffffff
push eax
push ebp
push dword [esi]
call fcn.004518e0
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x50]
cmp dword [eax*4 + 0x4ee318], 0
je 0x467ab0
mov eax, dword [ebp + 0x1c]
push 0
push 4
movzx eax, byte [eax + ebx]
push eax
push 0x19
push esi
call fcn.00475560
mov eax, dword [ebp + 0x20]
push 0
push 5
push 0
mov edi, dword [eax + ebx*4]
push 0x61
push esi
call fcn.00475560
push 0
push edi
push eax
push esi
call fcn.00475920
movzx eax, word [ebp + 0x2e]
cmp ebx, eax
push 0
sbb eax, eax
push 6
neg eax
push eax
push 0x19
push esi
call fcn.00475560
add esp, 0x4c
mov eax, dword [esp + 0x20]
push 0
push dword [eax + 0x48]
push 1
push 0x23
push esi
call fcn.00475560
inc ebx
add esp, 0x14
cmp ebx, dword [esp + 0x1c]
jl 0x467980
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465ca7
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call fcn.004589d0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x465ca7
push edi
call fcn.0045d470
mov edi, eax
push 5
push edi
call fcn.004809f0
mov eax, dword [esp + 0x2c]
push dword [esp + 0x40]
push eax
mov dword [eax + 0x48], 5
call fcn.0044f7a0
push 0
push 0x4f2db4
push 0
push 0
push edi
call fcn.004809b0
push 0
push str.name
push 0
push 1
push edi
call fcn.004809b0
push 0
push str.unique
push 0
push 2
push edi
call fcn.004809b0
add esp, 0x50
push 0
push str.origin
push 0
push 3
push edi
call fcn.004809b0
push 0
push str.partial
push 0
push 4
push edi
call fcn.004809b0
mov ebx, dword [ebx + 8]
add esp, 0x28
xor ebp, ebp
test ebx, ebx
je 0x465ca7
mov dword [esp + 0x6c], 0x4f2dd0
mov dword [esp + 0x70], 0x4f2dd4
mov dword [esp + 0x74], 0x4f2d84
push 0
push 1
push ebp
push 0x19
push edi
call fcn.00475560
mov esi, dword [ebx]
push 0
push 2
push 0
push 0x61
push edi
call fcn.00475560
push 0
push esi
push eax
push edi
call fcn.00475920
xor eax, eax
cmp byte [ebx + 0x32], al
push 0
push 3
setne al
push eax
push 0x19
push edi
call fcn.00475560
mov eax, dword [ebx + 0x34]
add esp, 0x4c
and eax, 3
push 0
mov esi, dword [esp + eax*4 + 0x70]
push 4
push 0
push 0x61
push edi
call fcn.00475560
push 0
push esi
push eax
push edi
call fcn.00475920
xor eax, eax
cmp dword [ebx + 0x24], eax
push 0
push 5
setne al
push eax
push 0x19
push edi
call fcn.00475560
push 0
push 5
push 1
push 0x23
push edi
call fcn.00475560
mov ebx, dword [ebx + 0x14]
add esp, 0x4c
inc ebp
test ebx, ebx
jne 0x467ba2
jmp 0x465ca7
push 3
push esi
call fcn.004809f0
push 0
push 0x4f2db4
push 0
push 0
push esi
mov dword [edi + 0x48], 3
call fcn.004809b0
push 0
push str.name
push 0
push 1
push esi
call fcn.004809b0
push 0
push str.file
push 0
push 2
push esi
call fcn.004809b0
mov ecx, dword [esp + 0x54]
xor ebp, ebp
add esp, 0x44
cmp dword [ecx + 0x14], ebp
jle 0x465cab
xor ebx, ebx
mov eax, dword [ecx + 0x10]
cmp dword [ebx + eax + 4], 0
je 0x467d20
push 0
push 1
push ebp
push 0x19
push esi
call fcn.00475560
mov eax, dword [esp + 0x24]
push 0
push 2
push 0
mov eax, dword [eax + 0x10]
push 0x61
push esi
mov edi, dword [ebx + eax]
call fcn.00475560
push 0
push edi
push eax
push esi
call fcn.00475920
mov eax, dword [esp + 0x48]
add esp, 0x38
mov eax, dword [eax + 0x10]
mov eax, dword [ebx + eax + 4]
mov eax, dword [eax + 4]
mov edi, dword [eax]
cmp byte [edi + 0xf], 0
je 0x467ced
mov edi, 0x4ea3f4
jmp 0x467cf3
mov edi, dword [edi + 0xa8]
push 0
push 3
push 0
push 0x61
push esi
call fcn.00475560
push 0
push edi
push eax
push esi
call fcn.00475920
push 0
push 3
push 1
push 0x23
push esi
call fcn.00475560
mov ecx, dword [esp + 0x48]
add esp, 0x38
inc ebp
add ebx, 0x10
cmp ebp, dword [ecx + 0x14]
jl 0x467c90
jmp 0x465cab
push 2
push esi
xor ebp, ebp
call fcn.004809f0
push ebp
push 0x4f2db4
push ebp
push ebp
push esi
mov dword [edi + 0x48], 2
call fcn.004809b0
push ebp
push str.name
push ebp
push 1
push esi
call fcn.004809b0
mov ebx, dword [esp + 0x40]
add esp, 0x30
mov ebx, dword [ebx + 0x1b4]
test ebx, ebx
je 0x465ca7
mov edi, dword [ebx + 8]
push 0
push 1
push ebp
push 0x19
push esi
call fcn.00475560
mov edi, dword [edi]
inc ebp
push 0
push 2
push 0
push 0x61
push esi
call fcn.00475560
push 0
push edi
push eax
push esi
call fcn.00475920
push 0
push 2
push 1
push 0x23
push esi
call fcn.00475560
mov ebx, dword [ebx]
add esp, 0x4c
test ebx, ebx
jne 0x467d75
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465ca7
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call fcn.004589d0
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x465ca7
push edi
call fcn.0045d470
mov ebx, dword [ebx + 0x10]
add esp, 4
mov dword [esp + 0x2c], ebx
mov esi, eax
mov dword [esp + 0x18], esi
test ebx, ebx
je 0x465ca7
push 8
xor ebp, ebp
push esi
mov dword [esp + 0x48], ebp
call fcn.004809f0
push dword [esp + 0x3c]
mov dword [edi + 0x48], 8
push edi
call fcn.0044f7a0
push ebp
push 0x4f2dd8
push ebp
push ebp
push esi
call fcn.004809b0
push ebp
push 0x4f2db4
push ebp
push 1
push esi
call fcn.004809b0
push ebp
push str.table
push ebp
push 2
push esi
call fcn.004809b0
add esp, 0x4c
push ebp
push str.from
push ebp
push 3
push esi
call fcn.004809b0
push ebp
push 0x4f2ddc
push ebp
push 4
push esi
call fcn.004809b0
push ebp
push str.on_update
push ebp
push 5
push esi
call fcn.004809b0
push ebp
push str.on_delete
push ebp
push 6
push esi
call fcn.004809b0
add esp, 0x50
push ebp
push str.match
push ebp
push 7
push esi
call fcn.004809b0
add esp, 0x14
cmp dword [ebx + 0x14], 0
mov dword [esp + 0x38], 0
jle 0x46805f
lea ecx, [ebx + 0x24]
mov dword [esp + 0x44], ecx
nop dword [eax]
movzx eax, byte [ebx + 0x19]
mov edi, dword [ecx + 4]
push eax
call fcn.0041eaa0
movzx ecx, byte [ebx + 0x1a]
mov ebp, eax
push ecx
call fcn.0041eaa0
push 0
push 1
push dword [esp + 0x50]
mov ebx, eax
push 0x19
push esi
call fcn.00475560
push 0
push 2
push dword [esp + 0x5c]
push 0x19
push esi
call fcn.00475560
mov esi, dword [esp + 0x5c]
push 0
push 3
push 0
mov esi, dword [esi + 8]
push 0x61
push dword [esp + 0x58]
call fcn.00475560
add esp, 0x44
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.00475920
mov eax, dword [esp + 0x54]
push 0
push 4
push 0
mov eax, dword [eax]
push 0x61
push dword [esp + 0x38]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 4]
mov esi, dword [eax + ecx*8]
call fcn.00475560
push 0
push esi
mov esi, dword [esp + 0x44]
push eax
push esi
call fcn.00475920
push 0
push 5
test edi, edi
mov ecx, 0x61
mov eax, 0x1c
push 0
cmovne eax, ecx
push eax
push esi
call fcn.00475560
add esp, 0x48
push 0
push edi
push eax
push esi
call fcn.00475920
push 0
push 6
push 0
push 0x61
push esi
call fcn.00475560
push 0
push ebx
push eax
push esi
call fcn.00475920
push 0
push 7
push 0
push 0x61
push esi
call fcn.00475560
add esp, 0x48
push 0
push ebp
push eax
push esi
call fcn.00475920
push 0
push 8
push 0
push 0x61
push esi
call fcn.00475560
mov edx, dword [esi + 4]
add esp, 0x24
mov ecx, dword [esi]
test edx, edx
je 0x468029
cmp byte [ecx + 0x41], 0
jne 0x468029
test eax, eax
jns 0x467fd9
mov eax, dword [esi + 0x20]
dec eax
lea eax, [eax + eax*4]
push dword [edx + eax*4 + 0x10]
lea edi, [edx + eax*4]
movsx eax, byte [edi + 1]
push eax
push ecx
call fcn.00433490
add esp, 0xc
mov dword [edi + 0x10], 0
mov eax, str.NONE
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x468000
sub eax, str.NONE
push 0
and eax, 0x3fffffff
push eax
push str.NONE
push dword [esi]
call fcn.004518e0
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
push 0
push 8
push 1
push 0x23
push esi
call fcn.00475560
mov eax, dword [esp + 0x4c]
add esp, 0x14
mov ebx, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x44]
add ecx, 8
mov dword [esp + 0x38], eax
mov dword [esp + 0x44], ecx
cmp eax, dword [ebx + 0x14]
jl 0x467ec0
mov ebp, dword [esp + 0x40]
mov ebx, dword [ebx + 4]
inc ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x2c], ebx
test ebx, ebx
jne 0x467ea4
jmp 0x465ca7
mov eax, dword [edi + 0x48]
push edi
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x20], ecx
mov dword [esp + 0x58], eax
lea ebp, [eax + 1]
mov dword [esp + 0x34], ebp
mov dword [edi + 0x48], ebp
call fcn.0045d470
mov edi, eax
push 4
push edi
call fcn.004809f0
push 0
push str.table
push 0
push 0
push edi
call fcn.004809b0
push 0
push str.rowid
push 0
push 1
push edi
call fcn.004809b0
push 0
push str.parent
push 0
push 2
push edi
call fcn.004809b0
add esp, 0x48
push 0
push str.fkid
push 0
push 3
push edi
call fcn.004809b0
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x34]
push esi
push ebx
call fcn.0044f7a0
mov eax, dword [esp + 0x2c]
add esp, 0x1c
mov ecx, dword [esp + 0x48]
mov eax, dword [eax + 0x10]
mov eax, dword [ecx + eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x465ca7
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x468134
push dword [esp + 0x18]
push ecx
push 0
push ebx
call fcn.00461890
add esp, 0x10
mov ebx, eax
xor eax, eax
jmp 0x468139
mov ebx, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x4685fe
cmp dword [ebx + 0x10], 0
je 0x4685fe
push dword [ebx]
push 0
push dword [ebx + 0x1c]
push esi
push dword [esp + 0x30]
call fcn.00470990
mov ecx, dword [esp + 0x34]
add esp, 0x14
movsx eax, word [ebx + 0x22]
add eax, ebp
cmp eax, dword [ecx + 0x48]
jle 0x468179
mov dword [ecx + 0x48], eax
push 0x36
push ebx
push esi
push 0
push ecx
call fcn.00462850
mov esi, dword [ebx]
push 0
push dword [esp + 0x34]
push 0
push 0x61
push edi
call fcn.00475560
push 0
push esi
push eax
push edi
call fcn.00475920
mov ebx, dword [ebx + 0x10]
add esp, 0x38
mov ebp, 1
test ebx, ebx
je 0x468254
push dword [esp + 0x18]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.004589d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x468248
push dword [esi]
mov dword [esp + 0x28], 0
push 0
push dword [esi + 0x1c]
push dword [esp + 0x40]
push dword [esp + 0x30]
call fcn.00470990
push 0
lea eax, [esp + 0x3c]
push eax
push ebx
push esi
push dword [esp + 0x44]
call fcn.0045a230
add esp, 0x28
test eax, eax
jne 0x465ca7
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x468228
push 0x36
push esi
push dword [esp + 0x3c]
push ebp
push dword [esp + 0x30]
call fcn.00462850
add esp, 0x14
jmp 0x468248
push dword [esp + 0x34]
push dword [eax + 0x28]
push ebp
push 0x36
push edi
call fcn.00475560
push dword [esp + 0x38]
push dword [esp + 0x38]
call fcn.00480a60
add esp, 0x1c
mov ebx, dword [ebx + 4]
inc ebp
test ebx, ebx
jne 0x4681b4
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x44], ebp
jge 0x468260
mov dword [esi + 0x44], ebp
push 0
push 0x6c
push edi
call fcn.004754d0
mov ebp, dword [esp + 0x4c]
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x38], 1
mov dword [esp + 0x6c], ebx
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x2c], ebp
test ebp, ebp
je 0x4685c2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
lea ecx, [eax + 1]
mov dword [esp + 0x5c], ecx
lea ecx, [eax + 2]
add eax, 3
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
nop dword [eax + eax]
push dword [esp + 0x18]
push dword [ebp + 8]
push edx
call fcn.004589d0
xor ebx, ebx
mov dword [esp + 0x64], eax
add esp, 0xc
mov dword [esp + 0x24], 0
mov dword [esp + 0x48], ebx
test eax, eax
je 0x4683bf
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x28]
push ecx
push ebp
push eax
push esi
call fcn.0045a230
push edi
call fcn.0047e730
add esp, 0x18
mov ebp, eax
mov dword [esp + 0x44], ebp
cmp dword [esp + 0x24], ebx
jne 0x4683b5
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov esi, dword [eax + 0x24]
movsx eax, word [ebx + 0x20]
cmp esi, eax
je 0x468355
push dword [esp + 0x30]
push esi
push 0
push 0x2f
push edi
call fcn.00475560
push dword [esp + 0x44]
push esi
push ebx
push edi
call fcn.0044f990
mov ebx, dword [esp + 0x54]
push 0
push ebp
push ebx
push 0x4c
push edi
call fcn.00475560
mov eax, dword [edi + 0x20]
add esp, 0x38
mov ecx, 0x26
mov edx, ebx
add eax, 3
jmp 0x468362
mov ebx, dword [esp + 0x30]
mov ecx, 0x67
xor edx, edx
mov eax, ebx
push 0
push eax
push edx
push ecx
push edi
call fcn.00475560
push ebx
push 0
push dword [esp + 0x54]
push 0x46
push edi
call fcn.00475560
push 0
push ebp
push 0
push 0x10
push edi
call fcn.00475560
mov edx, dword [edi + 0x20]
add esp, 0x3c
lea eax, [edx - 2]
cmp edx, eax
jbe 0x4683a3
lea ecx, [eax + eax*4]
mov eax, dword [edi + 4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
lea ecx, [edx - 1]
mov ebx, dword [esp + 0x48]
mov dword [eax + 0x58], ecx
jmp 0x468486
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
jmp 0x4683cc
push edi
call fcn.0047e730
add esp, 4
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
xor esi, esi
mov dword [esp + 0x50], eax
test eax, eax
jle 0x468431
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
add eax, 0x24
mov dword [esp + 0x48], eax
test ebx, ebx
je 0x4683ef
lea eax, [ebx + esi*4]
mov eax, dword [eax]
push ebp
push eax
push 0
push dword [esp + 0x4c]
push edi
call fcn.00454f60
push 0
push dword [esp + 0x5c]
push ebp
push 0x4c
push edi
call fcn.00475560
mov ecx, dword [esp + 0x54]
inc esi
mov eax, dword [esp + 0x70]
add esp, 0x28
add eax, 8
inc ebp
mov dword [esp + 0x48], eax
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0x50], ecx
cmp esi, ecx
jl 0x4683e8
mov ebp, dword [esp + 0x2c]
cmp dword [esp + 0x58], 0
je 0x468482
push dword [esp + 0x24]
push edi
call fcn.0045e160
push dword [esp + 0x5c]
mov esi, eax
push dword [ebp + 0x14]
push dword [esp + 0x40]
push 0x31
push edi
call fcn.00475560
push dword [esp + 0x6c]
push esi
push eax
push edi
call fcn.00475920
mov ebp, dword [esp + 0x70]
push 0
push dword [esp + 0x84]
push ebp
push dword [esp + 0x70]
push 0x45
push edi
call fcn.00475610
add esp, 0x44
jmp 0x468486
mov ebp, dword [esp + 0x44]
push 0
push dword [esp + 0x60]
push 0
push 0x67
push edi
call fcn.00475560
mov eax, dword [esp + 0x40]
push 0
push dword [esp + 0x78]
mov esi, dword [eax + 8]
push 0
push 0x61
push edi
call fcn.00475560
push 0
push esi
push eax
push edi
call fcn.00475920
mov esi, dword [esp + 0x70]
push 0
push dword [esp + 0xa0]
lea eax, [esi - 1]
push eax
push 0x19
push edi
call fcn.00475560
add esp, 0x4c
push 0
push 4
push dword [esp + 0x24]
push 0x23
push edi
call fcn.00475560
mov edx, dword [edi + 0x18]
not ebp
add esp, 0x14
test ebp, ebp
js 0x4684fc
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x4684fc
mov eax, dword [edi + 0x20]
mov dword [ecx + ebp*4], eax
mov eax, dword [edi + 0x20]
dec eax
mov dword [edx + 0x58], eax
mov edx, dword [esp + 0x10]
test ebx, ebx
je 0x4685a2
cmp dword [edx + 0x208], 0
push ebx
push edx
je 0x468527
call fcn.00438520
add esp, 8
jmp 0x46859e
call fcn.00436f90
add esp, 8
test eax, eax
je 0x468549
mov eax, dword [edx + 0x110]
mov dword [ebx], eax
dec dword [edx + 0xfc]
mov dword [edx + 0x110], ebx
jmp 0x4685a2
cmp dword [section..data], 0
je 0x468594
mov eax, dword [0x50cf50]
test eax, eax
je 0x468565
push eax
call dword [0x50a054]
add esp, 4
push ebx
call dword [0x50a030]
sub dword [0x50cdd0], eax
dec dword [0x50cdf4]
push ebx
call dword [0x50a028]
mov eax, dword [0x50cf50]
add esp, 8
test eax, eax
je 0x46859e
push eax
call dword [0x50a05c]
jmp 0x46859b
push ebx
call dword [0x50a028]
add esp, 4
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x2c]
inc esi
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x20]
mov ebp, dword [ebp + 4]
mov dword [esp + 0x2c], ebp
test ebp, ebp
jne 0x4682b0
mov ebx, dword [esp + 0x6c]
push 0
lea eax, [ebx + 1]
push eax
push 0
push 9
push edi
call fcn.00475560
mov edx, dword [edi + 0x20]
add esp, 0x14
cmp edx, ebx
jbe 0x4685e9
mov eax, dword [edi + 4]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x18]
lea ecx, [edx - 1]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov dword [eax + 0x58], ecx
mov eax, dword [esp + 0x28]
test eax, eax
je 0x465ca7
mov ebx, dword [esp + 0x20]
jmp 0x468116
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465ca7
push 0
push eax
call fcn.0045c650
mov ebx, dword [esp + 0x18]
mov esi, 0x4ebc04
push 0
push 0
movzx edi, al
mov eax, 0x4ebc08
push 0
push 0x410270
test edi, edi
cmovne esi, eax
push esi
push 1
push 2
push str.like
push ebx
call fcn.004503d0
push 0
push 0
push 0
push 0x410270
push esi
push 1
push 3
push str.like
push ebx
call fcn.004503d0
add esp, 0x50
push 0
push 0
push 0
push 0x410270
push 0x4ebc00
push 1
push 2
push str.glob
push ebx
call fcn.004503d0
add esp, 0x24
mov eax, str.glob
nop dword [eax]
inc eax
cmp byte [eax], 0
jne 0x4686a0
push 0
push 1
sub eax, str.glob
push 2
and eax, 0x3fffffff
push eax
push str.glob
push ebx
call fcn.004582e0
add esp, 0x18
test eax, eax
je 0x4686ce
or word [eax + 2], 0xc
mov eax, str.like
inc eax
cmp byte [eax], 0
jne 0x4686d3
push 0
push 1
sub eax, str.like
push 2
and eax, 0x3fffffff
push eax
push str.like
push ebx
call fcn.004582e0
add esp, 0x18
test eax, eax
je 0x46870e
xor ecx, ecx
test edi, edi
setne cl
lea ecx, [ecx*8 + 4]
or word [eax + 2], cx
mov ecx, ebx
jmp 0x465cab
mov eax, dword [esp + 0x4c]
or ecx, 0xffffffff
push 1
push esi
movzx eax, byte [eax]
mov al, byte [eax + 0x4eb938]
mov byte [esp + 0x47], al
mov eax, dword [esp + 0x2c]
cmp dword [eax], 0
mov eax, dword [esp + 0x34]
cmove eax, ecx
mov dword [edi + 0x48], 6
mov dword [esp + 0x34], eax
call fcn.004809f0
push 0
push str.integrity_check
push 0
push 0
push esi
call fcn.004809b0
mov eax, dword [esp + 0x30]
mov ebx, 0x64
add esp, 0x1c
mov dword [esp + 0x34], ebx
mov dword [esp + 0x28], ebx
test eax, eax
je 0x468793
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.0045c9b0
mov ebx, dword [esp + 0x30]
add esp, 8
test ebx, ebx
mov eax, 0x64
cmovle ebx, eax
mov dword [esp + 0x34], ebx
push 1
push ebx
push 0x19
push esi
call fcn.00475540
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x30], ecx
cmp dword [eax + 0x14], ecx
jle 0x468fd5
mov edx, dword [esp + 0x2c]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
nop
xor ebx, ebx
test edx, edx
js 0x4687ce
cmp ecx, edx
jne 0x468fbc
push ecx
push edi
call fcn.0044f7a0
push 1
push 0x89
push esi
call fcn.004754d0
push 0
push 0
push 0
push 0x18
push esi
mov edi, eax
call fcn.00475560
mov edx, dword [esi + 0x20]
add esp, 0x28
cmp edx, edi
jbe 0x468809
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
mov edi, dword [esp + 0x10]
mov dword [eax + 0x58], ecx
mov eax, dword [edi + 0x10]
mov eax, dword [eax + ebp + 0xc]
mov dword [esp + 0x6c], eax
mov ebp, dword [eax + 0x10]
test ebp, ebp
je 0x46887c
nop dword [eax + eax]
mov edi, dword [ebp + 8]
test byte [edi + 0x2a], 0x20
jne 0x46884e
push 0
lea eax, [ebx + 2]
push eax
push dword [edi + 0x1c]
push 0x19
push esi
call fcn.00475560
add esp, 0x14
inc ebx
mov edi, dword [edi + 8]
test edi, edi
je 0x468871
push 0
lea eax, [ebx + 2]
push eax
push dword [edi + 0x28]
push 0x19
push esi
call fcn.00475560
mov edi, dword [edi + 0x14]
add esp, 0x14
inc ebx
test edi, edi
jne 0x468855
mov ebp, dword [ebp]
test ebp, ebp
jne 0x468830
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
lea eax, [ebx + 8]
push 1
push ebx
push 2
mov ecx, dword [edx + 0x48]
cmp ecx, eax
push 0x7f
cmovle ecx, eax
push esi
mov dword [edx + 0x48], ecx
call fcn.00475560
mov ecx, dword [esi + 4]
add esp, 0x14
test ecx, ecx
je 0x4688b3
mov eax, dword [esi + 0x20]
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], dl
push 2
push 0x4c
push esi
call fcn.004754d0
mov ecx, dword [edi + 0x10]
mov ebx, eax
mov ebp, dword [esp + 0x28]
push dword [ecx + ebp]
push str._in_database__s__n
push edi
call fcn.00461d50
push 0
push 3
push 0
push 0x61
push esi
mov edi, eax
call fcn.00475560
push 0xffffffffffffffff
push edi
push eax
push esi
call fcn.00475920
push 1
push 4
push 2
push 0x20
push esi
call fcn.00475560
add esp, 0x50
push 2
push 3
push 4
push 0x5e
push esi
call fcn.00475560
push 0
push 1
push 2
push 0x23
push esi
call fcn.00475560
mov edx, dword [esi + 0x20]
add esp, 0x28
cmp edx, ebx
jbe 0x468932
mov eax, dword [esi + 4]
lea ecx, [ebx + ebx*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
mov dword [eax + 0x58], ecx
mov eax, dword [esp + 0x6c]
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x48], ebx
test ebx, ebx
je 0x468fac
mov al, byte [esp + 0x3f]
cmp al, 0x71
je 0x468fa8
mov ebp, dword [ebx + 8]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x54], 0
mov dword [esp + 0x18], 0xffffffff
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x468f96
test byte [ebp + 0x2a], 0x20
jne 0x468990
mov dword [esp + 0x24], 0
jmp 0x4689a4
mov eax, dword [ebx + 0x34]
and al, 3
cmp al, 2
je 0x4689a0
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x468990
mov dword [esp + 0x24], ebx
push 1
push 0x89
push esi
call fcn.004754d0
push 0
push 0
push 0
push 0x18
push esi
mov edi, eax
call fcn.00475560
mov edx, dword [esi + 0x20]
add esp, 0x20
cmp edx, edi
jbe 0x4689d8
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
mov ebx, dword [esp + 0x20]
push ebx
mov dword [eax + 0x58], ecx
call fcn.004544a0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x48]
push eax
push 0
push 1
push 0x36
push ebp
push ebx
call fcn.004628f0
push 0
push 7
push 0
push 0x19
push esi
call fcn.00475560
mov edi, dword [ebp + 8]
add esp, 0x34
xor ebx, ebx
test edi, edi
je 0x468a3b
nop dword [eax]
push 0
lea eax, [ebx + 8]
push eax
push 0
push 0x19
push esi
call fcn.00475560
mov edi, dword [edi + 0x14]
add esp, 0x14
inc ebx
test edi, edi
jne 0x468a20
mov edx, dword [esp + 0x20]
lea eax, [ebx + 8]
push 0
push 0
push dword [esp + 0x48]
mov ecx, dword [edx + 0x48]
cmp ecx, eax
push 0x6c
cmovle ecx, eax
push esi
mov dword [edx + 0x48], ecx
call fcn.00475560
push 0
push 1
push 7
push 0x25
push esi
call fcn.00475560
mov dword [esp + 0x80], eax
add esp, 0x28
xor eax, eax
xor ebx, ebx
cmp ax, word [ebp + 0x22]
jge 0x468ba2
xor edi, edi
mov dword [esp + 0x28], edi
nop dword [eax]
movsx eax, word [ebp + 0x20]
cmp ebx, eax
je 0x468b8e
mov eax, dword [ebp + 4]
cmp byte [edi + eax + 0x14], 0
je 0x468b8e
push 3
push ebx
push dword [esp + 0x48]
push ebp
push esi
call fcn.00454f60
mov ecx, dword [esi + 4]
add esp, 0x14
test ecx, ecx
je 0x468acd
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x80
push 3
push 0x4d
push esi
call fcn.004754d0
push 0
push 0xffffffffffffffff
push 1
push 0x25
push esi
mov ebp, eax
call fcn.00475560
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 4]
push dword [edi + ecx]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x3c]
call fcn.00461d50
push 0
push 3
push 0
push 0x61
push esi
mov edi, eax
call fcn.00475560
add esp, 0x44
push 0xffffffffffffffff
push edi
push eax
push esi
call fcn.00475920
push 0
push 1
push 3
push 0x23
push esi
call fcn.00475560
push 1
push 0x89
push esi
call fcn.004754d0
push 0x18
push esi
mov edi, eax
call fcn.00475460
mov edx, dword [esi + 0x20]
add esp, 0x38
cmp edx, ebp
jbe 0x468b60
mov eax, dword [esi + 4]
lea ecx, [ebp*4]
add ecx, ebp
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
mov dword [eax + 0x58], ecx
mov edx, dword [esi + 0x20]
cmp edx, edi
jbe 0x468b7d
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x44]
mov dword [eax + 0x58], ecx
movsx eax, word [ebp + 0x22]
inc ebx
add edi, 0x18
mov dword [esp + 0x28], edi
cmp ebx, eax
jl 0x468a90
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x468e69
mov ebp, dword [esp + 0x50]
mov eax, 8
sub eax, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x6c], eax
push esi
call fcn.0047e730
add esp, 4
mov edi, eax
cmp dword [esp + 0x24], ebx
je 0x468e55
push dword [esp + 0x18]
lea eax, [esp + 0x60]
push dword [esp + 0x58]
push eax
push 0
push 0
push dword [esp + 0x54]
push ebx
push dword [esp + 0x3c]
call fcn.0045bef0
mov ecx, dword [esp + 0x8c]
push 0
push 1
add ecx, ebp
mov dword [esp + 0x40], eax
push ecx
push 0x25
push esi
mov dword [esp + 0x88], ebx
call fcn.00475560
movzx eax, word [ebx + 0x30]
push eax
push dword [esp + 0x50]
push edi
push ebp
push 0x45
push esi
call fcn.00475610
add esp, 0x4c
mov ebp, eax
push 0
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.00475560
push 0
push 3
push 0
push 0x61
push esi
call fcn.00475560
push 0xfffffffffffffffe
push str.row
push eax
push esi
call fcn.00475920
push 3
push 3
push 7
push 0x5e
push esi
call fcn.00475560
add esp, 0x4c
push 0
push 4
push 0
push 0x61
push esi
call fcn.00475560
push 0xfffffffffffffffe
push str._missing_from_index
push eax
push esi
call fcn.00475920
push 3
push 3
push 4
push 0x5e
push esi
call fcn.00475560
mov edi, dword [ebx]
push 0
push 4
push 0
push 0x61
push esi
call fcn.00475560
add esp, 0x4c
mov dword [esp + 0x64], eax
push 0
push edi
push eax
push esi
call fcn.00475920
push 3
push 3
push 4
push 0x5e
push esi
call fcn.00475560
push 0
push 1
push 3
push 0x23
push esi
call fcn.00475560
push 1
push 0x89
push esi
call fcn.004754d0
add esp, 0x44
mov edi, eax
mov dword [esp + 0x60], edi
push 0x18
push esi
call fcn.00475460
mov edx, dword [esi + 0x20]
add esp, 8
cmp edx, ebp
jbe 0x468d0a
mov eax, dword [esi + 4]
lea ecx, [ebp*4]
add ecx, ebp
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
mov dword [eax + 0x58], ecx
cmp byte [ebx + 0x32], 0
je 0x468e24
push esi
call fcn.0047e730
mov ebp, eax
add esp, 4
xor eax, eax
xor edi, edi
cmp ax, word [ebx + 0x2e]
jae 0x468d68
mov eax, dword [ebx + 4]
movsx eax, word [eax + edi*2]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0x14], 0
jne 0x468d5f
mov eax, dword [esp + 0x18]
push 0
push ebp
add eax, edi
push eax
push 0x4c
push esi
call fcn.00475560
add esp, 0x14
movzx eax, word [ebx + 0x2e]
inc edi
cmp edi, eax
jl 0x468d32
push dword [esp + 0x38]
push 9
push esi
call fcn.004754d0
push 0
push ebp
push 0
push 0x10
push esi
mov edi, eax
call fcn.00475560
mov edx, dword [esi + 0x20]
add esp, 0x20
cmp edx, edi
jbe 0x468d9a
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
mov dword [eax + 0x58], ecx
movzx eax, word [ebx + 0x2e]
push eax
push dword [esp + 0x1c]
push ebp
push dword [esp + 0x44]
push 0x72
push esi
call fcn.00475610
push 0
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.00475560
push 0
push 3
push 0
push 0x61
push esi
call fcn.00475560
add esp, 0x40
push 0xfffffffffffffffe
push str.non_unique_entry_in_index
push eax
push esi
call fcn.00475920
push 0
push dword [esp + 0x78]
push 0
push 0x10
push esi
call fcn.00475560
mov edx, dword [esi + 0x18]
mov eax, ebp
neg eax
add esp, 0x24
test eax, eax
jle 0x468e19
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x468e19
lea eax, [ebp*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x20]
mov dword [ecx], eax
mov eax, dword [esi + 0x20]
mov edi, dword [esp + 0x60]
dec eax
mov dword [edx + 0x58], eax
mov edx, dword [esi + 0x20]
cmp edx, edi
jbe 0x468e38
mov eax, dword [esi + 4]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
push dword [esp + 0x5c]
push dword [esp + 0x24]
mov dword [eax + 0x58], ecx
call fcn.0046abd0
mov ebp, dword [esp + 0x40]
add esp, 8
mov ebx, dword [ebx + 0x14]
inc ebp
mov dword [esp + 0x38], ebp
test ebx, ebx
jne 0x468bc0
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x58]
push 0
push edi
push dword [esp + 0x48]
push 9
push esi
call fcn.00475560
mov edx, dword [esi + 0x20]
lea eax, [edi - 1]
add esp, 0x14
cmp edx, eax
jbe 0x468e96
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x18]
lea ecx, [edx - 1]
push 0
push 2
push 0
push 0x61
push esi
mov dword [eax + 0x58], ecx
call fcn.00475560
push 0xfffffffffffffffe
push str.wrong__of_entries_in_index
push eax
push esi
call fcn.00475920
mov ebx, dword [ebp + 8]
add esp, 0x24
test ebx, ebx
je 0x468f92
mov eax, dword [esp + 0x24]
mov ebp, 8
cmp eax, ebx
je 0x468f86
mov edi, dword [esi + 0x20]
push 0
lea eax, [edi + 2]
push eax
push 1
push 0x89
push esi
call fcn.00475560
push 0
push 0
push 0
push 0x18
push esi
call fcn.00475560
mov eax, dword [esp + 0x78]
push 0
add eax, 0xfffffff8
push 3
add eax, ebp
push eax
push 0x32
push esi
call fcn.00475560
push 3
lea eax, [edi + 8]
push eax
push ebp
push 0x4f
push esi
call fcn.00475560
mov ecx, dword [esi + 4]
add esp, 0x50
test ecx, ecx
je 0x468f38
mov eax, dword [esi + 0x20]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 0x90
push 0
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.00475560
mov edi, dword [ebx]
push 0
push 3
push 0
push 0x61
push esi
call fcn.00475560
push 0
push edi
push eax
push esi
call fcn.00475920
push 7
push 2
push 3
push 0x5e
push esi
call fcn.00475560
add esp, 0x4c
push 0
push 1
push 7
push 0x23
push esi
call fcn.00475560
mov eax, dword [esp + 0x38]
add esp, 0x14
mov ebx, dword [ebx + 0x14]
inc ebp
test ebx, ebx
jne 0x468ed2
mov al, byte [esp + 0x3f]
mov ebx, dword [esp + 0x48]
mov ebx, dword [ebx]
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x468952
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x20]
inc ecx
add ebp, 0x10
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1c], ebp
cmp ecx, dword [eax + 0x14]
jl 0x4687c0
mov ebx, dword [esp + 0x34]
push 0
push 0x4ed794
push 3
push esi
call fcn.00475680
neg ebx
mov edi, eax
push ebx
push edi
push esi
call fcn.00475900
push edi
push esi
call fcn.0047e300
push 0xfffffffffffffffe
push 0x4f2ea8
lea eax, [edi + 1]
push eax
push esi
call fcn.00475920
add esp, 0x34
jmp 0x465ca7
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x469079
push edi
call fcn.00469e60
add esp, 4
test eax, eax
jne 0x465ca7
push 1
push esi
call fcn.004809f0
push 0
push str.encoding
push 0
push 0
push esi
call fcn.004809b0
push 1
push 0
push 0x61
push esi
call fcn.00475540
mov eax, dword [edi]
push 0xfffffffffffffffe
movzx eax, byte [eax + 0x3e]
push dword [eax*8 + 0x4eebd0]
push 0xffffffffffffffff
push esi
call fcn.00475920
push 1
push 1
push 0x23
push esi
call fcn.00475540
add esp, 0x4c
jmp 0x465ca7
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x4e]
and al, 5
cmp al, 1
je 0x465ca7
mov eax, dword [str.UTF8]
mov esi, 0x4eebd0
test eax, eax
je 0x4690e8
nop
push eax
push ecx
call fcn.0041e050
add esp, 8
test eax, eax
je 0x4690be
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x4690a0
jmp 0x4690e4
mov cl, byte [esi + 4]
mov edx, 2
test cl, cl
movzx eax, cl
cmovne edx, eax
mov eax, dword [esp + 0x10]
mov byte [eax + 0x3e], dl
mov eax, dword [edi + 0xc]
mov byte [eax + 0x4d], dl
cmp dword [esi], 0
jne 0x465ca7
mov ecx, dword [esp + 0x14]
push ecx
push str.unsupported_encoding:__s
push dword [esp + 0x28]
call fcn.00453ae0
add esp, 0xc
jmp 0x465ca7
push dword [esp + 0x34]
mov ebp, dword [ebx*4 + 0x4ee318]
push esi
call fcn.004811c0
add esp, 8
cmp dword [esp + 0x14], 0
je 0x469170
test byte [ebx*4 + 0x4ee315], 2
jne 0x469170
push 0
push 0x4edca4
push 3
push esi
call fcn.00475680
mov ebx, dword [esp + 0x44]
mov edi, eax
push ebx
push edi
push esi
call fcn.004758c0
push dword [esp + 0x30]
call fcn.00449950
push eax
lea eax, [edi + 1]
push eax
push esi
call fcn.004758c0
push ebx
add edi, 2
push edi
push esi
call fcn.004758c0
push ebp
push edi
push esi
call fcn.004758e0
add esp, 0x44
jmp 0x465ca7
push 0
push 0x4ee304
push 3
push esi
call fcn.00475680
mov ebx, dword [esp + 0x44]
mov edi, eax
push ebx
push edi
push esi
call fcn.004758c0
push ebx
inc edi
push edi
push esi
call fcn.004758c0
push ebp
push edi
push esi
call fcn.00475900
push 1
push esi
call fcn.004809f0
push 0xffffffffffffffff
push dword [esp + 0x8c]
push 0
push 0
push esi
call fcn.004809b0
add esp, 0x50
jmp 0x465ca7
push 1
push esi
xor edi, edi
call fcn.004809f0
mov eax, dword [esp + 0x28]
push edi
push str.compile_option
push edi
push edi
push esi
mov dword [eax + 0x48], 1
call fcn.004809b0
add esp, 0x1c
cmp edi, 1
ja 0x465ca7
mov ebx, dword [edi*4 + 0x4ebbe8]
inc edi
test ebx, ebx
je 0x465ca7
push 0
push 1
push 0
push 0x61
push esi
call fcn.00475560
push 0
push ebx
push eax
push esi
call fcn.00475920
push 0
push 1
push 1
push 0x23
push esi
call fcn.00475560
add esp, 0x38
jmp 0x4691e7
mov eax, dword [esp + 0x24]
mov ebx, 0xa
cmp dword [eax], 0
mov eax, dword [esp + 0x14]
cmovne ebx, dword [esp + 0x34]
xor edi, edi
test eax, eax
je 0x469290
push str.full
push eax
call fcn.0041e050
add esp, 8
test eax, eax
jne 0x46925d
lea edi, [eax + 1]
jmp 0x469290
mov ebp, dword [esp + 0x14]
push str.restart
push ebp
call fcn.0041e050
add esp, 8
test eax, eax
jne 0x469278
lea edi, [eax + 2]
jmp 0x469290
push str.truncate
push ebp
call fcn.0041e050
add esp, 8
mov ecx, 3
test eax, eax
cmove edi, ecx
push 3
push esi
call fcn.004809f0
mov eax, dword [esp + 0x28]
push 0
push str.busy
push 0
push 0
push esi
mov dword [eax + 0x48], 3
call fcn.004809b0
push 0
push 0x4f2ee8
push 0
push 1
push esi
call fcn.004809b0
push 0
push str.checkpointed
push 0
push 2
push esi
call fcn.004809b0
add esp, 0x44
push 1
push edi
push ebx
push 0xb
push esi
call fcn.00475560
push 3
push 1
push 0x23
push esi
call fcn.00475540
add esp, 0x24
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x469314
push eax
call fcn.00449950
push eax
push dword [esp + 0x18]
call fcn.0041e340
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xd8], 0x4824b0
jne 0x46932c
mov eax, dword [eax + 0xdc]
jmp 0x46932e
xor eax, eax
cdq
push edx
push eax
push str.wal_autocheckpoint
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x469359
push eax
call dword [0x50a054]
add esp, 4
push ebx
call fcn.0044c360
mov ecx, ebx
xor esi, esi
add esp, 4
cmp dword [ecx + 0x14], esi
jle 0x46939d
xor edi, edi
nop dword [eax]
mov eax, dword [ecx + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x469394
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xcc]
push dword [eax + 0x28]
call dword [0x50a098]
add esp, 4
mov ecx, ebx
inc esi
add edi, 0x10
cmp esi, dword [ecx + 0x14]
jl 0x469370
push ecx
call fcn.0044ce00
mov eax, ebx
add esp, 4
mov eax, dword [eax + 0xc]
test eax, eax
je 0x46870e
push eax
call dword [0x50a05c]
add esp, 4
mov ecx, ebx
jmp 0x465cab
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4693ee
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.00451930
add esp, 8
test eax, eax
jne 0x4693ee
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0041b210
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0041b210
push edx
push eax
push str.soft_heap_limit
push edi
call fcn.00443f90
add esp, 0x18
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46944a
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.00451930
add esp, 8
test eax, eax
jne 0x46944a
cmp dword [esp + 0x70], eax
jl 0x46944a
mov eax, dword [esp + 0x6c]
jg 0x469436
test eax, eax
jb 0x46944a
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call fcn.00418f70
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x84]
cdq
push edx
push eax
push str.threads
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4694b0
push eax
call fcn.00449950
mov esi, eax
add esp, 4
test esi, esi
jle 0x4694a0
mov eax, dword [esp + 0x10]
push eax
push 0x484e20
push eax
call fcn.00417a50
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + 0x1ec], esi
jmp 0x4694b4
push 0
push 0
push dword [esp + 0x18]
call fcn.00417a50
add esp, 0xc
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1ec]
cdq
push edx
push eax
push str.timeout
push edi
call fcn.00443f90
add esp, 0x10
jmp 0x465ca7