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

Disassembly:
sub esp, 0x70
push ebx
push ebp
mov ebp, dword [esp + 0x7c]
push esi
mov esi, dword [ebp]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x10], esi
test edi, edi
jne 0x4685aa
mov ebx, ebp
call fcn.0043c740
mov edi, eax
mov dword [ebp + 8], eax
test edi, edi
je 0x46858c
push 0x99
mov esi, edi
call fcn.0043c930
mov esi, dword [esp + 0x14]
add esp, 4
cmp dword [ebp + 0x198], 0
jne 0x4685a2
mov eax, dword [ebp]
test byte [eax + 0x3c], 8
jne 0x4685a2
mov byte [ebp + 0x17], 1
test edi, edi
je 0x46ad23
or dword [edi + 0x58], 0x40
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x88]
push ebp
lea ecx, [esp + 0x58]
mov dword [ebp + 0x48], 2
call fcn.004574f0
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
jl 0x46ad23
mov edx, dword [esi + 0x10]
mov ecx, eax
shl ecx, 4
add edx, ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x28], edx
cmp eax, 1
jne 0x468602
mov eax, ebp
call fcn.0045b830
test eax, eax
jne 0x46ad23
mov ecx, dword [esp + 0x54]
push esi
call fcn.00457320
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x46ad23
cmp dword [esp + 0x94], 0
mov ecx, dword [esp + 0x90]
je 0x468646
mov esi, dword [esp + 0x10]
push ecx
push 0x4d8d44
call fcn.00422430
mov ebx, eax
add esp, 8
mov dword [esp + 0x18], ebx
jmp 0x468655
push esi
call fcn.00457320
add esp, 4
mov dword [esp + 0x18], eax
mov ebx, eax
mov edx, dword [esp + 0x8c]
cmp dword [edx + 4], 0
jbe 0x46866e
mov eax, dword [esp + 0x28]
mov esi, dword [eax]
mov dword [esp + 0x20], esi
jmp 0x46867a
mov dword [esp + 0x20], 0
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push esi
push ebx
push ecx
push 0x13
mov eax, ebp
call fcn.004562d0
add esp, 0x10
test eax, eax
jne 0x46ad09
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ebx
mov dword [eax + 0x1c4], ecx
lea ecx, [esp + 0x70]
push ecx
push 0xe
push esi
push eax
call fcn.0048ab50
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x46872c
mov eax, dword [esp + 0x70]
test eax, eax
je 0x46ad09
inc dword [ebp + 0x48]
mov ebp, dword [ebp + 0x48]
push esi
push eax
push esi
push ebp
push esi
push 0x61
mov esi, edi
call fcn.0043ca30
push 1
mov ebx, edi
call fcn.0043e160
add esp, 0x1c
push 0
push 0
push 0
mov ebx, str.result
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 1
push ebp
push 0x23
call fcn.0043c9d0
mov edx, dword [esp + 0x7c]
add esp, 0xc
push edx
call fcn.00420a40
add esp, 4
jmp 0x46ad09
cmp esi, 0xc
je 0x46875e
mov eax, dword [esp + 0x70]
test eax, eax
je 0x468753
push eax
push 0x4d4df4
mov edi, ebp
call fcn.004231b0
mov eax, dword [esp + 0x78]
push eax
call fcn.00420a40
add esp, 0xc
inc dword [ebp + 0x40]
mov dword [ebp + 0xc], esi
jmp 0x46ad09
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0x37
mov edi, edi
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
lea eax, [ecx + edx]
cdq
sub eax, edx
mov edx, dword [esp + 0x24]
mov esi, eax
sar esi, 1
lea eax, [esi + esi*2]
mov ecx, dword [eax*4 + 0x4d03f8]
push ecx
push edx
call fcn.00423340
add esp, 8
test eax, eax
je 0x4687bb
jge 0x4687a7
dec esi
mov dword [esp + 0x34], esi
jmp 0x4687ac
inc esi
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x30], eax
jle 0x468770
jmp 0x46ad09
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x30], ecx
jg 0x46ad09
lea ecx, [esi + esi*2]
add ecx, ecx
add ecx, ecx
test byte [ecx + 0x4d03fd], 1
mov dword [esp + 0x54], ecx
je 0x4687f0
mov esi, ebp
call fcn.0046b6d0
test eax, eax
jne 0x46ad09
mov ecx, dword [esp + 0x54]
movzx eax, byte [ecx + 0x4d03fc]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
cmp eax, 0x23
ja case.0x468808.3
jmp dword [eax*4 + 0x46ad2c]
mov ecx, dword [esp + 0x14]
mov edx, 1
shl edx, cl
or dword [edi + 0x60], edx
cmp ecx, 1
je 0x468829
mov eax, edi
call fcn.0043d540
test ebx, ebx
jne 0x4688aa
push 1
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.cache_size
mov ecx, edi
call fcn.0043e220
add dword [ebp + 0x48], 2
add esp, 0xc
push 0x4d06e0
push 9
push edi
call fcn.0043ce30
add esp, 0xc
cmp dword [edi + 0x20], eax
jbe 0x468875
mov edx, dword [edi + 4]
mov esi, dword [esp + 0x14]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], esi
lea ecx, [eax + 1]
cmp dword [edi + 0x20], ecx
jbe 0x46888b
mov edx, dword [edi + 4]
mov esi, dword [esp + 0x14]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 4], esi
add eax, 6
cmp dword [edi + 0x20], eax
jbe 0x46ad09
mov ecx, dword [edi + 4]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 4], 0x7d0
jmp 0x46ad09
mov ecx, ebx
call fcn.00423db0
call fcn.00424470
mov ecx, dword [esp + 0x14]
push 0
mov edx, ebp
mov ebx, eax
call fcn.0045b9a0
add esp, 4
push 1
push ebx
push 0x19
mov esi, edi
call fcn.0043c9d0
mov edx, dword [esp + 0x20]
add esp, 0xc
push 1
push 3
push edx
push 0x34
call fcn.0043c8d0
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0xc]
mov dword [ecx + 0x50], ebx
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 0x50]
mov eax, dword [eax + 4]
push ecx
call fcn.00432b20
add esp, 0x14
jmp 0x46ad09
mov esi, dword [esi + 4]
test ebx, ebx
jne 0x468935
test esi, esi
je 0x468926
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x20]
cdq
push edx
push eax
push str.page_size
jmp 0x46acff
xor eax, eax
cdq
push edx
push eax
push str.page_size
jmp 0x46acff
mov ecx, dword [esp + 0x18]
call fcn.00423db0
mov edi, dword [esp + 0x10]
push 0
push 0xffffffffffffffff
mov ebx, esi
mov dword [edi + 0x48], eax
call fcn.00432c40
add esp, 8
cmp eax, 7
jne 0x46ad09
mov byte [edi + 0x40], 1
jmp 0x46ad09
mov eax, dword [esi + 4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x34], 0xffffffff
test ebx, ebx
je 0x46898e
mov ebx, dword [esp + 0x18]
xor al, al
call fcn.004681e0
mov edx, dword [esp + 0x10]
movzx ecx, al
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x8c]
cmp dword [eax + 4], 0
jne 0x4689d1
cmp dword [esp + 0x34], 0
jl 0x4689d1
xor edi, edi
cmp dword [edx + 0x14], edi
jle 0x4689d1
xor esi, esi
jmp 0x4689b0
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x34]
mov eax, dword [esi + edx + 4]
call fcn.00432d90
mov eax, dword [esp + 0x10]
inc edi
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x4689b0
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
call fcn.00432d90
cdq
push edx
push eax
push str.secure_delete
jmp 0x46acff
mov esi, dword [esp + 0x14]
mov ecx, esi
mov edx, ebp
call fcn.0045b8c0
inc dword [ebp + 0x48]
mov ecx, dword [esp + 0x24]
movzx edx, byte [ecx]
cmp byte [edx + 0x4cf738], 0x70
mov ebp, dword [ebp + 0x48]
jne 0x468a21
push ebp
push esi
push 0x97
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
jmp 0x468a3f
mov ecx, ebx
call fcn.00423db0
call fcn.00424470
push eax
push ebp
push esi
push 0x98
mov esi, edi
call fcn.0043c8d0
add esp, 0x10
push 1
push ebp
push 0x23
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
push 1
mov ebx, edi
call fcn.0043e160
mov ebx, dword [esp + 0x28]
add esp, 4
push 0xffffffffffffffff
push 0
push 0
mov ecx, edi
call fcn.0043e220
jmp 0x46ad06
mov esi, ebx
mov dword [esp + 0x44], str.normal
call fcn.00468200
mov edx, eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 4]
test eax, eax
jne 0x468ad2
cmp edx, 0xffffffff
jne 0x468a9e
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 0x41]
jmp 0x468ae3
test eax, eax
jne 0x468ad2
mov ebp, dword [esp + 0x10]
mov esi, 2
cmp dword [ebp + 0x14], esi
jle 0x468acf
mov ebx, 0x20
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebx + eax + 4]
mov eax, dword [ecx + 4]
mov eax, dword [eax]
call fcn.0042e290
inc esi
add ebx, 0x10
cmp esi, dword [ebp + 0x14]
jl 0x468ab5
mov byte [ebp + 0x41], dl
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
call fcn.0042e290
cmp eax, 1
jne 0x468af0
mov dword [esp + 0x44], str.exclusive
push 1
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.locking_mode
mov ecx, edi
call fcn.0043e220
mov edx, dword [esp + 0x50]
add esp, 0xc
push 0
push edx
push 0
push 1
push 0
push 0x61
mov esi, edi
call fcn.0043ca30
push 1
push 1
push 0x23
call fcn.0043c9d0
add esp, 0x24
jmp 0x46ad09
push 1
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.journal_mode
mov ecx, edi
call fcn.0043e220
mov esi, dword [esp + 0x24]
add esp, 0xc
test esi, esi
jne 0x468b6d
mov dword [esp + 0x28], 0xffffffff
jmp 0x468ba3
mov ecx, esi
call fcn.004230d0
mov ebp, eax
xor ebx, ebx
cmp ebx, 6
je 0x468b63
mov eax, dword [ebx*4 + 0x4d06c8]
test eax, eax
je 0x468b63
push ebp
push eax
push esi
call fcn.00423390
add esp, 0xc
test eax, eax
je 0x468b9a
inc ebx
jmp 0x468b78
mov dword [esp + 0x28], ebx
cmp ebx, 0xffffffff
jne 0x468bbf
mov eax, dword [esp + 0x8c]
cmp dword [eax + 4], 0
jne 0x468bbf
mov dword [esp + 0x14], 0
mov dword [eax + 4], 1
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x14]
sub ebx, 1
js 0x468c25
mov ebp, ebx
shl ebp, 4
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x10]
cmp dword [edx + ebp + 4], 0
je 0x468c1d
cmp ebx, dword [esp + 0x14]
je 0x468bf1
mov eax, dword [esp + 0x8c]
cmp dword [eax + 4], 0
jne 0x468c1d
mov edx, 1
mov ecx, ebx
shl edx, cl
or dword [edi + 0x60], edx
cmp ebx, 1
je 0x468c09
mov eax, edi
call fcn.0043d540
mov eax, dword [esp + 0x28]
push eax
push 1
push ebx
push 0xc
mov esi, edi
call fcn.0043c8d0
add esp, 0x10
dec ebx
sub ebp, 0x10
test ebx, ebx
jge 0x468bd0
push 1
push 1
push 0x23
mov esi, edi
call fcn.0043c9d0
jmp 0x46ad06
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 4]
mov esi, dword [edx]
or ecx, 0xffffffff
mov eax, 0xfffffffe
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
test ebx, ebx
je 0x468c81
lea eax, [esp + 0x68]
push eax
mov edi, ebx
call fcn.00423b50
mov ecx, dword [esp + 0x70]
add esp, 4
cmp ecx, 0xffffffff
jg 0x468c7d
jl 0x468c76
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
jae 0x468c81
or eax, 0xffffffff
or ecx, eax
jmp 0x468c81
mov eax, dword [esp + 0x68]
push ecx
push eax
mov ecx, esi
call fcn.0042e3b0
push edx
push eax
push str.journal_size_limit
mov eax, ebp
call fcn.00468380
add esp, 0x14
jmp 0x46ad09
mov esi, dword [esi + 4]
mov dword [esp + 0x54], esi
test ebx, ebx
jne 0x468cbf
mov eax, esi
call fcn.00432e70
cdq
push edx
push eax
push str.auto_vacuum
jmp 0x46acff
mov esi, ebx
call fcn.00468240
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov eax, dword [esp + 0x54]
push ebx
mov byte [ecx + 0x42], bl
call fcn.00432df0
add esp, 4
test eax, eax
jne 0x46ad09
cmp ebx, 1
je 0x468cf2
cmp ebx, 2
jne 0x46ad09
push 0x4d0708
push 6
push edi
call fcn.0043ce30
mov ecx, dword [esp + 0x20]
add esp, 0xc
cmp dword [edi + 0x20], eax
jbe 0x468d15
mov esi, dword [edi + 4]
lea edx, [eax + eax*4]
mov dword [esi + edx*4 + 4], ecx
lea edx, [eax + 1]
cmp dword [edi + 0x20], edx
jbe 0x468d27
mov esi, dword [edi + 4]
lea edx, [edx + edx*4]
mov dword [esi + edx*4 + 4], ecx
lea edx, [eax + 2]
cmp dword [edi + 0x20], edx
jbe 0x468d3c
mov ebp, dword [edi + 4]
lea esi, [eax + 4]
lea edx, [edx + edx*4]
mov dword [ebp + edx*4 + 8], esi
lea edx, [eax + 4]
cmp dword [edi + 0x20], edx
jbe 0x468d4f
mov esi, dword [edi + 4]
dec ebx
lea edx, [edx + edx*4]
mov dword [esi + edx*4 + 4], ebx
add eax, 5
cmp dword [edi + 0x20], eax
jbe 0x468d61
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 4], ecx
mov eax, 1
shl eax, cl
or dword [edi + 0x60], eax
cmp ecx, 1
je 0x46ad09
mov eax, edi
call fcn.0043d540
jmp 0x46ad09
test ebx, ebx
je 0x468d9e
lea ecx, [esp + 0x54]
push ecx
push ebx
call fcn.00423c60
add esp, 8
test eax, eax
je 0x468d9e
mov esi, dword [esp + 0x54]
test esi, esi
jg 0x468da3
mov esi, SysReAllocString
mov ebx, dword [esp + 0x14]
push 0
mov ecx, ebx
mov edx, ebp
call fcn.0045b9a0
add esp, 4
push 1
push esi
push 0x19
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
push ebx
push 0x8d
call fcn.0043c980
push 1
push 0x23
mov ebx, eax
call fcn.0043c980
push 0xffffffffffffffff
push 1
push 0x25
call fcn.0043c9d0
add esp, 0x1c
push ebx
push 1
push 0x89
call fcn.0043c9d0
add esp, 0xc
mov eax, ebx
mov edx, edi
call fcn.0043cee0
jmp 0x46ad09
test ebx, ebx
jne 0x468e1d
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x50]
cdq
push edx
push eax
push str.cache_size
jmp 0x46acff
mov ecx, ebx
call fcn.00423db0
mov ecx, dword [esi + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [esi + 0xc]
mov eax, dword [edx + 0x50]
push eax
mov eax, dword [esi + 4]
call fcn.00432b20
add esp, 4
jmp 0x46ad09
test ebx, ebx
je 0x468edf
lea ecx, [esp + 0x68]
push ecx
mov edi, ebx
call fcn.00423b50
mov ecx, dword [esp + 0x70]
add esp, 4
test ecx, ecx
jg 0x468e7d
jl 0x468e69
cmp dword [esp + 0x68], 0
jae 0x468e7d
mov edx, dword [0x4e7318]
mov ecx, dword [0x4e731c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x8c]
cmp dword [eax + 4], 0
mov ebx, dword [esp + 0x10]
jne 0x468e98
mov edx, dword [esp + 0x68]
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x2c], ecx
mov esi, dword [ebx + 0x14]
sub esi, 1
js 0x468ee3
mov edi, esi
shl edi, 4
mov eax, dword [ebx + 0x10]
mov eax, dword [edi + eax + 4]
test eax, eax
je 0x468ed5
cmp esi, dword [esp + 0x14]
je 0x468ec3
mov edx, dword [esp + 0x8c]
cmp dword [edx + 4], 0
jne 0x468ed5
push ecx
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.00432b60
mov ecx, dword [esp + 0x74]
add esp, 8
dec esi
sub edi, 0x10
test esi, esi
jge 0x468ea5
jmp 0x468ee3
mov ebx, dword [esp + 0x10]
or eax, 0xffffffff
lea edx, [esp + 0x68]
push edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x24]
push 0x12
push eax
push ebx
call fcn.0048ab50
add esp, 0x10
test eax, eax
jne 0x468f1b
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push ecx
push edx
push str.mmap_size
jmp 0x46acff
cmp eax, 0xc
je 0x46ad09
inc dword [ebp + 0x40]
mov dword [ebp + 0xc], eax
jmp 0x46ad09
test ebx, ebx
jne 0x468f48
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x3f]
cdq
push edx
push eax
push str.temp_store
jmp 0x46acff
mov eax, ebx
mov edi, ebp
call fcn.00468310
jmp 0x46ad09
test ebx, ebx
jne 0x468f95
cmp dword [0x4ecb24], ebx
je 0x46ad09
push 1
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.temp_store_directory
mov ecx, edi
call fcn.0043e220
mov ecx, dword [0x4ecb24]
add esp, 0xc
push 0
push ecx
jmp 0x468b18
cmp byte [ebx], 0
je 0x468fcf
mov edx, dword [esp + 0x10]
mov eax, dword [edx]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x54]
push ecx
push 1
push ebx
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x468fbb
cmp dword [esp + 0x54], eax
jne 0x468fcf
push str.not_a_writable_directory
mov edi, ebp
call fcn.004231b0
add esp, 4
jmp 0x46ad09
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x3f], 1
ja 0x468fe0
mov eax, ebp
call fcn.004682c0
mov ecx, dword [0x4ecb24]
push ecx
call fcn.00420a40
add esp, 4
cmp byte [ebx], 0
je 0x46900c
push ebx
push 0x4d4df4
call fcn.00422560
add esp, 8
mov dword [0x4ecb24], eax
jmp 0x46ad09
mov dword [0x4ecb24], 0
jmp 0x46ad09
test ebx, ebx
jne 0x469054
cmp dword [0x4ecb28], ebx
je 0x46ad09
push 1
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.data_store_directory
mov ecx, edi
call fcn.0043e220
mov edx, dword [0x4ecb28]
jmp 0x468b12
cmp byte [ebx], 0
je 0x469082
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x54]
push ecx
push 1
push ebx
push eax
call edx
add esp, 0x10
test eax, eax
jne 0x468fbb
cmp dword [esp + 0x54], eax
je 0x468fbb
mov eax, dword [0x4ecb28]
push eax
call fcn.00420a40
add esp, 4
cmp byte [ebx], 0
je 0x4690ad
push ebx
push 0x4d4df4
call fcn.00422560
add esp, 8
mov dword [0x4ecb28], eax
jmp 0x46ad09
mov dword [0x4ecb28], 0
jmp 0x46ad09
test ebx, ebx
jne 0x4690d2
movzx eax, byte [esi + 8]
dec eax
cdq
push edx
push eax
push str.synchronous
jmp 0x46acff
cmp byte [edx + 0x3e], 0
jne 0x4690ec
push str.Safety_level_may_not_be_changed_inside_a_transaction
mov edi, ebp
call fcn.004231b0
add esp, 4
jmp 0x46ad09
mov ebx, dword [esp + 0x18]
push 1
push 0
call fcn.00468130
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
inc al
push edx
mov byte [ecx + 8], al
call fcn.00468470
jmp 0x46ad06
test ebx, ebx
jne 0x469137
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + 0x4d0400]
and eax, dword [edx + 0x18]
neg eax
sbb eax, eax
neg eax
cdq
push edx
push eax
mov eax, dword [ecx + 0x4d03f8]
push eax
jmp 0x46acff
cmp byte [edx + 0x3e], 0
mov esi, dword [ecx + 0x4d0400]
jne 0x469149
and esi, 0xfff7ffff
mov ebx, dword [esp + 0x18]
xor al, al
call fcn.004681e0
mov ebx, dword [esp + 0x10]
test al, al
je 0x469161
or dword [ebx + 0x18], esi
jmp 0x46917e
mov ecx, esi
not ecx
and dword [ebx + 0x18], ecx
cmp esi, 0x1000000
jne 0x46917e
xor eax, eax
mov dword [ebx + 0x200], eax
mov dword [ebx + 0x204], eax
push 0
push 0
push 0x8e
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
push ebx
call fcn.00468470
add esp, 4
jmp 0x46ad09
test ebx, ebx
je 0x46ad09
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
push edx
push eax
call fcn.004568e0
mov esi, eax
add esp, 8
mov dword [esp + 0x44], esi
test esi, esi
je 0x46ad09
mov dword [esp + 0x3c], 0
call fcn.004575b0
push 6
mov ebx, edi
mov dword [esp + 0x58], eax
call fcn.0043e160
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, ebp
mov dword [ebp + 0x48], 6
call fcn.0045b8c0
push 0
push 0
push 0
mov ebx, 0x4d8da4
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, str.name
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 2
mov ebx, str.type
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 3
mov ebx, str.notnull
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 4
mov ebx, str.dflt_value
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 5
mov ebx, 0x4d8dbc
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push esi
mov eax, ebp
call fcn.00459110
mov ebx, dword [esi + 4]
xor ecx, ecx
add esp, 4
xor ebp, ebp
cmp cx, word [esi + 0x26]
jge 0x46ad09
test byte [ebx + 0x17], 2
je 0x4692a3
inc dword [esp + 0x3c]
jmp 0x469380
mov edx, ebp
sub edx, dword [esp + 0x3c]
push 1
push edx
push 0x19
mov esi, edi
call fcn.0043c9d0
mov eax, dword [ebx]
add esp, 0xc
push 0
push eax
push 0
push 2
push 0
push 0x61
call fcn.0043ca30
mov eax, dword [ebx + 0xc]
add esp, 0x18
test eax, eax
jne 0x4692d9
mov eax, 0x4d5034
push 0
push eax
push 0
push 3
push 0
push 0x61
mov esi, edi
call fcn.0043ca30
xor ecx, ecx
cmp byte [ebx + 0x14], cl
push 4
setne cl
push ecx
push 0x19
call fcn.0043c9d0
mov eax, dword [ebx + 8]
add esp, 0x24
test eax, eax
je 0x46931c
push 0
push eax
push 0
push 5
push 0
push 0x61
call fcn.0043ca30
add esp, 0x18
jmp 0x46932a
push 5
push 0
push 0x1c
call fcn.0043c9d0
add esp, 0xc
test byte [ebx + 0x17], 1
jne 0x469334
xor eax, eax
jmp 0x46935f
mov ecx, dword [esp + 0x54]
mov eax, 1
test ecx, ecx
je 0x46935f
mov edx, dword [esp + 0x44]
movsx edx, word [edx + 0x26]
cmp edx, eax
jl 0x46935f
mov ecx, dword [ecx + 4]
movsx esi, word [ecx]
cmp esi, ebp
je 0x46935f
inc eax
add ecx, 2
cmp eax, edx
jle 0x469350
push 6
push eax
push 0x19
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
push 6
push 1
push 0x23
call fcn.0043c9d0
mov esi, dword [esp + 0x50]
add esp, 0xc
movsx eax, word [esi + 0x26]
inc ebp
add ebx, 0x18
cmp ebp, eax
jl 0x469294
jmp 0x46ad09
mov eax, ebp
call fcn.0046ee30
mov esi, eax
push 4
mov ebx, esi
call fcn.0043e160
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, ebp
mov dword [ebp + 0x48], 4
call fcn.0045b8c0
push 0
push 0
push 0
mov ebx, str.table
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, str.index
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 2
mov ebx, str.width
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 3
mov ebx, str.height
mov ecx, esi
call fcn.0043e220
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0xc]
mov ebx, dword [edx + 0x10]
add esp, 0xc
test ebx, ebx
je 0x46ad09
mov edi, dword [ebx + 8]
mov eax, dword [edi]
push 0
push eax
push 0
push 1
push 0
push 0x61
call fcn.0043ca30
push 2
push 0
push 0x1c
call fcn.0043c9d0
mov ax, word [edi + 0x2a]
add esp, 0x24
push 3
push ecx
call fcn.00424580
add esp, 4
push eax
push 0x19
call fcn.0043c9d0
mov ax, word [edi + 0x1c]
add esp, 0xc
push 4
push ecx
call fcn.00424580
add esp, 4
push eax
push 0x19
call fcn.0043c9d0
add esp, 0xc
push 4
push 1
push 0x23
call fcn.0043c9d0
mov edi, dword [edi + 8]
add esp, 0xc
test edi, edi
je 0x4694f0
mov edi, edi
mov ecx, dword [edi]
push 0
push ecx
push 0
push 2
push 0
push 0x61
call fcn.0043ca30
mov ax, word [edi + 0x30]
add esp, 0x18
push 3
push ecx
call fcn.00424580
add esp, 4
push eax
push 0x19
call fcn.0043c9d0
mov edx, dword [edi + 8]
mov ax, word [edx]
add esp, 0xc
push 4
push ecx
call fcn.00424580
add esp, 4
push eax
push 0x19
call fcn.0043c9d0
add esp, 0xc
push 4
push 1
push 0x23
call fcn.0043c9d0
mov edi, dword [edi + 0x14]
add esp, 0xc
test edi, edi
jne 0x469490
mov ebx, dword [ebx]
test ebx, ebx
jne 0x469422
jmp 0x46ad09
test ebx, ebx
je 0x46ad09
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
push eax
call fcn.00456a90
mov esi, eax
add esp, 4
mov dword [esp + 0x44], esi
test esi, esi
je 0x46ad09
mov ecx, dword [esi + 0xc]
push 3
mov ebx, edi
mov dword [esp + 0x58], ecx
call fcn.0043e160
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, ebp
mov dword [ebp + 0x48], 3
call fcn.0045b8c0
push 0
push 0
push 0
mov ebx, str.seqno
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, 0x4d8da4
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 2
mov ebx, str.name
mov ecx, edi
call fcn.0043e220
xor edx, edx
add esp, 0xc
xor ebx, ebx
cmp dx, word [esi + 0x32]
jae 0x46ad09
lea esp, [esp]
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 4]
movzx ebp, word [ecx + ebx*2]
push 1
push ebx
push 0x19
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
movsx ebp, bp
push 2
push ebp
push 0x19
call fcn.0043c9d0
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 4]
add esp, 0xc
push 0
lea edx, [ebp + ebp*2]
mov edx, dword [ecx + edx*8]
push edx
push 0
push 3
push 0
push 0x61
call fcn.0043ca30
push 3
push 1
push 0x23
call fcn.0043c9d0
mov eax, dword [esp + 0x68]
movzx ecx, word [eax + 0x32]
inc ebx
add esp, 0x24
cmp ebx, ecx
jl 0x4695a0
jmp 0x46ad09
test ebx, ebx
je 0x46ad09
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
push edx
push eax
call fcn.004568e0
mov edi, eax
add esp, 8
test edi, edi
je 0x46ad09
mov eax, ebp
call fcn.0046ee30
mov esi, eax
push 3
mov ebx, esi
call fcn.0043e160
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, ebp
mov dword [ebp + 0x48], 3
call fcn.0045b8c0
push 0
push 0
push 0
mov ebx, 0x4d8dd8
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, str.name
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 2
mov ebx, str.unique
mov ecx, esi
call fcn.0043e220
mov edi, dword [edi + 8]
add esp, 0xc
xor ebx, ebx
test edi, edi
je 0x46ad09
push 1
push ebx
push 0x19
call fcn.0043c9d0
mov ecx, dword [edi]
add esp, 0xc
push 0
push ecx
push 0
push 2
push 0
push 0x61
call fcn.0043ca30
xor edx, edx
cmp byte [edi + 0x36], dl
push 3
setne dl
push edx
push 0x19
call fcn.0043c9d0
add esp, 0x24
push 3
push 1
push 0x23
call fcn.0043c9d0
mov edi, dword [edi + 0x14]
add esp, 0xc
inc ebx
test edi, edi
jne 0x4696a3
jmp 0x46ad09
push 3
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, 0x4d8dd8
mov ecx, edi
mov dword [ebp + 0x48], 3
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, str.name
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 2
mov ebx, str.file
mov ecx, edi
call fcn.0043e220
mov eax, dword [esp + 0x1c]
xor ebp, ebp
add esp, 0xc
cmp dword [eax + 0x14], ebp
jle 0x46ad09
xor ebx, ebx
mov ecx, dword [eax + 0x10]
cmp dword [ecx + ebx + 4], 0
je 0x4697bd
push 1
push ebp
push 0x19
mov esi, edi
call fcn.0043c9d0
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x10]
mov ecx, dword [eax + ebx]
add esp, 0xc
push 0
push ecx
push 0
push 2
push 0
push 0x61
call fcn.0043ca30
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ebx + 4]
add esp, 0x18
push 0
call fcn.00439db0
push eax
push 0
push 3
push 0
push 0x61
call fcn.0043ca30
push 3
push 1
push 0x23
call fcn.0043c9d0
mov eax, dword [esp + 0x34]
add esp, 0x24
inc ebp
add ebx, 0x10
cmp ebp, dword [eax + 0x14]
jl 0x469755
jmp 0x46ad09
push 2
mov ebx, edi
mov dword [esp + 0x40], 0
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, 0x4d8dd8
mov ecx, edi
mov dword [ebp + 0x48], 2
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, str.name
mov ecx, edi
call fcn.0043e220
mov ecx, dword [esp + 0x1c]
mov ebx, dword [ecx + 0x1b4]
add esp, 0xc
test ebx, ebx
je 0x46ad09
mov edx, dword [esp + 0x3c]
mov ebp, dword [ebx + 8]
push 1
push edx
push 0x19
mov esi, edi
call fcn.0043c9d0
mov eax, dword [ebp]
inc dword [esp + 0x48]
add esp, 0xc
push 0
push eax
push 0
push 2
push 0
push 0x61
call fcn.0043ca30
push 2
push 1
push 0x23
call fcn.0043c9d0
mov ebx, dword [ebx]
add esp, 0x24
test ebx, ebx
jne 0x469822
jmp 0x46ad09
test ebx, ebx
je 0x46ad09
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
push ecx
push edx
call fcn.004568e0
add esp, 8
mov dword [esp + 0x44], eax
test eax, eax
je 0x46ad09
mov eax, ebp
call fcn.0046ee30
mov esi, eax
mov eax, dword [esp + 0x44]
mov ebp, dword [eax + 0x10]
test ebp, ebp
je 0x46ad09
push 8
mov ebx, esi
mov dword [esp + 0x40], 0
call fcn.0043e160
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x18]
add esp, 4
mov dword [edx + 0x48], 8
call fcn.0045b8c0
push 0
push 0
push 0
mov ebx, 0x4cee18
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, 0x4d8dd8
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 2
mov ebx, str.table
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 3
mov ebx, str.from
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 4
mov ebx, 0x4d8dec
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 5
mov ebx, str.on_update
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 6
mov ebx, str.on_delete
mov ecx, esi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 7
mov ebx, str.match
mov ecx, esi
call fcn.0043e220
add esp, 0xc
lea ecx, [ecx]
xor ebx, ebx
cmp dword [ebp + 0x14], ebx
jle 0x469a80
lea ecx, [ebp + 0x24]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x34]
mov al, byte [ebp + 0x19]
mov edi, dword [edx + 4]
call fcn.00468500
mov dword [esp + 0x50], eax
mov al, byte [ebp + 0x1a]
call fcn.00468500
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3c]
push 1
push eax
push 0x19
call fcn.0043c9d0
add esp, 0xc
push 2
push ebx
push 0x19
call fcn.0043c9d0
mov ecx, dword [ebp + 8]
add esp, 0xc
push 0
push ecx
push 0
push 3
push 0
push 0x61
call fcn.0043ca30
mov edx, dword [esp + 0x4c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 4]
push 0
lea eax, [eax + eax*2]
mov eax, dword [edx + eax*8]
push eax
push 0
push 4
push 0
push 0x61
call fcn.0043ca30
push 0
push edi
neg edi
push 0
sbb edi, edi
push 5
and edi, 0x45
push 0
add edi, 0x1c
push edi
call fcn.0043ca30
mov ecx, dword [esp + 0x9c]
add esp, 0x48
push 0
push ecx
push 0
push 6
push 0
push 0x61
call fcn.0043ca30
mov edx, dword [esp + 0x68]
push 0
push edx
push 0
push 7
push 0
push 0x61
call fcn.0043ca30
push 0
push str.NONE
push 0
push 8
push 0
push 0x61
call fcn.0043ca30
add esp, 0x48
push 8
push 1
push 0x23
call fcn.0043c9d0
add esp, 0xc
add dword [esp + 0x34], 8
inc ebx
cmp ebx, dword [ebp + 0x14]
jl 0x469992
mov ebp, dword [ebp + 4]
inc dword [esp + 0x3c]
test ebp, ebp
jne 0x469980
jmp 0x46ad09
mov eax, dword [ebp + 0x48]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x30], eax
inc eax
mov dword [ebp + 0x48], eax
mov eax, ebp
mov dword [esp + 0x48], ecx
call fcn.0046ee30
mov edi, eax
push 4
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.table
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, str.rowid
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 2
mov ebx, str.parent
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 3
mov ebx, str.fkid
mov ecx, edi
call fcn.0043e220
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, ebp
call fcn.0045b8c0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov eax, dword [edx + 0x10]
mov edx, dword [eax + ecx + 0xc]
mov ecx, dword [edx + 0x10]
test ecx, ecx
je 0x46ad09
cmp dword [esp + 0x18], 0
je 0x469b5b
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
push eax
push 0
mov eax, ebp
call fcn.004569a0
add esp, 8
mov dword [esp + 0x28], eax
xor ecx, ecx
jmp 0x469b66
mov edx, dword [ecx + 8]
mov ecx, dword [ecx]
mov dword [esp + 0x28], edx
mov eax, edx
mov dword [esp + 0x4c], ecx
test eax, eax
je 0x469f35
cmp dword [eax + 0x10], 0
je 0x469f35
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [esi + 0x20]
mov ebx, dword [esp + 0x14]
push eax
push 0
push ecx
mov eax, ebp
call fcn.00456360
movsx edx, word [esi + 0x26]
mov eax, dword [esp + 0x3c]
inc eax
add eax, edx
add esp, 0xc
cmp eax, dword [ebp + 0x48]
jle 0x469baa
mov dword [ebp + 0x48], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
push 0x36
push eax
push 0
push ebp
mov eax, ebx
call fcn.004635c0
mov ecx, dword [ebx]
mov edx, dword [esp + 0x58]
push 0
push ecx
push 0
push edx
push 0
push 0x61
mov esi, edi
call fcn.0043ca30
mov ebx, dword [ebx + 0x10]
add esp, 0x28
mov dword [esp + 0x1c], 1
mov dword [esp + 0x34], ebx
test ebx, ebx
je 0x469ca3
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 8]
mov ebx, dword [esp + 0x10]
push eax
push edx
call fcn.004568e0
mov esi, eax
add esp, 8
test esi, esi
je 0x469c8c
mov eax, dword [esi]
mov ecx, dword [esi + 0x20]
mov ebx, dword [esp + 0x14]
push eax
push 0
push ecx
mov eax, ebp
mov dword [esp + 0x38], 0
call fcn.00456360
mov eax, dword [esp + 0x40]
add esp, 0xc
push 0
lea edx, [esp + 0x30]
push edx
push eax
push esi
push ebp
call fcn.00460a50
add esp, 0x14
test eax, eax
jne 0x46ad09
mov ebx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
test ebx, ebx
jne 0x469c6d
mov ecx, dword [esp + 0x14]
push 0x36
push ecx
push edx
push ebp
mov eax, esi
call fcn.004635c0
add esp, 0x10
jmp 0x469c8c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x2c]
push eax
push ecx
push edx
push 0x36
mov esi, edi
call fcn.0043c8d0
add esp, 0x10
mov ecx, ebx
mov eax, ebp
call fcn.0043d1a0
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 4]
inc dword [esp + 0x1c]
mov dword [esp + 0x34], eax
test eax, eax
jne 0x469bf0
mov eax, dword [esp + 0x1c]
cmp dword [ebp + 0x44], eax
jge 0x469caf
mov dword [ebp + 0x44], eax
push 0
push 0x6c
mov esi, edi
call fcn.0043c980
mov ecx, dword [esp + 0x30]
mov ebp, dword [ecx + 0x10]
add esp, 8
mov dword [esp + 0x50], eax
mov dword [esp + 0x1c], 1
test ebp, ebp
je 0x469f0b
jmp 0x469ce0
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x10]
push edx
push eax
call fcn.004568e0
xor ebx, ebx
mov esi, eax
add esp, 8
mov dword [esp + 0x54], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x44], ebx
cmp esi, ebx
je 0x469d25
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x30]
push edx
push ebp
push esi
push eax
call fcn.00460a50
add esp, 0x14
mov eax, edi
call fcn.0043cc20
mov dword [esp + 0x34], eax
cmp esi, ebx
je 0x469ddf
cmp dword [esp + 0x2c], ebx
jne 0x469ddf
mov ecx, dword [esp + 0x28]
movsx edx, word [ecx + 0x24]
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x40], eax
mov esi, edi
cmp eax, edx
je 0x469d94
mov ebx, dword [esp + 0x30]
inc ebx
push ebx
push eax
push 0
push 0x2f
call fcn.0043c8d0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x50]
push ebx
push ecx
mov ecx, edi
call fcn.00476f00
mov edx, dword [esp + 0x4c]
push edx
push ebx
push 0x4c
call fcn.0043c9d0
mov eax, dword [edi + 0x20]
add esp, 0x24
add eax, 3
push eax
push ebx
push 0x26
jmp 0x469d9e
mov eax, dword [esp + 0x30]
inc eax
push eax
push 0
push 0x67
call fcn.0043c9d0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
add esp, 0xc
inc eax
push eax
push 0
push ecx
push 0x46
mov esi, edi
call fcn.0043c8d0
mov edx, dword [esp + 0x44]
push edx
push 0
push 0x10
call fcn.0043c9d0
mov eax, dword [edi + 0x20]
add esp, 0x1c
sub eax, 2
mov edx, edi
call fcn.0043cee0
jmp 0x469e94
cmp dword [ebp + 0x14], ebx
mov dword [esp + 0x3c], ebx
jle 0x469e4a
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x40], eax
lea eax, [ebp + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x44]
test eax, eax
je 0x469e09
mov ecx, dword [esp + 0x3c]
mov ebx, dword [eax + ecx*4]
jmp 0x469e0f
mov edx, dword [esp + 0x38]
mov ebx, dword [edx]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
push esi
push 0
push eax
push edi
call fcn.00450570
mov ecx, dword [esp + 0x44]
push ecx
push esi
push 0x4c
mov esi, edi
call fcn.0043c9d0
mov eax, dword [esp + 0x58]
add dword [esp + 0x54], 8
inc dword [esp + 0x5c]
inc eax
add esp, 0x1c
cmp eax, dword [ebp + 0x14]
mov dword [esp + 0x3c], eax
jl 0x469df8
cmp dword [esp + 0x54], 0
je 0x469e94
mov edx, dword [ebp + 0x14]
mov esi, dword [esp + 0x2c]
push edx
push ecx
mov eax, edi
call fcn.00463690
mov ebx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [ebp + 0x14]
push ebx
push eax
lea eax, [ebx + 1]
push eax
push 0x31
mov esi, edi
call fcn.0043ca30
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x34]
push 0
push ebx
push ecx
push edx
push 0x45
mov eax, edi
call fcn.0043cb70
add esp, 0x2c
mov ebx, dword [esp + 0x48]
lea eax, [ebx + 1]
push eax
push 0
push 0x67
mov esi, edi
call fcn.0043c9d0
mov eax, dword [ebp + 8]
add esp, 0xc
push 0
push eax
push 0
lea eax, [ebx + 2]
push eax
push 0
push 0x61
call fcn.0043ca30
mov ecx, dword [esp + 0x34]
lea eax, [ebx + 3]
push eax
dec ecx
push ecx
push 0x19
call fcn.0043c9d0
add esp, 0x24
push 4
push ebx
push 0x23
call fcn.0043c9d0
mov edx, dword [esp + 0x40]
add esp, 0xc
push edx
mov ecx, edi
call fcn.0043cc70
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
add esp, 4
call fcn.00420b20
mov ebp, dword [ebp + 4]
inc dword [esp + 0x1c]
test ebp, ebp
jne 0x469ce0
mov ebx, dword [esp + 0x50]
lea eax, [ebx + 1]
push eax
push 0
push 9
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
mov eax, ebx
mov edx, edi
call fcn.0043cee0
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x84]
test ecx, ecx
jne 0x469b37
jmp 0x46ad09
test ebx, ebx
je 0x46ad09
mov ebx, dword [esp + 0x18]
xor al, al
call fcn.004681e0
mov esi, dword [esp + 0x10]
movzx ebx, al
call fcn.00460880
jmp 0x46ad09
mov ecx, dword [esp + 0x24]
movzx edx, byte [ecx]
mov ecx, dword [esp + 0x8c]
xor eax, eax
cmp byte [edx + 0x4cf738], 0x71
sete al
cmp dword [ecx], 0
mov dword [esp + 0x58], eax
jne 0x469f91
mov dword [esp + 0x14], 0xffffffff
push 1
mov ebx, edi
mov dword [ebp + 0x48], 6
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.integrity_check
mov ecx, edi
call fcn.0043e220
mov eax, dword [esp + 0x24]
add esp, 0xc
mov esi, 0x64
mov dword [esp + 0x30], esi
test eax, eax
je 0x469fe3
lea edx, [esp + 0x30]
push edx
push eax
call fcn.00423c60
add esp, 8
cmp dword [esp + 0x30], 0
jg 0x469fe3
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
push 1
push eax
push 0x19
mov esi, edi
call fcn.0043c9d0
mov edx, dword [esp + 0x1c]
xor ecx, ecx
add esp, 0xc
cmp dword [edx + 0x14], ecx
mov dword [esp + 0x38], ecx
jle 0x46a79f
mov dword [esp + 0x3c], ecx
lea ecx, [ecx]
mov eax, dword [esp + 0x14]
xor ebp, ebp
test eax, eax
jl 0x46a022
cmp ecx, eax
jne 0x46a788
mov edx, dword [esp + 0x84]
call fcn.0045b8c0
push 1
push 0x89
mov esi, edi
call fcn.0043c980
push 0
push 0
push 0x18
mov ebx, eax
call fcn.0043c9d0
add esp, 0x14
mov eax, ebx
mov edx, edi
call fcn.0043cee0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x3c]
mov ebx, dword [ecx + edx + 0xc]
mov eax, dword [ebx + 0x10]
add ebx, 8
mov dword [esp + 0x50], ebx
mov dword [esp + 0x20], eax
test eax, eax
je 0x46a0de
jmp 0x46a080
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 8]
test byte [ebx + 0x2c], 0x20
jne 0x46a0a2
mov edx, dword [ebx + 0x20]
lea ecx, [ebp + 2]
push ecx
push edx
push 0x19
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
inc ebp
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x46a0cc
lea esp, [esp]
mov ecx, dword [ebx + 0x2c]
lea eax, [ebp + 2]
push eax
push ecx
push 0x19
mov esi, edi
call fcn.0043c9d0
mov ebx, dword [ebx + 0x14]
add esp, 0xc
inc ebp
test ebx, ebx
jne 0x46a0b0
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x46a080
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 0x48]
lea eax, [ebp + 8]
cmp ecx, eax
jle 0x46a0f1
mov eax, ecx
mov edx, dword [esp + 0x84]
push 1
push ebp
push 2
push 0x7f
mov esi, edi
mov dword [edx + 0x48], eax
call fcn.0043c8d0
mov eax, dword [edi + 4]
add esp, 0x10
test eax, eax
je 0x46a121
mov ecx, dword [edi + 0x20]
mov dl, byte [esp + 0x38]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x11], dl
push 2
push 0x4c
mov esi, edi
call fcn.0043c980
mov esi, dword [esp + 0x18]
add esp, 8
push 0xffffffffffffffff
push ecx
mov ecx, dword [esp + 0x44]
mov ebp, eax
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ecx]
push edx
push str._in_database__s__n
call fcn.00422430
add esp, 0xc
push eax
push 0
push 3
push 0
push 0x61
mov esi, edi
call fcn.0043ca30
push 1
push 4
push 2
push 0x20
call fcn.0043c8d0
push 2
push 3
push 4
push 0x5e
call fcn.0043c8d0
push 1
push 2
push 0x23
call fcn.0043c9d0
add esp, 0x44
mov eax, ebp
mov edx, edi
call fcn.0043cee0
mov ebx, dword [ebx + 8]
mov dword [esp + 0x20], ebx
test ebx, ebx
je 0x46a784
cmp dword [esp + 0x58], 0
jne 0x46a784
mov eax, dword [esp + 0x20]
mov ebp, dword [eax + 8]
cmp dword [ebp + 8], 0
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], 0
mov dword [esp + 0x34], 0xffffffff
je 0x46a772
test byte [ebp + 0x2c], 0x20
jne 0x46a1e0
mov dword [esp + 0x40], 0
jmp 0x46a1eb
mov eax, ebp
call fcn.004575b0
mov dword [esp + 0x40], eax
push 1
push 0x89
mov esi, edi
call fcn.0043c980
push 0
push 0
push 0x18
mov ebx, eax
call fcn.0043c9d0
add esp, 0x14
mov eax, ebx
mov edx, edi
call fcn.0043cee0
mov edx, dword [esp + 0x84]
call fcn.00450710
lea ecx, [esp + 0x54]
push ecx
lea eax, [esp + 0x20]
push eax
push 0
push 1
push 0x36
push ebp
push edx
call fcn.00466b00
add esp, 0x1c
push 7
push 0
push 0x19
call fcn.0043c9d0
mov ebx, dword [ebp + 8]
add esp, 0xc
mov dword [esp + 0x28], 0
test ebx, ebx
je 0x46a276
mov ecx, dword [esp + 0x28]
add ecx, 8
push ecx
push 0
push 0x19
mov esi, edi
call fcn.0043c9d0
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x34]
add esp, 0xc
test ebx, ebx
jne 0x46a255
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x84]
mov ecx, dword [edx + 0x48]
add eax, 8
cmp ecx, eax
jle 0x46a28d
mov eax, ecx
mov dword [edx + 0x48], eax
mov edx, dword [esp + 0x1c]
push 0
push edx
push 0x6c
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
push 1
push 7
push 0x25
call fcn.0043c9d0
mov dword [esp + 0x74], eax
xor eax, eax
xor ecx, ecx
add esp, 0xc
cmp cx, word [ebp + 0x26]
mov dword [esp + 0x28], eax
jge 0x46a3b8
mov dword [esp + 0x2c], ecx
jmp 0x46a2d0
movsx edx, word [ebp + 0x24]
cmp eax, edx
je 0x46a3a2
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x2c]
cmp byte [ecx + edx + 0x14], 0
je 0x46a3a2
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
push 3
push eax
push ebp
push edi
call fcn.00450570
mov eax, dword [edi + 4]
add esp, 0x10
test eax, eax
je 0x46a315
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x11], 0x80
push 3
push 0x4d
mov esi, edi
call fcn.0043c980
push 0xffffffffffffffff
push 1
push 0x25
mov ebx, eax
call fcn.0043c9d0
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x40]
mov ecx, dword [edx + eax]
mov edx, dword [ebp]
mov esi, dword [esp + 0x24]
add esp, 0x14
push ecx
push edx
push str.NULL_value_in__s._s
call fcn.00422430
add esp, 0xc
push 0xffffffffffffffff
push eax
push 0
push 3
push 0
push 0x61
mov esi, edi
call fcn.0043ca30
push 1
push 3
push 0x23
call fcn.0043c9d0
add esp, 0x24
push 1
push 0x89
call fcn.0043c980
push 0x18
mov dword [esp + 0x54], eax
call fcn.0043c930
add esp, 0xc
mov eax, ebx
mov edx, edi
call fcn.0043cee0
mov eax, dword [esp + 0x48]
mov edx, edi
call fcn.0043cee0
mov eax, dword [esp + 0x28]
movsx ecx, word [ebp + 0x26]
add dword [esp + 0x2c], 0x18
inc eax
cmp eax, ecx
mov dword [esp + 0x28], eax
jl 0x46a2d0
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x46a655
mov ebp, dword [esp + 0x54]
mov eax, 8
sub eax, ebp
mov dword [esp + 0x28], eax
mov eax, edi
call fcn.0043cc20
mov dword [esp + 0x48], eax
cmp dword [esp + 0x40], ebx
je 0x46a645
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x88]
push eax
push 0
push 0
push ecx
push ebx
push edx
lea eax, [esp + 0x80]
call fcn.0045ddf0
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
add esp, 0x1c
push 1
add eax, ebp
push eax
push 0x25
mov esi, edi
mov dword [esp + 0x58], ebx
call fcn.0043c9d0
movzx ecx, word [ebx + 0x34]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x54]
add esp, 0xc
push ecx
push edx
push eax
push ebp
push 0x45
mov eax, edi
call fcn.0043cb70
add esp, 0x14
push 0xffffffffffffffff
push 1
push 0x25
mov dword [esp + 0x54], eax
call fcn.0043c9d0
add esp, 0xc
push 0xfffffffffffffffe
push str.row
push 0
push 3
push 0
push 0x61
call fcn.0043ca30
push 3
push 3
push 7
push 0x5e
call fcn.0043c8d0
push 0xfffffffffffffffe
push str._missing_from_index
push 0
push 4
push 0
push 0x61
call fcn.0043ca30
add esp, 0x40
push 3
push 3
push 4
push 0x5e
call fcn.0043c8d0
mov ecx, dword [ebx]
push 0
push ecx
push 0
push 4
push 0
push 0x61
call fcn.0043ca30
push 3
push 3
push 4
push 0x5e
mov dword [esp + 0x94], eax
call fcn.0043c8d0
push 1
push 3
push 0x23
call fcn.0043c9d0
add esp, 0x44
push 1
push 0x89
call fcn.0043c980
push 0x18
mov dword [esp + 0x6c], eax
call fcn.0043c930
mov eax, dword [esp + 0x54]
add esp, 0xc
mov edx, edi
call fcn.0043cee0
cmp byte [ebx + 0x36], 0
je 0x46a616
mov eax, edi
call fcn.0043cc20
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x44], ecx
cmp dx, word [ebx + 0x32]
jae 0x46a565
mov edi, edi
mov eax, dword [ebx + 4]
movsx eax, word [eax + ecx*2]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
cmp byte [eax + edx*8 + 0x14], 0
jne 0x46a558
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
push ecx
add edx, eax
push edx
push 0x4c
mov esi, edi
call fcn.0043c9d0
mov ecx, dword [esp + 0x50]
add esp, 0xc
movzx edx, word [ebx + 0x32]
inc ecx
cmp ecx, edx
mov dword [esp + 0x44], ecx
jl 0x46a520
push ebp
push 9
mov esi, edi
call fcn.0043c980
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
push eax
push 0
push 0x10
call fcn.0043c9d0
mov eax, dword [edi + 0x20]
add esp, 0x14
cmp eax, dword [esp + 0x48]
jbe 0x46a59b
mov ecx, dword [esp + 0x48]
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
dec eax
mov dword [ecx + 0x58], eax
movzx edx, word [ebx + 0x32]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
push ebp
push 0x72
mov eax, edi
call fcn.0043cb70
add esp, 0x14
push 0xffffffffffffffff
push 1
push 0x25
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
push 0xfffffffffffffffe
push str.non_unique_entry_in_index
push 0
push 3
push 0
push 0x61
call fcn.0043ca30
mov edx, dword [esp + 0x74]
push edx
push 0
push 0x10
call fcn.0043c9d0
mov ecx, dword [edi + 0x18]
or eax, 0xffffffff
add esp, 0x24
sub eax, dword [esp + 0x2c]
js 0x46a60f
mov edx, dword [ecx + 0x70]
test edx, edx
je 0x46a60f
mov esi, dword [edi + 0x20]
mov dword [edx + eax*4], esi
mov eax, dword [edi + 0x20]
dec eax
mov dword [ecx + 0x58], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [esp + 0x60]
cmp eax, ecx
jbe 0x46a62b
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 8], eax
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
dec eax
mov dword [ecx + 0x58], eax
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x84]
call fcn.0045dfd0
mov ebx, dword [ebx + 0x14]
inc ebp
test ebx, ebx
jne 0x46a3d2
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x68]
mov edx, dword [esp + 0x1c]
push ebx
push edx
push 9
mov esi, edi
call fcn.0043c9d0
mov ecx, dword [edi + 0x20]
lea eax, [ebx - 1]
add esp, 0xc
cmp ecx, eax
jbe 0x46a67f
mov edx, dword [edi + 4]
lea eax, [eax + eax*4]
mov dword [edx + eax*4 + 8], ecx
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x18]
push 0xfffffffffffffffe
push str.wrong__of_entries_in_index
push 0
push 2
dec eax
push 0
push 0x61
mov esi, edi
mov dword [ecx + 0x58], eax
call fcn.0043ca30
mov ebp, dword [ebp + 8]
add esp, 0x18
test ebp, ebp
je 0x46a772
mov dword [esp + 0x34], 8
cmp dword [esp + 0x40], ebp
je 0x46a763
mov ebx, dword [edi + 0x20]
lea edx, [ebx + 2]
push edx
push 1
push 0x89
mov esi, edi
call fcn.0043c9d0
add esp, 0xc
push 0
push 0
push 0x18
call fcn.0043c9d0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
add esp, 0xc
push 3
lea edx, [eax + ecx - 8]
push edx
push 0x32
call fcn.0043c9d0
mov eax, dword [esp + 0x40]
add esp, 0xc
push 3
add ebx, 8
push ebx
push eax
push 0x4f
call fcn.0043c8d0
mov eax, dword [edi + 4]
add esp, 0x10
test eax, eax
je 0x46a725
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ecx*4]
mov byte [eax + ecx*4 - 0x11], 0x90
push 0xffffffffffffffff
push 1
push 0x25
mov esi, edi
call fcn.0043c9d0
mov edx, dword [ebp]
add esp, 0xc
push 0
push edx
push 0
push 3
push 0
push 0x61
call fcn.0043ca30
push 7
push 2
push 3
push 0x5e
call fcn.0043c8d0
push 1
push 7
push 0x23
call fcn.0043c9d0
add esp, 0x34
mov ebp, dword [ebp + 0x14]
inc dword [esp + 0x34]
test ebp, ebp
jne 0x46a6b5
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x46a1a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
add dword [esp + 0x3c], 0x10
inc ecx
cmp ecx, dword [edx + 0x14]
mov dword [esp + 0x38], ecx
jl 0x46a010
push 0x4d0724
push 3
push edi
call fcn.0043ce30
mov esi, eax
add esp, 0xc
cmp dword [edi + 0x20], esi
jbe 0x46a7c6
mov eax, dword [esp + 0x30]
mov edx, dword [edi + 4]
neg eax
lea ecx, [esi + esi*4]
mov dword [edx + ecx*4 + 0xc], eax
mov eax, esi
mov edx, edi
call fcn.0043cee0
mov ecx, dword [edi + 4]
mov edx, dword [edi]
lea eax, [esi + 1]
test ecx, ecx
je 0x46a80b
cmp byte [edx + 0x40], 0
jne 0x46a80b
test eax, eax
jge 0x46a7e9
mov eax, dword [edi + 0x20]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.0043cf00
mov dword [esi + 0x10], 0x4d8eb8
mov byte [esi + 1], 0xfe
jmp 0x46ad09
mov ecx, 0x4d8eb8
mov eax, 0xfffffffe
call fcn.0043cf00
jmp 0x46ad09
test ebx, ebx
jne 0x46a8f6
mov esi, ebp
call fcn.0046b6d0
test eax, eax
jne 0x46ad09
push 1
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.encoding
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 1
xor ebx, ebx
push ebx
push 0x61
mov esi, edi
call fcn.0043c9d0
mov ecx, dword [ebp]
mov edx, dword [ecx + 0x10]
mov eax, dword [edx + 0xc]
movzx ecx, byte [eax + 0x4d]
mov ebp, dword [ecx*8 + 0x4d0730]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
add esp, 0xc
cmp ecx, ebx
je 0x46a8d8
cmp byte [edx + 0x40], bl
jne 0x46a8d8
mov eax, dword [edi + 0x20]
dec eax
lea eax, [eax + eax*4]
lea esi, [ecx + eax*4]
movsx eax, byte [esi + 1]
mov ecx, dword [esi + 0x10]
call fcn.0043cf00
mov dword [esi + 0x10], ebx
cmp ebp, ebx
jne 0x46a8bf
push 1
mov dword [esi + 0x10], ebx
mov byte [esi + 1], bl
push 1
push 0x23
mov esi, edi
call fcn.0043c9d0
jmp 0x46ad06
push 1
mov dword [esi + 0x10], ebp
mov byte [esi + 1], 0xfe
push 1
push 0x23
mov esi, edi
call fcn.0043c9d0
jmp 0x46ad06
mov ecx, ebp
mov eax, 0xfffffffe
call fcn.0043cf00
push 1
push 1
push 0x23
mov esi, edi
call fcn.0043c9d0
jmp 0x46ad06
mov ecx, dword [edx + 0x10]
mov edx, dword [ecx + 0xc]
movzx eax, word [edx + 0x4e]
test al, 1
je 0x46a90c
test al, 4
je 0x46ad09
mov eax, dword [str.UTF8]
mov esi, 0x4d0730
test eax, eax
je 0x46a95e
lea ebx, [ebx]
push eax
push ebx
call fcn.00423340
add esp, 8
test eax, eax
je 0x46a93a
mov eax, dword [esi + 8]
add esi, 8
test eax, eax
jne 0x46a920
jmp 0x46a95e
mov al, byte [esi + 4]
test al, al
movzx eax, al
jne 0x46a949
mov eax, 2
mov ecx, dword [ebp]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edx + 0xc]
mov byte [ecx + 0x4d], al
cmp dword [esi], 0
jne 0x46ad09
push ebx
push str.unsupported_encoding:__s
mov edi, ebp
call fcn.004231b0
add esp, 8
jmp 0x46ad09
mov ebp, dword [esp + 0x14]
mov edx, 1
mov ecx, ebp
shl edx, cl
or dword [edi + 0x60], edx
cmp ebp, 1
je 0x46a98f
mov eax, edi
call fcn.0043d540
mov eax, dword [esp + 0x24]
movsx eax, byte [eax]
add eax, 0xffffffbf
cmp eax, 0x32
ja case.0x46a9a5.66
movzx ecx, byte [eax + 0x46adcc]
jmp dword [ecx*4 + 0x46adbc]
mov dword [esp + 0x30], 8
jmp 0x46a9d2
mov dword [esp + 0x30], 0
jmp 0x46a9d2
mov dword [esp + 0x30], 1
jmp 0x46a9d2
mov dword [esp + 0x30], 6
test ebx, ebx
je 0x46aa49
cmp dword [esp + 0x30], 0
je 0x46aa49
push 0x4d0778
push 3
push edi
call fcn.0043ce30
mov esi, eax
add esp, 0xc
cmp dword [edi + 0x20], esi
jbe 0x46a9fe
mov eax, dword [edi + 4]
lea edx, [esi + esi*4]
mov dword [eax + edx*4 + 4], ebp
mov ecx, ebx
call fcn.00423db0
lea ecx, [esi + 1]
cmp dword [edi + 0x20], ecx
jbe 0x46aa17
mov edx, dword [edi + 4]
lea ecx, [ecx + ecx*4]
mov dword [edx + ecx*4 + 4], eax
lea eax, [esi + 2]
cmp dword [edi + 0x20], eax
jbe 0x46ad09
mov edx, dword [edi + 4]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], ebp
cmp dword [edi + 0x20], eax
jbe 0x46ad09
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 8], edx
jmp 0x46ad09
push 0x4d0784
push 3
push edi
call fcn.0043ce30
add esp, 0xc
cmp dword [edi + 0x20], eax
jbe 0x46aa68
mov edx, dword [edi + 4]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], ebp
inc eax
cmp dword [edi + 0x20], eax
jbe 0x468a4e
mov edx, dword [edi + 4]
lea ecx, [eax + eax*4]
mov dword [edx + ecx*4 + 4], ebp
cmp dword [edi + 0x20], eax
jbe 0x468a4e
mov ecx, dword [edi + 4]
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
mov dword [ecx + eax*4 + 0xc], edx
jmp 0x468a4e
push 1
mov ebx, edi
mov dword [esp + 0x6c], 0
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.compile_option
mov ecx, edi
mov dword [ebp + 0x48], 1
call fcn.0043e220
add esp, 0xc
push 0
call fcn.0041dc10
add esp, 4
test eax, eax
je 0x46ad09
mov ebx, dword [esp + 0x68]
mov edi, edi
push 0
push eax
push 0
push 1
push 0
push 0x61
mov esi, edi
inc ebx
call fcn.0043ca30
push 1
push 1
push 0x23
call fcn.0043c9d0
add esp, 0x24
push ebx
call fcn.0041dc10
add esp, 4
test eax, eax
jne 0x46aae0
jmp 0x46ad09
mov eax, dword [esp + 0x8c]
cmp dword [eax], 0
je 0x46ab29
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x54], ecx
jmp 0x46ab31
mov dword [esp + 0x54], 0xa
xor esi, esi
test ebx, ebx
je 0x46ab63
push str.full
push ebx
call fcn.00423340
add esp, 8
test eax, eax
jne 0x46ab4e
lea esi, [eax + 1]
jmp 0x46ab63
push str.restart
push ebx
call fcn.00423340
add esp, 8
test eax, eax
jne 0x46ab63
lea esi, [eax + 2]
push 3
mov ebx, edi
call fcn.0043e160
add esp, 4
push 0
push 0
push 0
mov ebx, str.busy
mov ecx, edi
mov dword [ebp + 0x48], 3
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 1
mov ebx, 0x4d8ef8
mov ecx, edi
call fcn.0043e220
add esp, 0xc
push 0
push 0
push 2
mov ebx, str.checkpointed
mov ecx, edi
call fcn.0043e220
mov edx, dword [esp + 0x60]
add esp, 0xc
push 1
push esi
push edx
push 0xb
mov esi, edi
call fcn.0043c8d0
push 3
push 1
push 0x23
call fcn.0043c9d0
add esp, 0x1c
jmp 0x46ad09
test ebx, ebx
je 0x46abf6
mov ecx, ebx
call fcn.00423db0
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.004890a0
mov edx, dword [esp + 0x18]
add esp, 8
cmp dword [edx + 0xd4], 0x489060
jne 0x46ac15
mov eax, dword [edx + 0xd8]
cdq
push edx
push eax
push str.wal_autocheckpoint
jmp 0x46acff
xor eax, eax
cdq
push edx
push eax
push str.wal_autocheckpoint
jmp 0x46acff
mov ecx, dword [esp + 0x10]
push ecx
call fcn.00487e30
add esp, 4
jmp 0x46ad09
test ebx, ebx
je 0x46ac5f
lea edx, [esp + 0x68]
push edx
mov edi, ebx
call fcn.00423b50
add esp, 4
test eax, eax
jne 0x46ac5f
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
push eax
push ecx
call fcn.004203b0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004203b0
push edx
push eax
push str.soft_heap_limit
mov eax, ebp
call fcn.00468380
add esp, 0x14
jmp 0x46ad09
test ebx, ebx
je 0x46acc0
lea edx, [esp + 0x68]
push edx
mov edi, ebx
call fcn.00423b50
add esp, 4
test eax, eax
jne 0x46acc0
cmp dword [esp + 0x6c], eax
jl 0x46acc0
mov eax, dword [esp + 0x68]
jg 0x46aca5
test eax, eax
jb 0x46acc0
and eax, 0x7fffffff
jl 0x46acc0
cmp eax, 8
jle 0x46acb6
mov eax, 8
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x84], eax
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x84]
cdq
push edx
push eax
push str.threads
jmp 0x46acff
test ebx, ebx
je 0x46aced
mov ecx, ebx
call fcn.00423db0
push eax
mov eax, dword [esp + 0x14]
push eax
call fcn.00488a10
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x1ec]
cdq
push edx
push eax
push str.timeout
mov eax, ebp
call fcn.00468380
add esp, 0xc
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x24]
mov ecx, esi
call fcn.00420b20
mov eax, dword [esp + 0x18]
mov ecx, esi
call fcn.00420b20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret