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

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
mov esi, dword [esp + 0x4c]
mov ebx, dword [esi]
mov eax, ebx
mov dword [esp + 0x2c], ebx
call fcn.00429be0
mov ebp, eax
test ebp, ebp
mov dword [esi + 0xc], eax
je 0x4622d6
mov eax, dword [esp + 0x54]
push edi
mov edi, dword [esp + 0x54]
push esi
lea ecx, [esp + 0x38]
mov dword [esi + 0x48], 2
call fcn.004259f0
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
jl 0x4622d5
mov ecx, eax
shl ecx, 4
add ecx, dword [ebx + 8]
cmp eax, 1
mov dword [esp + 0x10], ecx
jne 0x4606dd
mov eax, esi
call fcn.00429570
test eax, eax
jne 0x4622d5
mov eax, dword [esp + 0x34]
push ebx
call fcn.004257c0
add esp, 4
test eax, eax
mov dword [esp + 0x28], eax
je 0x4622d5
cmp dword [esp + 0x60], 0
mov eax, dword [esp + 0x5c]
je 0x460719
push eax
push 0x4cf1a8
mov edi, ebx
call fcn.004119c0
mov edi, eax
add esp, 8
mov dword [esp + 0x34], edi
jmp 0x460728
push ebx
call fcn.004257c0
add esp, 4
mov edi, eax
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x58]
cmp dword [ecx + 4], 0
jbe 0x46073e
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov dword [esp + 0x18], eax
jmp 0x460746
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
push ecx
push edi
push edx
push 0x13
mov eax, esi
call fcn.004416a0
add esp, 0x10
test eax, eax
jne 0x4622c0
mov esi, dword [esp + 0x28]
mov edx, str.default_cache_size
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x4608ad
mov eax, dword [esp + 0x50]
push eax
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov esi, ebp
call fcn.0042a7c0
test edi, edi
jne 0x460813
push 1
push ebp
call fcn.0042b100
push edi
push str.cache_size
push edi
push edi
mov ecx, ebp
call fcn.0042b1b0
mov eax, dword [esp + 0x68]
add dword [eax + 0x48], 2
push 0x4c4990
push 8
mov eax, ebp
call fcn.0042a0e0
add esp, 0x20
cmp dword [ebp + 0xc], eax
jle 0x4607e2
mov edx, dword [ebp + 0x14]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], ebx
lea ecx, [eax + 1]
cmp dword [ebp + 0xc], ecx
jle 0x4607f4
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 4], ebx
add eax, 6
cmp dword [ebp + 0xc], eax
jle 0x462286
mov ecx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 4], 0x7d0
jmp 0x462286
push edi
call fcn.00489f6a
mov esi, eax
add esp, 4
test esi, esi
jge 0x460824
neg esi
mov eax, dword [esp + 0x50]
push 0
mov edi, ebx
call fcn.00429700
push 1
push esi
push 7
mov eax, ebp
call fcn.00429ec0
push 3
push 2
push ebx
push 0x23
mov eax, ebp
call fcn.00429db0
push 0
push 2
push 0x70
mov eax, ebp
call fcn.00429ec0
mov edx, esi
push 1
neg edx
push edx
mov edi, eax
push 7
mov eax, ebp
call fcn.00429ec0
mov eax, dword [ebp + 0xc]
add esp, 0x38
cmp eax, edi
jle 0x46087e
mov edx, dword [ebp + 0x14]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4 + 8], eax
push 1
push 3
push ebx
push 0x24
mov eax, ebp
call fcn.00429db0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x4c], esi
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 0x4c]
mov eax, dword [eax + 4]
push ecx
call fcn.004151d0
add esp, 0x14
jmp 0x462286
mov edx, str.page_size
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460916
test edi, edi
mov edx, dword [esp + 0x10]
mov esi, dword [edx + 4]
jne 0x4608ed
test esi, esi
je 0x4608d5
mov eax, dword [esi + 4]
movzx eax, word [eax + 0x14]
jmp 0x4608d7
xor eax, eax
cdq
push edx
push eax
mov eax, dword [esp + 0x58]
push str.page_size
call fcn.004602c0
jmp 0x462283
push edi
call fcn.00489f6a
push 0
push 0xffffffffffffffff
push eax
push esi
mov dword [ebx + 0x24], eax
call fcn.00415300
add esp, 0x14
cmp eax, 7
jne 0x462286
mov byte [ebx + 0x1e], 1
jmp 0x462286
mov edx, str.max_page_count
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x46095f
test edi, edi
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 4]
je 0x46093a
push edi
call fcn.00489f6a
add esp, 4
test esi, esi
je 0x460949
push eax
mov eax, esi
call fcn.004153e0
add esp, 4
cdq
push edx
push eax
mov eax, dword [esp + 0x58]
push str.max_page_count
call fcn.004602c0
jmp 0x462283
mov edx, str.page_count
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x4609d7
mov edx, dword [esp + 0x50]
push edx
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x50]
push edi
mov eax, esi
call fcn.00429650
add dword [esi + 0x48], 1
mov esi, dword [esi + 0x48]
push esi
push edi
push 0x83
mov eax, ebp
call fcn.00429ec0
push 1
push esi
push 0x10
mov eax, ebp
call fcn.00429ec0
push 1
push ebp
call fcn.0042b100
push 0
push str.page_count
push 0
push 0
mov ecx, ebp
call fcn.0042b1b0
add esp, 0x34
jmp 0x462286
mov edx, str.locking_mode
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460ab9
mov esi, edi
mov dword [esp + 0x50], str.normal
call fcn.00460170
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 4]
test ecx, ecx
jne 0x460a4a
cmp eax, 0xffffffff
jne 0x460a10
movzx eax, byte [ebx + 0x1f]
jmp 0x460a67
test ecx, ecx
jne 0x460a4a
mov esi, 2
cmp dword [ebx + 4], esi
jle 0x460a47
mov edx, 0x20
test eax, eax
mov ecx, dword [ebx + 8]
mov ecx, dword [edx + ecx + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx]
jl 0x460a3c
cmp byte [ecx + 0xb], 0
jne 0x460a3c
mov byte [ecx + 4], al
add esi, 1
add edx, 0x10
cmp esi, dword [ebx + 4]
jl 0x460a23
mov byte [ebx + 0x1f], al
test eax, eax
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + 4]
mov ecx, dword [edx]
jl 0x460a63
cmp byte [ecx + 0xb], 0
jne 0x460a63
mov byte [ecx + 4], al
movzx eax, byte [ecx + 4]
cmp eax, 1
mov esi, str.exclusive
je 0x460a75
mov esi, dword [esp + 0x50]
push 1
push ebp
call fcn.0042b100
push 0
push str.locking_mode
push 0
push 0
mov ecx, ebp
call fcn.0042b1b0
push 0
push esi
push 0
push 0x5e
xor eax, eax
mov ecx, 1
mov edi, ebp
call fcn.00429f20
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
add esp, 0x34
jmp 0x462286
mov edx, str.journal_mode
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460bdf
test edi, edi
jne 0x460adb
mov dword [esp + 0x50], 0xffffffff
jmp 0x460b13
mov ecx, edi
call fcn.0040f940
mov esi, eax
mov dword [esp + 0x50], 4
lea esp, [esp]
mov eax, dword [esp + 0x50]
mov ecx, dword [eax*4 + 0x4c49b0]
push ecx
mov eax, esi
mov ecx, edi
call fcn.0040fbb0
add esp, 4
test eax, eax
je 0x460b13
sub dword [esp + 0x50], 1
jns 0x460af0
mov edx, dword [esp + 0x58]
mov eax, dword [edx + 4]
test eax, eax
jne 0x460b79
cmp dword [esp + 0x50], 0xffffffff
jne 0x460b2b
movzx esi, byte [ebx + 0x20]
jmp 0x460b94
test eax, eax
jne 0x460b79
mov eax, 1
cmp dword [ebx + 4], eax
mov dword [esp + 0x2c], eax
jle 0x460b72
mov esi, 0x10
mov eax, dword [ebx + 8]
mov eax, dword [esi + eax + 4]
test eax, eax
je 0x460b5f
mov ecx, dword [esp + 0x50]
mov edx, dword [eax + 4]
mov edi, dword [edx]
push ecx
call fcn.00430590
add esp, 4
mov eax, dword [esp + 0x2c]
add eax, 1
add esi, 0x10
cmp eax, dword [ebx + 4]
mov dword [esp + 0x2c], eax
jl 0x460b42
mov al, byte [esp + 0x50]
mov byte [ebx + 0x20], al
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x50]
mov edi, dword [eax]
push ecx
call fcn.00430590
add esp, 4
mov esi, eax
push 1
push ebp
call fcn.0042b100
push 0
push str.journal_mode
push 0
push 0
mov ecx, ebp
call fcn.0042b1b0
mov edx, dword [esi*4 + 0x4c49b0]
push 0xfffffffffffffffe
push edx
push 0
push 0x5e
xor eax, eax
mov ecx, 1
mov edi, ebp
call fcn.00429f20
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
add esp, 0x34
jmp 0x462286
mov edx, str.journal_size_limit
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460c6b
test edi, edi
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov esi, dword [edx]
mov dword [esp + 0x44], 0xfffffffe
mov dword [esp + 0x48], 0xffffffff
je 0x460c4a
lea eax, [esp + 0x44]
push eax
mov eax, edi
call fcn.004101f0
mov ecx, dword [esp + 0x4c]
add esp, 4
cmp ecx, 0xffffffff
jg 0x460c3a
jl 0x460c32
mov eax, dword [esp + 0x44]
cmp eax, 0xffffffff
jae 0x460c3e
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x460c3e
mov eax, dword [esp + 0x44]
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], ecx
mov eax, dword [esi + 0xa0]
mov esi, dword [esi + 0xa4]
push esi
push eax
mov eax, dword [esp + 0x58]
push str.journal_size_limit
call fcn.004602c0
jmp 0x462283
mov edx, str.auto_vacuum
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460d81
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov esi, dword [ecx + 4]
push edx
mov dword [esp + 0x30], esi
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
test edi, edi
jne 0x460cc8
test esi, esi
je 0x460cb0
mov eax, esi
call fcn.004154b0
jmp 0x460cb2
xor eax, eax
cdq
push edx
push eax
mov eax, dword [esp + 0x58]
push str.auto_vacuum
call fcn.004602c0
jmp 0x462283
mov esi, edi
call fcn.004601a0
test eax, eax
mov dword [esp + 0x50], eax
mov byte [ebx + 0x21], al
jl 0x462286
mov esi, eax
mov eax, dword [esp + 0x2c]
push esi
call fcn.00415440
add esp, 4
test eax, eax
jne 0x462286
cmp esi, 1
je 0x460d03
cmp esi, 2
jne 0x462286
push 0x4c49c4
push 6
mov eax, ebp
call fcn.0042a0e0
mov ecx, dword [esp + 0x1c]
add esp, 8
cmp dword [ebp + 0xc], eax
jle 0x460d27
mov edi, dword [ebp + 0x14]
lea edx, [eax + eax*4]
mov dword [edi + edx*4 + 4], ecx
lea edx, [eax + 1]
cmp dword [ebp + 0xc], edx
jle 0x460d39
mov edi, dword [ebp + 0x14]
lea edx, [edx + edx*4]
mov dword [edi + edx*4 + 4], ecx
lea edx, [eax + 2]
cmp dword [ebp + 0xc], edx
jle 0x460d4e
mov ebx, dword [ebp + 0x14]
lea edi, [eax + 4]
lea edx, [edx + edx*4]
mov dword [ebx + edx*4 + 8], edi
lea edx, [eax + 4]
cmp dword [ebp + 0xc], edx
jle 0x460d63
mov edi, dword [ebp + 0x14]
add esi, 0xffffffff
lea edx, [edx + edx*4]
mov dword [edi + edx*4 + 4], esi
add eax, 5
cmp dword [ebp + 0xc], eax
jle 0x460d75
mov edx, dword [ebp + 0x14]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 4], ecx
mov esi, ebp
call fcn.0042a7c0
jmp 0x462286
mov edx, str.incremental_vacuum
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460e35
mov eax, dword [esp + 0x50]
push eax
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
test edi, edi
je 0x460dc8
lea ecx, [esp + 0x2c]
push ecx
push edi
call fcn.00410350
add esp, 8
test eax, eax
je 0x460dc8
mov esi, dword [esp + 0x2c]
test esi, esi
jg 0x460dcd
mov esi, SysReAllocString
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
push 0
call fcn.00429700
push 1
push esi
push 7
mov eax, ebp
call fcn.00429ec0
push edi
push 0x76
mov eax, ebp
call fcn.00429e60
mov esi, eax
push 1
push 0x10
mov eax, ebp
call fcn.00429e60
push 0xffffffffffffffff
push 1
push 0x14
mov eax, ebp
call fcn.00429ec0
push esi
push 1
push 0x70
mov eax, ebp
call fcn.00429ec0
mov eax, dword [ebp + 0xc]
add esp, 0x38
cmp eax, esi
jle 0x462286
mov ecx, dword [ebp + 0x14]
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
jmp 0x462286
mov edx, str.cache_size
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460eae
mov edx, dword [esp + 0x50]
push edx
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
test edi, edi
jne 0x460e7e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx + 0x4c]
cdq
push edx
push eax
mov eax, dword [esp + 0x58]
push str.cache_size
call fcn.004602c0
jmp 0x462283
push edi
call fcn.00489f6a
add esp, 4
test eax, eax
jge 0x460e8d
neg eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xc]
mov dword [edx + 0x4c], eax
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x4c]
mov eax, dword [ecx + 4]
push edx
call fcn.004151d0
add esp, 4
jmp 0x462286
mov edx, str.temp_store
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460eec
test edi, edi
jne 0x460edc
movzx eax, byte [ebx + 0x1d]
cdq
push edx
push eax
mov eax, dword [esp + 0x58]
push str.temp_store
call fcn.004602c0
jmp 0x462283
mov eax, edi
mov edi, dword [esp + 0x50]
call fcn.00460250
jmp 0x462286
mov edx, str.temp_store_directory
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x460fd2
test edi, edi
jne 0x460f54
cmp dword [0x4e3d14], edi
je 0x462286
push 1
push ebp
call fcn.0042b100
push edi
push str.temp_store_directory
push edi
push edi
mov ecx, ebp
call fcn.0042b1b0
mov eax, dword [0x4e3d14]
push edi
push eax
push edi
push 0x5e
xor eax, eax
mov ecx, 1
mov edi, ebp
call fcn.00429f20
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
add esp, 0x34
jmp 0x462286
cmp byte [edi], 0
je 0x460f8c
mov eax, dword [ebx]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x2c]
push ecx
push 1
push edi
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x460f76
cmp dword [esp + 0x2c], eax
jne 0x460f8c
mov esi, dword [esp + 0x50]
push str.not_a_writable_directory
call fcn.0040f9e0
add esp, 4
jmp 0x4622c0
cmp byte [ebx + 0x1d], 1
ja 0x460f9b
mov eax, dword [esp + 0x50]
call fcn.00460200
mov eax, dword [0x4e3d14]
push eax
call fcn.0040f3f0
add esp, 4
cmp byte [edi], 0
je 0x460fc3
push edi
push 0
call fcn.0040f7d0
add esp, 8
mov dword [0x4e3d14], eax
jmp 0x462286
mov dword [0x4e3d14], 0
jmp 0x462286
mov edx, str.synchronous
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x46104f
mov ecx, dword [esp + 0x50]
push ecx
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
test edi, edi
jne 0x46101c
mov edx, dword [esp + 0x10]
movzx eax, byte [edx + 9]
sub eax, 1
cdq
push edx
push eax
mov eax, dword [esp + 0x58]
push str.synchronous
call fcn.004602c0
jmp 0x462283
cmp byte [ebx + 0x1c], 0
jne 0x461038
mov esi, dword [esp + 0x50]
push str.Safety_level_may_not_be_changed_inside_a_transaction
call fcn.0040f9e0
add esp, 4
jmp 0x462286
push edi
call fcn.004600f0
mov ecx, dword [esp + 0x14]
add esp, 4
add al, 1
mov byte [ecx + 9], al
jmp 0x462286
mov edx, dword [esp + 0x50]
push edi
push esi
push edx
call fcn.004604a0
add esp, 0xc
test eax, eax
jne 0x462286
mov edx, str.table_info
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x461220
test edi, edi
je 0x461220
mov eax, dword [esp + 0x50]
push eax
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
mov ecx, dword [esp + 0x18]
push ecx
push edi
push ebx
call fcn.00424d60
add esp, 0xc
test eax, eax
mov dword [esp + 0x2c], eax
je 0x462286
push 6
xor ebx, ebx
push ebp
mov dword [esp + 0x2c], ebx
call fcn.0042b100
mov esi, dword [esp + 0x58]
push ebx
push 0x4cf2d8
push ebx
push ebx
mov ecx, ebp
mov dword [esi + 0x48], 6
call fcn.0042b1b0
push ebx
push str.name
push ebx
push 1
mov ecx, ebp
call fcn.0042b1b0
push ebx
push str.type
push ebx
push 2
mov ecx, ebp
call fcn.0042b1b0
push ebx
push str.notnull
push ebx
push 3
mov ecx, ebp
call fcn.0042b1b0
add esp, 0x48
push ebx
push str.dflt_value
push ebx
push 4
mov ecx, ebp
call fcn.0042b1b0
push ebx
push 0x4cf300
push ebx
push 5
mov ecx, ebp
call fcn.0042b1b0
mov edi, dword [esp + 0x4c]
push edi
push esi
call fcn.004270d0
mov esi, dword [edi + 0x10]
add esp, 0x28
cmp dword [edi + 0xc], ebx
jle 0x462286
cmp byte [esi + 0x17], 0
je 0x461157
add dword [esp + 0x24], 1
jmp 0x46120c
mov edx, ebx
sub edx, dword [esp + 0x24]
push 1
push edx
push 7
mov eax, ebp
call fcn.00429ec0
mov eax, dword [esi]
push 0
push eax
push 0
push 0x5e
xor eax, eax
mov ecx, 2
mov edi, ebp
call fcn.00429f20
mov eax, dword [esi + 0xc]
add esp, 0x1c
test eax, eax
jne 0x46118f
mov eax, 0x4ca308
push 0
push eax
push 0
push 0x5e
xor eax, eax
mov ecx, 3
call fcn.00429f20
xor ecx, ecx
cmp byte [esi + 0x14], cl
push 4
setne cl
mov eax, ebp
push ecx
push 7
call fcn.00429ec0
mov eax, dword [esi + 8]
add esp, 0x1c
test eax, eax
je 0x4611d8
push 0
push eax
push 0
push 0x5e
xor eax, eax
mov ecx, 5
call fcn.00429f20
add esp, 0x10
jmp 0x4611e8
push 5
push 0
push 0xa
mov eax, ebp
call fcn.00429ec0
add esp, 0xc
movzx edx, byte [esi + 0x15]
push 6
push edx
push 7
mov eax, ebp
call fcn.00429ec0
push 6
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
mov edi, dword [esp + 0x44]
add esp, 0x18
add ebx, 1
add esi, 0x18
cmp ebx, dword [edi + 0xc]
jl 0x461147
jmp 0x462286
mov edx, str.index_info
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x46132d
test edi, edi
je 0x46132d
mov eax, dword [esp + 0x50]
push eax
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
mov ecx, dword [esp + 0x18]
push ecx
push edi
mov ecx, ebx
call fcn.00424f10
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x462286
mov edx, dword [ebx + 0x10]
push 3
push ebp
mov dword [esp + 0x34], edx
call fcn.0042b100
mov eax, dword [esp + 0x58]
push 0
push str.seqno
push 0
push 0
mov ecx, ebp
mov dword [eax + 0x48], 3
call fcn.0042b1b0
push 0
push 0x4cf2d8
push 0
push 1
mov ecx, ebp
call fcn.0042b1b0
push 0
push str.name
push 0
push 2
mov ecx, ebp
call fcn.0042b1b0
xor esi, esi
add esp, 0x38
cmp dword [ebx + 4], esi
jle 0x462286
lea esp, [esp]
mov ecx, dword [ebx + 8]
mov edi, dword [ecx + esi*4]
push 1
push esi
push 7
mov eax, ebp
call fcn.00429ec0
push 2
push edi
push 7
mov eax, ebp
call fcn.00429ec0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x10]
lea edx, [edi + edi*2]
mov edx, dword [ecx + edx*8]
push 0
push edx
push 0
push 0x5e
xor eax, eax
mov ecx, 3
mov edi, ebp
call fcn.00429f20
push 3
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
add esi, 1
add esp, 0x34
cmp esi, dword [ebx + 4]
jl 0x4612d0
jmp 0x462286
mov edx, str.index_list
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x461426
test edi, edi
je 0x461426
mov eax, dword [esp + 0x50]
push eax
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
mov ecx, dword [esp + 0x18]
push ecx
push edi
push ebx
call fcn.00424d60
mov esi, eax
add esp, 0xc
test esi, esi
je 0x462286
mov edi, dword [esp + 0x50]
call fcn.0043baa0
mov esi, dword [esi + 0x14]
test esi, esi
mov ebp, eax
je 0x462286
push 3
push ebp
xor ebx, ebx
call fcn.0042b100
push ebx
push 0x4cf324
push ebx
push ebx
mov ecx, ebp
mov dword [edi + 0x48], 3
call fcn.0042b1b0
push ebx
push str.name
push ebx
push 1
mov ecx, ebp
call fcn.0042b1b0
push ebx
push str.unique
push ebx
push 2
mov ecx, ebp
call fcn.0042b1b0
add esp, 0x38
push 1
push ebx
push 7
mov eax, ebp
call fcn.00429ec0
mov edx, dword [esi]
push 0
push edx
push 0
push 0x5e
xor eax, eax
mov ecx, 2
mov edi, ebp
call fcn.00429f20
xor eax, eax
cmp byte [esi + 0x18], al
push 3
setne al
push eax
push 7
mov eax, ebp
call fcn.00429ec0
push 3
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
mov esi, dword [esi + 0x20]
add esp, 0x34
add ebx, 1
test esi, esi
jne 0x4613d0
jmp 0x462286
mov edx, str.database_list
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x461525
mov ecx, dword [esp + 0x50]
push ecx
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
push 3
push ebp
call fcn.0042b100
mov edx, dword [esp + 0x58]
xor esi, esi
push esi
push 0x4cf324
push esi
push esi
mov ecx, ebp
mov dword [edx + 0x48], 3
call fcn.0042b1b0
push esi
push str.name
push esi
push 1
mov ecx, ebp
call fcn.0042b1b0
push esi
push str.file
push esi
push 2
mov ecx, ebp
call fcn.0042b1b0
add esp, 0x38
cmp dword [ebx + 4], esi
mov dword [esp + 0x50], esi
jle 0x462286
mov eax, dword [ebx + 8]
cmp dword [esi + eax + 4], 0
je 0x46150d
mov ecx, dword [esp + 0x50]
push 1
push ecx
push 7
mov eax, ebp
call fcn.00429ec0
mov edx, dword [ebx + 8]
mov eax, dword [esi + edx]
push 0
push eax
push 0
push 0x5e
xor eax, eax
mov ecx, 2
mov edi, ebp
call fcn.00429f20
mov ecx, dword [ebx + 8]
mov edx, dword [esi + ecx + 4]
mov eax, dword [edx + 4]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x84]
push 0
push edx
push 0
push 0x5e
xor eax, eax
mov ecx, 3
call fcn.00429f20
push 3
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
add esp, 0x38
mov eax, dword [esp + 0x50]
add eax, 1
add esi, 0x10
cmp eax, dword [ebx + 4]
mov dword [esp + 0x50], eax
jl 0x4614a3
jmp 0x462286
mov edx, str.collation_list
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x4615c4
push 2
push ebp
xor esi, esi
call fcn.0042b100
mov eax, dword [esp + 0x58]
push esi
push 0x4cf324
push esi
push esi
mov ecx, ebp
mov dword [eax + 0x48], 2
call fcn.0042b1b0
push esi
push str.name
push esi
push 1
mov ecx, ebp
call fcn.0042b1b0
mov ebx, dword [ebx + 0x190]
add esp, 0x28
test ebx, ebx
je 0x462286
mov edi, edi
mov edi, dword [ebx + 8]
push 1
push esi
push 7
mov eax, ebp
call fcn.00429ec0
mov ecx, dword [edi]
push 0
push ecx
push 0
push 0x5e
xor eax, eax
mov ecx, 2
mov edi, ebp
add esi, 1
call fcn.00429f20
push 2
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
mov ebx, dword [ebx]
add esp, 0x28
test ebx, ebx
jne 0x461580
jmp 0x462286
mov edx, str.foreign_key_list
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x4618b8
test edi, edi
je 0x4618b8
mov edx, dword [esp + 0x50]
push edx
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
mov eax, dword [esp + 0x18]
push eax
push edi
push ebx
call fcn.00424d60
add esp, 0xc
test eax, eax
mov dword [esp + 0x2c], eax
je 0x462286
mov edi, dword [esp + 0x50]
call fcn.0043baa0
mov ecx, dword [esp + 0x2c]
mov ebx, dword [ecx + 0x24]
test ebx, ebx
mov ebp, eax
je 0x462286
push 8
push ebp
mov dword [esp + 0x28], 0
call fcn.0042b100
push 0
push 0x4cf364
mov edx, edi
push 0
push 0
mov ecx, ebp
mov dword [edx + 0x48], 8
call fcn.0042b1b0
push 0
push 0x4cf324
push 0
push 1
mov ecx, ebp
call fcn.0042b1b0
push 0
push str.table
push 0
push 2
mov ecx, ebp
call fcn.0042b1b0
push 0
push str.from
push 0
push 3
mov ecx, ebp
call fcn.0042b1b0
add esp, 0x48
push 0
push 0x4cf368
push 0
push 4
mov ecx, ebp
call fcn.0042b1b0
push 0
push str.on_update
push 0
push 5
mov ecx, ebp
call fcn.0042b1b0
push 0
push str.on_delete
push 0
push 6
mov ecx, ebp
call fcn.0042b1b0
push 0
push str.match
push 0
push 7
mov ecx, ebp
call fcn.0042b1b0
add esp, 0x40
lea esp, [esp]
cmp dword [ebx + 0x14], 0
mov dword [esp + 0x24], 0
jle 0x4618a3
lea eax, [ebx + 0x24]
mov dword [esp + 0x50], eax
lea esp, [esp]
mov ecx, dword [esp + 0x50]
mov al, byte [ebx + 0x19]
mov esi, dword [ecx + 4]
call fcn.00460630
mov dword [esp + 0x18], eax
mov al, byte [ebx + 0x1a]
call fcn.00460630
mov edx, dword [esp + 0x20]
push 1
push edx
mov dword [esp + 0x24], eax
push 7
mov eax, ebp
call fcn.00429ec0
mov eax, dword [esp + 0x30]
push 2
push eax
push 7
mov eax, ebp
call fcn.00429ec0
mov ecx, dword [ebx + 8]
push 0
push ecx
push 0
push 0x5e
xor eax, eax
mov ecx, 3
mov edi, ebp
call fcn.00429f20
mov edx, dword [esp + 0x78]
mov eax, dword [edx]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x10]
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
push 0
push eax
push 0
push 0x5e
xor eax, eax
mov ecx, 4
call fcn.00429f20
push 0
push esi
neg esi
sbb esi, esi
and esi, 0x54
push 0
add esi, 0xa
push esi
xor eax, eax
mov ecx, 5
call fcn.00429f20
mov ecx, dword [esp + 0x64]
add esp, 0x48
push 0
push ecx
push 0
push 0x5e
xor eax, eax
mov ecx, 6
call fcn.00429f20
mov edx, dword [esp + 0x28]
push 0
push edx
push 0
push 0x5e
xor eax, eax
mov ecx, 7
call fcn.00429f20
mov esi, dword [ebp + 0xc]
add esp, 0x20
cmp dword [ebp + 0x10], esi
jg 0x4617e5
call fcn.00429d30
test eax, eax
je 0x4617e5
mov esi, 1
jmp 0x461811
mov ecx, dword [ebp + 0x14]
add dword [ebp + 0xc], 1
lea eax, [esi + esi*4]
lea eax, [ecx + eax*4]
xor ecx, ecx
mov byte [eax], 0x5e
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], 8
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov byte [ebp + 0x6e], cl
mov edx, dword [ebp + 0x14]
test edx, edx
mov ecx, dword [ebp]
mov eax, esi
je 0x46186a
cmp byte [ecx + 0x1e], 0
jne 0x46186a
test esi, esi
jge 0x46182d
mov eax, dword [ebp + 0xc]
sub eax, 1
lea eax, [eax + eax*4]
lea esi, [edx + eax*4]
mov edx, dword [esi + 0x10]
movsx eax, byte [esi + 1]
push edx
push eax
push ecx
call fcn.0042a1c0
mov ecx, str.NONE
mov dword [esi + 0x10], 0
call fcn.0040f940
mov edx, dword [ebp]
push ecx
mov edi, eax
call fcn.0040f820
add esp, 0x10
mov dword [esi + 0x10], eax
mov byte [esi + 1], 0xff
jmp 0x46187a
push str.NONE
push 0
push ecx
call fcn.0042a1c0
add esp, 0xc
push 8
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
mov eax, dword [esp + 0x30]
add dword [esp + 0x5c], 8
add eax, 1
add esp, 0xc
cmp eax, dword [ebx + 0x14]
mov dword [esp + 0x24], eax
jl 0x461700
mov ebx, dword [ebx + 4]
add dword [esp + 0x20], 1
test ebx, ebx
jne 0x4616e0
jmp 0x462286
mov edx, str.case_sensitive_like
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x4618e9
test edi, edi
je 0x462286
push edi
call fcn.004600f0
mov edi, ebx
and eax, 1
push eax
call fcn.00422630
add esp, 8
jmp 0x462286
mov edx, str.integrity_check
mov ecx, esi
call fcn.0040fb60
test eax, eax
je 0x461bdc
mov edx, str.quick_check
mov ecx, esi
call fcn.0040fb60
test eax, eax
je 0x461bdc
mov edx, str.encoding
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x461a85
test edi, edi
jne 0x461a04
mov ecx, dword [esp + 0x50]
push ecx
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
push 1
push ebp
call fcn.0042b100
xor ebx, ebx
push ebx
push str.encoding
push ebx
push ebx
mov ecx, ebp
call fcn.0042b1b0
push 1
push ebx
push 0x5e
mov eax, ebp
call fcn.00429ec0
mov edx, dword [esp + 0x74]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0xc]
movzx eax, byte [edx + 0x49]
mov ecx, dword [ebp + 0x14]
mov edi, dword [eax*8 + 0x4c4a40]
mov edx, dword [ebp]
add esp, 0x24
cmp ecx, ebx
je 0x4619e6
cmp byte [edx + 0x1e], bl
jne 0x4619e6
mov eax, dword [ebp + 0xc]
sub eax, 1
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
mov ecx, dword [esi + 0x10]
movsx eax, byte [esi + 1]
push ecx
push eax
push edx
call fcn.0042a1c0
add esp, 0xc
cmp edi, ebx
mov dword [esi + 0x10], ebx
jne 0x4619cd
push 1
push 1
push 0x10
mov eax, ebp
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
call fcn.00429ec0
jmp 0x462283
push 1
push 1
push 0x10
mov eax, ebp
mov dword [esi + 0x10], edi
mov byte [esi + 1], 0xfe
call fcn.00429ec0
jmp 0x462283
push edi
push 0xfffffffffffffffe
push edx
call fcn.0042a1c0
add esp, 0xc
push 1
push 1
push 0x10
mov eax, ebp
call fcn.00429ec0
jmp 0x462283
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0xc]
movzx eax, word [edx + 0x4a]
test al, 1
je 0x461a1a
test al, 4
je 0x462286
mov edx, dword [str.UTF8]
test edx, edx
mov esi, 0x4c4a40
je 0x461a6e
lea esp, [esp]
mov ecx, edi
call fcn.0040fb60
test eax, eax
je 0x461a47
mov edx, dword [esi + 8]
add esi, 8
test edx, edx
jne 0x461a30
jmp 0x461a6e
mov al, byte [esi + 4]
test al, al
movzx eax, al
jne 0x461a56
mov eax, 2
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx]
mov ecx, dword [edx + 8]
mov edx, dword [ecx + 0xc]
mov byte [edx + 0x49], al
cmp dword [esi], 0
jne 0x462286
mov esi, dword [esp + 0x50]
push edi
push str.unsupported_encoding:__s
call fcn.0040f9e0
add esp, 8
jmp 0x462286
mov edx, str.schema_version
mov ecx, esi
call fcn.0040fb60
test eax, eax
je 0x461ab9
mov edx, str.user_version
mov ecx, esi
call fcn.0040fb60
test eax, eax
je 0x461ab9
mov edx, str.freelist_count
mov ecx, esi
call fcn.0040fb60
test eax, eax
jne 0x462286
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov esi, ebp
call fcn.0042a7c0
mov esi, dword [esp + 0x28]
movsx eax, byte [esi]
add eax, 0xffffffba
cmp eax, 0x2d
ja case.0x461adc.71
movzx eax, byte [eax + 0x4622ec]
jmp dword [eax*4 + 0x4622e0]
mov dword [esp + 0x50], 0
jmp 0x461aff
mov dword [esp + 0x50], 1
jmp 0x461aff
mov dword [esp + 0x50], 6
test edi, edi
je 0x461b79
cmp dword [esp + 0x50], 0
je 0x461b79
push 0x4c4a88
push 3
mov eax, ebp
call fcn.0042a0e0
mov esi, eax
add esp, 8
cmp dword [ebp + 0xc], esi
jle 0x461b2c
mov edx, dword [ebp + 0x14]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4 + 4], ebx
push edi
call fcn.00489f6a
lea ecx, [esi + 1]
add esp, 4
cmp dword [ebp + 0xc], ecx
jle 0x461b47
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 4], eax
lea eax, [esi + 2]
cmp dword [ebp + 0xc], eax
jle 0x462286
mov edx, dword [ebp + 0x14]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], ebx
cmp dword [ebp + 0xc], eax
jle 0x462286
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x50]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
jmp 0x462286
push 0x4c4a94
push 3
mov eax, ebp
call fcn.0042a0e0
add esp, 8
cmp dword [ebp + 0xc], eax
jle 0x461b99
mov edx, dword [ebp + 0x14]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], ebx
add eax, 1
cmp dword [ebp + 0xc], eax
jle 0x461bbe
mov edx, dword [ebp + 0x14]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], ebx
cmp dword [ebp + 0xc], eax
jle 0x461bbe
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x50]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 0xc], edx
push 1
push ebp
call fcn.0042b100
push 0xffffffffffffffff
push esi
push 0
push 0
mov ecx, ebp
call fcn.0042b1b0
add esp, 0x18
jmp 0x462286
mov ecx, dword [esp + 0x50]
xor eax, eax
cmp byte [esi], 0x71
push ecx
sete al
mov dword [esp + 0x3c], eax
call fcn.00432370
add esp, 4
test eax, eax
jne 0x4622c0
mov edx, dword [esp + 0x50]
push 1
push ebp
mov dword [edx + 0x48], 6
call fcn.0042b100
push 0
push str.integrity_check
push 0
push 0
mov ecx, ebp
call fcn.0042b1b0
add esp, 0x18
test edi, edi
mov eax, 0x64
mov dword [esp + 0x2c], eax
je 0x461c4c
push edi
call fcn.00489f6a
add esp, 4
test eax, eax
mov dword [esp + 0x2c], eax
jg 0x461c4c
mov eax, 0x64
mov dword [esp + 0x2c], eax
push 1
push eax
push 7
mov eax, ebp
call fcn.00429ec0
add esp, 0xc
cmp dword [ebx + 4], 0
mov dword [esp + 0x20], 0
jle 0x4621fd
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x54]
xor edi, edi
call fcn.00429650
push 1
push 0x70
mov eax, ebp
call fcn.00429e60
push edi
mov esi, eax
push edi
push 6
mov eax, ebp
call fcn.00429ec0
mov eax, dword [ebp + 0xc]
add esp, 0x18
cmp eax, esi
jle 0x461cb1
mov edx, dword [ebp + 0x14]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + eax + 0xc]
add eax, 4
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 8]
test eax, eax
mov dword [esp + 0x18], eax
je 0x461d21
mov edi, edi
mov edx, dword [esp + 0x18]
mov esi, dword [edx + 8]
mov ecx, dword [esi + 0x18]
lea eax, [edi + 2]
push eax
push ecx
push 7
mov eax, ebp
call fcn.00429ec0
mov esi, dword [esi + 0x14]
add esp, 0xc
add edi, 1
test esi, esi
je 0x461d13
mov eax, dword [esi + 0x14]
lea edx, [edi + 2]
push edx
push eax
push 7
mov eax, ebp
call fcn.00429ec0
mov esi, dword [esi + 0x20]
add esp, 0xc
add edi, 1
test esi, esi
jne 0x461cf5
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
test eax, eax
mov dword [esp + 0x18], eax
jne 0x461cd0
mov ecx, dword [esp + 0x50]
lea eax, [edi + 4]
cmp dword [ecx + 0x48], eax
jge 0x461d30
mov dword [ecx + 0x48], eax
push 1
push edi
push 2
push 0x67
mov eax, ebp
call fcn.00429db0
mov eax, dword [ebp + 0x14]
add esp, 0x10
test eax, eax
je 0x461d56
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + ecx*4]
mov cl, byte [esp + 0x20]
mov byte [eax + edx*4 - 0x11], cl
push 2
push 0x49
mov eax, ebp
call fcn.00429e60
mov edx, dword [ebx + 8]
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + edx]
push 0xffffffffffffffff
push ecx
push str._in_database__s__n
mov edi, ebx
call fcn.004119c0
add esp, 8
push eax
push 0
push 0x5e
xor eax, eax
mov ecx, 3
mov edi, ebp
call fcn.00429f20
push 1
push 4
push 2
push 0xd
mov eax, ebp
call fcn.00429db0
push 2
push 3
push 4
push 0x5b
mov eax, ebp
call fcn.00429db0
push 1
push 2
push 0x10
mov eax, ebp
call fcn.00429ec0
mov eax, dword [ebp + 0xc]
add esp, 0x3c
cmp eax, esi
jle 0x461dd4
mov ecx, dword [ebp + 0x14]
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 8]
test eax, eax
mov dword [esp + 0x18], eax
je 0x4621e4
jmp 0x461df4
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], 0
jne 0x4621e4
mov edi, dword [eax + 8]
cmp dword [edi + 0x14], 0
mov dword [esp + 0x44], edi
je 0x4621ce
push 1
push 0x70
mov eax, ebp
call fcn.00429e60
push 0
mov esi, eax
push 0
push 6
mov eax, ebp
call fcn.00429ec0
mov eax, dword [ebp + 0xc]
add esp, 0x14
cmp eax, esi
jle 0x461e3e
mov edx, dword [ebp + 0x14]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x50]
push 0x26
push 1
push eax
mov eax, edi
call fcn.0044e8b0
push 2
push 0
push 7
mov eax, ebp
call fcn.00429ec0
push 0
push 1
push 0x40
mov eax, ebp
call fcn.00429ec0
push 1
mov esi, eax
push 2
push 0x14
mov eax, ebp
mov dword [esp + 0x70], esi
call fcn.00429ec0
mov eax, dword [edi + 0x14]
add esp, 0x30
test eax, eax
mov dword [esp + 0x14], eax
je 0x46201f
mov dword [esp + 0x1c], 2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x50]
push 1
push 3
push 1
push ecx
push edx
call fcn.00451440
mov eax, dword [esp + 0x30]
push 3
push 0
push eax
push 0x31
mov eax, ebp
call fcn.00429db0
mov dword [esp + 0x60], eax
push 0x4c49ec
push 0xb
mov eax, ebp
call fcn.0042a0e0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
add esp, 0x2c
test ecx, ecx
mov edi, eax
lea eax, [edi + 1]
je 0x461f12
cmp byte [edx + 0x1e], 0
jne 0x461f12
test eax, eax
jge 0x461ef0
mov eax, dword [ebp + 0xc]
sub eax, 1
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
mov ecx, dword [esi + 0x10]
movsx eax, byte [esi + 1]
push ecx
push eax
push edx
call fcn.0042a1c0
mov dword [esi + 0x10], str.rowid
mov byte [esi + 1], 0xfe
jmp 0x461f1f
push str.rowid
push 0xfffffffffffffffe
push edx
call fcn.0042a1c0
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp]
add esp, 0xc
test esi, esi
lea eax, [edi + 3]
je 0x461f62
cmp byte [ecx + 0x1e], 0
jne 0x461f62
test eax, eax
jge 0x461f3f
mov eax, dword [ebp + 0xc]
sub eax, 1
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*4 + 0x10]
lea esi, [esi + edx*4]
movsx edx, byte [esi + 1]
push eax
push edx
push ecx
call fcn.0042a1c0
mov dword [esi + 0x10], str._missing_from_index
mov byte [esi + 1], 0xfe
jmp 0x461f6f
push str._missing_from_index
push 0xfffffffffffffffe
push ecx
call fcn.0042a1c0
mov eax, dword [esp + 0x20]
mov esi, dword [ebp + 0x14]
mov ebx, dword [eax]
mov ecx, dword [ebp]
add esp, 0xc
test esi, esi
lea eax, [edi + 4]
je 0x461fca
cmp byte [ecx + 0x1e], 0
jne 0x461fca
test eax, eax
jge 0x461f95
mov eax, dword [ebp + 0xc]
sub eax, 1
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*4 + 0x10]
lea esi, [esi + edx*4]
movsx edx, byte [esi + 1]
push eax
push edx
push ecx
call fcn.0042a1c0
add esp, 0xc
test ebx, ebx
mov dword [esi + 0x10], 0
jne 0x461fc1
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
jmp 0x461fd6
mov dword [esi + 0x10], ebx
mov byte [esi + 1], 0xfe
jmp 0x461fd6
push ebx
push 0xfffffffffffffffe
push ecx
call fcn.0042a1c0
add esp, 0xc
mov eax, dword [ebp + 0xc]
add edi, 9
cmp eax, edi
jle 0x461fea
mov edx, dword [ebp + 0x14]
lea ecx, [edi + edi*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jle 0x461fff
mov edx, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
add dword [esp + 0x1c], 1
test eax, eax
mov dword [esp + 0x14], eax
jne 0x461e95
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
lea ecx, [esi + 1]
push ecx
push 1
push 0x42
mov eax, ebp
call fcn.00429ec0
mov eax, dword [ebp + 0xc]
add esp, 0xc
cmp eax, esi
jle 0x462042
mov ecx, dword [ebp + 0x14]
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
mov edi, dword [edi + 0x14]
test edi, edi
mov dword [esp + 0x14], edi
je 0x4621ce
mov dword [esp + 0x1c], 2
lea esp, [esp]
push 1
push 0x70
mov eax, ebp
call fcn.00429e60
push 0
mov esi, eax
push 0
push 6
mov eax, ebp
call fcn.00429ec0
mov eax, dword [ebp + 0xc]
add esp, 0x14
cmp eax, esi
jle 0x46208e
mov ecx, dword [ebp + 0x14]
lea edx, [esi + esi*4]
mov dword [ecx + edx*4 + 8], eax
push 0x4c4a18
push 0xa
mov eax, ebp
call fcn.0042a0e0
mov edi, eax
lea eax, [edi + 1]
add esp, 8
cmp dword [ebp + 0xc], eax
jle 0x4620c9
mov ecx, dword [ebp + 0x14]
mov esi, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], esi
cmp dword [ebp + 0xc], eax
jle 0x4620c9
mov ecx, dword [ebp + 0x14]
lea edx, [edi + 4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
lea eax, [edi + 3]
cmp dword [ebp + 0xc], eax
jle 0x4620f1
mov ecx, dword [ebp + 0x14]
mov esi, dword [esp + 0x1c]
lea edx, [eax + eax*4]
mov dword [ecx + edx*4 + 4], esi
cmp dword [ebp + 0xc], eax
jle 0x4620f1
mov ecx, dword [ebp + 0x14]
lea edx, [edi + 2]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
mov ecx, dword [ebp + 0xc]
lea eax, [edi + 4]
cmp ecx, eax
jle 0x462105
lea edx, [eax + eax*4]
mov eax, dword [ebp + 0x14]
mov dword [eax + edx*4 + 8], ecx
mov edx, dword [ebp + 0x14]
test edx, edx
mov ecx, dword [ebp]
lea eax, [edi + 6]
je 0x462144
cmp byte [ecx + 0x1e], 0
jne 0x462144
test eax, eax
jge 0x462122
mov eax, dword [ebp + 0xc]
sub eax, 1
lea eax, [eax + eax*4]
lea esi, [edx + eax*4]
mov edx, dword [esi + 0x10]
movsx eax, byte [esi + 1]
push edx
push eax
push ecx
call fcn.0042a1c0
mov dword [esi + 0x10], str.wrong__of_entries_in_index
mov byte [esi + 1], 0xfe
jmp 0x462151
push str.wrong__of_entries_in_index
push 0xfffffffffffffffe
push ecx
call fcn.0042a1c0
mov ecx, dword [esp + 0x20]
mov esi, dword [ebp + 0x14]
mov ebx, dword [ecx]
mov ecx, dword [ebp]
add esp, 0xc
test esi, esi
lea eax, [edi + 7]
je 0x4621aa
cmp byte [ecx + 0x1e], 0
jne 0x4621aa
test eax, eax
jge 0x462177
mov eax, dword [ebp + 0xc]
sub eax, 1
lea edx, [eax + eax*4]
mov eax, dword [esi + edx*4 + 0x10]
lea esi, [esi + edx*4]
movsx edx, byte [esi + 1]
push eax
push edx
push ecx
call fcn.0042a1c0
xor eax, eax
add esp, 0xc
cmp ebx, eax
mov dword [esi + 0x10], eax
jne 0x4621a1
mov dword [esi + 0x10], eax
mov byte [esi + 1], al
jmp 0x4621b6
mov dword [esi + 0x10], ebx
mov byte [esi + 1], 0xfe
jmp 0x4621b6
push ebx
push 0xfffffffffffffffe
push ecx
call fcn.0042a1c0
add esp, 0xc
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x20]
add dword [esp + 0x1c], 1
test eax, eax
mov dword [esp + 0x14], eax
jne 0x462060
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
test eax, eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x18], eax
jne 0x461df0
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], 0x10
add eax, 1
cmp eax, dword [ebx + 4]
mov dword [esp + 0x20], eax
jl 0x461c75
push 0x4c49dc
push 4
mov eax, ebp
call fcn.0042a0e0
add esp, 8
cmp dword [ebp + 0xc], eax
jle 0x462223
mov ecx, dword [esp + 0x2c]
mov esi, dword [ebp + 0x14]
neg ecx
lea edx, [eax + eax*4]
mov dword [esi + edx*4 + 8], ecx
mov edx, dword [ebp + 0xc]
lea ecx, [eax + 1]
cmp edx, ecx
jle 0x462237
mov esi, dword [ebp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [esi + ecx*4 + 8], edx
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp]
add eax, 2
test ecx, ecx
je 0x462276
cmp byte [edx + 0x1e], 0
jne 0x462276
test eax, eax
jge 0x462254
mov eax, dword [ebp + 0xc]
sub eax, 1
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
mov ecx, dword [esi + 0x10]
movsx eax, byte [esi + 1]
push ecx
push eax
push edx
call fcn.0042a1c0
mov dword [esi + 0x10], 0x4cf414
mov byte [esi + 1], 0xfe
jmp 0x462283
push 0x4cf414
push 0xfffffffffffffffe
push edx
call fcn.0042a1c0
add esp, 0xc
push 0
push 1
push 0x77
mov eax, ebp
call fcn.00429ec0
mov ebx, dword [esp + 0x3c]
add esp, 0xc
cmp byte [ebx + 0x1c], 0
je 0x4622bc
movzx ecx, byte [ebx + 0xe]
mov eax, dword [esp + 0x10]
movzx edx, byte [eax + 9]
mov eax, dword [eax + 4]
and ecx, 1
push ecx
push edx
call fcn.00415230
add esp, 8
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
push eax
push ebx
call fcn.0040f470
push edi
push ebx
call fcn.0040f470
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret