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

Disassembly:
sub esp, 0x5c
push ebx
mov ebx, dword [esp + 0x64]
push ebp
push esi
push edi
mov edi, dword [ebx]
mov esi, eax
mov eax, edi
mov dword [esp + 0x14], edi
call fcn.00421a40
mov ebp, eax
test ebp, ebp
mov dword [ebx + 8], ebp
je 0x448fdc
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov byte [ebp + 0x60], 1
push ebx
lea ecx, [esp + 0x48]
mov dword [ebx + 0x4c], 2
call fcn.00437f00
add esp, 4
test eax, eax
mov dword [esp + 0x1c], eax
jl 0x448fdc
mov ecx, eax
shl ecx, 4
add ecx, dword [edi + 0x10]
cmp eax, 1
mov dword [esp + 0x20], ecx
jne 0x447203
mov eax, ebx
call fcn.0043b8f0
test eax, eax
jne 0x448fdc
mov eax, dword [esp + 0x44]
push edi
call fcn.00437d30
add esp, 4
test eax, eax
mov dword [esp + 0x18], eax
je 0x448fdc
cmp dword [esp + 0x7c], 0
je 0x44723b
push esi
push 0x4762b0
mov esi, edi
call fcn.004082f0
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
jmp 0x44724c
push edi
mov eax, esi
call fcn.00437d30
add esp, 4
mov esi, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
cmp dword [eax + 4], 0
jbe 0x447262
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov dword [esp + 0x28], edx
jmp 0x44726a
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
push eax
push esi
push ecx
push 0x13
mov eax, ebx
call fcn.00437030
add esp, 0x10
test eax, eax
jne 0x448fc2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x58], eax
mov dword [esp + 0x64], eax
lea eax, [esp + 0x58]
push eax
push 0xe
push ecx
push edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], esi
call fcn.00463e00
add esp, 0x10
test eax, eax
mov dword [esp + 0x44], eax
jne 0x44731f
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x448f8f
push 0
push ecx
mov eax, ebx
add dword [eax + 0x4c], 1
mov esi, dword [eax + 0x4c]
push 0
push esi
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
push 1
mov edi, ebp
call fcn.00423210
add esp, 0x1c
push 0
push str.result
push 0
push 0
mov ecx, ebp
call fcn.00423290
push 1
push esi
push 0x10
mov eax, ebp
call fcn.00421c40
mov edx, dword [esp + 0x74]
add esp, 0x1c
push edx
call fcn.00406c60
add esp, 4
jmp 0x448f8f
cmp eax, 0xc
je 0x447356
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x44734a
push ecx
push 0x4740c0
mov edi, ebx
call fcn.00408e60
mov eax, dword [esp + 0x60]
push eax
call fcn.00406c60
mov eax, dword [esp + 0x50]
add esp, 0xc
add dword [ebx + 0x44], 1
mov dword [ebx + 0xc], eax
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.default_cache_size
call fcn.00408f60
test eax, eax
jne 0x44745d
mov edi, ebx
call fcn.004498c0
test eax, eax
jne 0x448fc2
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov eax, ebp
call fcn.004226b0
test esi, esi
jne 0x447404
push 1
mov edi, ebp
call fcn.00423210
add esp, 4
push esi
push str.cache_size
push esi
push esi
mov ecx, ebp
call fcn.00423290
add dword [ebx + 0x4c], 2
push 0x46f478
push 8
mov eax, ebp
call fcn.00422010
add esp, 0x18
cmp dword [ebp + 0x1c], eax
jbe 0x4473cf
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], esi
lea ecx, [eax + 1]
cmp dword [ebp + 0x1c], ecx
jbe 0x4473e5
mov edx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 4], esi
add eax, 6
cmp dword [ebp + 0x1c], eax
jbe 0x448f8f
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 4], 0x7d0
jmp 0x448f8f
mov ecx, esi
call fcn.004097d0
call fcn.00409e40
mov esi, eax
push 0
mov ecx, edi
mov eax, ebx
call fcn.0043ba70
add esp, 4
push 1
push esi
push 7
mov eax, ebp
call fcn.00421c40
add esp, 0xc
push 1
push 3
push edi
push 0x25
mov eax, ebp
call fcn.00421b40
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0xc]
mov dword [edx + 0x50], esi
mov ecx, dword [eax + 0xc]
mov esi, dword [ecx + 0x50]
mov eax, dword [eax + 4]
add esp, 0x10
call fcn.00417af0
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.page_size
call fcn.00408f60
test eax, eax
jne 0x4474cf
test esi, esi
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 4]
jne 0x44749f
test edi, edi
je 0x447486
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x20]
jmp 0x447488
xor eax, eax
cdq
push edx
push eax
push str.page_size
mov eax, ebx
call fcn.00446e10
add esp, 0xc
jmp 0x448f8f
mov ecx, dword [esp + 0x24]
call fcn.004097d0
mov esi, dword [esp + 0x14]
push 0
push 0xffffffffffffffff
mov ebx, edi
mov dword [esi + 0x3c], eax
call fcn.00417bc0
add esp, 8
cmp eax, 7
jne 0x448f8f
mov byte [esi + 0x36], 1
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.secure_delete
call fcn.00408f60
test eax, eax
jne 0x447572
test esi, esi
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
mov dword [esp + 0x44], edx
mov dword [esp + 0x28], 0xffffffff
je 0x447519
mov ebx, dword [esp + 0x24]
push eax
push 1
call fcn.00446bf0
mov ebx, dword [esp + 0x78]
add esp, 8
neg al
sbb eax, eax
neg eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x78]
cmp dword [eax + 4], 0
jne 0x44754e
cmp dword [esp + 0x28], 0
jl 0x44754e
xor esi, esi
cmp dword [edi + 0x14], esi
jle 0x44754e
xor ebp, ebp
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + ebp + 4]
call fcn.00417d30
add esi, 1
add ebp, 0x10
cmp esi, dword [edi + 0x14]
jl 0x447533
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
call fcn.00417d30
cdq
push edx
push eax
push str.secure_delete
mov eax, ebx
call fcn.00446e10
add esp, 0xc
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.page_count
call fcn.00408f60
test eax, eax
je 0x448ef9
mov ecx, dword [esp + 0x18]
mov edx, str.max_page_count
call fcn.00408f60
test eax, eax
je 0x448ef9
mov ecx, dword [esp + 0x18]
mov edx, str.locking_mode
call fcn.00408f60
test eax, eax
jne 0x447673
mov ebx, str.normal
mov dword [esp + 0x70], ebx
call fcn.00446ca0
mov edx, eax
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 4]
test eax, eax
jne 0x447613
cmp edx, 0xffffffff
jne 0x4475da
movzx eax, byte [edi + 0x37]
jmp 0x447624
test eax, eax
jne 0x447613
mov esi, 2
cmp dword [edi + 0x14], esi
jle 0x447610
mov ebx, 0x20
lea ecx, [ecx]
mov ecx, dword [edi + 0x10]
mov eax, dword [ebx + ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.00412ef0
add esi, 1
add ebx, 0x10
cmp esi, dword [edi + 0x14]
jl 0x4475f0
mov ebx, dword [esp + 0x70]
mov byte [edi + 0x37], dl
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.00412ef0
cmp eax, 1
jne 0x44762e
mov ebx, str.exclusive
push 1
mov edi, ebp
call fcn.00423210
add esp, 4
push 0
push str.locking_mode
push 0
push 0
mov ecx, ebp
call fcn.00423290
push 0
push ebx
push 0
push 1
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00421c40
add esp, 0x34
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.journal_mode
call fcn.00408f60
test eax, eax
jne 0x447777
mov edi, ebx
call fcn.004498c0
test eax, eax
jne 0x448fc2
push 1
mov edi, ebp
call fcn.00423210
add esp, 4
push 0
push str.journal_mode
push 0
push 0
mov ecx, ebp
call fcn.00423290
add esp, 0x10
test esi, esi
jne 0x4476c2
or ebx, 0xffffffff
jmp 0x4476f9
mov ecx, esi
call fcn.00408d90
mov edi, eax
xor ebx, ebx
lea ecx, [ecx]
cmp ebx, 6
je 0x4476bd
mov eax, dword [ebx*4 + 0x46f460]
test eax, eax
je 0x4476bd
push edi
push eax
push esi
call fcn.00408fb0
add esp, 0xc
test eax, eax
je 0x4476f4
add ebx, 1
jmp 0x4476d0
cmp ebx, 0xffffffff
jne 0x447712
mov eax, dword [esp + 0x78]
cmp dword [eax + 4], 0
jne 0x447712
mov dword [esp + 0x1c], 0
mov dword [eax + 4], 1
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx + 0x14]
sub esi, 1
js 0x447762
mov edi, esi
shl edi, 4
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
cmp dword [edi + eax + 4], 0
je 0x447758
cmp esi, dword [esp + 0x1c]
je 0x447741
mov ecx, dword [esp + 0x78]
cmp dword [ecx + 4], 0
jne 0x447758
mov ecx, esi
mov eax, ebp
call fcn.004226b0
push ebx
push 1
push esi
push 0x7e
call fcn.00421b40
add esp, 0x10
sub esi, 1
sub edi, 0x10
test esi, esi
jge 0x447723
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00421c40
add esp, 0xc
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.journal_size_limit
call fcn.00408f60
test eax, eax
jne 0x4477fd
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
mov edi, dword [ecx]
or eax, 0xffffffff
test esi, esi
mov ecx, 0xfffffffe
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
je 0x4477de
lea edx, [esp + 0x50]
push edx
push esi
mov al, 1
mov edx, 0xf4240
call fcn.00409550
mov eax, dword [esp + 0x5c]
add esp, 8
cmp eax, 0xffffffff
jg 0x4477da
jl 0x4477d2
mov ecx, dword [esp + 0x50]
cmp ecx, 0xffffffff
jae 0x4477de
or ecx, 0xffffffff
or eax, 0xffffffff
jmp 0x4477de
mov ecx, dword [esp + 0x50]
push eax
push ecx
mov ecx, edi
call fcn.00413030
push edx
push eax
push str.journal_size_limit
mov eax, ebx
call fcn.00446e10
add esp, 0x14
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.auto_vacuum
call fcn.00408f60
test eax, eax
jne 0x447910
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
mov edi, ebx
mov dword [esp + 0x70], ecx
call fcn.004498c0
test eax, eax
jne 0x448fc2
test esi, esi
jne 0x447859
mov eax, dword [esp + 0x70]
test eax, eax
je 0x447840
call fcn.00417e10
jmp 0x447842
xor eax, eax
cdq
push edx
push eax
push str.auto_vacuum
mov eax, ebx
call fcn.00446e10
add esp, 0xc
jmp 0x448f8f
call fcn.00446cd0
mov edx, dword [esp + 0x14]
mov ebx, eax
test ebx, ebx
mov byte [edx + 0x38], bl
jl 0x448f8f
mov eax, dword [esp + 0x70]
push ebx
call fcn.00417da0
add esp, 4
test eax, eax
jne 0x448f8f
cmp ebx, 1
je 0x447892
cmp ebx, 2
jne 0x448f8f
push 0x46f498
push 6
mov eax, ebp
call fcn.00422010
mov ecx, dword [esp + 0x24]
add esp, 8
cmp dword [ebp + 0x1c], eax
jbe 0x4478b6
mov esi, dword [ebp + 4]
lea edx, [eax + eax*4]
mov dword [esi + edx*4 + 4], ecx
lea edx, [eax + 1]
cmp dword [ebp + 0x1c], edx
jbe 0x4478c8
mov esi, dword [ebp + 4]
lea edx, [edx + edx*4]
mov dword [esi + edx*4 + 4], ecx
lea edx, [eax + 2]
cmp dword [ebp + 0x1c], edx
jbe 0x4478dd
mov edi, dword [ebp + 4]
lea esi, [eax + 4]
lea edx, [edx + edx*4]
mov dword [edi + edx*4 + 8], esi
lea edx, [eax + 4]
cmp dword [ebp + 0x1c], edx
jbe 0x4478f2
mov esi, dword [ebp + 4]
add ebx, 0xffffffff
lea edx, [edx + edx*4]
mov dword [esi + edx*4 + 4], ebx
add eax, 5
cmp dword [ebp + 0x1c], eax
jbe 0x447904
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 4], ecx
mov eax, ebp
call fcn.004226b0
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.incremental_vacuum
call fcn.00408f60
test eax, eax
jne 0x4479c0
mov edi, ebx
call fcn.004498c0
test eax, eax
jne 0x448fc2
test esi, esi
je 0x447953
lea eax, [esp + 0x70]
push eax
push esi
call fcn.00409700
add esp, 8
test eax, eax
je 0x447953
mov edi, dword [esp + 0x70]
test edi, edi
jg 0x447958
mov edi, SysReAllocString
mov esi, dword [esp + 0x1c]
push 0
mov ecx, esi
mov eax, ebx
call fcn.0043ba70
add esp, 4
push 1
push edi
push 7
mov eax, ebp
call fcn.00421c40
add esp, 0xc
push esi
push 0x80
mov eax, ebp
call fcn.00421bf0
mov esi, eax
push 1
push 0x10
mov eax, ebp
call fcn.00421bf0
push 0xffffffffffffffff
push 1
push 0x14
mov eax, ebp
call fcn.00421c40
add esp, 0x1c
push esi
push 1
push 0x78
mov eax, ebp
call fcn.00421c40
add esp, 0xc
mov eax, esi
mov edx, ebp
call fcn.004220d0
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.cache_size
call fcn.00408f60
test eax, eax
jne 0x447a2a
mov edi, ebx
call fcn.004498c0
test eax, eax
jne 0x448fc2
test esi, esi
jne 0x447a06
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0x50]
cdq
push edx
push eax
push str.cache_size
mov eax, ebx
call fcn.00446e10
add esp, 0xc
jmp 0x448f8f
mov ecx, esi
call fcn.004097d0
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x50], eax
mov eax, dword [ecx + 0xc]
mov esi, dword [eax + 0x50]
mov eax, dword [ecx + 4]
call fcn.00417af0
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.temp_store
call fcn.00408f60
test eax, eax
jne 0x447a69
test esi, esi
jne 0x447a5b
movzx eax, byte [edi + 0x35]
cdq
push edx
push eax
push str.temp_store
mov eax, ebx
call fcn.00446e10
add esp, 0xc
jmp 0x448f8f
mov eax, esi
mov edi, ebx
call fcn.00446da0
jmp 0x448f8f
mov ecx, dword [esp + 0x18]
mov edx, str.temp_store_directory
call fcn.00408f60
test eax, eax
jne 0x447b35
test esi, esi
jne 0x447ab7
cmp dword [0x47d760], esi
je 0x448f8f
push 1
mov edi, ebp
call fcn.00423210
add esp, 4
push esi
push str.temp_store_directory
push esi
push esi
mov ecx, ebp
call fcn.00423290
mov ecx, dword [0x47d760]
push esi
push ecx
jmp 0x44764f
cmp byte [esi], 0
je 0x447aed
mov eax, dword [edi]
lea edx, [esp + 0x70]
push edx
push 1
push esi
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x447ad9
cmp dword [esp + 0x70], eax
jne 0x447aed
push str.not_a_writable_directory
mov edi, ebx
call fcn.00408e60
add esp, 4
jmp 0x448fc2
cmp byte [edi + 0x35], 1
ja 0x447afa
mov eax, ebx
call fcn.00446d40
mov ecx, dword [0x47d760]
push ecx
call fcn.00406c60
add esp, 4
cmp byte [esi], 0
je 0x447b26
push esi
push 0x4740c0
call fcn.004083e0
add esp, 8
mov dword [0x47d760], eax
jmp 0x448f8f
mov dword [0x47d760], 0
jmp 0x448f8f
mov edi, dword [esp + 0x18]
mov edx, str.synchronous
mov ecx, edi
call fcn.00408f60
test eax, eax
jne 0x447bb8
mov edi, ebx
call fcn.004498c0
test eax, eax
jne 0x448fc2
test esi, esi
jne 0x447b7e
mov edx, dword [esp + 0x20]
movzx eax, byte [edx + 9]
sub eax, 1
cdq
push edx
push eax
push str.synchronous
mov eax, ebx
call fcn.00446e10
add esp, 0xc
jmp 0x448f8f
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x34], 0
jne 0x447b9a
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.00408e60
add esp, 4
jmp 0x448f8f
mov ebx, dword [esp + 0x24]
push 1
push 0
call fcn.00446bf0
mov ecx, dword [esp + 0x28]
add esp, 8
add al, 1
mov byte [ecx + 9], al
jmp 0x448f8f
push esi
push edi
push ebx
call fcn.00446f90
add esp, 0xc
test eax, eax
jne 0x448f8f
mov ebx, edi
mov edx, str.table_info
mov ecx, ebx
call fcn.00408f60
test eax, eax
mov esi, dword [esp + 0x24]
jne 0x447d97
test esi, esi
je 0x447d97
mov edi, dword [esp + 0x70]
call fcn.004498c0
test eax, eax
jne 0x448fc2
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
push edx
push esi
push eax
call fcn.004375e0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x448f8f
push 6
mov edi, ebp
mov dword [esp + 0x30], 0
call fcn.00423210
mov esi, dword [esp + 0x74]
add esp, 4
push 0
push 0x4763f8
push 0
push 0
mov ecx, ebp
mov dword [esi + 0x4c], 6
call fcn.00423290
push 0
push str.name
push 0
push 1
mov ecx, ebp
call fcn.00423290
push 0
push str.type
push 0
push 2
mov ecx, ebp
call fcn.00423290
push 0
push str.notnull
push 0
push 3
mov ecx, ebp
call fcn.00423290
add esp, 0x40
push 0
push str.dflt_value
push 0
push 4
mov ecx, ebp
call fcn.00423290
push 0
push 0x476420
push 0
push 5
mov ecx, ebp
call fcn.00423290
push ebx
push esi
call fcn.004395f0
mov esi, dword [ebx + 0xc]
xor edi, edi
add esp, 0x28
cmp dword [ebx + 8], edi
jle 0x448f8f
cmp byte [esi + 0x17], 0
je 0x447cd1
add dword [esp + 0x2c], 1
jmp 0x447d83
mov ecx, edi
sub ecx, dword [esp + 0x2c]
push 1
push ecx
push 7
mov eax, ebp
call fcn.00421c40
mov edx, dword [esi]
add esp, 0xc
push 0
push edx
push 0
push 2
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
mov eax, dword [esi + 0xc]
add esp, 0x18
test eax, eax
jne 0x447d09
mov eax, 0x47403c
push 0
push eax
push 0
push 3
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
xor eax, eax
cmp byte [esi + 0x14], al
push 4
setne al
push eax
push 7
mov eax, ebp
call fcn.00421c40
mov eax, dword [esi + 8]
add esp, 0x24
test eax, eax
je 0x447d50
push 0
push eax
push 0
push 5
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
add esp, 0x18
jmp 0x447d60
push 5
push 0
push 0xa
mov eax, ebp
call fcn.00421c40
add esp, 0xc
movzx ecx, byte [esi + 0x15]
push 6
push ecx
push 7
mov eax, ebp
call fcn.00421c40
add esp, 0xc
push 6
push 1
push 0x10
mov eax, ebp
call fcn.00421c40
add esp, 0xc
add edi, 1
add esi, 0x18
cmp edi, dword [ebx + 8]
jl 0x447cc1
jmp 0x448f8f
mov edx, str.index_info
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x447ea2
test esi, esi
je 0x447ea2
mov edi, dword [esp + 0x70]
call fcn.004498c0
test eax, eax
jne 0x448fc2
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
push edx
push esi
call fcn.00437780
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x448f8f
mov eax, dword [ebx + 0xc]
push 3
mov edi, ebp
mov dword [esp + 0x48], eax
call fcn.00423210
mov ecx, dword [esp + 0x74]
add esp, 4
push 0
push str.seqno
mov dword [ecx + 0x4c], 3
push 0
push 0
mov ecx, ebp
call fcn.00423290
push 0
push 0x4763f8
push 0
push 1
mov ecx, ebp
call fcn.00423290
push 0
push str.name
push 0
push 2
mov ecx, ebp
call fcn.00423290
xor esi, esi
add esp, 0x30
cmp dword [ebx + 0x24], esi
jle 0x448f8f
mov edx, dword [ebx + 4]
mov edi, dword [edx + esi*4]
push 1
push esi
push 7
mov eax, ebp
call fcn.00421c40
add esp, 0xc
push 2
push edi
push 7
mov eax, ebp
call fcn.00421c40
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 0xc]
add esp, 0xc
push 0
lea eax, [edi + edi*2]
mov eax, dword [edx + eax*8]
push eax
push 0
push 3
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
push 3
push 1
push 0x10
mov eax, ebp
call fcn.00421c40
add esi, 1
add esp, 0x24
cmp esi, dword [ebx + 0x24]
jl 0x447e42
jmp 0x448f8f
mov edx, str.index_list
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x447fa0
test esi, esi
je 0x447fa0
mov edi, dword [esp + 0x70]
call fcn.004498c0
test eax, eax
jne 0x448fc2
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push ecx
push esi
push edx
call fcn.004375e0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x448f8f
call fcn.0044c340
mov esi, dword [esi + 0x10]
test esi, esi
mov edi, eax
je 0x448f8f
push 3
xor ebx, ebx
call fcn.00423210
mov eax, dword [esp + 0x74]
add esp, 4
push ebx
push 0x476444
push ebx
push ebx
mov ecx, edi
mov dword [eax + 0x4c], 3
call fcn.00423290
push ebx
push str.name
push ebx
push 1
mov ecx, edi
call fcn.00423290
push ebx
push str.unique
push ebx
push 2
mov ecx, edi
call fcn.00423290
add esp, 0x30
push 1
push ebx
push 7
mov eax, edi
call fcn.00421c40
mov ecx, dword [esi]
add esp, 0xc
push 0
push ecx
push 0
push 2
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
xor edx, edx
cmp byte [esi + 0x2c], dl
push 3
setne dl
mov eax, edi
push edx
push 7
call fcn.00421c40
add esp, 0x24
push 3
push 1
push 0x10
mov eax, edi
call fcn.00421c40
mov esi, dword [esi + 0x14]
add esp, 0xc
add ebx, 1
test esi, esi
jne 0x447f47
jmp 0x448f8f
mov edx, str.database_list
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x44809b
mov esi, dword [esp + 0x70]
mov edi, esi
call fcn.004498c0
test eax, eax
jne 0x448fc2
push 3
mov edi, ebp
call fcn.00423210
add esp, 4
push 0
push 0x476444
push 0
push 0
mov ecx, ebp
mov dword [esi + 0x4c], 3
call fcn.00423290
push 0
push str.name
push 0
push 1
mov ecx, ebp
call fcn.00423290
push 0
push str.file
push 0
push 2
mov ecx, ebp
call fcn.00423290
mov eax, dword [esp + 0x44]
xor ebx, ebx
add esp, 0x30
cmp dword [eax + 0x14], ebx
jle 0x448f8f
xor esi, esi
mov edi, eax
mov ecx, dword [edi + 0x10]
cmp dword [esi + ecx + 4], 0
je 0x44808b
push 1
push ebx
push 7
mov eax, ebp
call fcn.00421c40
mov edx, dword [edi + 0x10]
mov eax, dword [esi + edx]
add esp, 0xc
push 0
push eax
push 0
push 2
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
mov ecx, dword [edi + 0x10]
mov edx, dword [esi + ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x90]
push 0
push edx
push 0
push 3
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
push 3
push 1
push 0x10
mov eax, ebp
call fcn.00421c40
add esp, 0x3c
add ebx, 1
add esi, 0x10
cmp ebx, dword [edi + 0x14]
jl 0x448026
jmp 0x448f8f
mov edx, str.collation_list
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x448144
push 2
mov edi, ebp
xor ebx, ebx
call fcn.00423210
mov eax, dword [esp + 0x74]
add esp, 4
push ebx
push 0x476444
push ebx
push ebx
mov ecx, ebp
mov dword [eax + 0x4c], 2
call fcn.00423290
push ebx
push str.name
push ebx
push 1
mov ecx, ebp
call fcn.00423290
mov ecx, dword [esp + 0x34]
mov esi, dword [ecx + 0x1a4]
add esp, 0x20
test esi, esi
je 0x448f8f
lea esp, [esp]
mov edi, dword [esi + 8]
push 1
push ebx
push 7
mov eax, ebp
call fcn.00421c40
mov edx, dword [edi]
add esp, 0xc
push 0
push edx
push 0
push 2
push 0
push 0x5e
mov eax, ebp
add ebx, 1
call fcn.00421ca0
push 2
push 1
push 0x10
mov eax, ebp
call fcn.00421c40
mov esi, dword [esi]
add esp, 0x24
test esi, esi
jne 0x448100
jmp 0x448f8f
mov edx, str.foreign_key_list
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x44838a
test esi, esi
je 0x44838a
mov edi, dword [esp + 0x70]
call fcn.004498c0
test eax, eax
jne 0x448fc2
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
push eax
push esi
push ecx
call fcn.004375e0
mov esi, eax
add esp, 0xc
test esi, esi
mov dword [esp + 0x44], esi
je 0x448f8f
call fcn.0044c340
mov ebx, dword [esi + 0x24]
test ebx, ebx
mov edi, eax
je 0x448f8f
push 8
mov dword [esp + 0x30], 0
call fcn.00423210
mov edx, dword [esp + 0x74]
add esp, 4
push 0
push 0x476484
push 0
push 0
mov ecx, edi
mov dword [edx + 0x4c], 8
call fcn.00423290
push 0
push 0x476444
push 0
push 1
mov ecx, edi
call fcn.00423290
push 0
push str.table
push 0
push 2
mov ecx, edi
call fcn.00423290
push 0
push str.from
push 0
push 3
mov ecx, edi
call fcn.00423290
add esp, 0x40
push 0
push 0x476490
push 0
push 4
mov ecx, edi
call fcn.00423290
push 0
push str.on_update
push 0
push 5
mov ecx, edi
call fcn.00423290
push 0
push str.on_delete
push 0
push 6
mov ecx, edi
call fcn.00423290
push 0
push str.match
push 0
push 7
mov ecx, edi
call fcn.00423290
add esp, 0x40
xor ebp, ebp
cmp dword [ebx + 0x14], ebp
jle 0x448375
lea eax, [ebx + 0x24]
mov dword [esp + 0x70], eax
lea esp, [esp]
mov ecx, dword [esp + 0x70]
mov al, byte [ebx + 0x19]
mov esi, dword [ecx + 4]
call fcn.00447150
mov dword [esp + 0x3c], eax
mov al, byte [ebx + 0x1a]
call fcn.00447150
mov edx, dword [esp + 0x2c]
push 1
push edx
mov dword [esp + 0x48], eax
push 7
mov eax, edi
call fcn.00421c40
add esp, 0xc
push 2
push ebp
push 7
mov eax, edi
call fcn.00421c40
mov eax, dword [ebx + 8]
add esp, 0xc
push 0
push eax
push 0
push 3
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edx*8]
push 0
push edx
push 0
push 4
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
push 0
push esi
neg esi
push 0
sbb esi, esi
push 5
and esi, 0x54
push 0
add esi, 0xa
push esi
mov eax, edi
call fcn.00421ca0
mov eax, dword [esp + 0x88]
add esp, 0x48
push 0
push eax
push 0
push 6
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
mov ecx, dword [esp + 0x54]
push 0
push ecx
push 0
push 7
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
push 0
push str.NONE
push 0
push 8
push 0
push 0x5e
mov eax, edi
call fcn.00421ca0
add esp, 0x48
push 8
push 1
push 0x10
mov eax, edi
call fcn.00421c40
add dword [esp + 0x7c], 8
add ebp, 1
add esp, 0xc
cmp ebp, dword [ebx + 0x14]
jl 0x448270
mov ebx, dword [ebx + 4]
add dword [esp + 0x2c], 1
test ebx, ebx
jne 0x448257
jmp 0x448f8f
mov edx, str.case_sensitive_like
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x4483c7
test esi, esi
je 0x448f8f
mov ebx, dword [esp + 0x24]
push eax
push 1
call fcn.00446bf0
mov edi, dword [esp + 0x1c]
add esp, 8
neg al
sbb eax, eax
neg eax
mov ebx, eax
call fcn.0043fe90
jmp 0x448f8f
mov edx, str.integrity_check
mov ecx, ebx
call fcn.00408f60
test eax, eax
je 0x44886b
mov edx, str.quick_check
mov ecx, ebx
call fcn.00408f60
test eax, eax
je 0x44886b
mov edx, str.encoding
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x44853f
test esi, esi
jne 0x4484b9
mov esi, dword [esp + 0x70]
mov edi, esi
call fcn.004498c0
test eax, eax
jne 0x448fc2
push 1
mov edi, ebp
call fcn.00423210
add esp, 4
push 0
push str.encoding
push 0
push 0
mov ecx, ebp
call fcn.00423290
push 1
push 0
push 0x5e
mov eax, ebp
call fcn.00421c40
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + 0xc]
movzx edx, byte [ecx + 0x4d]
mov esi, dword [ebp + 4]
mov ebx, dword [edx*8 + 0x46f4e8]
mov edi, dword [ebp]
add esp, 0x1c
test esi, esi
je 0x4484a8
cmp byte [edi + 0x36], 0
jne 0x4484a8
mov eax, dword [ebp + 0x1c]
sub eax, 1
lea eax, [eax + eax*4]
mov ecx, dword [esi + eax*4 + 0x10]
lea esi, [esi + eax*4]
movsx eax, byte [esi + 1]
call fcn.004220f0
xor eax, eax
cmp ebx, eax
mov dword [esi + 0x10], eax
jne 0x44849c
mov dword [esi + 0x10], eax
mov byte [esi + 1], al
jmp 0x447762
mov dword [esi + 0x10], ebx
mov byte [esi + 1], 0xfe
jmp 0x447762
mov ecx, ebx
mov eax, 0xfffffffe
call fcn.004220f0
jmp 0x447762
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
movzx eax, word [eax + 0x4e]
test al, 1
je 0x4484d7
test al, 4
je 0x448f8f
mov esi, dword [esp + 0x24]
mov edx, dword [str.UTF8]
test edx, edx
mov edi, 0x46f4e8
je 0x448528
mov ecx, esi
call fcn.00408f60
test eax, eax
je 0x4484fd
mov edx, dword [edi + 8]
add edi, 8
test edx, edx
jne 0x4484e6
jmp 0x448528
mov al, byte [edi + 4]
test al, al
movzx eax, al
jne 0x44850c
mov eax, 2
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x4d], al
cmp dword [edi], 0
jne 0x448f8f
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x70]
push esi
push str.unsupported_encoding:__s
call fcn.00408e60
add esp, 8
jmp 0x448f8f
mov edx, str.schema_version
mov ecx, ebx
call fcn.00408f60
test eax, eax
je 0x448760
mov edx, str.user_version
mov ecx, ebx
call fcn.00408f60
test eax, eax
je 0x448760
mov edx, str.freelist_count
mov ecx, ebx
call fcn.00408f60
test eax, eax
je 0x448760
mov edx, str.compile_options
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x4485fb
push 1
mov edi, ebp
xor esi, esi
call fcn.00423210
mov eax, dword [esp + 0x74]
add esp, 4
push esi
push str.compile_option
push esi
push esi
mov ecx, ebp
mov dword [eax + 0x4c], 1
call fcn.00423290
push esi
call fcn.00403ed0
add esp, 0x14
test eax, eax
je 0x448f8f
push 0
push eax
push 0
push 1
push 0
push 0x5e
mov eax, ebp
add esi, 1
call fcn.00421ca0
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00421c40
add esp, 0x24
push esi
call fcn.00403ed0
add esp, 4
test eax, eax
jne 0x4485c4
jmp 0x448f8f
mov edx, str.wal_checkpoint
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x4486e0
mov ecx, dword [esp + 0x78]
cmp dword [ecx], eax
je 0x448621
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], edx
jmp 0x448629
mov dword [esp + 0x40], 0xa
xor ebx, ebx
test esi, esi
je 0x44865b
mov edx, str.full
mov ecx, esi
call fcn.00408f60
test eax, eax
jne 0x448646
mov ebx, 1
jmp 0x44865b
mov edx, str.restart
mov ecx, esi
call fcn.00408f60
test eax, eax
jne 0x44865b
mov ebx, 2
mov esi, dword [esp + 0x70]
mov edi, esi
call fcn.004498c0
test eax, eax
jne 0x448fc2
push 3
mov edi, ebp
call fcn.00423210
add esp, 4
push 0
push str.busy
push 0
push 0
mov ecx, ebp
mov dword [esi + 0x4c], 3
call fcn.00423290
push 0
push 0x4765e0
push 0
push 1
mov ecx, ebp
call fcn.00423290
push 0
push str.checkpointed
push 0
push 2
mov ecx, ebp
call fcn.00423290
mov eax, dword [esp + 0x70]
push 1
push ebx
push eax
push 0x7d
mov eax, ebp
call fcn.00421b40
add esp, 0x40
push 3
push 1
push 0x10
mov eax, ebp
call fcn.00421c40
add esp, 0xc
jmp 0x448f8f
mov edx, str.wal_autocheckpoint
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x44873e
test esi, esi
je 0x44870b
mov ecx, esi
call fcn.004097d0
mov esi, dword [esp + 0x14]
push eax
push esi
call fcn.00462610
add esp, 8
jmp 0x44870f
mov esi, dword [esp + 0x14]
cmp dword [esi + 0xbc], 0x4625d0
jne 0x448723
mov eax, dword [esi + 0xc0]
jmp 0x448725
xor eax, eax
cdq
push edx
push eax
mov eax, dword [esp + 0x78]
push str.wal_autocheckpoint
call fcn.00446e10
add esp, 0xc
jmp 0x448f8f
mov edx, str.shrink_memory
mov ecx, ebx
call fcn.00408f60
test eax, eax
jne 0x448f8f
mov eax, dword [esp + 0x14]
call fcn.004616c0
jmp 0x448f8f
mov ecx, dword [esp + 0x1c]
mov eax, ebp
call fcn.004226b0
movsx eax, byte [ebx]
add eax, 0xffffffba
cmp eax, 0x2d
ja case.0x44877d.71
movzx ecx, byte [eax + 0x448ff0]
jmp dword [ecx*4 + 0x448fe4]
xor edi, edi
jmp 0x448794
mov edi, 1
jmp 0x448794
mov edi, 6
test esi, esi
mov dword [esp + 0x70], edi
je 0x448815
test edi, edi
je 0x448815
push 0x46f530
push 3
mov eax, ebp
call fcn.00422010
mov edi, eax
add esp, 8
cmp dword [ebp + 0x1c], edi
jbe 0x4487c6
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x1c]
lea edx, [edi + edi*4]
mov dword [eax + edx*4 + 4], ecx
mov ecx, esi
call fcn.004097d0
lea ecx, [edi + 1]
cmp dword [ebp + 0x1c], ecx
jbe 0x4487df
lea edx, [ecx + ecx*4]
mov ecx, dword [ebp + 4]
mov dword [ecx + edx*4 + 4], eax
lea eax, [edi + 2]
cmp dword [ebp + 0x1c], eax
jbe 0x448f8f
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], esi
cmp dword [ebp + 0x1c], eax
jbe 0x448f8f
mov ecx, dword [esp + 0x70]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + edx*4 + 8], ecx
jmp 0x448f8f
push 0x46f53c
push 3
mov eax, ebp
call fcn.00422010
add esp, 8
cmp dword [ebp + 0x1c], eax
jbe 0x448839
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], esi
add eax, 1
cmp dword [ebp + 0x1c], eax
jbe 0x448f72
mov ecx, dword [ebp + 4]
mov esi, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], esi
cmp dword [ebp + 0x1c], eax
jbe 0x448f72
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
mov dword [eax + edx*4 + 0xc], edi
jmp 0x448f72
movzx ecx, byte [ebx]
mov edi, dword [esp + 0x70]
xor edx, edx
cmp byte [ecx + 0x46e7f8], 0x71
sete dl
mov dword [esp + 0x48], edx
call fcn.004498c0
test eax, eax
jne 0x448fc2
mov dword [edi + 0x4c], 6
push 1
mov edi, ebp
call fcn.00423210
add esp, 4
push 0
push str.integrity_check
push 0
push 0
mov ecx, ebp
call fcn.00423290
add esp, 0x10
test esi, esi
mov eax, 0x64
mov dword [esp + 0x2c], eax
je 0x4488e3
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.00409700
mov eax, dword [esp + 0x34]
add esp, 8
test eax, eax
jg 0x4488e3
mov eax, 0x64
mov dword [esp + 0x2c], eax
push 1
push eax
push 7
mov eax, ebp
call fcn.00421c40
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp dword [ecx + 0x14], 0
mov dword [esp + 0x28], 0
jle 0x448e73
mov dword [esp + 0x1c], 0
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x28]
mov eax, edi
xor esi, esi
call fcn.0043b980
push 1
push 0x78
mov eax, ebp
call fcn.00421bf0
push esi
mov ebx, eax
push esi
push 6
mov eax, ebp
call fcn.00421c40
add esp, 0x14
mov eax, ebx
mov edx, ebp
call fcn.004220d0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + eax + 0xc]
mov ebx, dword [eax + 0x10]
add eax, 8
test ebx, ebx
mov dword [esp + 0x44], eax
je 0x4489ab
mov edi, dword [ebx + 8]
mov eax, dword [edi + 0x14]
lea edx, [esi + 2]
push edx
push eax
push 7
mov eax, ebp
call fcn.00421c40
mov edi, dword [edi + 0x10]
add esp, 0xc
add esi, 1
test edi, edi
je 0x4489a1
mov edx, dword [edi + 0x28]
lea ecx, [esi + 2]
push ecx
push edx
push 7
mov eax, ebp
call fcn.00421c40
mov edi, dword [edi + 0x14]
add esp, 0xc
add esi, 1
test edi, edi
jne 0x448983
mov ebx, dword [ebx]
test ebx, ebx
jne 0x448962
mov edi, dword [esp + 0x70]
lea eax, [esi + 4]
cmp dword [edi + 0x4c], eax
jge 0x4489b6
mov dword [edi + 0x4c], eax
push 1
push esi
push 2
push 0x6f
mov eax, ebp
call fcn.00421b40
mov eax, dword [ebp + 4]
add esp, 0x10
test eax, eax
je 0x4489dc
mov ecx, dword [ebp + 0x1c]
mov dl, byte [esp + 0x28]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x11], dl
push 2
push 0x49
mov eax, ebp
call fcn.00421bf0
mov esi, dword [esp + 0x1c]
add esp, 8
push 0xffffffffffffffff
push ecx
mov ecx, dword [esp + 0x24]
mov edi, eax
mov eax, dword [esi + 0x10]
mov edx, dword [ecx + eax]
push edx
push str._in_database__s__n
call fcn.004082f0
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x5e
mov eax, ebp
call fcn.00421ca0
push 1
push 4
push 2
push 0xd
mov eax, ebp
call fcn.00421b40
push 2
push 3
push 4
push 0x5b
mov eax, ebp
call fcn.00421b40
push 1
push 2
push 0x10
mov eax, ebp
call fcn.00421c40
add esp, 0x44
mov eax, edi
mov edx, ebp
call fcn.004220d0
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0x40], eax
je 0x448e56
cmp dword [esp + 0x48], 0
jne 0x448e56
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 8]
cmp dword [eax + 0x10], 0
mov dword [esp + 0x44], eax
je 0x448e44
push 1
push 0x78
mov eax, ebp
call fcn.00421bf0
push 0
mov esi, eax
push 0
push 6
mov eax, ebp
call fcn.00421c40
add esp, 0x14
mov eax, esi
mov edx, ebp
call fcn.004220d0
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x44]
push 0x27
push 1
push edx
mov eax, esi
call fcn.00445a30
add esp, 0xc
push 2
push 0
push 7
mov eax, ebp
call fcn.00421c40
add esp, 0xc
push 0
push 1
push 0x48
mov eax, ebp
call fcn.00421c40
add esp, 0xc
push 1
mov dword [esp + 0x54], eax
push 2
push 0x14
mov eax, ebp
call fcn.00421c40
mov esi, dword [esi + 0x10]
add esp, 0xc
test esi, esi
je 0x448ca8
mov dword [esp + 0x3c], 2
lea esp, [esp]
mov eax, dword [esp + 0x70]
push 0
push 3
push 1
push esi
push eax
call fcn.0043d390
mov ecx, dword [esi + 0x24]
mov edx, dword [esp + 0x50]
add esp, 0x14
add ecx, 1
push ecx
push eax
push 0
push edx
push 0x34
mov eax, ebp
call fcn.00421df0
add esp, 0x14
mov dword [esp + 0x4c], eax
push 0x46f0c4
push 0xb
mov eax, ebp
call fcn.00422010
mov ecx, dword [ebp + 4]
mov edi, dword [ebp]
mov ebx, eax
add esp, 8
test ecx, ecx
mov dword [esp + 0x34], ebx
lea eax, [ebx + 1]
je 0x448b9a
cmp byte [edi + 0x36], 0
jne 0x448b9a
test eax, eax
jge 0x448b77
mov eax, dword [ebp + 0x1c]
sub eax, 1
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
movsx eax, byte [ebx + 1]
mov ecx, dword [ebx + 0x10]
call fcn.004220f0
mov dword [ebx + 0x10], 0x476504
mov byte [ebx + 1], 0xfe
mov ebx, dword [esp + 0x34]
jmp 0x448ba9
mov ecx, 0x476504
mov eax, 0xfffffffe
call fcn.004220f0
mov ecx, dword [ebp + 4]
test ecx, ecx
mov edi, dword [ebp]
lea eax, [ebx + 3]
je 0x448bea
cmp byte [edi + 0x36], 0
jne 0x448bea
test eax, eax
jge 0x448bc6
mov eax, dword [ebp + 0x1c]
sub eax, 1
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea ebx, [ecx + edx*4]
mov ecx, dword [ebx + 0x10]
call fcn.004220f0
mov dword [ebx + 0x10], str._missing_from_index
mov byte [ebx + 1], 0xfe
mov ebx, dword [esp + 0x34]
jmp 0x448bf9
mov ecx, str._missing_from_index
mov eax, 0xfffffffe
call fcn.004220f0
mov eax, dword [esi]
mov ecx, dword [ebp + 4]
test ecx, ecx
mov edi, dword [ebp]
mov dword [esp + 0x38], eax
lea eax, [ebx + 4]
je 0x448c78
cmp byte [edi + 0x36], 0
jne 0x448c78
test eax, eax
jge 0x448c1c
mov eax, dword [ebp + 0x1c]
sub eax, 1
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea ecx, [ecx + edx*4]
mov dword [esp + 0x30], ecx
mov ecx, dword [ecx + 0x10]
call fcn.004220f0
cmp dword [esp + 0x38], 0
mov eax, dword [esp + 0x30]
mov dword [eax + 0x10], 0
jne 0x448c52
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
jmp 0x448c83
mov ecx, dword [esp + 0x38]
call fcn.00408d90
mov edx, dword [ebp]
mov edi, eax
mov ebx, ecx
call fcn.004070b0
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xff
jmp 0x448c83
mov ecx, dword [esp + 0x38]
xor eax, eax
call fcn.004220f0
lea eax, [ebx + 9]
mov edx, ebp
call fcn.004220d0
mov eax, dword [esp + 0x4c]
mov edx, ebp
call fcn.004220d0
mov esi, dword [esi + 0x14]
add dword [esp + 0x3c], 1
test esi, esi
jne 0x448b10
mov esi, dword [esp + 0x50]
lea ecx, [esi + 1]
push ecx
push 1
push 0x5f
mov eax, ebp
call fcn.00421c40
add esp, 0xc
mov eax, esi
mov edx, ebp
call fcn.004220d0
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 0x10]
test eax, eax
mov dword [esp + 0x3c], eax
je 0x448e44
mov edi, 2
mov dword [esp + 0x38], edi
jmp 0x448ce9
mov edi, dword [esp + 0x38]
push 1
push 0x78
mov eax, ebp
call fcn.00421bf0
push 0
mov esi, eax
push 0
push 6
mov eax, ebp
call fcn.00421c40
add esp, 0x14
mov eax, esi
mov edx, ebp
call fcn.004220d0
push 0x46f4c0
push 0xa
mov eax, ebp
call fcn.00422010
mov esi, eax
lea eax, [esi + 1]
add esp, 8
cmp dword [ebp + 0x1c], eax
jbe 0x448d46
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], edi
cmp dword [ebp + 0x1c], eax
jbe 0x448d46
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea ecx, [esi + 4]
mov dword [eax + edx*4 + 8], ecx
lea eax, [esi + 3]
cmp dword [ebp + 0x1c], eax
jbe 0x448d6a
mov edx, dword [ebp + 4]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], edi
cmp dword [ebp + 0x1c], eax
jbe 0x448d6a
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea ecx, [esi + 2]
mov dword [eax + edx*4 + 8], ecx
lea eax, [esi + 4]
mov edx, ebp
call fcn.004220d0
mov ebx, dword [ebp + 4]
test ebx, ebx
mov edi, dword [ebp]
lea eax, [esi + 6]
je 0x448db1
cmp byte [edi + 0x36], 0
jne 0x448db1
test eax, eax
jge 0x448d91
mov eax, dword [ebp + 0x1c]
sub eax, 1
lea ecx, [eax + eax*4]
movsx eax, byte [ebx + ecx*4 + 1]
lea ebx, [ebx + ecx*4]
mov ecx, dword [ebx + 0x10]
call fcn.004220f0
mov dword [ebx + 0x10], str.wrong__of_entries_in_index
mov byte [ebx + 1], 0xfe
jmp 0x448dc0
mov ecx, str.wrong__of_entries_in_index
mov eax, 0xfffffffe
call fcn.004220f0
mov edx, dword [esp + 0x3c]
mov ebx, dword [edx]
mov edi, dword [ebp]
lea eax, [esi + 7]
mov esi, dword [ebp + 4]
test esi, esi
je 0x448e23
cmp byte [edi + 0x36], 0
jne 0x448e23
test eax, eax
jge 0x448de3
mov eax, dword [ebp + 0x1c]
sub eax, 1
lea eax, [eax + eax*4]
mov ecx, dword [esi + eax*4 + 0x10]
lea esi, [esi + eax*4]
movsx eax, byte [esi + 1]
call fcn.004220f0
test ebx, ebx
mov dword [esi + 0x10], 0
jne 0x448e09
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x448e2c
mov ecx, ebx
call fcn.00408d90
mov edx, dword [ebp]
mov edi, eax
call fcn.004070b0
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
jmp 0x448e2c
mov ecx, ebx
xor eax, eax
call fcn.004220f0
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x14]
add dword [esp + 0x38], 1
test eax, eax
mov dword [esp + 0x3c], eax
jne 0x448ce5
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
test eax, eax
mov dword [esp + 0x40], eax
jne 0x448a65
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
add dword [esp + 0x1c], 0x10
add eax, 1
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x28], eax
jl 0x448910
push 0x46f4b0
push 4
mov eax, ebp
call fcn.00422010
mov esi, eax
add esp, 8
cmp dword [ebp + 0x1c], esi
jbe 0x448e9b
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 4]
neg eax
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
lea eax, [esi + 1]
mov edx, ebp
call fcn.004220d0
mov ecx, dword [ebp + 4]
test ecx, ecx
mov edi, dword [ebp]
lea eax, [esi + 2]
je 0x448ee5
cmp byte [edi + 0x36], 0
jne 0x448ee5
test eax, eax
jge 0x448ec2
mov eax, dword [ebp + 0x1c]
sub eax, 1
lea edx, [eax + eax*4]
movsx eax, byte [ecx + edx*4 + 1]
lea esi, [ecx + edx*4]
mov ecx, dword [esi + 0x10]
call fcn.004220f0
mov dword [esi + 0x10], 0x476544
mov byte [esi + 1], 0xfe
jmp 0x448f8f
mov ecx, 0x476544
mov eax, 0xfffffffe
call fcn.004220f0
jmp 0x448f8f
mov edi, ebx
call fcn.004498c0
test eax, eax
jne 0x448fc2
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x70]
mov ebx, edi
mov eax, esi
call fcn.0043b980
add dword [esi + 0x4c], 1
mov ebx, dword [esp + 0x18]
movzx eax, byte [ebx]
cmp byte [eax + 0x46e7f8], 0x70
mov esi, dword [esi + 0x4c]
jne 0x448f43
push esi
push edi
push 0x92
mov eax, ebp
call fcn.00421c40
add esp, 0xc
jmp 0x448f63
mov ecx, dword [esp + 0x24]
call fcn.004097d0
call fcn.00409e40
push eax
push esi
push edi
push 0x93
mov eax, ebp
call fcn.00421b40
add esp, 0x10
push 1
push esi
push 0x10
mov eax, ebp
call fcn.00421c40
add esp, 0xc
push 1
mov edi, ebp
call fcn.00423210
add esp, 4
push 0xffffffffffffffff
push ebx
push 0
push 0
mov ecx, ebp
call fcn.00423290
add esp, 0x10
mov ecx, dword [esp + 0x14]
cmp byte [ecx + 0x34], 0
je 0x448fc2
mov edx, ecx
mov eax, dword [edx + 0x18]
mov ecx, eax
shr ecx, 0x16
shr eax, 0x15
and ecx, 1
and eax, 1
push ecx
push eax
mov eax, dword [esp + 0x28]
movzx edx, byte [eax + 9]
mov eax, dword [eax + 4]
push edx
call fcn.00417b30
add esp, 0xc
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.00406d00
mov eax, dword [esp + 0x24]
mov ecx, esi
call fcn.00406d00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret