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

Disassembly:
sub esp, 0x7c
mov eax, dword [0x50a0b0]
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.0045d2c0
mov esi, eax
add esp, 4
mov dword [esp + 0x28], esi
test esi, esi
je 0x465ab5
or dword [esi + 0x58], 0x10
mov eax, dword [ebx]
mov dword [ebx + 0x48], 2
test ebp, ebp
je 0x4658c6
cmp dword [ebp + 4], 0
jbe 0x4658c6
cmp byte [eax + 0x91], 0
je 0x465888
push str.corrupt_database
push ebx
call fcn.00453920
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004bf929
add esp, 0x7c
ret
push edi
push eax
call fcn.00457fd0
mov ecx, eax
add esp, 8
mov dword [esp + 0x34], ecx
test ecx, ecx
jns 0x4658be
push edi
push str.unknown_database__T
push ebx
call fcn.00453920
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004bf929
add esp, 0x7c
ret
mov dword [esp + 0x2c], eax
mov edi, ebp
jmp 0x4658d5
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 0x465904
push dword [esp + 0x20]
call fcn.00462880
add esp, 4
test eax, eax
jne 0x465ab5
push edi
mov edi, dword [esp + 0x14]
push edi
call fcn.00462440
add esp, 8
mov dword [esp + 0x4c], eax
test eax, eax
je 0x465ab5
cmp dword [esp + 0xa0], 0
push dword [esp + 0x1c]
je 0x46593c
push 0x4f1d04
push edi
call fcn.00461bc0
add esp, 0xc
jmp 0x465945
push edi
call fcn.00462440
add esp, 8
cmp dword [ebp + 4], 0
mov dword [esp + 0x14], eax
jbe 0x465953
mov ebx, dword [ebx]
jmp 0x465955
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.00449a30
add esp, 0x14
test eax, eax
jne 0x465a97
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.0041ce70
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x465ad4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x465a97
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.00475350
push 1
push esi
call fcn.00480a40
push edi
push str.result
push edi
push edi
push esi
call fcn.00480a00
mov eax, dword [esi + 0x18]
add esp, 0x38
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x465a13
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x465a43
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 0x465a97
cmp dword [section..data], 0
je 0x465acb
mov eax, dword [0x50bf70]
test eax, eax
je 0x465a67
push eax
call dword [0x509054]
add esp, 4
push esi
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push esi
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x465a97
push eax
call dword [0x50905c]
add esp, 4
mov ecx, dword [esp + 0x10]
push dword [esp + 0x4c]
push ecx
call fcn.00451330
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call fcn.00451330
add esp, 0x10
mov ecx, dword [esp + 0x88]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004bf929
add esp, 0x7c
ret
push esi
call dword [0x509028]
jmp 0x465a94
cmp edi, 0xc
je 0x465b6b
mov eax, dword [esp + 0x78]
test eax, eax
je 0x465b60
push eax
push 0x4ef960
push ebp
call fcn.00453920
mov esi, dword [esp + 0x84]
add esp, 0xc
test esi, esi
je 0x465b60
cmp dword [section..data], 0
je 0x465b56
mov eax, dword [0x50bf70]
test eax, eax
je 0x465b1b
push eax
call dword [0x509054]
add esp, 4
push esi
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push esi
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x465b60
push eax
call dword [0x50905c]
add esp, 4
mov dword [ebp + 0xc], edi
inc dword [ebp + 0x40]
jmp 0x465a97
push esi
call dword [0x509028]
add esp, 4
inc dword [ebp + 0x40]
mov dword [ebp + 0xc], edi
jmp 0x465a97
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 + 0x4ed310]
test edx, edx
jne 0x465b9b
mov edx, 1
jmp 0x465bed
mov ecx, dword [esp + 0x4c]
mov bl, byte [ecx]
test bl, bl
je 0x465bd5
mov edi, ecx
mov al, bl
sub edi, edx
jmp 0x465bb0
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x465bd1
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x465bb0
mov edi, dword [esp + 0x1c]
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4ea938]
movzx eax, bl
movzx edx, byte [eax + 0x4ea938]
sub edx, ecx
je 0x465c09
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 0x465b76
cmp edi, esi
mov esi, dword [esp + 0x28]
jg 0x465a97
mov edi, dword [esp + 0x20]
lea ebx, [ebp*2]
add ebx, ebp
mov dword [esp + 0x50], ebx
test byte [ebx*4 + 0x4ed315], 1
je 0x465c41
push edi
call fcn.00469c50
add esp, 4
test eax, eax
jne 0x465a97
movzx eax, byte [ebx*4 + 0x4ed314]
cmp eax, 0x23
ja case.0x465c52.3
jmp dword [eax*4 + 0x4692c0]
mov ebp, dword [esp + 0x34]
push ebp
push esi
call fcn.00481210
mov eax, dword [esp + 0x1c]
add esp, 8
test eax, eax
jne 0x465cca
push 1
push esi
call fcn.00480a40
push 0
push str.cache_size
push 0
push 0
push esi
call fcn.00480a00
add dword [edi + 0x48], 2
push 0
push 0x4ebbc4
push 9
push esi
call fcn.00475400
mov edi, eax
push ebp
push edi
push esi
call fcn.00475640
push ebp
lea ecx, [edi + 1]
push ecx
push esi
call fcn.00475640
add esp, 0x44
lea eax, [edi + 6]
push 0x7d0
push eax
push esi
call fcn.00475640
add esp, 0xc
jmp 0x465a97
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push eax
call fcn.0045c800
mov edi, dword [esp + 0x24]
add esp, 8
test edi, edi
jns 0x465cf9
cmp edi, 0x80000000
jne 0x465cf7
mov edi, SysReAllocString
jmp 0x465cf9
neg edi
push ebp
push 0
push dword [esp + 0x28]
call fcn.0044aa70
mov eax, dword [esi + 0x18]
add esp, 0xc
mov ebx, dword [esi + 0x20]
cmp dword [eax + 0x54], ebx
jg 0x465d22
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x465d52
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.004752e0
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.0044de50
add esp, 0x1c
jmp 0x465a97
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x14]
mov esi, dword [edx + 4]
test eax, eax
jne 0x465db2
test esi, esi
je 0x465d9a
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x20]
jmp 0x465d9c
xor eax, eax
cdq
push edx
push eax
push str.page_size
push edi
call fcn.00443e80
add esp, 0x10
jmp 0x465a97
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push eax
call fcn.0045c800
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.0044ded0
mov ecx, dword [esp + 0x28]
add esp, 0x18
cmp eax, 7
jne 0x465a9b
mov byte [ecx + 0x41], 1
jmp 0x465a9b
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 0x465e18
push 0
push eax
call fcn.0045c490
add esp, 8
movzx ebp, al
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x465ea2
test ebp, ebp
js 0x465ea2
mov eax, dword [esp + 0x10]
xor edi, edi
cmp dword [eax + 0x14], edi
jle 0x465ea2
xor ebx, ebx
mov ecx, 0xfffb
lea esp, [esp]
mov eax, dword [eax + 0x10]
mov esi, dword [ebx + eax + 4]
test esi, esi
je 0x465e95
cmp byte [esi + 9], 0
je 0x465e68
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x465e68
push esi
call fcn.00423a60
add esp, 4
mov ecx, 0xfffb
mov eax, dword [esi + 4]
and word [eax + 0x16], cx
test ebp, ebp
je 0x465e7b
mov eax, dword [esi + 4]
or word [eax + 0x16], 4
cmp byte [esi + 9], 0
je 0x465e95
add dword [esi + 0xc], 0xffffffff
jne 0x465e95
push esi
call fcn.00486180
add esp, 4
mov ecx, 0xfffb
mov eax, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [eax + 0x14]
jl 0x465e40
push ebp
push dword [esp + 0x2c]
call fcn.0044dd60
cdq
push edx
push eax
push str.secure_delete
push dword [esp + 0x34]
call fcn.00443e80
add esp, 0x18
jmp 0x465a97
mov ebp, dword [esp + 0x34]
push ebp
push edi
call fcn.0044f610
mov eax, dword [esp + 0x54]
add esp, 8
inc dword [edi + 0x48]
mov ebx, dword [edi + 0x48]
movzx eax, byte [eax]
cmp byte [eax + 0x4ea938], 0x70
jne 0x465efb
push ebx
push ebp
push 0x99
push esi
call fcn.004752c0
add esp, 0x10
jmp 0x465f40
mov ecx, dword [esp + 0x14]
xor eax, eax
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x465f2f
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.0045c800
mov eax, dword [esp + 0x24]
add esp, 8
test eax, eax
jns 0x465f2f
cmp eax, 0x80000000
jne 0x465f2d
mov eax, SysReAllocString
jmp 0x465f2f
neg eax
push eax
push ebx
push ebp
push 0x9a
push esi
call fcn.004752e0
add esp, 0x14
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x465f5a
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x465f8a
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.00480a40
push 0xffffffffffffffff
push dword [esp + 0x58]
push 0
push 0
push esi
call fcn.00480a00
add esp, 0x1c
jmp 0x465a97
mov edi, dword [esp + 0x14]
test edi, edi
je 0x466055
mov bl, byte [edi]
mov edx, str.exclusive
mov bh, bl
test bl, bl
je 0x465fec
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x465fe8
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x465fc7
mov edi, dword [esp + 0x14]
movzx eax, bh
movzx ecx, byte [eax + 0x4ea938]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ea938]
sub ecx, eax
jne 0x46600b
mov ecx, 1
jmp 0x466058
mov edx, str.normal
test bl, bl
je 0x466039
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bl, al
movzx eax, al
mov al, byte [eax + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x466039
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x466018
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4ea938]
movzx eax, bl
movzx eax, byte [eax + 0x4ea938]
sub eax, ecx
jne 0x466055
xor ecx, ecx
jmp 0x466058
or ecx, 0xffffffff
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
jne 0x4660b7
cmp ecx, 0xffffffff
jne 0x466071
mov eax, dword [esp + 0x10]
movzx edi, byte [eax + 0x42]
jmp 0x4660ce
mov ebp, dword [esp + 0x10]
mov edx, 2
cmp dword [ebp + 0x14], edx
jle 0x4660b4
lea edi, [edx + 0x1e]
test ecx, ecx
js 0x4660ab
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 0x4660ab
mov ebx, dword [eax + 0xd0]
test ebx, ebx
je 0x4660a8
cmp byte [ebx + 0x2b], 2
je 0x4660ab
mov byte [eax + 4], cl
inc edx
add edi, 0x10
cmp edx, dword [ebp + 0x14]
jl 0x466082
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.00463620
add esp, 8
mov edi, eax
push 1
push esi
call fcn.00480a40
push 0
push str.locking_mode
push 0
push 0
push esi
call fcn.00480a00
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.00475350
add esp, 0x38
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
cmp dword [eax + 0x54], edi
jg 0x466129
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x465a97
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 0x465a97
push 1
push esi
call fcn.00480a40
push 0
push str.journal_mode
push 0
push 0
push esi
call fcn.00480a00
mov ecx, dword [esp + 0x30]
add esp, 0x1c
test ecx, ecx
je 0x4662f5
cmp byte [ecx], 0
mov ebp, ecx
je 0x466198
inc ebp
cmp byte [ebp], 0
jne 0x466191
sub ebp, ecx
and ebp, 0x3fffffff
xor eax, eax
mov dword [esp + 0x38], eax
cmp eax, 6
je 0x4662f5
mov edi, dword [eax*4 + 0x4ebbac]
test edi, edi
je 0x4662f5
mov edx, ebp
mov ebx, ecx
test ebp, ebp
je 0x4661e7
mov al, byte [ebx]
dec edx
test al, al
je 0x4661e8
movzx ecx, byte [edi]
movzx eax, al
mov al, byte [eax + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x4661e8
inc ebx
inc edi
test edx, edx
jg 0x4661c6
dec edx
test edx, edx
js 0x46620f
movzx eax, byte [edi]
movzx ecx, byte [eax + 0x4ea938]
movzx eax, byte [ebx]
movzx eax, byte [eax + 0x4ea938]
sub eax, ecx
je 0x46620f
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
inc eax
jmp 0x4661a2
mov ebx, dword [esp + 0x38]
cmp ebx, 0xffffffff
je 0x4662f8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x46610b
mov ebp, edi
shl ebp, 4
lea esp, [esp]
mov eax, dword [eax + 0x10]
cmp dword [eax + ebp + 4], 0
je 0x4662d8
cmp edi, edx
je 0x46625c
cmp dword [ecx + 4], 0
jne 0x4662d8
mov eax, dword [esi + 0x60]
bts eax, edi
mov dword [esi + 0x60], eax
cmp edi, 1
je 0x466282
mov eax, dword [esi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebp + 4]
cmp byte [eax + 9], 0
je 0x466282
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 0x4662a9
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x4662d8
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 0x466240
jmp 0x46610b
or ebx, 0xffffffff
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 4], 0
jne 0x466220
xor edx, edx
mov dword [ecx + 4], 1
mov dword [esp + 0x2c], edx
jmp 0x466224
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 0x466385
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.004517a0
mov ecx, dword [esp + 0x78]
add esp, 8
cmp ecx, 0xffffffff
jg 0x466365
jl 0x46635e
mov eax, dword [esp + 0x6c]
cmp eax, 0xffffffff
jae 0x466369
or eax, 0xffffffff
or ecx, eax
jmp 0x466369
mov eax, dword [esp + 0x6c]
mov edx, dword [esi + 0xd0]
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], ecx
test edx, edx
je 0x466385
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.00443e80
add esp, 0x10
jmp 0x465a97
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov ebp, dword [edx + 4]
test ecx, ecx
jne 0x4663cf
push ebp
call fcn.0044c210
cdq
push edx
push eax
push str.auto_vacuum
push edi
call fcn.00443e80
add esp, 0x14
jmp 0x465a97
mov bl, byte [ecx]
mov edx, str.none
mov bh, bl
test bl, bl
je 0x466403
mov edi, ecx
mov al, bl
sub edi, edx
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x466403
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x4663e2
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4ea938]
movzx eax, bh
movzx eax, byte [eax + 0x4ea938]
sub eax, ecx
jne 0x466422
xor ebx, ebx
jmp 0x4664ed
mov edx, str.full
mov bh, bl
test bl, bl
je 0x466456
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 + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x466456
mov al, byte [edi + edx + 1]
inc edx
mov bh, al
test al, al
jne 0x466435
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4ea938]
movzx eax, bh
movzx eax, byte [eax + 0x4ea938]
sub eax, ecx
jne 0x466476
lea ebx, [eax + 1]
jmp 0x4664ed
mov edx, str.incremental
test bl, bl
je 0x4664a8
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 + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x4664a8
mov al, byte [edi + edx + 1]
inc edx
mov bl, al
test al, al
jne 0x466487
movzx eax, bl
movzx ecx, byte [eax + 0x4ea938]
movzx eax, byte [edx]
movzx eax, byte [eax + 0x4ea938]
sub ecx, eax
jne 0x4664c5
lea ebx, [ecx + 2]
jmp 0x4664ed
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push eax
push dword [esp + 0x18]
call fcn.0045c800
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.0044ddd0
add esp, 8
test eax, eax
jne 0x465a97
cmp ebx, 1
je 0x466518
cmp ebx, 2
jne 0x465a97
push 0
push 0x4ed7fc
push 6
push esi
call fcn.00475400
mov ebp, dword [esp + 0x44]
mov ebx, eax
push ebp
push ebx
push esi
call fcn.00475640
push ebp
lea ecx, [ebx + 1]
push ecx
push esi
call fcn.00475640
lea edi, [ebx + 4]
push edi
lea eax, [ebx + 2]
push eax
push esi
call fcn.00475660
mov eax, dword [esp + 0x4c]
dec eax
push eax
push edi
push esi
call fcn.00475640
add esp, 0x40
lea eax, [ebx + 5]
push ebp
push eax
push esi
call fcn.00475640
push ebp
push esi
call fcn.00481210
add esp, 0x14
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46659a
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.0045c800
add esp, 8
test eax, eax
je 0x46659a
mov ebx, dword [esp + 0x28]
test ebx, ebx
jg 0x46659f
mov ebx, SysReAllocString
mov ebp, dword [esp + 0x34]
push ebp
push 0
push edi
call fcn.0044aa70
mov eax, dword [esi + 0x18]
add esp, 0xc
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x4665ce
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x466601
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.00475250
push 1
push 0x23
push esi
mov ebx, eax
call fcn.00475250
mov ecx, dword [esi + 0x18]
add esp, 0x18
mov edi, dword [esi + 0x20]
mov eax, edi
cmp dword [ecx + 0x54], edi
jg 0x46663b
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x466670
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 0x46668a
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x4666ba
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.0047e2a0
add esp, 8
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4666f1
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.00443e80
add esp, 0x10
jmp 0x465a97
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push ecx
push eax
call fcn.0045c800
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.0044de50
add esp, 0x10
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46685d
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.004517a0
add esp, 8
cmp dword [esp + 0x70], 0
jg 0x466764
jl 0x466752
cmp dword [esp + 0x6c], 0
jae 0x466764
mov eax, dword [0x5090b0]
mov dword [esp + 0x6c], eax
mov eax, dword [0x5090b4]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x466780
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 0x46685d
mov ebx, edi
shl ebx, 4
mov eax, dword [edx + 0x10]
mov esi, dword [ebx + eax + 4]
test esi, esi
je 0x466851
cmp edi, dword [esp + 0x34]
je 0x4667b0
cmp dword [ecx + 4], 0
jne 0x466851
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 0x4667e3
inc dword [esi + 0xc]
cmp byte [esi + 0xa], 0
jne 0x4667e3
push esi
call fcn.00423a60
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 0x466834
mov edx, dword [edx]
cmp dword [edx], 3
mov edx, dword [eax + 0x3c]
jl 0x466834
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ecx
test ecx, ecx
jl 0x46681d
jg 0x466819
test ebp, ebp
je 0x46681d
mov cl, 1
jmp 0x46681f
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 0x466849
add dword [esi + 0xc], 0xffffffff
jne 0x466849
push esi
call fcn.00486180
add esp, 4
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
sub ebx, 0x10
sub edi, 1
jns 0x466791
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.0041ce70
add esp, 0x10
test eax, eax
jne 0x4668a6
push dword [esp + 0x70]
push dword [esp + 0x70]
push str.mmap_size
push dword [esp + 0x2c]
call fcn.00443e80
add esp, 0x10
jmp 0x465a97
cmp eax, 0xc
je 0x465a97
mov ecx, dword [esp + 0x20]
inc dword [ecx + 0x40]
mov dword [ecx + 0xc], eax
jmp 0x465a97
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x4668e4
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x40]
cdq
push edx
push eax
push str.temp_store
push edi
call fcn.00443e80
add esp, 0x10
jmp 0x465a97
mov bl, byte [ecx]
mov al, bl
sub al, 0x30
cmp al, 2
ja 0x4668f9
movsx ebx, bl
sub ebx, 0x30
jmp 0x4669a4
mov edx, str.file
mov bh, bl
test bl, bl
je 0x466931
mov esi, ecx
mov al, bl
sub esi, edx
lea ebx, [ebx]
movzx ecx, byte [edx]
mov bh, al
movzx eax, al
mov al, byte [eax + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x466931
mov al, byte [edx + esi + 1]
inc edx
mov bh, al
test al, al
jne 0x466910
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4ea938]
movzx eax, bh
movzx eax, byte [eax + 0x4ea938]
sub eax, ecx
jne 0x46694e
lea ebx, [eax + 1]
jmp 0x4669a4
mov edx, str.memory
test bl, bl
je 0x466981
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 + 0x4ea938]
cmp al, byte [ecx + 0x4ea938]
jne 0x466981
mov al, byte [edx + esi + 1]
inc edx
mov bl, al
test al, al
jne 0x466960
movzx eax, byte [edx]
movzx ecx, byte [eax + 0x4ea938]
movzx eax, bl
mov ebx, 0
movzx eax, byte [eax + 0x4ea938]
sub eax, ecx
mov eax, 2
cmove ebx, eax
mov esi, dword [edi]
movzx eax, byte [esi + 0x40]
cmp eax, ebx
je 0x465a97
push edi
call fcn.004365e0
mov ecx, dword [esp + 0x14]
add esp, 4
test eax, eax
jne 0x465a9b
mov byte [esi + 0x40], bl
jmp 0x465a9b
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x466a09
cmp dword [0x50bd88], ecx
je 0x465a97
push 1
push esi
call fcn.00480a40
push 0
push str.temp_store_directory
push 0
push 0
push esi
call fcn.00480a00
push 0
push dword [0x50bd88]
jmp 0x4660fa
cmp byte [ecx], 0
je 0x466a42
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 0x466a2f
cmp dword [esp + 0x28], eax
jne 0x466a42
push str.not_a_writable_directory
push edi
call fcn.00453920
add esp, 8
jmp 0x465a97
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x40], 1
ja 0x466a55
push edi
call fcn.004365e0
add esp, 4
push dword [0x50bd88]
call fcn.00418550
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x466a84
push eax
push 0x4ef960
call fcn.00417f00
add esp, 8
mov dword [0x50bd88], eax
jmp 0x465a97
mov dword [0x50bd88], 0
jmp 0x465a97
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x466acd
cmp dword [0x50bd8c], ecx
je 0x465a97
push 1
push esi
call fcn.00480a40
push 0
push str.data_store_directory
push 0
push 0
push esi
call fcn.00480a00
push 0
push dword [0x50bd8c]
jmp 0x4660fa
cmp byte [ecx], 0
je 0x466afb
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 0x466a2f
cmp dword [esp + 0x28], eax
je 0x466a2f
push dword [0x50bd8c]
call fcn.00418550
mov eax, dword [esp + 0x18]
add esp, 4
cmp byte [eax], 0
je 0x466b2a
push eax
push 0x4ef960
call fcn.00417f00
add esp, 8
mov dword [0x50bd8c], eax
jmp 0x465a97
mov dword [0x50bd8c], 0
jmp 0x465a97
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x466b64
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.00443e80
add esp, 0x10
jmp 0x465a97
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3f], 0
jne 0x466b81
push str.Safety_level_may_not_be_changed_inside_a_transaction
push edi
call fcn.00453920
add esp, 8
jmp 0x465a97
push 1
push 0
push ecx
call fcn.00435d60
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.004472f0
add esp, 0x10
jmp 0x465a97
mov edx, dword [esp + 0x14]
mov eax, dword [ebx*4 + 0x4ed318]
mov ecx, dword [esp + 0x10]
push 0
test edx, edx
jne 0x466be3
and eax, dword [ecx + 0x18]
neg eax
sbb eax, eax
neg eax
push eax
push dword [ebx*4 + 0x4ed310]
push edi
call fcn.00443e80
add esp, 0x10
jmp 0x465a97
mov edi, eax
and edi, 0xfff7ffff
cmp byte [ecx + 0x3f], 0
push edx
cmovne edi, eax
call fcn.0045c490
mov edx, dword [esp + 0x18]
add esp, 8
mov ecx, dword [edx + 0x18]
test al, al
je 0x466c0d
or ecx, edi
mov dword [edx + 0x18], ecx
jmp 0x466c32
mov eax, edi
not eax
and eax, ecx
mov dword [edx + 0x18], eax
cmp edi, 0x1000000
jne 0x466c32
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 0x466c4c
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x466c80
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.004472f0
jmp 0x465a94
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465a97
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call fcn.00458810
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x2c], ebx
test ebx, ebx
je 0x465a97
xor edi, edi
push ebx
mov dword [esp + 0x28], edi
call fcn.00469b90
push 6
push esi
mov dword [esp + 0x34], eax
call fcn.00480a40
mov ebp, dword [esp + 0x2c]
push dword [esp + 0x40]
push ebp
mov dword [ebp + 0x48], 6
call fcn.0044f610
push edi
push 0x4f1d64
push edi
push edi
push esi
call fcn.00480a00
push edi
push str.name
push edi
push 1
push esi
call fcn.00480a00
push edi
push str.type
push edi
push 2
push esi
call fcn.00480a00
add esp, 0x50
push edi
push str.notnull
push edi
push 3
push esi
call fcn.00480a00
push edi
push str.dflt_value
push edi
push 4
push esi
call fcn.00480a00
push edi
push 0x4f1d84
push edi
push 5
push esi
call fcn.00480a00
push ebx
push ebp
call fcn.00481250
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 0x465a97
test byte [ebx + 0x17], 2
je 0x466d75
inc edi
mov dword [esp + 0x24], edi
jmp 0x4671db
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
cmp dword [eax + 0x54], edi
jg 0x466d94
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x466dcd
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 0x466df5
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
je 0x466df2
mov edi, 1
jmp 0x466e2c
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 0x466e94
cmp byte [ecx + 0x41], 0
jne 0x466e94
test edi, edi
jns 0x466e43
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.004332a0
add esp, 0xc
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x466e6b
mov byte [edi + 1], bl
jmp 0x466e94
cmp byte [ebx], 0
mov eax, ebx
je 0x466e78
inc eax
cmp byte [eax], 0
jne 0x466e72
sub eax, ebx
push 0
and eax, 0x3fffffff
push eax
push ebx
push dword [esi]
call fcn.00451750
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
mov eax, dword [esp + 0x18]
mov ebx, 0x4e93f4
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 0x466ecb
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
je 0x466ec8
mov edi, 1
jmp 0x466f02
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 0x466f6a
cmp byte [ecx + 0x41], 0
jne 0x466f6a
test edi, edi
jns 0x466f19
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.004332a0
add esp, 0xc
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x466f41
mov byte [edi + 1], bl
jmp 0x466f6a
cmp byte [ebx], 0
mov eax, ebx
je 0x466f4e
inc eax
cmp byte [eax], 0
jne 0x466f48
sub eax, ebx
push 0
and eax, 0x3fffffff
push eax
push ebx
push dword [esi]
call fcn.00451750
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 0x466f95
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x466fc8
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 0x4670a4
cmp dword [eax + 0x54], edi
jg 0x466ffd
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
je 0x466ffa
mov edi, 1
jmp 0x467034
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 0x4670f2
cmp byte [ecx + 0x41], 0
jne 0x4670f2
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.004332a0
add esp, 0xc
mov dword [edi + 0x10], 0
cmp byte [ebx], 0
mov eax, ebx
je 0x467086
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x467080
sub eax, ebx
push 0
and eax, 0x3fffffff
push eax
push ebx
push dword [esi]
call fcn.00451750
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
jmp 0x4670f2
cmp dword [eax + 0x54], edi
jg 0x4670bb
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x4670f2
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 0x467100
xor edi, edi
jmp 0x46712f
mov ecx, dword [esp + 0x28]
mov edi, 1
test ecx, ecx
je 0x46712f
mov eax, dword [esp + 0x2c]
movsx edx, word [eax + 0x22]
cmp edx, edi
jl 0x46712f
mov ecx, dword [ecx + 4]
lea esp, [esp]
movsx eax, word [ecx]
cmp eax, ebp
je 0x46712f
inc edi
add ecx, 2
cmp edi, edx
jle 0x467120
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x20]
mov ecx, ebx
cmp dword [eax + 0x54], ebx
jg 0x46714e
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x467181
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 0x46719b
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x4671cf
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 0x466d65
jmp 0x465a97
push edi
call fcn.0045d2c0
mov esi, eax
push 4
push esi
call fcn.00480a40
push dword [esp + 0x40]
mov dword [edi + 0x48], 4
push edi
call fcn.0044f610
push 0
push str.table
push 0
push 0
push esi
call fcn.00480a00
push 0
push str.index
push 0
push 1
push esi
call fcn.00480a00
push 0
push str.width
push 0
push 2
push esi
call fcn.00480a00
add esp, 0x50
push 0
push str.height
push 0
push 3
push esi
call fcn.00480a00
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 0x465a97
lea esp, [esp]
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 0x4672ac
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
je 0x4672a9
mov edi, 1
jmp 0x4672e3
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 0x467352
cmp byte [ecx + 0x41], 0
jne 0x467352
test edi, edi
jns 0x4672fa
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.004332a0
add esp, 0xc
mov dword [edi + 0x10], 0
test ebx, ebx
jne 0x467322
mov byte [edi + 1], bl
jmp 0x467352
cmp byte [ebx], 0
mov eax, ebx
je 0x467336
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x467330
sub eax, ebx
push 0
and eax, 0x3fffffff
push eax
push ebx
push dword [esi]
call fcn.00451750
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 0x467371
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x4673a8
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.00461a90
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 0x4673d6
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x467407
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.00461a90
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 0x467435
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x467466
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 0x467480
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x4674b4
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 0x46765f
nop
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x20]
mov ecx, edi
mov ebp, dword [ebx]
cmp dword [eax + 0x54], edi
jg 0x4674e8
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
je 0x4674e5
mov edi, 1
jmp 0x46751f
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 0x467589
cmp byte [ecx + 0x41], 0
jne 0x467589
test edi, edi
jns 0x467536
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.004332a0
add esp, 0xc
mov dword [edi + 0x10], 0
test ebp, ebp
jne 0x46755f
mov byte [edi + 1], 0
jmp 0x467589
cmp byte [ebp], 0
mov eax, ebp
je 0x46756d
inc eax
cmp byte [eax], 0
jne 0x467567
sub eax, ebp
push 0
and eax, 0x3fffffff
push eax
push ebp
push dword [esi]
call fcn.00451750
add esp, 0x10
mov dword [edi + 0x10], eax
mov byte [edi + 1], 0xff
movzx eax, word [ebx + 0x2c]
push eax
call fcn.00461a90
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 0x4675b7
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x4675e8
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.00461a90
mov ecx, dword [esi + 0x18]
add esp, 4
mov edi, dword [esi + 0x20]
mov ebp, eax
cmp dword [ecx + 0x54], edi
jg 0x467613
push 1
push esi
call fcn.00435e50
add esp, 8
test eax, eax
jne 0x467643
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.004752e0
mov ebx, dword [ebx + 0x14]
add esp, 0x14
test ebx, ebx
jne 0x4674c0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x467280
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465a97
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call fcn.00458730
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x18], ebp
test ebp, ebp
je 0x465a97
mov ecx, dword [ebx*4 + 0x4ed318]
test ecx, ecx
je 0x4676b2
movzx eax, word [ebp + 0x30]
jmp 0x4676b6
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.00480a40
push dword [esp + 0x3c]
push dword [esp + 0x2c]
call fcn.0044f610
push 0
push str.seqno
push 0
push 0
push esi
call fcn.00480a00
push 0
push 0x4f1d64
push 0
push 1
push esi
call fcn.00480a00
push 0
push str.name
push 0
push 2
push esi
call fcn.00480a00
add esp, 0x4c
cmp dword [ebx*4 + 0x4ed318], 0
je 0x467766
push 0
push str.desc
push 0
push 3
push esi
call fcn.00480a00
push 0
push str.coll
push 0
push 4
push esi
call fcn.00480a00
push 0
push 0x4f1db0
push 0
push 5
push esi
call fcn.00480a00
add esp, 0x3c
xor ebx, ebx
test edi, edi
je 0x465a97
mov eax, dword [ebp + 4]
push 0
push 1
push ebx
movzx edi, word [eax + ebx*2]
push 0x19
push esi
call fcn.004752e0
push 0
movsx eax, di
push 2
push eax
push 0x19
push esi
mov dword [esp + 0x50], eax
call fcn.004752e0
add esp, 0x28
push 0
push 3
push 0
test di, di
jns 0x4677b6
push 0x1c
push esi
call fcn.004752e0
add esp, 0x14
jmp 0x467846
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.004752e0
mov edx, dword [esi + 4]
add esp, 0x14
mov ecx, dword [esi]
test edx, edx
je 0x467842
cmp byte [ecx + 0x41], 0
jne 0x467842
test eax, eax
jns 0x4677e9
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.004332a0
add esp, 0xc
mov dword [edi + 0x10], 0
test ebp, ebp
jne 0x467812
mov byte [edi + 1], 0
jmp 0x467842
cmp byte [ebp], 0
mov eax, ebp
je 0x467826
lea ebx, [ebx]
inc eax
cmp byte [eax], 0
jne 0x467820
sub eax, ebp
push 0
and eax, 0x3fffffff
push eax
push ebp
push dword [esi]
call fcn.00451750
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 + 0x4ed318], 0
je 0x4678a0
mov eax, dword [ebp + 0x1c]
push 0
push 4
movzx eax, byte [eax + ebx]
push eax
push 0x19
push esi
call fcn.004752e0
mov eax, dword [ebp + 0x20]
push 0
push 5
push 0
mov edi, dword [eax + ebx*4]
push 0x61
push esi
call fcn.004752e0
push 0
push edi
push eax
push esi
call fcn.004756a0
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.004752e0
add esp, 0x4c
mov eax, dword [esp + 0x20]
push 0
push dword [eax + 0x48]
push 1
push 0x23
push esi
call fcn.004752e0
inc ebx
add esp, 0x14
cmp ebx, dword [esp + 0x1c]
jl 0x467770
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465a97
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call fcn.00458810
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x465a97
push edi
call fcn.0045d2c0
mov edi, eax
push 5
push edi
call fcn.00480a40
mov eax, dword [esp + 0x2c]
push dword [esp + 0x40]
push eax
mov dword [eax + 0x48], 5
call fcn.0044f610
push 0
push 0x4f1db4
push 0
push 0
push edi
call fcn.00480a00
push 0
push str.name
push 0
push 1
push edi
call fcn.00480a00
push 0
push str.unique
push 0
push 2
push edi
call fcn.00480a00
add esp, 0x50
push 0
push str.origin
push 0
push 3
push edi
call fcn.00480a00
push 0
push str.partial
push 0
push 4
push edi
call fcn.00480a00
mov ebx, dword [ebx + 8]
add esp, 0x28
xor ebp, ebp
test ebx, ebx
je 0x465a97
mov dword [esp + 0x6c], 0x4f1dd0
mov dword [esp + 0x70], 0x4f1dd4
mov dword [esp + 0x74], 0x4f1d84
push 0
push 1
push ebp
push 0x19
push edi
call fcn.004752e0
mov esi, dword [ebx]
push 0
push 2
push 0
push 0x61
push edi
call fcn.004752e0
push 0
push esi
push eax
push edi
call fcn.004756a0
xor eax, eax
cmp byte [ebx + 0x32], al
push 0
push 3
setne al
push eax
push 0x19
push edi
call fcn.004752e0
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.004752e0
push 0
push esi
push eax
push edi
call fcn.004756a0
xor eax, eax
cmp dword [ebx + 0x24], eax
push 0
push 5
setne al
push eax
push 0x19
push edi
call fcn.004752e0
push 0
push 5
push 1
push 0x23
push edi
call fcn.004752e0
mov ebx, dword [ebx + 0x14]
add esp, 0x4c
inc ebp
test ebx, ebx
jne 0x467992
jmp 0x465a97
push 3
push esi
call fcn.00480a40
push 0
push 0x4f1db4
push 0
push 0
push esi
mov dword [edi + 0x48], 3
call fcn.00480a00
push 0
push str.name
push 0
push 1
push esi
call fcn.00480a00
push 0
push str.file
push 0
push 2
push esi
call fcn.00480a00
mov ecx, dword [esp + 0x54]
xor ebp, ebp
add esp, 0x44
cmp dword [ecx + 0x14], ebp
jle 0x465a9b
xor ebx, ebx
mov eax, dword [ecx + 0x10]
cmp dword [ebx + eax + 4], 0
je 0x467b10
push 0
push 1
push ebp
push 0x19
push esi
call fcn.004752e0
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.004752e0
push 0
push edi
push eax
push esi
call fcn.004756a0
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 0x467add
mov edi, 0x4e93f4
jmp 0x467ae3
mov edi, dword [edi + 0xa8]
push 0
push 3
push 0
push 0x61
push esi
call fcn.004752e0
push 0
push edi
push eax
push esi
call fcn.004756a0
push 0
push 3
push 1
push 0x23
push esi
call fcn.004752e0
mov ecx, dword [esp + 0x48]
add esp, 0x38
inc ebp
add ebx, 0x10
cmp ebp, dword [ecx + 0x14]
jl 0x467a80
jmp 0x465a9b
push 2
push esi
xor ebp, ebp
call fcn.00480a40
push ebp
push 0x4f1db4
push ebp
push ebp
push esi
mov dword [edi + 0x48], 2
call fcn.00480a00
push ebp
push str.name
push ebp
push 1
push esi
call fcn.00480a00
mov ebx, dword [esp + 0x40]
add esp, 0x30
mov ebx, dword [ebx + 0x1b4]
test ebx, ebx
je 0x465a97
mov edi, dword [ebx + 8]
push 0
push 1
push ebp
push 0x19
push esi
call fcn.004752e0
mov edi, dword [edi]
inc ebp
push 0
push 2
push 0
push 0x61
push esi
call fcn.004752e0
push 0
push edi
push eax
push esi
call fcn.004756a0
push 0
push 2
push 1
push 0x23
push esi
call fcn.004752e0
mov ebx, dword [ebx]
add esp, 0x4c
test ebx, ebx
jne 0x467b65
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465a97
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call fcn.00458810
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x465a97
push edi
call fcn.0045d2c0
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 0x465a97
push 8
xor ebp, ebp
push esi
mov dword [esp + 0x48], ebp
call fcn.00480a40
push dword [esp + 0x3c]
mov dword [edi + 0x48], 8
push edi
call fcn.0044f610
push ebp
push 0x4f1dd8
push ebp
push ebp
push esi
call fcn.00480a00
push ebp
push 0x4f1db4
push ebp
push 1
push esi
call fcn.00480a00
push ebp
push str.table
push ebp
push 2
push esi
call fcn.00480a00
add esp, 0x4c
push ebp
push str.from
push ebp
push 3
push esi
call fcn.00480a00
push ebp
push 0x4f1ddc
push ebp
push 4
push esi
call fcn.00480a00
push ebp
push str.on_update
push ebp
push 5
push esi
call fcn.00480a00
push ebp
push str.on_delete
push ebp
push 6
push esi
call fcn.00480a00
add esp, 0x50
push ebp
push str.match
push ebp
push 7
push esi
call fcn.00480a00
add esp, 0x14
cmp dword [ebx + 0x14], 0
mov dword [esp + 0x38], 0
jle 0x467e4f
lea ecx, [ebx + 0x24]
mov dword [esp + 0x44], ecx
lea ecx, [ecx]
movzx eax, byte [ebx + 0x19]
mov edi, dword [ecx + 4]
push eax
call fcn.0041e980
movzx ecx, byte [ebx + 0x1a]
mov ebp, eax
push ecx
call fcn.0041e980
push 0
push 1
push dword [esp + 0x50]
mov ebx, eax
push 0x19
push esi
call fcn.004752e0
push 0
push 2
push dword [esp + 0x5c]
push 0x19
push esi
call fcn.004752e0
mov esi, dword [esp + 0x5c]
push 0
push 3
push 0
mov esi, dword [esi + 8]
push 0x61
push dword [esp + 0x58]
call fcn.004752e0
add esp, 0x44
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.004756a0
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.004752e0
push 0
push esi
mov esi, dword [esp + 0x44]
push eax
push esi
call fcn.004756a0
push 0
push 5
test edi, edi
mov ecx, 0x61
mov eax, 0x1c
push 0
cmovne eax, ecx
push eax
push esi
call fcn.004752e0
add esp, 0x48
push 0
push edi
push eax
push esi
call fcn.004756a0
push 0
push 6
push 0
push 0x61
push esi
call fcn.004752e0
push 0
push ebx
push eax
push esi
call fcn.004756a0
push 0
push 7
push 0
push 0x61
push esi
call fcn.004752e0
add esp, 0x48
push 0
push ebp
push eax
push esi
call fcn.004756a0
push 0
push 8
push 0
push 0x61
push esi
call fcn.004752e0
mov edx, dword [esi + 4]
add esp, 0x24
mov ecx, dword [esi]
test edx, edx
je 0x467e19
cmp byte [ecx + 0x41], 0
jne 0x467e19
test eax, eax
jns 0x467dc9
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.004332a0
add esp, 0xc
mov dword [edi + 0x10], 0
mov eax, str.NONE
lea ecx, [ecx]
inc eax
cmp byte [eax], 0
jne 0x467df0
sub eax, str.NONE
push 0
and eax, 0x3fffffff
push eax
push str.NONE
push dword [esi]
call fcn.00451750
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.004752e0
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 0x467cb0
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 0x467c94
jmp 0x465a97
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.0045d2c0
mov edi, eax
push 4
push edi
call fcn.00480a40
push 0
push str.table
push 0
push 0
push edi
call fcn.00480a00
push 0
push str.rowid
push 0
push 1
push edi
call fcn.00480a00
push 0
push str.parent
push 0
push 2
push edi
call fcn.00480a00
add esp, 0x48
push 0
push str.fkid
push 0
push 3
push edi
call fcn.00480a00
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x34]
push esi
push ebx
call fcn.0044f610
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 0x465a97
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x467f24
push dword [esp + 0x18]
push ecx
push 0
push ebx
call fcn.00461700
add esp, 0x10
mov ebx, eax
xor eax, eax
jmp 0x467f29
mov ebx, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
test ebx, ebx
je 0x4683ee
cmp dword [ebx + 0x10], 0
je 0x4683ee
push dword [ebx]
push 0
push dword [ebx + 0x1c]
push esi
push dword [esp + 0x30]
call fcn.004707e0
mov ecx, dword [esp + 0x34]
add esp, 0x14
movsx eax, word [ebx + 0x22]
add eax, ebp
cmp eax, dword [ecx + 0x48]
jle 0x467f69
mov dword [ecx + 0x48], eax
push 0x36
push ebx
push esi
push 0
push ecx
call fcn.00462640
mov esi, dword [ebx]
push 0
push dword [esp + 0x34]
push 0
push 0x61
push edi
call fcn.004752e0
push 0
push esi
push eax
push edi
call fcn.004756a0
mov ebx, dword [ebx + 0x10]
add esp, 0x38
mov ebp, 1
test ebx, ebx
je 0x468044
push dword [esp + 0x18]
push dword [ebx + 8]
push dword [esp + 0x18]
call fcn.00458810
mov esi, eax
add esp, 0xc
test esi, esi
je 0x468038
push dword [esi]
mov dword [esp + 0x28], 0
push 0
push dword [esi + 0x1c]
push dword [esp + 0x40]
push dword [esp + 0x30]
call fcn.004707e0
push 0
lea eax, [esp + 0x3c]
push eax
push ebx
push esi
push dword [esp + 0x44]
call fcn.0045a070
add esp, 0x28
test eax, eax
jne 0x465a97
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x468018
push 0x36
push esi
push dword [esp + 0x3c]
push ebp
push dword [esp + 0x30]
call fcn.00462640
add esp, 0x14
jmp 0x468038
push dword [esp + 0x34]
push dword [eax + 0x28]
push ebp
push 0x36
push edi
call fcn.004752e0
push dword [esp + 0x38]
push dword [esp + 0x38]
call fcn.00480ab0
add esp, 0x1c
mov ebx, dword [ebx + 4]
inc ebp
test ebx, ebx
jne 0x467fa4
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x44], ebp
jge 0x468050
mov dword [esi + 0x44], ebp
push 0
push 0x6c
push edi
call fcn.00475250
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 0x4683b2
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
jmp 0x4680a0
push dword [esp + 0x18]
push dword [ebp + 8]
push edx
call fcn.00458810
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 0x4681af
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x28]
push ecx
push ebp
push eax
push esi
call fcn.0045a070
push edi
call fcn.0047e6d0
add esp, 0x18
mov ebp, eax
mov dword [esp + 0x44], ebp
cmp dword [esp + 0x24], ebx
jne 0x4681a5
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov esi, dword [eax + 0x24]
movsx eax, word [ebx + 0x20]
cmp esi, eax
je 0x468145
push dword [esp + 0x30]
push esi
push 0
push 0x2f
push edi
call fcn.004752e0
push dword [esp + 0x44]
push esi
push ebx
push edi
call fcn.0044f800
mov ebx, dword [esp + 0x54]
push 0
push ebp
push ebx
push 0x4c
push edi
call fcn.004752e0
mov eax, dword [edi + 0x20]
add esp, 0x38
mov ecx, 0x26
mov edx, ebx
add eax, 3
jmp 0x468152
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.004752e0
push ebx
push 0
push dword [esp + 0x54]
push 0x46
push edi
call fcn.004752e0
push 0
push ebp
push 0
push 0x10
push edi
call fcn.004752e0
mov edx, dword [edi + 0x20]
add esp, 0x3c
lea eax, [edx - 2]
cmp edx, eax
jbe 0x468193
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 0x468276
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x2c]
jmp 0x4681bc
push edi
call fcn.0047e6d0
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 0x468221
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
add eax, 0x24
mov dword [esp + 0x48], eax
test ebx, ebx
je 0x4681df
lea eax, [ebx + esi*4]
mov eax, dword [eax]
push ebp
push eax
push 0
push dword [esp + 0x4c]
push edi
call fcn.00454dc0
push 0
push dword [esp + 0x5c]
push ebp
push 0x4c
push edi
call fcn.004752e0
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 0x4681d8
mov ebp, dword [esp + 0x2c]
cmp dword [esp + 0x58], 0
je 0x468272
push dword [esp + 0x24]
push edi
call fcn.0045dfb0
push dword [esp + 0x5c]
mov esi, eax
push dword [ebp + 0x14]
push dword [esp + 0x40]
push 0x31
push edi
call fcn.004752e0
push dword [esp + 0x6c]
push esi
push eax
push edi
call fcn.004756a0
mov ebp, dword [esp + 0x70]
push 0
push dword [esp + 0x84]
push ebp
push dword [esp + 0x70]
push 0x45
push edi
call fcn.00475390
add esp, 0x44
jmp 0x468276
mov ebp, dword [esp + 0x44]
push 0
push dword [esp + 0x60]
push 0
push 0x67
push edi
call fcn.004752e0
mov eax, dword [esp + 0x40]
push 0
push dword [esp + 0x78]
mov esi, dword [eax + 8]
push 0
push 0x61
push edi
call fcn.004752e0
push 0
push esi
push eax
push edi
call fcn.004756a0
mov esi, dword [esp + 0x70]
push 0
push dword [esp + 0xa0]
lea eax, [esi - 1]
push eax
push 0x19
push edi
call fcn.004752e0
add esp, 0x4c
push 0
push 4
push dword [esp + 0x24]
push 0x23
push edi
call fcn.004752e0
mov edx, dword [edi + 0x18]
not ebp
add esp, 0x14
test ebp, ebp
js 0x4682ec
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x4682ec
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 0x468392
cmp dword [edx + 0x208], 0
push ebx
push edx
je 0x468317
call fcn.00438370
add esp, 8
jmp 0x46838e
call fcn.00436e20
add esp, 8
test eax, eax
je 0x468339
mov eax, dword [edx + 0x110]
mov dword [ebx], eax
dec dword [edx + 0xfc]
mov dword [edx + 0x110], ebx
jmp 0x468392
cmp dword [section..data], 0
je 0x468384
mov eax, dword [0x50bf70]
test eax, eax
je 0x468355
push eax
call dword [0x509054]
add esp, 4
push ebx
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push ebx
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x46838e
push eax
call dword [0x50905c]
jmp 0x46838b
push ebx
call dword [0x509028]
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 0x4680a0
mov ebx, dword [esp + 0x6c]
push 0
lea eax, [ebx + 1]
push eax
push 0
push 9
push edi
call fcn.004752e0
mov edx, dword [edi + 0x20]
add esp, 0x14
cmp edx, ebx
jbe 0x4683d9
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 0x465a97
mov ebx, dword [esp + 0x20]
jmp 0x467f06
mov eax, dword [esp + 0x14]
test eax, eax
je 0x465a97
push 0
push eax
call fcn.0045c490
mov ebx, dword [esp + 0x18]
mov esi, 0x4eac04
push 0
push 0
movzx edi, al
mov eax, 0x4eac08
push 0
push 0x4103a0
test edi, edi
cmovne esi, eax
push esi
push 1
push 2
push str.like
push ebx
call fcn.00450240
push 0
push 0
push 0
push 0x4103a0
push esi
push 1
push 3
push str.like
push ebx
call fcn.00450240
add esp, 0x50
push 0
push 0
push 0
push 0x4103a0
push 0x4eac00
push 1
push 2
push str.glob
push ebx
call fcn.00450240
add esp, 0x24
mov eax, str.glob
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x468490
push 0
push 1
sub eax, str.glob
push 2
and eax, 0x3fffffff
push eax
push str.glob
push ebx
call fcn.00458130
add esp, 0x18
test eax, eax
je 0x4684be
or word [eax + 2], 0xc
mov eax, str.like
inc eax
cmp byte [eax], 0
jne 0x4684c3
push 0
push 1
sub eax, str.like
push 2
and eax, 0x3fffffff
push eax
push str.like
push ebx
call fcn.00458130
add esp, 0x18
test eax, eax
je 0x4684fe
xor ecx, ecx
test edi, edi
setne cl
lea ecx, [ecx*8 + 4]
or word [eax + 2], cx
mov ecx, ebx
jmp 0x465a9b
mov eax, dword [esp + 0x4c]
or ecx, 0xffffffff
push 1
push esi
movzx eax, byte [eax]
mov al, byte [eax + 0x4ea938]
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.00480a40
push 0
push str.integrity_check
push 0
push 0
push esi
call fcn.00480a00
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 0x468583
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.0045c800
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.004752c0
mov eax, dword [esp + 0x20]
xor ecx, ecx
add esp, 0x10
mov dword [esp + 0x30], ecx
cmp dword [eax + 0x14], ecx
jle 0x468dc5
mov edx, dword [esp + 0x2c]
xor ebp, ebp
mov dword [esp + 0x1c], ebp
mov edi, edi
xor ebx, ebx
test edx, edx
js 0x4685be
cmp ecx, edx
jne 0x468dac
push ecx
push edi
call fcn.0044f610
push 1
push 0x89
push esi
call fcn.00475250
push 0
push 0
push 0
push 0x18
push esi
mov edi, eax
call fcn.004752e0
mov edx, dword [esi + 0x20]
add esp, 0x28
cmp edx, edi
jbe 0x4685f9
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 0x46866c
jmp 0x468620
mov edi, dword [ebp + 8]
test byte [edi + 0x2a], 0x20
jne 0x46863e
push 0
lea eax, [ebx + 2]
push eax
push dword [edi + 0x1c]
push 0x19
push esi
call fcn.004752e0
add esp, 0x14
inc ebx
mov edi, dword [edi + 8]
test edi, edi
je 0x468661
push 0
lea eax, [ebx + 2]
push eax
push dword [edi + 0x28]
push 0x19
push esi
call fcn.004752e0
mov edi, dword [edi + 0x14]
add esp, 0x14
inc ebx
test edi, edi
jne 0x468645
mov ebp, dword [ebp]
test ebp, ebp
jne 0x468620
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.004752e0
mov ecx, dword [esi + 4]
add esp, 0x14
test ecx, ecx
je 0x4686a3
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.00475250
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.00461bc0
push 0
push 3
push 0
push 0x61
push esi
mov edi, eax
call fcn.004752e0
push 0xffffffffffffffff
push edi
push eax
push esi
call fcn.004756a0
push 1
push 4
push 2
push 0x20
push esi
call fcn.004752e0
add esp, 0x50
push 2
push 3
push 4
push 0x5e
push esi
call fcn.004752e0
push 0
push 1
push 2
push 0x23
push esi
call fcn.004752e0
mov edx, dword [esi + 0x20]
add esp, 0x28
cmp edx, ebx
jbe 0x468722
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 0x468d9c
mov al, byte [esp + 0x3f]
cmp al, 0x71
je 0x468d98
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 0x468d86
test byte [ebp + 0x2a], 0x20
jne 0x468780
mov dword [esp + 0x24], 0
jmp 0x468794
mov eax, dword [ebx + 0x34]
and al, 3
cmp al, 2
je 0x468790
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x468780
mov dword [esp + 0x24], ebx
push 1
push 0x89
push esi
call fcn.00475250
push 0
push 0
push 0
push 0x18
push esi
mov edi, eax
call fcn.004752e0
mov edx, dword [esi + 0x20]
add esp, 0x20
cmp edx, edi
jbe 0x4687c8
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.00454300
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x48]
push eax
push 0
push 1
push 0x36
push ebp
push ebx
call fcn.004626e0
push 0
push 7
push 0
push 0x19
push esi
call fcn.004752e0
mov edi, dword [ebp + 8]
add esp, 0x34
xor ebx, ebx
test edi, edi
je 0x46882b
lea esp, [esp]
push 0
lea eax, [ebx + 8]
push eax
push 0
push 0x19
push esi
call fcn.004752e0
mov edi, dword [edi + 0x14]
add esp, 0x14
inc ebx
test edi, edi
jne 0x468810
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.004752e0
push 0
push 1
push 7
push 0x25
push esi
call fcn.004752e0
mov dword [esp + 0x80], eax
add esp, 0x28
xor eax, eax
xor ebx, ebx
cmp ax, word [ebp + 0x22]
jge 0x468992
xor edi, edi
mov dword [esp + 0x28], edi
lea esp, [esp]
movsx eax, word [ebp + 0x20]
cmp ebx, eax
je 0x46897e
mov eax, dword [ebp + 4]
cmp byte [edi + eax + 0x14], 0
je 0x46897e
push 3
push ebx
push dword [esp + 0x48]
push ebp
push esi
call fcn.00454dc0
mov ecx, dword [esi + 4]
add esp, 0x14
test ecx, ecx
je 0x4688bd
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.00475250
push 0
push 0xffffffffffffffff
push 1
push 0x25
push esi
mov ebp, eax
call fcn.004752e0
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.00461bc0
push 0
push 3
push 0
push 0x61
push esi
mov edi, eax
call fcn.004752e0
add esp, 0x44
push 0xffffffffffffffff
push edi
push eax
push esi
call fcn.004756a0
push 0
push 1
push 3
push 0x23
push esi
call fcn.004752e0
push 1
push 0x89
push esi
call fcn.00475250
push 0x18
push esi
mov edi, eax
call fcn.004751e0
mov edx, dword [esi + 0x20]
add esp, 0x38
cmp edx, ebp
jbe 0x468950
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 0x46896d
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 0x468880
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x468c59
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.0047e6d0
add esp, 4
mov edi, eax
cmp dword [esp + 0x24], ebx
je 0x468c45
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.0045bd30
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.004752e0
movzx eax, word [ebx + 0x30]
push eax
push dword [esp + 0x50]
push edi
push ebp
push 0x45
push esi
call fcn.00475390
add esp, 0x4c
mov ebp, eax
push 0
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.004752e0
push 0
push 3
push 0
push 0x61
push esi
call fcn.004752e0
push 0xfffffffffffffffe
push str.row
push eax
push esi
call fcn.004756a0
push 3
push 3
push 7
push 0x5e
push esi
call fcn.004752e0
add esp, 0x4c
push 0
push 4
push 0
push 0x61
push esi
call fcn.004752e0
push 0xfffffffffffffffe
push str._missing_from_index
push eax
push esi
call fcn.004756a0
push 3
push 3
push 4
push 0x5e
push esi
call fcn.004752e0
mov edi, dword [ebx]
push 0
push 4
push 0
push 0x61
push esi
call fcn.004752e0
add esp, 0x4c
mov dword [esp + 0x64], eax
push 0
push edi
push eax
push esi
call fcn.004756a0
push 3
push 3
push 4
push 0x5e
push esi
call fcn.004752e0
push 0
push 1
push 3
push 0x23
push esi
call fcn.004752e0
push 1
push 0x89
push esi
call fcn.00475250
add esp, 0x44
mov edi, eax
mov dword [esp + 0x60], edi
push 0x18
push esi
call fcn.004751e0
mov edx, dword [esi + 0x20]
add esp, 8
cmp edx, ebp
jbe 0x468afa
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 0x468c14
push esi
call fcn.0047e6d0
mov ebp, eax
add esp, 4
xor eax, eax
xor edi, edi
cmp ax, word [ebx + 0x2e]
jae 0x468b58
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 0x468b4f
mov eax, dword [esp + 0x18]
push 0
push ebp
add eax, edi
push eax
push 0x4c
push esi
call fcn.004752e0
add esp, 0x14
movzx eax, word [ebx + 0x2e]
inc edi
cmp edi, eax
jl 0x468b22
push dword [esp + 0x38]
push 9
push esi
call fcn.00475250
push 0
push ebp
push 0
push 0x10
push esi
mov edi, eax
call fcn.004752e0
mov edx, dword [esi + 0x20]
add esp, 0x20
cmp edx, edi
jbe 0x468b8a
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.00475390
push 0
push 0xffffffffffffffff
push 1
push 0x25
push esi
call fcn.004752e0
push 0
push 3
push 0
push 0x61
push esi
call fcn.004752e0
add esp, 0x40
push 0xfffffffffffffffe
push str.non_unique_entry_in_index
push eax
push esi
call fcn.004756a0
push 0
push dword [esp + 0x78]
push 0
push 0x10
push esi
call fcn.004752e0
mov edx, dword [esi + 0x18]
mov eax, ebp
neg eax
add esp, 0x24
test eax, eax
jle 0x468c09
mov ecx, dword [edx + 0x70]
test ecx, ecx
je 0x468c09
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 0x468c28
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.0046a9c0
mov ebp, dword [esp + 0x40]
add esp, 8
mov ebx, dword [ebx + 0x14]
inc ebp
mov dword [esp + 0x38], ebp
test ebx, ebx
jne 0x4689b0
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x58]
push 0
push edi
push dword [esp + 0x48]
push 9
push esi
call fcn.004752e0
mov edx, dword [esi + 0x20]
lea eax, [edi - 1]
add esp, 0x14
cmp edx, eax
jbe 0x468c86
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.004752e0
push 0xfffffffffffffffe
push str.wrong__of_entries_in_index
push eax
push esi
call fcn.004756a0
mov ebx, dword [ebp + 8]
add esp, 0x24
test ebx, ebx
je 0x468d82
mov eax, dword [esp + 0x24]
mov ebp, 8
cmp eax, ebx
je 0x468d76
mov edi, dword [esi + 0x20]
push 0
lea eax, [edi + 2]
push eax
push 1
push 0x89
push esi
call fcn.004752e0
push 0
push 0
push 0
push 0x18
push esi
call fcn.004752e0
mov eax, dword [esp + 0x78]
push 0
add eax, 0xfffffff8
push 3
add eax, ebp
push eax
push 0x32
push esi
call fcn.004752e0
push 3
lea eax, [edi + 8]
push eax
push ebp
push 0x4f
push esi
call fcn.004752e0
mov ecx, dword [esi + 4]
add esp, 0x50
test ecx, ecx
je 0x468d28
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.004752e0
mov edi, dword [ebx]
push 0
push 3
push 0
push 0x61
push esi
call fcn.004752e0
push 0
push edi
push eax
push esi
call fcn.004756a0
push 7
push 2
push 3
push 0x5e
push esi
call fcn.004752e0
add esp, 0x4c
push 0
push 1
push 7
push 0x23
push esi
call fcn.004752e0
mov eax, dword [esp + 0x38]
add esp, 0x14
mov ebx, dword [ebx + 0x14]
inc ebp
test ebx, ebx
jne 0x468cc2
mov al, byte [esp + 0x3f]
mov ebx, dword [esp + 0x48]
mov ebx, dword [ebx]
mov dword [esp + 0x48], ebx
test ebx, ebx
jne 0x468742
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 0x4685b0
mov ebx, dword [esp + 0x34]
push 0
push 0x4ec794
push 3
push esi
call fcn.00475400
neg ebx
mov edi, eax
push ebx
push edi
push esi
call fcn.00475680
push edi
push esi
call fcn.0047e2a0
push 0xfffffffffffffffe
push 0x4f1ea8
lea eax, [edi + 1]
push eax
push esi
call fcn.004756a0
add esp, 0x34
jmp 0x465a97
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x468e69
push edi
call fcn.00469c50
add esp, 4
test eax, eax
jne 0x465a97
push 1
push esi
call fcn.00480a40
push 0
push str.encoding
push 0
push 0
push esi
call fcn.00480a00
push 1
push 0
push 0x61
push esi
call fcn.004752c0
mov eax, dword [edi]
push 0xfffffffffffffffe
movzx eax, byte [eax + 0x3e]
push dword [eax*8 + 0x4edbd0]
push 0xffffffffffffffff
push esi
call fcn.004756a0
push 1
push 1
push 0x23
push esi
call fcn.004752c0
add esp, 0x4c
jmp 0x465a97
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 0x465a97
mov eax, dword [str.UTF8]
mov esi, 0x4edbd0
test eax, eax
je 0x468ed8
mov edi, edi
push eax
push ecx
call fcn.0041df20
add esp, 8
test eax, eax
je 0x468eae
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x14]
test eax, eax
jne 0x468e90
jmp 0x468ed4
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 0x465a97
mov ecx, dword [esp + 0x14]
push ecx
push str.unsupported_encoding:__s
push dword [esp + 0x28]
call fcn.00453920
add esp, 0xc
jmp 0x465a97
push dword [esp + 0x34]
mov ebp, dword [ebx*4 + 0x4ed318]
push esi
call fcn.00481210
add esp, 8
cmp dword [esp + 0x14], 0
je 0x468f60
test byte [ebx*4 + 0x4ed315], 2
jne 0x468f60
push 0
push 0x4ecca4
push 3
push esi
call fcn.00475400
mov ebx, dword [esp + 0x44]
mov edi, eax
push ebx
push edi
push esi
call fcn.00475640
push dword [esp + 0x30]
call fcn.004497f0
push eax
lea eax, [edi + 1]
push eax
push esi
call fcn.00475640
push ebx
add edi, 2
push edi
push esi
call fcn.00475640
push ebp
push edi
push esi
call fcn.00475660
add esp, 0x44
jmp 0x465a97
push 0
push 0x4ed304
push 3
push esi
call fcn.00475400
mov ebx, dword [esp + 0x44]
mov edi, eax
push ebx
push edi
push esi
call fcn.00475640
push ebx
inc edi
push edi
push esi
call fcn.00475640
push ebp
push edi
push esi
call fcn.00475680
push 1
push esi
call fcn.00480a40
push 0xffffffffffffffff
push dword [esp + 0x8c]
push 0
push 0
push esi
call fcn.00480a00
add esp, 0x50
jmp 0x465a97
push 1
push esi
xor edi, edi
call fcn.00480a40
mov eax, dword [esp + 0x28]
push edi
push str.compile_option
push edi
push edi
push esi
mov dword [eax + 0x48], 1
call fcn.00480a00
add esp, 0x1c
cmp edi, 1
ja 0x465a97
mov ebx, dword [edi*4 + 0x4eabe8]
inc edi
test ebx, ebx
je 0x465a97
push 0
push 1
push 0
push 0x61
push esi
call fcn.004752e0
push 0
push ebx
push eax
push esi
call fcn.004756a0
push 0
push 1
push 1
push 0x23
push esi
call fcn.004752e0
add esp, 0x38
jmp 0x468fd7
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 0x469080
push str.full
push eax
call fcn.0041df20
add esp, 8
test eax, eax
jne 0x46904d
lea edi, [eax + 1]
jmp 0x469080
mov ebp, dword [esp + 0x14]
push str.restart
push ebp
call fcn.0041df20
add esp, 8
test eax, eax
jne 0x469068
lea edi, [eax + 2]
jmp 0x469080
push str.truncate
push ebp
call fcn.0041df20
add esp, 8
mov ecx, 3
test eax, eax
cmove edi, ecx
push 3
push esi
call fcn.00480a40
mov eax, dword [esp + 0x28]
push 0
push str.busy
push 0
push 0
push esi
mov dword [eax + 0x48], 3
call fcn.00480a00
push 0
push 0x4f1ee8
push 0
push 1
push esi
call fcn.00480a00
push 0
push str.checkpointed
push 0
push 2
push esi
call fcn.00480a00
add esp, 0x44
push 1
push edi
push ebx
push 0xb
push esi
call fcn.004752e0
push 3
push 1
push 0x23
push esi
call fcn.004752c0
add esp, 0x24
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
je 0x469104
push eax
call fcn.004497f0
push eax
push dword [esp + 0x18]
call fcn.0041e220
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xd8], 0x482500
jne 0x46911c
mov eax, dword [eax + 0xdc]
jmp 0x46911e
xor eax, eax
cdq
push edx
push eax
push str.wal_autocheckpoint
push edi
call fcn.00443e80
add esp, 0x10
jmp 0x465a97
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x469149
push eax
call dword [0x509054]
add esp, 4
push ebx
call fcn.0044c1d0
mov ecx, ebx
xor esi, esi
add esp, 4
cmp dword [ecx + 0x14], esi
jle 0x46918d
xor edi, edi
lea ecx, [ecx]
mov eax, dword [ecx + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x469184
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xcc]
push dword [eax + 0x28]
call dword [0x509098]
add esp, 4
mov ecx, ebx
inc esi
add edi, 0x10
cmp esi, dword [ecx + 0x14]
jl 0x469160
push ecx
call fcn.0044cc70
mov eax, ebx
add esp, 4
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4684fe
push eax
call dword [0x50905c]
add esp, 4
mov ecx, ebx
jmp 0x465a9b
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4691de
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.004517a0
add esp, 8
test eax, eax
jne 0x4691de
push dword [esp + 0x70]
push dword [esp + 0x70]
call fcn.0041b0e0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.0041b0e0
push edx
push eax
push str.soft_heap_limit
push edi
call fcn.00443e80
add esp, 0x18
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46923a
lea ecx, [esp + 0x6c]
push ecx
push eax
call fcn.004517a0
add esp, 8
test eax, eax
jne 0x46923a
cmp dword [esp + 0x70], eax
jl 0x46923a
mov eax, dword [esp + 0x6c]
jg 0x469226
test eax, eax
jb 0x46923a
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call fcn.00418fa0
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.00443e80
add esp, 0x10
jmp 0x465a97
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4692a0
push eax
call fcn.004497f0
mov esi, eax
add esp, 4
test esi, esi
jle 0x469290
mov eax, dword [esp + 0x10]
push eax
push 0x484e20
push eax
call fcn.00417a70
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov dword [eax + 0x1ec], esi
jmp 0x4692a4
push 0
push 0
push dword [esp + 0x18]
call fcn.00417a70
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.00443e80
add esp, 0x10
jmp 0x465a97