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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
mov eax, dword [0x5ff1d4]
xor eax, esp
mov dword [esp + 0xa0], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ecx + 8]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x58], esi
push edi
mov edi, edx
test esi, esi
jne 0x466134
cmp dword [ecx + 0x78], esi
jne 0x466121
test byte [eax + 0x50], 8
jne 0x466121
mov byte [ecx + 0x17], 1
call fcn.0042a0d0
mov esi, eax
mov dword [esp + 0x5c], eax
test esi, esi
je 0x469830
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x466153
push 0
push 1
push 1
mov edx, 0xa6
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x466186
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xa6
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x34]
push ecx
push ebx
mov edx, edi
mov ecx, eax
mov dword [eax + 0x2c], 2
call fcn.00451a50
mov ecx, eax
add esp, 8
mov dword [esp + 0x3c], ecx
test ecx, ecx
js 0x469830
mov eax, dword [esp + 0x10]
mov ebx, ecx
shl ebx, 4
mov dword [esp + 0x2c], ebx
mov edi, dword [eax + 0x10]
add edi, ebx
mov dword [esp + 0x28], edi
cmp ecx, 1
jne 0x4661e1
mov ecx, dword [esp + 0x14]
call fcn.004574a0
test eax, eax
jne 0x469830
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
mov ecx, eax
call fcn.00451890
mov dword [esp + 0x70], eax
test eax, eax
je 0x469830
cmp dword [ebp + 0x10], 0
je 0x46621b
push dword [esp + 0x1c]
push 0x5d0348
push dword [esp + 0x18]
call fcn.004087c0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x30], ecx
jmp 0x46622e
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
call fcn.00451890
mov ecx, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
cmp dword [eax + 4], 0
jbe 0x46623c
mov edi, dword [edi]
jmp 0x46623e
xor edi, edi
push edi
push ecx
push dword [esp + 0x78]
mov ecx, dword [esp + 0x20]
mov edx, 0x13
mov dword [esp + 0x2c], edi
call fcn.00450540
add esp, 0xc
test eax, eax
jne 0x469810
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], 0
mov eax, dword [ecx + 0xc]
mov dword [ecx + 0x1c8], 0
mov dword [esp + 0x1c], 1
test eax, eax
je 0x4662c2
mov edi, dword [0x600a78]
mov ecx, edi
push eax
call dword [0x59a43c]
call edi
mov edi, dword [esp + 0x24]
add esp, 4
mov ecx, dword [esp + 0x10]
test edi, edi
je 0x4662d5
mov edx, edi
call fcn.00451970
mov edi, eax
test edi, edi
js 0x46634c
jmp 0x4662d7
xor edi, edi
mov eax, dword [esp + 0x10]
add edi, edi
mov eax, dword [eax + 0x10]
mov edi, dword [eax + edi*8 + 4]
mov dword [esp + 0x34], edi
test edi, edi
je 0x46634c
cmp byte [edi + 9], 0
je 0x466302
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x466302
mov ecx, edi
call fcn.0041b710
mov eax, dword [edi + 4]
mov edx, 0xe
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov edi, dword [ecx + 0x1c8]
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [eax + 0x40]
call fcn.004045a0
mov ecx, dword [esp + 0x38]
add esp, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x1c8], edi
cmp byte [ecx + 9], 0
je 0x46634c
add dword [ecx + 0xc], 0xffffffff
jne 0x46634c
call fcn.0041b6a0
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x46636b
mov edi, dword [0x600a80]
mov ecx, edi
push eax
call dword [0x59a43c]
call edi
add esp, 4
mov edi, dword [esp + 0x1c]
test edi, edi
jne 0x4663b5
lea edx, [edi + 1]
mov ecx, esi
call fcn.0042c690
push 0xffffffffffffffff
push dword [esp + 0xa0]
xor edx, edx
mov ecx, esi
push edi
call fcn.0042c720
mov edx, dword [esp + 0xa8]
add esp, 0xc
mov ecx, esi
call fcn.00465d90
push dword [esp + 0x9c]
call fcn.004058e0
add esp, 4
jmp 0x469810
cmp edi, 0xc
je 0x4663f5
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x4663e6
push eax
push 0x5cc8fc
push dword [esp + 0x1c]
call fcn.00409b70
add esp, 0xc
push dword [esp + 0x9c]
call fcn.004058e0
add esp, 4
mov eax, dword [esp + 0x14]
inc dword [eax + 0x24]
mov dword [eax + 0xc], edi
jmp 0x469810
mov ecx, dword [esp + 0x70]
call fcn.00465ea0
mov edi, eax
mov dword [esp + 0x58], edi
test edi, edi
je 0x469810
test byte [edi + 5], 1
je 0x466423
mov ecx, dword [esp + 0x14]
call fcn.0046a9b0
test eax, eax
jne 0x469810
mov al, byte [edi + 5]
test al, 2
jne 0x46643f
test al, 4
je 0x466436
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x466443
mov edx, edi
mov ecx, esi
call fcn.00465c50
mov ecx, dword [esp + 0x30]
movzx eax, byte [edi + 4]
dec eax
cmp eax, 0x2a
ja case.0x466451.5
jmp dword [eax*4 + 0x469848]
mov ebx, dword [esp + 0x3c]
mov ecx, esi
mov edx, ebx
call fcn.0042b8f0
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x466499
mov eax, dword [esp + 0x14]
mov edx, 9
push ecx
push 0x5d2754
mov ecx, esi
add dword [eax + 0x2c], 2
call fcn.0042ae60
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x7c], 0xfffff830
jmp 0x46980d
mov ecx, eax
call fcn.0040a940
mov ecx, eax
call fcn.0040b060
mov ecx, dword [esp + 0x14]
xor edx, edx
push ebx
mov edi, eax
call fcn.00457630
add esp, 4
mov edx, 0x64
mov ecx, esi
push edi
push 3
push ebx
call fcn.0042a410
mov ebx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [ebx + 0xc]
mov dword [eax + 0x50], edi
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.0041e1f0
jmp 0x469810
mov ebx, dword [esp + 0x28]
mov edi, dword [ebx + 4]
test ecx, ecx
jne 0x466506
test edi, edi
je 0x466a0c
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x469803
call fcn.0040a940
mov ecx, dword [esp + 0x10]
mov edx, eax
push 0
push 0
mov dword [ecx + 0x64], eax
mov ecx, edi
call fcn.0041e2d0
add esp, 8
cmp eax, 7
jne 0x469810
mov ecx, dword [esp + 0x10]
call fcn.004060e0
jmp 0x469810
mov ebx, dword [esp + 0x28]
or edx, 0xffffffff
mov dword [esp + 0x24], edx
mov eax, dword [ebx + 4]
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x466578
push str.fast
push ecx
call fcn.00409d10
add esp, 8
test eax, eax
jne 0x466566
lea edx, [eax + 2]
jmp 0x466574
mov ecx, dword [esp + 0x30]
xor dl, dl
call fcn.00465a60
movzx edx, al
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x38]
cmp dword [eax + 4], 0
jne 0x4665ba
test edx, edx
js 0x4665ba
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x4665ba
mov esi, dword [esp + 0x24]
xor edi, edi
mov ecx, dword [eax + 0x10]
mov edx, esi
mov ecx, dword [ecx + edi + 4]
call fcn.0041e410
mov eax, dword [esp + 0x10]
lea edi, [edi + 0x10]
inc ebx
cmp ebx, dword [eax + 0x14]
jl 0x466597
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
call fcn.0041e410
jmp 0x469803
mov ebx, dword [esp + 0x14]
xorps xmm0, xmm0
mov edx, dword [esp + 0x3c]
mov ecx, ebx
movlpd qword [esp + 0x88], xmm0
call fcn.00457540
mov eax, dword [esp + 0x70]
inc dword [ebx + 0x2c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x5d40e0], 0x70
jne 0x466621
push edi
push dword [esp + 0x40]
mov edx, 0xb1
mov ecx, esi
call fcn.0042a540
add esp, 8
mov edx, 0x54
mov ecx, esi
push 1
push edi
call fcn.0042a540
jmp 0x46980d
mov eax, dword [esp + 0x30]
test eax, eax
je 0x466670
lea edx, [esp + 0x88]
mov ecx, eax
call fcn.0040a6b0
test eax, eax
jne 0x466670
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
test ecx, ecx
jg 0x46665e
jl 0x466670
test eax, eax
jb 0x466670
test ecx, ecx
jl 0x466683
jg 0x46665e
cmp eax, 0xfffffffe
jbe 0x466683
mov eax, 0xfffffffe
mov dword [esp + 0x8c], 0
jmp 0x466683
xorps xmm0, xmm0
movlpd qword [esp + 0x88], xmm0
mov eax, dword [esp + 0x88]
push eax
push edi
push dword [esp + 0x44]
mov edx, 0xb2
mov ecx, esi
call fcn.0042a410
add esp, 0xc
mov edx, 0x54
mov ecx, esi
push 1
push edi
call fcn.0042a540
jmp 0x46980d
mov edi, str.normal
call fcn.00465a80
mov edx, eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
test eax, eax
jne 0x46671a
cmp edx, 0xffffffff
jne 0x4666d2
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x59]
jmp 0x46672b
test eax, eax
jne 0x46671a
mov eax, dword [esp + 0x10]
mov ebx, 2
cmp dword [eax + 0x14], ebx
jle 0x466717
mov edi, 0x20
mov esi, eax
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.00417fe0
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [esi + 0x14]
jl 0x4666f0
mov esi, dword [esp + 0x5c]
mov edi, str.normal
mov eax, dword [esp + 0x10]
mov byte [eax + 0x59], dl
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.00417fe0
cmp eax, 1
mov edx, str.exclusive
mov ecx, esi
cmovne edx, edi
call fcn.00465d90
jmp 0x469810
test ecx, ecx
je 0x46678b
call fcn.00409890
mov edi, eax
xor ebx, ebx
nop
cmp ebx, 6
je 0x46678b
mov ecx, dword [ebx*4 + 0x5d2fdc]
test ecx, ecx
je 0x46678b
push edi
push ecx
push dword [esp + 0x38]
call fcn.00409d80
add esp, 0xc
test eax, eax
je 0x466775
inc ebx
jmp 0x466750
cmp ebx, 2
jne 0x4667a9
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x4667ae
or ebx, 0xffffffff
mov edx, dword [esp + 0x38]
cmp dword [edx + 4], 0
jne 0x4667b2
mov dword [esp + 0x3c], 0
mov dword [edx + 4], 1
jmp 0x4667b2
cmp ebx, 0xffffffff
je 0x46678e
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
sub edi, 1
js 0x46681a
mov ecx, edi
shl ecx, 4
mov dword [esp + 0x1c], ecx
nop word [eax + eax]
mov eax, dword [eax + 0x10]
cmp dword [eax + ecx + 4], 0
je 0x466806
cmp edi, dword [esp + 0x3c]
je 0x4667e6
cmp dword [edx + 4], 0
jne 0x466806
mov edx, edi
mov ecx, esi
call fcn.0042b8f0
push ebx
push 1
push edi
mov edx, 4
mov ecx, esi
call fcn.0042a410
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, dword [esp + 0x38]
sub ecx, 0x10
sub edi, 1
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
jns 0x4667d0
push 1
push 1
mov edx, 0x54
mov ecx, esi
call fcn.0042a540
jmp 0x46980d
mov ebx, dword [esp + 0x28]
or ecx, 0xffffffff
mov dword [esp + 0x8c], ecx
mov eax, dword [ebx + 4]
mov ebx, dword [esp + 0x30]
mov eax, dword [eax + 4]
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x88], eax
test ebx, ebx
je 0x46688f
lea edx, [esp + 0x88]
mov ecx, ebx
call fcn.0040a6b0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0xffffffff
jg 0x466888
jl 0x466881
mov eax, dword [esp + 0x88]
cmp eax, 0xffffffff
jae 0x46688f
or eax, 0xffffffff
or ecx, eax
jmp 0x46688f
mov eax, dword [esp + 0x88]
push ecx
push eax
mov ecx, edi
call fcn.00418110
push edx
push eax
mov ecx, esi
call fcn.00465cf0
add esp, 0x10
jmp 0x469810
mov ebx, dword [esp + 0x28]
mov edi, dword [ebx + 4]
test ecx, ecx
jne 0x4668c0
mov ecx, edi
call fcn.0041e500
jmp 0x469803
call fcn.00465ac0
mov ebx, eax
mov ecx, edi
mov eax, dword [esp + 0x10]
mov edx, ebx
mov byte [eax + 0x5a], bl
call fcn.0041e480
test eax, eax
jne 0x469810
cmp ebx, 1
je 0x4668ed
cmp ebx, 2
jne 0x469810
mov edi, dword [esi + 0x6c]
mov edx, 5
push ecx
push 0x5d3a34
mov ecx, esi
call fcn.0042ae60
mov edx, dword [esp + 0x44]
lea ecx, [edi + 4]
add esp, 8
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x5c], ecx
mov ecx, esi
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
call fcn.0042b8f0
jmp 0x469810
mov dword [esp + 0x1c], 0
test ecx, ecx
je 0x46694b
lea edx, [esp + 0x1c]
call fcn.0040a7c0
test eax, eax
je 0x46694b
mov edi, dword [esp + 0x1c]
test edi, edi
jg 0x466950
mov edi, SysReAllocString
mov ebx, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [esp + 0x14]
push ebx
call fcn.00457630
add esp, 4
mov edx, 0x47
mov ecx, esi
push 1
push edi
call fcn.0042a540
push ebx
mov edx, 0x3e
mov ecx, esi
call fcn.0042a4e0
add esp, 0xc
mov edx, 0x54
mov ecx, esi
mov edi, eax
push 1
call fcn.0042a4e0
add esp, 4
mov edx, 0x56
mov ecx, esi
push 0xffffffffffffffff
push 1
call fcn.0042a540
push edi
push 1
mov edx, 0x3b
mov ecx, esi
call fcn.0042a540
add esp, 0x10
mov edx, edi
mov ecx, esi
call fcn.0042afa0
jmp 0x469810
test ecx, ecx
jne 0x4669d8
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x469803
call fcn.0040a940
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.0041e1f0
jmp 0x469810
test ecx, ecx
jne 0x466a26
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x20
or eax, ecx
jne 0x466a13
xor eax, eax
jmp 0x469803
mov ebx, dword [esp + 0x28]
xor edx, edx
mov ecx, dword [ebx + 4]
call fcn.0041e240
jmp 0x469803
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 1
call fcn.0040a7c0
mov esi, dword [esp + 0x1c]
test eax, eax
je 0x466a4d
mov ebx, dword [esp + 0x28]
mov edx, esi
mov ecx, dword [ebx + 4]
call fcn.0041e240
mov ecx, dword [esp + 0x30]
test esi, esi
setne dl
call fcn.00465a60
mov ecx, dword [esp + 0x10]
test al, al
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x24], eax
je 0x466a77
or dword [ecx + 0x20], 0x20
call fcn.00465e10
jmp 0x469810
and dword [ecx + 0x20], 0xffffffdf
call fcn.00465e10
jmp 0x469810
test ecx, ecx
je 0x466b98
lea edx, [esp + 0x88]
call fcn.0040a6b0
cmp dword [esp + 0x8c], 0
jg 0x466ac7
jl 0x466aaf
cmp dword [esp + 0x88], 0
jae 0x466ac7
mov eax, dword [0x600ad0]
mov dword [esp + 0x88], eax
mov eax, dword [0x600ad4]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x466ae9
mov eax, dword [esp + 0x88]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x8c]
mov dword [edx + 0x34], eax
mov ebx, dword [edx + 0x14]
sub ebx, 1
js 0x466b98
mov esi, ebx
shl esi, 4
nop word [eax + eax]
mov eax, dword [edx + 0x10]
mov edi, dword [eax + esi + 4]
test edi, edi
je 0x466b88
cmp ebx, dword [esp + 0x3c]
je 0x466b1b
cmp dword [ecx + 4], 0
jne 0x466b88
cmp byte [edi + 9], 0
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x7c], ecx
mov ecx, dword [edi + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x74], ecx
je 0x466b56
inc dword [edi + 0xc]
cmp byte [edi + 0xa], 0
jne 0x466b56
mov ecx, edi
call fcn.0041b710
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
mov dword [ecx + 0x88], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x8c], eax
call fcn.004152d0
cmp byte [edi + 9], 0
je 0x466b80
add dword [edi + 0xc], 0xffffffff
jne 0x466b80
mov ecx, edi
call fcn.0041b6a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
sub esi, 0x10
sub ebx, 1
jns 0x466b00
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], 0xffffffff
mov dword [esp + 0x8c], 0xffffffff
mov dword [esp + 0x1c], 1
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x466bd9
mov edi, dword [0x600a78]
mov ecx, edi
push eax
call dword [0x59a43c]
call edi
mov ecx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x466bf0
mov edx, eax
call fcn.00451970
mov ebx, eax
test ebx, ebx
js 0x466c61
jmp 0x466bf2
xor ebx, ebx
mov eax, dword [esp + 0x10]
add ebx, ebx
mov eax, dword [eax + 0x10]
mov ebx, dword [eax + ebx*8 + 4]
test ebx, ebx
je 0x466c61
cmp byte [ebx + 9], 0
je 0x466c19
inc dword [ebx + 0xc]
cmp byte [ebx + 0xa], 0
jne 0x466c19
mov ecx, ebx
call fcn.0041b710
mov eax, dword [ebx + 4]
mov edx, 0x12
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
mov edi, dword [ecx + 0x1c8]
lea ecx, [esp + 0x88]
push ecx
mov ecx, dword [eax + 0x40]
call fcn.004045a0
mov dword [esp + 0x20], eax
add esp, 4
mov eax, dword [esp + 0x10]
mov dword [eax + 0x1c8], edi
cmp byte [ebx + 9], 0
je 0x466c61
add dword [ebx + 0xc], 0xffffffff
jne 0x466c61
mov ecx, ebx
call fcn.0041b6a0
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x466c80
mov edi, dword [0x600a80]
mov ecx, edi
push eax
call dword [0x59a43c]
call edi
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x466c9b
push dword [esp + 0x8c]
push dword [esp + 0x8c]
jmp 0x469806
cmp eax, 0xc
je 0x469810
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp 0x469810
test ecx, ecx
jne 0x466cc4
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x56]
jmp 0x469803
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.00465bb0
jmp 0x469810
mov ecx, 0xb
call fcn.00404dd0
push eax
call fcn.00404e60
mov ecx, dword [esp + 0x34]
add esp, 4
test ecx, ecx
jne 0x466d01
mov edx, dword [0x60730c]
mov ecx, esi
call fcn.00465d90
jmp 0x466d9e
cmp byte [ecx], 0
je 0x466d55
mov eax, dword [esp + 0x10]
mov esi, dword [eax]
lea eax, [esp + 0x34]
push eax
push 1
push ecx
push esi
mov esi, dword [esi + 0x20]
mov ecx, esi
call dword [0x59a43c]
call esi
add esp, 0x10
test eax, eax
jne 0x466d2f
cmp dword [esp + 0x34], eax
jne 0x466d55
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.00409b70
mov ecx, 0xb
call fcn.00404dd0
push eax
call fcn.00404ef0
add esp, 0xc
jmp 0x469810
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x56], 1
ja 0x466d68
mov ecx, dword [esp + 0x14]
call fcn.00465b60
push dword [0x60730c]
call fcn.004058e0
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x466d94
push eax
push 0x5cc8fc
call fcn.004088b0
add esp, 8
mov dword [0x60730c], eax
jmp 0x466d9e
mov dword [0x60730c], 0
mov ecx, 0xb
call fcn.00404dd0
push eax
call fcn.00404ef0
add esp, 4
jmp 0x469810
mov ecx, 0xb
call fcn.00404dd0
push eax
call fcn.00404e60
mov ecx, dword [esp + 0x34]
add esp, 4
test ecx, ecx
jne 0x466de0
mov edx, dword [0x607308]
mov ecx, esi
call fcn.00465d90
jmp 0x466d9e
cmp byte [ecx], 0
je 0x466e16
mov eax, dword [esp + 0x10]
mov esi, dword [eax]
lea eax, [esp + 0x34]
push eax
push 1
push ecx
push esi
mov esi, dword [esi + 0x20]
mov ecx, esi
call dword [0x59a43c]
call esi
add esp, 0x10
test eax, eax
jne 0x466d2f
cmp dword [esp + 0x34], eax
je 0x466d2f
push dword [0x607308]
call fcn.004058e0
mov eax, dword [esp + 0x34]
add esp, 4
cmp byte [eax], 0
je 0x466e45
push eax
push 0x5cc8fc
call fcn.004088b0
add esp, 8
mov dword [0x607308], eax
jmp 0x466d9e
mov dword [0x607308], 0
jmp 0x466d9e
test ecx, ecx
jne 0x466e66
mov ebx, dword [esp + 0x28]
movzx eax, byte [ebx + 8]
dec eax
jmp 0x469803
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x55], 0
jne 0x466e83
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.00409b70
jmp 0x46980d
cmp dword [esp + 0x3c], 1
je 0x469810
push 1
xor edx, edx
call fcn.004659b0
mov ebx, dword [esp + 0x2c]
inc eax
add esp, 4
mov ecx, 1
and eax, 7
cmove eax, ecx
mov byte [ebx + 9], cl
mov ecx, dword [esp + 0x10]
mov byte [ebx + 8], al
call fcn.00465e10
jmp 0x469810
test ecx, ecx
jne 0x466f0e
mov edx, edi
mov ecx, esi
call fcn.00465c50
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
and ecx, dword [edx + 0x20]
and eax, dword [edx + 0x24]
or ecx, eax
je 0x466eed
xor eax, eax
mov ecx, 1
push eax
push ecx
jmp 0x469806
xorps xmm0, xmm0
movlpd qword [esp + 0x88], xmm0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
push eax
push ecx
jmp 0x469806
mov eax, dword [esp + 0x10]
mov ebx, dword [edi + 8]
mov edi, dword [edi + 0xc]
cmp byte [eax + 0x55], 0
jne 0x466f24
and ebx, 0xffffbfff
xor dl, dl
call fcn.00465a60
test al, al
je 0x466f3b
mov eax, dword [esp + 0x10]
or dword [eax + 0x20], ebx
or dword [eax + 0x24], edi
jmp 0x466f8b
mov edx, dword [esp + 0x10]
mov ecx, ebx
mov eax, edi
not ecx
not eax
and dword [edx + 0x20], ecx
and dword [edx + 0x24], eax
cmp ebx, 0x80000
jne 0x466f65
test edi, edi
jne 0x466f65
mov dword [edx + 0x208], edi
mov dword [edx + 0x20c], edi
and ebx, 1
or ebx, 0
je 0x466f8b
push str.reset
push dword [esp + 0x34]
call fcn.00409d10
add esp, 8
test eax, eax
jne 0x466f8b
mov ecx, dword [esp + 0x10]
call fcn.00451400
mov edx, 0xa6
mov ecx, esi
call fcn.0042a480
mov ecx, dword [esp + 0x10]
call fcn.00465e10
jmp 0x469810
test ecx, ecx
je 0x469810
mov ebx, dword [esp + 0x20]
mov edx, ebx
mov ecx, dword [esp + 0x14]
call fcn.00457580
mov ecx, dword [esp + 0x14]
mov edx, 2
push ebx
push dword [esp + 0x34]
call fcn.00450fc0
mov ebx, eax
add esp, 8
mov dword [esp + 0x24], ebx
test ebx, ebx
je 0x469810
mov ecx, ebx
mov dword [esp + 0x2c], 0
call fcn.00451be0
mov dword [esp + 0x1c], eax
mov edx, ebx
mov eax, dword [esp + 0x14]
mov ecx, eax
mov dword [eax + 0x2c], 7
call fcn.00454840
mov eax, dword [ebx + 4]
xor edx, edx
movzx ecx, word [ebx + 0x22]
xor ebx, ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x48], eax
cmp bx, cx
jge 0x469810
movzx ecx, word [eax + 0xe]
xor ebx, ebx
test cl, 0x62
je 0x46705b
mov eax, dword [edi + 8]
or eax, dword [edi + 0xc]
jne 0x467043
inc dword [esp + 0x2c]
mov ebx, dword [esp + 0x48]
jmp 0x467122
test cl, 0x20
je 0x46704f
mov ebx, 2
jmp 0x46705b
movzx ebx, cl
and ebx, 0x40
or ebx, 0x20
shr ebx, 5
test cl, 1
jne 0x467064
xor edi, edi
jmp 0x4670a3
cmp dword [esp + 0x1c], 0
mov edi, 1
je 0x4670a3
mov ecx, dword [esp + 0x24]
movzx eax, word [ecx + 0x22]
cwde
mov dword [esp + 0x34], eax
cmp eax, edi
jl 0x4670a3
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
mov ecx, dword [eax + 4]
nop dword [eax]
movsx eax, word [ecx]
cmp eax, edx
je 0x46709f
inc edi
add ecx, 2
cmp edi, esi
jle 0x467090
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
call fcn.00451550
cmp ebx, 2
jae 0x4670be
test eax, eax
je 0x4670be
mov edx, dword [eax + 8]
jmp 0x4670c0
xor edx, edx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x4c], str.issisii
mov eax, dword [ecx + 8]
or eax, dword [ecx + 0xc]
jne 0x4670dc
mov dword [esp + 0x4c], str.issisi
push ebx
mov ebx, dword [esp + 0x4c]
mov eax, 0
push edi
push edx
mov edx, 0x5cbbd8
mov ecx, ebx
test byte [ebx + 4], 0xf
setne al
push eax
call fcn.004098c0
push eax
push dword [ebx]
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x44]
push eax
push dword [esp + 0x68]
push 1
push esi
call fcn.0042a6a0
mov edi, dword [esp + 0x80]
add esp, 0x28
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
inc edx
add ebx, 0x10
mov dword [esp + 0x18], edx
mov dword [esp + 0x48], ebx
movzx eax, word [eax + 0x22]
cwde
cmp edx, eax
mov eax, ebx
jl 0x467023
jmp 0x469810
mov eax, dword [esp + 0x14]
mov ecx, eax
mov ebx, dword [esp + 0x20]
mov edx, ebx
mov dword [eax + 0x2c], 6
call fcn.00457580
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], 0
cmp dword [edx + 0x14], 0
jle 0x469810
xor edi, edi
mov dword [esp + 0x24], edi
nop word [eax + eax]
test ebx, ebx
je 0x46719f
mov eax, dword [edx + 0x10]
push dword [eax + edi]
push ebx
call fcn.00409d10
add esp, 8
test eax, eax
jne 0x467362
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov edx, dword [eax + edi + 0xc]
add edx, 8
mov ebx, dword [edx + 4]
test ebx, ebx
je 0x467265
mov esi, dword [esp + 0x10]
mov eax, dword [edx + 8]
dec ebx
test eax, eax
je 0x467261
mov ecx, dword [eax + 8]
cmp word [ecx + 0x22], 0
je 0x4671d9
mov eax, dword [eax]
test eax, eax
jne 0x4671c4
jmp 0x467261
push dword [ecx]
push str.SELECTFROM__w_
push esi
call fcn.004087c0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x467225
push 0
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push 0
push 0
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.0046b1e0
add esp, 0x14
push dword [esp + 0x1c]
call fcn.0042f480
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.004059a0
cmp byte [esi + 0x57], 0
je 0x46724b
push 0x5cbbb8
push dword [esi + 0x10c]
call fcn.00409b70
mov eax, dword [esi + 0x10c]
add esp, 8
mov dword [eax + 0xc], 7
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x24]
mov edx, dword [eax + edi + 0xc]
add edx, 8
test ebx, ebx
jne 0x4671b8
mov esi, dword [esp + 0x5c]
mov eax, dword [edx + 8]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x46735e
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x467292
push dword [edi]
push eax
call fcn.00409d10
add esp, 8
test eax, eax
jne 0x467348
mov al, byte [edi + 0x2b]
cmp al, 2
jne 0x4672a3
mov dword [esp + 0x2c], str.view
jmp 0x4672c9
cmp al, 1
jne 0x4672b1
mov dword [esp + 0x2c], str.virtual
jmp 0x4672c9
test dword [edi + 0x1c], 0x1000
mov eax, str.shadow
mov ecx, str.table
cmove eax, ecx
mov dword [esp + 0x2c], eax
mov ebx, dword [edi]
push 7
push str.sqlite_
push ebx
call fcn.00409d80
add esp, 0xc
test eax, eax
jne 0x46730d
lea ecx, [ebx + 7]
mov edx, 0x5cd43f
call fcn.00409d40
test eax, eax
jne 0x4672f7
mov ebx, str.sqlite_schema
jmp 0x46730d
mov edx, 0x5cd633
lea ecx, [ebx + 7]
call fcn.00409d40
test eax, eax
jne 0x46730d
mov ebx, str.sqlite_temp_schema
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shr eax, 0x10
and eax, 1
shr ecx, 7
push eax
movsx eax, word [edi + 0x22]
and ecx, 1
push ecx
mov ecx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x1c]
push dword [esp + 0x38]
push ebx
mov eax, dword [eax + 0x10]
push dword [eax + ecx]
push str.sssiii
push 1
push esi
call fcn.0042a6a0
add esp, 0x24
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x467274
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
add edi, 0x10
mov edx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], edi
cmp eax, dword [edx + 0x14]
jl 0x467180
jmp 0x469810
test ecx, ecx
je 0x469810
push dword [esp + 0x20]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.00451180
mov ebx, eax
add esp, 4
mov dword [esp + 0x2c], ebx
test ebx, ebx
jne 0x4673e6
push dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
lea edx, [eax + 2]
push dword [esp + 0x34]
call fcn.00450fc0
add esp, 8
test eax, eax
je 0x469810
test byte [eax + 0x1c], 0x80
je 0x469810
mov ecx, eax
call fcn.00451be0
mov ebx, eax
mov dword [esp + 0x2c], eax
test ebx, ebx
je 0x469810
mov edx, dword [ebx + 0x18]
mov ecx, dword [esp + 0x10]
call fcn.0046ab60
mov ecx, dword [edi + 8]
mov edx, eax
or ecx, dword [edi + 0xc]
je 0x46740f
mov eax, dword [esp + 0x14]
movzx ecx, word [ebx + 0x34]
mov dword [eax + 0x2c], 6
mov eax, ecx
jmp 0x46741e
mov ecx, dword [esp + 0x14]
movzx eax, word [ebx + 0x32]
mov dword [ecx + 0x2c], 3
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x34], eax
call fcn.00457540
mov ecx, dword [esp + 0x18]
xor ebx, ebx
test cx, cx
je 0x469810
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
movzx edx, word [eax + ebx*2]
test dx, dx
jns 0x467455
xor eax, eax
jmp 0x467464
mov eax, dword [esp + 0x34]
movsx ecx, dx
add ecx, ecx
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*8]
push eax
movsx eax, dx
push eax
push ebx
push str.iisX
push 1
push esi
call fcn.0042a6a0
mov eax, dword [edi + 8]
add esp, 0x18
or eax, dword [edi + 0xc]
je 0x4674b0
mov edx, dword [esp + 0x2c]
xor ecx, ecx
movzx eax, word [edx + 0x32]
cmp ebx, eax
mov eax, dword [edx + 0x20]
setl cl
push ecx
push dword [eax + ebx*4]
mov eax, dword [edx + 0x1c]
movzx eax, byte [eax + ebx]
push eax
push str.isiX
push 4
push esi
call fcn.0042a6a0
add esp, 0x18
mov eax, dword [esp + 0x14]
mov edx, 0x54
mov ecx, esi
push dword [eax + 0x2c]
push 1
call fcn.0042a540
mov ecx, dword [esp + 0x20]
inc ebx
movzx eax, cx
add esp, 8
cmp ebx, eax
jl 0x467441
jmp 0x469810
test ecx, ecx
je 0x469810
push dword [esp + 0x20]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.00450d60
mov edi, eax
add esp, 4
test edi, edi
je 0x469810
mov edx, dword [edi + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.0046ab60
mov ecx, dword [esp + 0x14]
mov edx, eax
mov dword [ecx + 0x2c], 5
call fcn.00457540
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je 0x469810
mov dword [esp + 0x88], 0x5d03f0
mov dword [esp + 0x8c], 0x5d03f4
mov dword [esp + 0x90], 0x5cfd40
nop dword [eax]
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x8c]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.0042a6a0
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x467550
jmp 0x469810
mov eax, dword [esp + 0x14]
xor edi, edi
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle 0x469810
xor ebx, ebx
nop dword [eax + eax]
mov edx, dword [edx + 0x10]
mov ecx, dword [edx + ebx + 4]
test ecx, ecx
je 0x4675d5
call fcn.00427620
push eax
push dword [edx + ebx]
push edi
push 0x5d0400
push 1
push esi
call fcn.0042a6a0
add esp, 0x18
mov edx, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x4675b0
jmp 0x469810
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edx + 0x1b8]
test edi, edi
je 0x469810
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x5d0404
push 1
push esi
call fcn.0042a6a0
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x467606
jmp 0x469810
mov eax, dword [esp + 0x10]
mov ebx, dword [eax + 0x18]
mov eax, dword [esp + 0x14]
shr ebx, 5
and ebx, 1
mov dword [eax + 0x2c], 6
mov eax, 0x609948
mov dword [esp + 0x1c], eax
nop dword [eax]
mov edi, dword [eax]
test edi, edi
je 0x467670
push ebx
push 1
mov edx, edi
mov ecx, esi
call fcn.00465f10
mov edi, dword [edi + 0x24]
add esp, 8
test edi, edi
jne 0x467656
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x1c], eax
cmp eax, 0x6099a4
jl 0x467650
mov edx, dword [esp + 0x10]
mov edi, dword [edx + 0x1a8]
test edi, edi
je 0x469810
mov edx, dword [edi + 8]
mov ecx, esi
push ebx
push 0
call fcn.00465f10
mov edi, dword [edi]
add esp, 8
test edi, edi
jne 0x467690
jmp 0x469810
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 1
mov edi, dword [edx + 0x18c]
test edi, edi
je 0x469810
nop dword [eax + eax]
mov eax, dword [edi + 8]
push dword [eax + 4]
push 0x5cdaa8
push 1
push esi
call fcn.0042a6a0
mov edi, dword [edi]
add esp, 0x10
test edi, edi
jne 0x4676d0
jmp 0x469810
mov edi, 0x5d4598
push dword [edi]
push 0x5cdaa8
push 1
push esi
call fcn.0042a6a0
add edi, 0x10
add esp, 0x10
cmp edi, str.0123456789ABCDEF
jl 0x4676f6
jmp 0x469810
test ecx, ecx
je 0x469810
push dword [esp + 0x20]
mov edx, ecx
mov ecx, dword [esp + 0x14]
call fcn.00450d60
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
je 0x469810
cmp byte [eax + 0x2b], 0
jne 0x469810
mov edi, dword [eax + 0x30]
test edi, edi
je 0x469810
mov edx, dword [eax + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.0046ab60
mov ecx, dword [esp + 0x14]
mov edx, eax
mov dword [esp + 0x2c], 0
mov dword [ecx + 0x2c], 8
call fcn.00457540
xor eax, eax
nop dword [eax + eax]
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x467843
lea edx, [edi + 0x24]
mov dword [esp + 0x1c], edx
movzx eax, byte [edi + 0x19]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x46779e
jmp dword [eax*4 + 0x4698f4]
mov ecx, str.SET_NULL
jmp 0x4677c6
mov ecx, str.SET_DEFAULT
jmp 0x4677c6
mov ecx, str.CASCADE
jmp 0x4677c6
mov ecx, str.RESTRICT
jmp 0x4677c6
mov ecx, str.NO_ACTION
movzx eax, byte [edi + 0x1a]
add eax, 0xfffffff9
cmp eax, 3
ja case.default.0x4677d2
jmp dword [eax*4 + 0x469904]
mov eax, str.SET_NULL
jmp 0x4677fa
mov eax, str.SET_DEFAULT
jmp 0x4677fa
mov eax, str.CASCADE
jmp 0x4677fa
mov eax, str.RESTRICT
jmp 0x4677fa
mov eax, str.NO_ACTION
push str.NONE
push ecx
mov ecx, dword [edx]
push eax
push dword [edx + 4]
mov eax, dword [esp + 0x44]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x48]
push str.iissssss
push 1
push esi
call fcn.0042a6a0
mov edx, dword [esp + 0x48]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x1c], edx
cmp ebx, dword [edi + 0x14]
jl 0x467792
mov eax, dword [esp + 0x2c]
mov edi, dword [edi + 4]
inc eax
mov dword [esp + 0x2c], eax
test edi, edi
jne 0x467780
jmp 0x469810
mov edi, dword [esp + 0x14]
mov eax, dword [edi + 0x2c]
lea ecx, [eax + 1]
add eax, 5
mov dword [esp + 0x4c], eax
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov eax, dword [eax + 0x10]
mov eax, dword [ebx + eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x469810
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4678a5
push dword [esp + 0x20]
xor edx, edx
push ecx
mov ecx, edi
call fcn.00450fc0
add esp, 8
mov edi, eax
xor eax, eax
jmp 0x4678aa
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov dword [esp + 0x58], edi
test edi, edi
je 0x467c5f
cmp byte [edi + 0x2b], 0
jne 0x467c5f
cmp dword [edi + 0x30], 0
je 0x467c5f
mov edx, dword [edi + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.0046ab60
mov ebx, eax
mov eax, ecx
mov edx, ebx
mov dword [esp + 0x2c], ebx
add edx, edx
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx + edx*8]
mov edx, ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
call fcn.00457540
push dword [edi]
mov ecx, dword [esp + 0x18]
mov edx, ebx
push 0
push dword [edi + 0x14]
call fcn.004506f0
mov ecx, dword [esp + 0x20]
add esp, 0xc
movsx eax, word [edi + 0x22]
add eax, dword [esp + 0x4c]
cmp dword [ecx + 0x2c], eax
jge 0x467924
mov dword [ecx + 0x2c], eax
push 0x70
push edi
push ebx
xor edx, edx
call fcn.0045ffd0
mov edx, dword [esp + 0x54]
add esp, 0xc
mov ecx, esi
push dword [edi]
call fcn.0042a620
mov ebx, dword [edi + 0x30]
add esp, 4
mov eax, 1
mov dword [esp + 0x24], eax
test ebx, ebx
je 0x467a1a
nop word [eax + eax]
push dword [esp + 0x20]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
call fcn.00450d60
mov edi, eax
add esp, 4
test edi, edi
je 0x467a02
push dword [edi]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
push 0
push dword [edi + 0x14]
mov dword [esp + 0x60], 0
call fcn.004506f0
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x60]
add esp, 0xc
mov edx, edi
push 0
push eax
push ebx
call fcn.0045da30
add esp, 0xc
test eax, eax
jne 0x469810
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x4679db
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push 0x70
push edi
push dword [esp + 0x34]
call fcn.0045ffd0
add esp, 0xc
jmp 0x467a02
push dword [esp + 0x2c]
mov edx, 0x70
mov ecx, esi
push dword [eax + 0x2c]
push dword [esp + 0x2c]
call fcn.0042a410
mov edx, dword [esp + 0x60]
add esp, 0xc
mov ecx, dword [esp + 0x14]
call fcn.0042b510
mov eax, dword [esp + 0x24]
mov ebx, dword [ebx + 4]
inc eax
mov dword [esp + 0x24], eax
test ebx, ebx
jne 0x467960
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x28], eax
jge 0x467a26
mov dword [ecx + 0x28], eax
push 0
mov edx, 0x24
mov ecx, esi
call fcn.0042a4e0
mov ebx, dword [edi + 0x30]
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x60], 1
mov dword [esp + 0x50], ebx
test ebx, ebx
je 0x467c3d
mov eax, dword [esp + 0x48]
add eax, 2
mov dword [esp + 0x74], eax
nop dword [eax]
push dword [esp + 0x20]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
call fcn.00450d60
mov edi, dword [esp + 0x18]
xor edx, edx
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x64], edx
test eax, eax
je 0x467aa8
lea ecx, [esp + 0x64]
mov edx, eax
push ecx
lea ecx, [esp + 0x58]
push ecx
push ebx
mov ecx, edi
call fcn.0045da30
mov edx, dword [esp + 0x70]
add esp, 0xc
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x14]
add eax, ecx
cmp dword [edi + 0x2c], eax
jge 0x467ac3
mov dword [edi + 0x2c], eax
xor edi, edi
cmp dword [ebx + 0x14], edi
jle 0x467b28
mov ebx, ecx
mov ecx, dword [esp + 0x50]
add ecx, 0x24
mov dword [esp + 0x1c], ecx
test edx, edx
je 0x467ae0
mov eax, dword [edx + edi*4]
jmp 0x467ae2
mov eax, dword [ecx]
mov edx, dword [esp + 0x58]
mov ecx, esi
push ebx
push eax
push 0
call fcn.00446d60
add esp, 0xc
mov edx, 0x32
mov ecx, esi
push dword [esp + 0x24]
push ebx
call fcn.0042a540
mov eax, dword [esp + 0x58]
inc edi
mov ecx, dword [esp + 0x24]
add esp, 8
mov edx, dword [esp + 0x64]
add ecx, 8
inc ebx
mov dword [esp + 0x1c], ecx
cmp edi, dword [eax + 0x14]
jl 0x467ad7
mov ecx, dword [esp + 0x4c]
mov ebx, eax
mov eax, dword [esp + 0x54]
test eax, eax
je 0x467b7e
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x467b44
mov ecx, dword [esp + 0x10]
mov edx, eax
call fcn.00460110
mov ecx, eax
mov eax, dword [ebx + 0x14]
mov edx, 0x60
mov edi, dword [esp + 0x4c]
push eax
push ecx
push 0
push eax
push edi
mov ecx, esi
call fcn.0042a830
add esp, 0x14
mov edx, 0x1d
mov ecx, esi
push dword [ebx + 0x14]
push edi
mov edi, dword [esp + 0x2c]
push edi
push dword [esp + 0x6c]
call fcn.0042ab00
add esp, 0x10
jmp 0x467bb3
cmp dword [esp + 0x34], 0
je 0x467baf
mov eax, dword [esi + 0x6c]
mov edx, 0x1e
push ecx
add eax, 2
mov ecx, esi
push eax
push dword [esp + 0x68]
call fcn.0042a410
mov edi, dword [esp + 0x30]
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.0042a5b0
jmp 0x467bb3
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
mov ecx, esi
mov edx, 0x87
test byte [eax + 0x1c], 0x80
mov eax, dword [esp + 0x48]
je 0x467bcd
mov edx, 0x4b
inc eax
push eax
push 0
call fcn.0042a540
mov eax, dword [esp + 0x68]
add esp, 8
dec eax
push eax
push dword [ebx + 8]
push 0x5d041c
push dword [esp + 0x80]
push esi
call fcn.0042a6a0
add esp, 0x14
mov edx, 0x54
mov ecx, esi
push 4
push dword [esp + 0x4c]
call fcn.0042a540
add esp, 8
mov edx, edi
mov ecx, esi
call fcn.0042acb0
mov edx, dword [esp + 0x64]
test edx, edx
je 0x467c26
mov ecx, dword [esp + 0x10]
call fcn.004059a0
mov ebx, dword [ebx + 4]
inc dword [esp + 0x60]
mov dword [esp + 0x50], ebx
test ebx, ebx
jne 0x467a60
mov eax, dword [esp + 0x2c]
inc eax
mov edx, 0x27
push eax
push 0
mov ecx, esi
call fcn.0042a540
mov edx, dword [esp + 0x34]
add esp, 8
mov ecx, esi
call fcn.0042afa0
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
test eax, eax
jne 0x467886
jmp 0x469810
test ecx, ecx
je 0x469810
xor dl, dl
call fcn.00465a60
mov ecx, dword [esp + 0x10]
movzx edx, al
call fcn.0045d680
jmp 0x469810
mov edi, dword [esp + 0x3c]
xor eax, eax
mov ebx, dword [esp + 0x14]
or edx, 0xffffffff
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x70]
movzx eax, byte [eax]
mov al, byte [eax + 0x5d40e0]
mov byte [esp + 0x47], al
mov eax, dword [esp + 0x38]
cmp dword [eax], 0
mov eax, 0x64
mov dword [ebx + 0x2c], 6
cmove edi, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x467d2b
lea edx, [esp + 0x18]
call fcn.0040a7c0
test eax, eax
je 0x467cf8
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
test eax, eax
jg 0x467d2b
mov eax, 0x64
jmp 0x467d27
test edi, edi
js 0x467d0c
mov eax, dword [esp + 0x10]
mov ecx, edi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
jmp 0x467d0e
xor eax, eax
push eax
push dword [esp + 0x34]
xor edx, edx
mov ecx, ebx
call fcn.00450fc0
mov dword [esp + 0x6c], eax
add esp, 8
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
lea ecx, [eax - 1]
mov edx, 0x47
push 1
push ecx
mov ecx, esi
call fcn.0042a540
mov eax, dword [esp + 0x18]
xor ecx, ecx
add esp, 8
mov dword [esp + 0x54], ecx
cmp dword [eax + 0x14], ecx
jle 0x469203
mov dword [esp + 0x84], 0x10
nop
xor eax, eax
test edi, edi
js 0x467d6e
cmp ecx, edi
jne 0x4691f1
mov edx, ecx
mov ecx, ebx
call fcn.00457540
mov eax, dword [esp + 0x10]
xor edi, edi
mov ecx, dword [esp + 0x54]
mov byte [ebx + 0x17], 0
shl ecx, 4
mov eax, dword [eax + 0x10]
mov dword [esp + 0x34], ecx
mov eax, dword [eax + ecx + 0xc]
add eax, 8
mov dword [esp + 0x24], eax
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x4691e5
mov ecx, dword [esp + 0x64]
mov esi, edi
nop dword [eax + eax]
mov eax, dword [ebx + 8]
test ecx, ecx
je 0x467dbb
cmp ecx, eax
jne 0x467de2
mov ecx, dword [eax + 8]
xor edx, edx
test byte [eax + 0x1c], 0x80
lea eax, [edi + 1]
cmovne eax, edi
mov edi, eax
test ecx, ecx
je 0x467dd9
mov ecx, dword [ecx + 0x14]
inc edi
inc edx
test ecx, ecx
jne 0x467dd0
mov ecx, dword [esp + 0x64]
cmp edx, esi
cmovg esi, edx
mov ebx, dword [ebx]
test ebx, ebx
jne 0x467db0
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x5c]
test edi, edi
je 0x4691e5
test ecx, ecx
lea eax, [edi + 1]
mov ecx, dword [esp + 0x10]
cmove eax, edi
push ebx
lea eax, [eax*4 + 4]
push eax
call fcn.00405d00
mov edi, eax
add esp, 8
test edi, edi
je 0x469203
mov eax, dword [esp + 0x64]
xor edx, edx
test eax, eax
je 0x467e2f
lea edx, [ebx + 1]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x467e78
mov esi, dword [esp + 0x64]
nop
mov ecx, dword [ebx + 8]
test esi, esi
je 0x467e4b
cmp esi, ecx
jne 0x467e6e
test byte [ecx + 0x1c], 0x80
jne 0x467e58
mov eax, dword [ecx + 0x14]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x467e6e
nop
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x467e60
mov ebx, dword [ebx]
test ebx, ebx
jne 0x467e40
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add eax, 8
mov dword [edi], edx
cmp dword [ebx + 0x2c], eax
jge 0x467e8d
mov dword [ebx + 0x2c], eax
push 0xfffffffffffffff2
push edi
push 1
push edx
push 2
mov edx, 0x9b
mov byte [ebx + 0x13], 0
mov ecx, esi
mov dword [ebx + 0x1c], 0
call fcn.0042a830
mov eax, dword [esp + 0x68]
add esp, 0x14
movzx edx, al
mov ecx, esi
call fcn.0042af40
push 2
mov edx, 0x32
call fcn.0042a4e0
mov edx, dword [esp + 0x14]
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x34]
push 0xfffffffffffffffa
push ecx
mov ecx, dword [edx + 0x10]
push dword [ecx + eax]
push str._in_database__s__n
push edx
call fcn.004087c0
add esp, 0x10
mov edx, 0x75
mov ecx, esi
push eax
push 0
push 3
push 0
call fcn.0042a830
add esp, 0x14
mov edx, 0x6f
mov ecx, esi
push 3
push 3
push 2
call fcn.0042a410
add esp, 0xc
mov ecx, esi
call fcn.00465fb0
mov edx, edi
mov ecx, esi
call fcn.0042afa0
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 8]
mov dword [esp + 0x34], edi
test edi, edi
je 0x4691e9
nop dword [eax + eax]
mov edi, dword [edi + 8]
mov dword [esp + 0x20], edi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x68], 0xffffffff
cmp byte [edi + 0x2b], 0
jne 0x4691d1
mov eax, dword [esp + 0x64]
test eax, eax
je 0x467f71
cmp eax, edi
jne 0x4691d1
cmp byte [esp + 0x47], 0x71
je 0x467fba
test byte [edi + 0x1c], 0x80
je 0x467fba
mov ecx, edi
call fcn.00451be0
mov ecx, ebx
mov dword [esp + 0x38], eax
movzx edx, word [eax + 0x32]
call fcn.0044a550
mov edx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], edx
movzx ecx, word [eax + 0x32]
dec ecx
add ecx, edx
push ecx
push edx
push 1
mov edx, 0x4b
mov ecx, esi
call fcn.0042a410
add esp, 0xc
jmp 0x467fca
mov dword [esp + 0x38], 0
mov dword [esp + 0x48], 0
lea eax, [esp + 0x1c]
mov edx, edi
push eax
lea eax, [esp + 0x54]
mov ecx, ebx
push eax
push 0
push 1
push 0
push 0x70
call fcn.00464080
push 7
push 0
mov edx, 0x47
mov ecx, esi
call fcn.0042a540
mov edi, dword [edi + 8]
add esp, 0x20
test edi, edi
je 0x46801e
mov ebx, 8
push ebx
push 0
mov edx, 0x47
mov ecx, esi
call fcn.0042a540
mov edi, dword [edi + 0x14]
add esp, 8
inc ebx
test edi, edi
jne 0x468004
mov ebx, dword [esp + 0x50]
mov edx, 0x24
push 0
push ebx
mov ecx, esi
call fcn.0042a540
push 1
push 7
mov edx, 0x56
mov ecx, esi
call fcn.0042a540
mov dword [esp + 0x84], eax
add esp, 0x10
mov eax, dword [esp + 0x20]
test byte [eax + 0x1c], 0x80
jne 0x468099
movsx ebx, word [eax + 0x22]
or edi, 0xffffffff
test ebx, ebx
jle 0x468087
mov edx, dword [eax + 4]
add edx, 0xe
mov ax, word [edx]
lea ecx, [edi + 1]
and ax, 0x20
lea edx, [edx + 0x10]
movzx eax, ax
test ax, ax
cmovne ecx, edi
mov edi, ecx
sub ebx, 1
jne 0x468066
mov eax, dword [esp + 0x20]
movsx eax, word [eax + 0x20]
lea ecx, [edi - 1]
mov ebx, dword [esp + 0x50]
cmp edi, eax
cmovne ecx, edi
jmp 0x4680a5
mov ecx, eax
call fcn.00451be0
movzx ecx, word [eax + 0x34]
dec ecx
test ecx, ecx
js 0x4680c8
push 3
push ecx
push ebx
mov edx, 0x5e
mov ecx, esi
call fcn.0042a410
add esp, 0xc
mov edx, 3
mov ecx, esi
call fcn.0042af60
cmp byte [esp + 0x47], 0x71
je 0x46818d
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x46818d
movzx eax, word [ecx + 0x32]
mov edx, 0x29
push eax
push dword [esp + 0x4c]
mov ecx, esi
push 0
push ebx
call fcn.0042ab00
push dword [esp + 0x58]
mov edx, 0x32
mov ecx, esi
mov edi, eax
call fcn.0042a4e0
mov ecx, dword [esp + 0x34]
add esp, 0x14
push dword [ecx]
push str.row_not_in_PRIMARY_KEY_order_for__s
push dword [esp + 0x18]
call fcn.004087c0
add esp, 0xc
mov edx, 0x75
mov ecx, esi
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
call fcn.0042a830
add esp, 0x14
mov ecx, esi
call fcn.00465fb0
mov edx, edi
mov ecx, esi
call fcn.0042afa0
lea edx, [edi + 1]
mov ecx, esi
call fcn.0042afa0
mov ecx, dword [esp + 0x38]
xor eax, eax
xor edi, edi
cmp ax, word [ecx + 0x32]
jae 0x46818d
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov edx, ecx
add eax, edi
mov ecx, esi
push eax
push edi
push ebx
call fcn.00446b60
mov ecx, dword [esp + 0x44]
inc edi
add esp, 0xc
movzx eax, word [ecx + 0x32]
cmp edi, eax
jl 0x468167
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x20]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x60], edx
movzx ebx, word [eax + 0x1e]
and ebx, 1
mov dword [esp + 0x6c], ebx
cmp cx, word [eax + 0x22]
jge 0x4684a1
mov dword [esp + 0x24], ecx
mov edi, dword [eax + 4]
movsx eax, word [eax + 0x20]
add edi, ecx
cmp edx, eax
je 0x468481
test ebx, ebx
je 0x4681dc
mov eax, dword [edi + 4]
and eax, 0xf0
cmp dword [esp + 0x84], eax
sbb eax, eax
neg eax
jmp 0x4681e5
xor eax, eax
cmp byte [edi + 8], 0x41
setg al
test byte [edi + 4], 0xf
mov dword [esp + 0x18], eax
jne 0x4681f7
test eax, eax
je 0x468481
test byte [edi + 0xe], 0x20
mov dword [esp + 0x58], 5
je 0x468229
push 3
push edx
push dword [esp + 0x58]
mov edx, dword [esp + 0x2c]
mov ecx, esi
call fcn.00446d60
add esp, 0xc
or ecx, 0xffffffff
mov dword [esp + 0x40], ecx
lea ebx, [ecx + 4]
jmp 0x4682b9
cmp word [edi + 0xc], 0
je 0x46828b
mov ecx, dword [esp + 0x20]
mov edx, edi
mov dword [esp + 0x4c], 0
call fcn.00451550
test eax, eax
je 0x468287
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0x4c]
push 0
push ecx
movzx ecx, byte [edi + 8]
mov edx, eax
push ecx
movzx ecx, byte [ebx + 0x54]
push ecx
mov ecx, ebx
call fcn.00429b90
mov ecx, dword [esp + 0x5c]
add esp, 0x10
test ecx, ecx
je 0x468287
movzx eax, word [ecx + 0x10]
and eax, 0x3f
movzx eax, byte [eax + 0x5d6ed0]
mov dword [esp + 0x58], eax
call fcn.0042a080
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
mov ecx, eax
test byte [eax + 0x1c], 0x80
je 0x4682ad
call fcn.00451be0
mov ecx, eax
call fcn.00451c00
jmp 0x4682b2
call fcn.00451c30
mov ecx, dword [esp + 0x40]
movsx ebx, ax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], ebx
mov eax, dword [eax + 0x38]
dec eax
mov dword [esp + 0x80], eax
lea edx, [eax - 1]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], edx
mov dword [eax + 0x38], edx
test byte [edi + 4], 0xf
je 0x46856f
push dword [esp + 0x58]
push ebx
push edx
push ecx
mov edx, 0x12
mov ecx, esi
call fcn.0042ab00
mov edx, dword [esp + 0x50]
add esp, 0x10
mov dword [esp + 0x78], eax
test edx, edx
jns 0x46831f
mov ecx, dword [esi + 0x6c]
test ecx, ecx
jle 0x468363
lea edx, [ecx + ecx*4]
mov ebx, 0xf
mov ecx, dword [esi + 0x68]
mov word [ecx + edx*4 - 0x12], bx
jmp 0x468363
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x46833a
lea ecx, [eax + eax*4]
mov edx, 0xd
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x40]
push 3
push ebx
push edx
mov edx, 0x5e
mov ecx, esi
call fcn.0042a410
mov ebx, dword [esp + 0x34]
add esp, 0xc
mov edx, 0x33
mov ecx, esi
push ebx
push 3
call fcn.0042a540
add esp, 8
push dword [edi]
mov ebx, eax
mov eax, dword [esp + 0x24]
push dword [eax]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.004087c0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0042a830
mov eax, dword [esp + 0x3c]
add esp, 0x24
test eax, eax
je 0x4683c1
mov edx, dword [esp + 0x80]
mov ecx, esi
call fcn.0042a5b0
mov edx, dword [esp + 0x78]
mov ecx, esi
call fcn.0042afa0
mov edx, ebx
mov ecx, esi
call fcn.0042afa0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x468580
test eax, eax
je 0x468578
push dword [esp + 0x58]
mov ebx, dword [esp + 0x44]
mov ecx, esi
push dword [esp + 0x50]
push edx
push ebx
mov edx, 0x12
call fcn.0042ab00
mov eax, dword [edi + 4]
mov ecx, esi
shr eax, 4
and eax, 0xf
movzx edx, byte [eax + 0x5d245b]
call fcn.0042af40
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov eax, dword [edx + 4]
push dword [ecx + eax]
mov eax, dword [edi + 4]
push dword [edx]
shr eax, 4
and eax, 0xf
push dword [eax*4 + 0x600a0c]
push str.non__s_value_in__s._s
push dword [esp + 0x30]
call fcn.004087c0
add esp, 0x24
mov edx, 0x75
mov ecx, esi
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
call fcn.0042a830
add esp, 0x14
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x80]
mov ecx, esi
call fcn.0042acb0
mov ecx, esi
call fcn.00465fb0
mov edx, ebx
mov ecx, esi
call fcn.0042acb0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
inc edx
add ecx, 0x10
mov dword [esp + 0x60], edx
mov dword [esp + 0x24], ecx
movsx eax, word [eax + 0x22]
cmp edx, eax
mov eax, dword [esp + 0x20]
jl 0x4681b2
mov edx, dword [eax + 0x10]
test edx, edx
je 0x46875e
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx + 0x20]
and eax, 0x200
or eax, 0
jne 0x46875a
push eax
mov ecx, ebx
call fcn.004432a0
add esp, 4
mov edx, eax
cmp byte [ebx + 0x57], 0
mov dword [esp + 0x18], edx
jne 0x46874f
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x38]
dec ebx
mov dword [esp + 0x6c], ebx
lea ecx, [ebx - 1]
mov dword [eax + 0x38], ecx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x78], ecx
inc eax
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x34], eax
mov edi, dword [edx]
dec edi
test edi, edi
jle 0x46853b
mov esi, dword [esp + 0x6c]
lea ebx, [edi*4 + 2]
add ebx, edi
lea ebx, [edx + ebx*4]
push 0
push esi
push dword [ebx]
push ecx
call fcn.00448ff0
mov ecx, dword [esp + 0x24]
lea ebx, [ebx - 0x14]
dec edi
add esp, 0x10
test edi, edi
jg 0x468515
mov esi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x78]
push 0x10
push edi
push dword [edx + 8]
push ecx
call fcn.00448c30
mov ecx, dword [esi + 0xc]
add esp, 0x10
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4686dd
push ebx
mov edx, esi
call fcn.0042ac00
add esp, 4
jmp 0x4686e6
mov eax, dword [esp + 0x18]
jmp 0x4683c5
test ecx, ecx
jne 0x468453
cmp byte [edi + 8], 0x42
jne 0x4685f5
push dword [esp + 0x58]
mov ebx, dword [esp + 0x44]
mov ecx, esi
push dword [esp + 0x50]
push edx
push ebx
mov edx, 0x12
call fcn.0042ab00
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x4685ba
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov eax, dword [edi + 4]
push dword [ecx + eax]
push dword [edi]
push str.NUMERIC_value_in__s._s
push dword [esp + 0x1c]
call fcn.004087c0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0042a830
add esp, 0x24
jmp 0x468453
test ecx, ecx
jne 0x468453
cmp byte [edi + 8], 0x43
jl 0x468453
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x40]
push edi
push dword [esp + 0x50]
push edx
lea edx, [ecx + 0x12]
mov ecx, esi
push ebx
call fcn.0042ab00
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x46863a
lea ecx, [eax + eax*4]
mov edx, 0x1b
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
test ebx, ebx
js 0x468656
mov edx, dword [esp + 0x20]
mov ecx, esi
push 3
push dword [esp + 0x64]
push dword [esp + 0x58]
call fcn.00446d60
add esp, 0xc
push 0xffffffffffffffff
push 0x5d04a0
push 0
push 1
push 3
mov edx, 0x60
mov ecx, esi
call fcn.0042a830
mov ebx, dword [esp + 0x3c]
add esp, 0x14
mov edx, 0x12
mov ecx, esi
push edi
push 3
push ebx
push 0xffffffffffffffff
call fcn.0042ab00
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x4686a2
lea ecx, [eax + eax*4]
mov edx, 0x1c
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov eax, dword [edx + 4]
push dword [ecx + eax]
push dword [edx]
push str.TEXT_value_in__s._s
push dword [esp + 0x1c]
call fcn.004087c0
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0042a830
add esp, 0x24
jmp 0x468457
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0x20]
push dword [eax]
push str.CHECK_constraint_failed_in__s
push ebx
call fcn.004087c0
add esp, 0xc
mov edx, 0x75
mov ecx, esi
push 0xfffffffffffffffa
push eax
push 0
push 3
push 0
call fcn.0042a830
add esp, 0x14
mov ecx, esi
call fcn.00465fb0
mov ecx, dword [esi + 0xc]
not edi
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x468742
push edi
mov edx, esi
call fcn.0042ac00
add esp, 4
jmp 0x46874b
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edi*4], eax
mov edx, dword [esp + 0x18]
test edx, edx
je 0x46875a
mov ecx, ebx
call fcn.00443d90
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x47], 0x71
je 0x468f68
mov ebx, dword [eax + 8]
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x468f68
mov ecx, dword [esp + 0x1c]
mov eax, 8
sub eax, ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x38]
dec edi
mov dword [eax + 0x38], edi
cmp ecx, ebx
je 0x468f55
push dword [esp + 0x68]
lea ecx, [esp + 0x8c]
mov edx, ebx
push dword [esp + 0x80]
push ecx
push 0
push 0
push dword [esp + 0x64]
mov ecx, eax
call fcn.00459f00
mov ecx, dword [esp + 0x90]
mov edx, 0x56
add ecx, dword [esp + 0x58]
push 1
push ecx
mov ecx, esi
mov dword [esp + 0x88], eax
mov dword [esp + 0x9c], ebx
call fcn.0042a540
movzx eax, word [ebx + 0x34]
mov edx, 0x1d
push eax
push dword [esp + 0x8c]
mov ecx, esi
push edi
push dword [esp + 0x6c]
call fcn.0042ab00
push str.row
mov edx, 3
mov ecx, esi
mov edi, eax
call fcn.0042a620
mov ecx, dword [esi + 0x6c]
add esp, 0x34
cmp dword [esi + 0x70], ecx
jg 0x468840
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x468873
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._missing_from_index
mov edx, 4
mov ecx, esi
call fcn.0042a620
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x4688a6
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x4688d9
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push dword [ebx]
mov edx, 4
mov ecx, esi
call fcn.0042a620
mov ecx, dword [esi + 0x6c]
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [esi + 0x70], ecx
jg 0x46890d
push 3
push 3
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x468940
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.00465fb0
mov ecx, dword [esi]
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x6c], eax
cmp byte [ecx + 0x57], 0
je 0x46895d
mov ecx, 0x60992c
jmp 0x468966
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x20]
mov dword [ecx + 8], edx
test byte [eax + 0x1c], 0x80
jne 0x468a13
push 3
push dword [esp + 0x44]
mov edx, 0x8e
mov ecx, esi
call fcn.0042a540
mov ecx, dword [esp + 0x70]
mov edx, 0x35
movzx eax, word [ebx + 0x34]
dec ecx
add eax, ecx
mov ecx, esi
push eax
push 0
push 3
call fcn.0042a410
add esp, 0x14
mov edx, 3
mov ecx, esi
mov edi, eax
push str.rowid_not_at_end_of_record_for_row
call fcn.0042a620
add esp, 4
mov edx, 0x6f
mov ecx, esi
push 3
push 3
push 7
call fcn.0042a410
add esp, 0xc
mov edx, 4
mov ecx, esi
push str._of_index
call fcn.0042a620
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, esi
lea edx, [edx - 1]
call fcn.0042a5b0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x468a07
mov eax, 0x60992c
jmp 0x468a10
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
xor ecx, ecx
xor ebx, ebx
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x468c30
nop word [eax + eax]
mov eax, dword [eax + 0x20]
cmp dword [eax + edi*4], str.BINARY
je 0x468af2
test ebx, ebx
jne 0x468a4e
mov eax, dword [esp + 0x14]
dec dword [eax + 0x38]
mov ebx, dword [eax + 0x38]
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x468a6e
push 3
push edi
push dword [esp + 0x48]
mov edx, 0x5e
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x468a9d
mov edx, dword [esp + 0x40]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x5e
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x468ac0
mov eax, dword [esp + 0x68]
mov edx, 0x34
add eax, edi
mov ecx, esi
push eax
push ebx
push 3
call fcn.0042a3d0
add esp, 0xc
jmp 0x468af2
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x34
mov dword [eax + ecx*4 + 4], 3
mov dword [eax + ecx*4 + 8], ebx
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x68]
add eax, edi
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x28]
inc edi
movzx eax, word [eax + 0x32]
cmp edi, eax
mov eax, dword [esp + 0x28]
jl 0x468a30
test ebx, ebx
je 0x468c2c
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x468b30
push 0
push 0
push 0
mov edx, 9
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
mov edi, eax
jmp 0x468b63
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x468b7d
push ebx
mov edx, esi
call fcn.0042ac00
add esp, 4
jmp 0x468b86
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
push str.row
mov edx, 3
mov ecx, esi
call fcn.0042a620
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x468bb9
push 3
push 3
push 7
mov edx, 0x6f
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x468bec
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 7
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
push str._values_differ_from_index
mov edx, 4
mov ecx, esi
call fcn.0042a620
mov edx, dword [esp + 0x1c]
add esp, 4
mov ecx, esi
lea edx, [edx - 1]
call fcn.0042a5b0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x468c20
mov eax, 0x60992c
jmp 0x468c29
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
cmp byte [eax + 0x36], 0
je 0x468ef4
mov ecx, dword [esp + 0x14]
xor ebx, ebx
dec dword [ecx + 0x38]
mov edx, dword [ecx + 0x38]
xor ecx, ecx
mov dword [esp + 0x24], edx
cmp cx, word [eax + 0x32]
jae 0x468cdd
mov edi, dword [esp + 0x68]
jmp 0x468c64
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
movsx ecx, word [eax + ebx*2]
test ecx, ecx
js 0x468c7f
mov eax, dword [esp + 0x20]
add ecx, ecx
mov eax, dword [eax + 4]
test byte [eax + ecx*8 + 4], 0xf
jne 0x468ccf
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x468ca0
push 0
push edx
push edi
mov edx, 0x32
mov ecx, esi
call fcn.0042a3d0
mov edx, dword [esp + 0x30]
add esp, 0xc
jmp 0x468ccf
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x32
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x28]
inc ebx
inc edi
movzx eax, word [eax + 0x32]
cmp ebx, eax
jl 0x468c60
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x468d00
push 0
push 0
push dword [esp + 0x48]
mov edx, 0x27
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
mov edi, eax
jmp 0x468d33
mov edx, dword [esp + 0x40]
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0x6c]
mov ebx, dword [esp + 0x24]
cmp dword [esi + 0x70], ecx
jg 0x468d55
push 0
push ebx
push 0
mov edx, 9
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x468d84
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x468d96
mov eax, 0x60992c
jmp 0x468d9f
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
mov edx, dword [esi + 0x6c]
movzx edi, word [eax + 0x32]
cmp dword [esi + 0x70], edx
jg 0x468dce
push dword [esp + 0x68]
mov edx, 0x29
mov ecx, esi
push ebx
push dword [esp + 0x48]
call fcn.0042a3d0
add esp, 0xc
mov edx, eax
jmp 0x468e01
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x68]
mov dword [eax + ecx*4 + 0xc], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + ecx*4], 0x29
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x468e18
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
mov byte [eax + ecx*4 + 1], 0xfd
mov dword [eax + ecx*4 + 0x10], edi
mov edx, dword [esi + 0x6c]
cmp dword [esi + 0x70], edx
jg 0x468e39
push 0
push 3
push 0
mov edx, 0x75
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
mov edx, eax
jmp 0x468e6c
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0
push str.non_unique_entry_in_index
mov ecx, esi
call fcn.0042b440
mov ecx, dword [esi + 0x6c]
add esp, 8
cmp dword [esi + 0x70], ecx
jg 0x468e9e
push 0
push dword [esp + 0x1c]
mov edx, 9
mov ecx, esi
push 0
call fcn.0042a3d0
add esp, 0xc
jmp 0x468ed1
mov edx, dword [esp + 0x18]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 9
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi + 0xc]
not ebx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x468eeb
push ebx
mov edx, esi
call fcn.0042ac00
add esp, 4
jmp 0x468ef4
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + ebx*4], eax
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x468f06
mov eax, 0x60992c
jmp 0x468f13
mov eax, dword [esp + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x88]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x14]
test edi, edi
je 0x468f4d
mov edx, dword [eax + 8]
not edi
mov ecx, dword [edx + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x468f40
push edi
call fcn.0042ac00
add esp, 4
jmp 0x468f49
mov ecx, dword [ecx + 0x40]
mov eax, dword [edx + 0x6c]
mov dword [ecx + edi*4], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov ebx, dword [ebx + 0x14]
inc dword [esp + 0x40]
mov dword [esp + 0x28], ebx
test ebx, ebx
jne 0x468793
mov ecx, dword [esi + 0x6c]
mov ebx, dword [esp + 0x74]
cmp dword [esi + 0x70], ecx
jg 0x468f8c
push 0
push ebx
push dword [esp + 0x58]
mov edx, 0x27
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x468fbb
mov edx, dword [esp + 0x50]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x27
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], ebx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x468fcd
mov eax, 0x60992c
jmp 0x468fd9
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
add eax, 0xffffffec
cmp byte [esp + 0x47], 0x71
mov dword [eax + 8], edx
je 0x4691cd
push str.wrong__of_entries_in_index
mov edx, 2
mov ecx, esi
call fcn.0042a620
mov eax, dword [esp + 0x24]
add esp, 4
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
test eax, eax
je 0x469189
mov ecx, dword [esp + 0x38]
mov ebx, 8
cmp ecx, eax
je 0x469179
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x469046
mov eax, dword [esp + 0x1c]
mov edx, 0x62
push 0
add eax, 0xfffffff8
mov ecx, esi
add eax, ebx
push 3
push eax
call fcn.0042a3d0
add esp, 0xc
jmp 0x46907f
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x62
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff8
mov dword [ecx + 0x10], 0
add eax, ebx
mov dword [ecx + 4], eax
mov edi, dword [esi + 0x6c]
cmp dword [esi + 0x70], edi
jg 0x46909f
push 3
push 0
push ebx
mov edx, 0x35
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
mov edi, eax
jmp 0x4690ce
lea eax, [edi + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edi + edi*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4690e5
lea ecx, [eax + eax*4]
mov edx, 0x90
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x18]
mov edx, 4
mov ecx, esi
push dword [eax]
call fcn.0042a620
mov ecx, dword [esi + 0x6c]
add esp, 4
cmp dword [esi + 0x70], ecx
jg 0x469119
push 3
push 2
push 4
mov edx, 0x6f
mov ecx, esi
call fcn.0042a3d0
add esp, 0xc
jmp 0x46914c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x6f
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.00465fb0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x469165
mov eax, 0x60992c
jmp 0x46916e
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
inc ebx
mov dword [esp + 0x18], eax
test eax, eax
jne 0x469017
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4691cd
movzx eax, word [eax + 0x32]
mov ebx, dword [esp + 0x14]
cmp eax, 1
jne 0x4691bc
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x4691d1
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x4691d1
movzx eax, al
mov dword [ebx + eax*4 + 0xa0], ecx
inc byte [ebx + 0x13]
jmp 0x4691d1
cmp eax, dword [ebx + 0x1c]
jle 0x4691d1
mov dword [ebx + 0x1c], eax
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x20], eax
jmp 0x4691d1
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
mov edi, dword [edi]
mov dword [esp + 0x34], edi
test edi, edi
jne 0x467f40
jmp 0x4691e9
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x54], ecx
cmp ecx, dword [eax + 0x14]
jl 0x467d60
push ecx
push 0x5d6eb4
mov edx, 7
mov ecx, esi
call fcn.0042ae60
mov edx, eax
add esp, 8
test edx, edx
je 0x46924b
mov eax, dword [str.database_disk_image_is_malformed]
mov ecx, 1
sub ecx, dword [esp + 0x2c]
test eax, eax
mov dword [edx + 8], ecx
mov ecx, str.unknown_error
cmovne ecx, eax
mov byte [edx + 0x29], 0xff
mov dword [edx + 0x38], 0x5d0580
mov byte [edx + 0x65], 0xff
mov dword [edx + 0x74], ecx
mov eax, dword [esi + 0x6c]
xor edx, edx
sub eax, 2
mov ecx, esi
push eax
call fcn.0042af10
add esp, 4
jmp 0x469810
test ecx, ecx
jne 0x469293
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.0046a9b0
test eax, eax
jne 0x469810
mov eax, dword [ebx]
mov ecx, esi
movzx edx, byte [eax + 0x54]
mov edx, dword [edx*8 + 0x5d75e0]
call fcn.00465d90
jmp 0x469810
mov edx, dword [esp + 0x10]
test byte [edx + 0x18], 0x40
jne 0x469810
mov eax, dword [str.UTF8]
mov esi, 0x5d75e0
test eax, eax
je 0x4692ed
nop
mov edx, eax
call fcn.00409d40
test eax, eax
je 0x4692cb
mov eax, dword [esi + 8]
add esi, 8
mov ecx, dword [esp + 0x30]
test eax, eax
jne 0x4692b0
jmp 0x4692f6
mov cl, byte [esi + 4]
mov edx, 2
movzx eax, cl
test cl, cl
mov ecx, dword [esp + 0x10]
cmovne edx, eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov byte [eax + 0x4d], dl
call fcn.00458300
cmp dword [esi], 0
jne 0x469810
push dword [esp + 0x30]
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.00409b70
add esp, 0xc
jmp 0x469810
mov ebx, dword [edi + 8]
mov ecx, esi
mov edx, dword [esp + 0x3c]
call fcn.0042b8f0
cmp dword [esp + 0x30], 0
je 0x46938a
test byte [edi + 5], 8
jne 0x46938a
push ecx
push 0x5d2964
mov edx, 2
mov ecx, esi
call fcn.0042ae60
mov ecx, dword [esp + 0x38]
mov esi, eax
mov eax, dword [esp + 0x44]
add esp, 8
mov dword [esi + 4], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ebx
call fcn.0040a940
mov dword [esi + 0x20], eax
mov eax, 1
mov word [esi + 0x16], ax
cmp ebx, eax
jne 0x469810
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x20]
and eax, 0x10000000
or eax, 0
je 0x469810
mov byte [esi + 0x14], 0xb8
jmp 0x469810
push ecx
push 0x5d75d4
mov edx, 3
mov ecx, esi
call fcn.0042ae60
mov ecx, dword [esp + 0x44]
add esp, 8
mov dword [eax + 4], ecx
mov dword [eax + 0x18], ecx
mov ecx, esi
mov dword [eax + 0x20], ebx
call fcn.0042ace0
jmp 0x469810
mov eax, dword [esp + 0x14]
xor edi, edi
push edi
mov dword [eax + 0x2c], 1
call fcn.0049eb30
add esp, 4
test eax, eax
je 0x469400
push eax
mov edx, 1
mov ecx, esi
inc edi
call fcn.0042a620
add esp, 4
mov edx, 0x54
mov ecx, esi
push 1
push 1
call fcn.0042a540
push edi
call fcn.0049eb30
add esp, 0xc
test eax, eax
jne 0x4693d2
mov ecx, esi
call fcn.0042ace0
jmp 0x469810
mov eax, dword [esp + 0x38]
mov ebx, 0xc
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x3c]
xor edi, edi
test ecx, ecx
je 0x469465
mov edx, 0x5d0268
call fcn.00409d40
test eax, eax
jne 0x469436
lea edi, [eax + 1]
jmp 0x469465
mov ecx, dword [esp + 0x30]
mov edx, str.restart
call fcn.00409d40
test eax, eax
jne 0x46944d
lea edi, [eax + 2]
jmp 0x469465
mov ecx, dword [esp + 0x30]
mov edx, str.truncate
call fcn.00409d40
test eax, eax
mov eax, 3
cmove edi, eax
mov eax, dword [esp + 0x14]
mov edx, 3
push 1
push edi
push ebx
mov ecx, esi
mov dword [eax + 0x2c], 3
call fcn.0042a410
add esp, 0xc
mov edx, 0x54
mov ecx, esi
push 3
push 1
call fcn.0042a540
jmp 0x46980d
test ecx, ecx
je 0x4694ae
call fcn.0040a940
push eax
push dword [esp + 0x14]
call fcn.0049c250
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x110], 0x49c1e0
jne 0x466a0c
mov eax, dword [eax + 0x114]
jmp 0x469803
push dword [esp + 0x10]
call fcn.0049a7d0
add esp, 4
jmp 0x469810
test ecx, ecx
je 0x4694f8
call fcn.0040a940
mov ecx, eax
mov dword [esp + 0x1c], ecx
test cl, 2
je 0x469810
jmp 0x469500
mov dword [esp + 0x1c], 0xfffe
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x3c]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x34], eax
inc eax
cmp dword [esp + 0x20], 0
mov dword [ecx + 0x28], eax
je 0x469522
mov eax, edi
mov dword [esp + 0x18], eax
jmp 0x469536
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x18], eax
cmp edi, eax
jg 0x46968c
cmp edi, 1
je 0x469678
mov edx, edi
call fcn.00457540
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ebx + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x46966c
nop dword [eax]
mov edi, dword [ebx + 8]
test dword [edi + 0x1c], 0x100
je 0x46965e
mov ax, word [edi + 0x26]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x88], ecx
test eax, eax
je 0x46959d
nop dword [eax]
test byte [eax + 0x38], 0x80
je 0x4695e9
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x469590
test cx, cx
je 0x4695e9
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
push 0x70
push edi
push dword [esp + 0x44]
call fcn.0045ffd0
mov eax, dword [esp + 0x94]
add esp, 0xc
mov ecx, dword [esp + 0x1c]
mov edx, 0x21
cwde
and ecx, 1
add ecx, 2
push eax
mov eax, dword [esi + 0x6c]
add eax, ecx
mov ecx, esi
push eax
push dword [esp + 0x3c]
call fcn.0042a410
mov edx, dword [esp + 0x1c]
add esp, 0xc
push dword [edi]
mov eax, dword [edx + 0x10]
mov ecx, dword [esp + 0x30]
push dword [eax + ecx]
push str.ANALYZE___w_.__w_
push edx
call fcn.004087c0
add esp, 0x10
mov edx, eax
test byte [esp + 0x1c], 1
je 0x469642
mov ecx, dword [esp + 0x14]
call fcn.0044a510
push 0xfffffffffffffffa
push edx
mov edi, eax
mov edx, 0x75
push 0
push edi
push 0
mov ecx, esi
call fcn.0042a830
add esp, 0x14
mov edx, 0x54
mov ecx, esi
push 1
push edi
call fcn.0042a540
add esp, 8
jmp 0x46965a
push 0xfffffffffffffffa
push edx
push 0
push 0
push 0
mov edx, 0x94
mov ecx, esi
call fcn.0042a830
add esp, 0x14
mov edx, dword [esp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x469560
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
inc edi
add ebx, 0x10
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], ebx
cmp edi, eax
jle 0x469536
mov edx, 0xa6
mov ecx, esi
call fcn.0042a480
jmp 0x469810
test ecx, ecx
je 0x4696c7
lea edx, [esp + 0x88]
call fcn.0040a6b0
test eax, eax
jne 0x4696c7
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.00405130
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.00405130
push edx
push eax
mov ecx, esi
call fcn.00465cf0
add esp, 0x10
jmp 0x469810
test ecx, ecx
je 0x469735
lea edx, [esp + 0x88]
call fcn.0040a6b0
test eax, eax
jne 0x469735
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004052a0
mov edi, dword [esp + 0x94]
add esp, 8
mov ebx, eax
test edi, edi
jl 0x469735
mov ecx, dword [esp + 0x88]
jg 0x46971b
test ecx, ecx
je 0x469735
mov eax, ebx
or eax, edx
je 0x46972b
cmp edx, edi
jl 0x469735
jg 0x46972b
cmp ebx, ecx
jbe 0x469735
push edi
push ecx
call fcn.004052a0
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call fcn.004052a0
push edx
push eax
mov ecx, esi
call fcn.00465cf0
add esp, 0x10
jmp 0x469810
test ecx, ecx
je 0x469792
lea edx, [esp + 0x88]
call fcn.0040a6b0
test eax, eax
jne 0x469792
cmp dword [esp + 0x8c], eax
jl 0x469792
mov eax, dword [esp + 0x88]
jg 0x469779
test eax, eax
jb 0x469792
mov ecx, 8
and eax, 0x7fffffff
cmp eax, ecx
cmovg eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0xa4], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xa4]
jmp 0x469803
test ecx, ecx
je 0x4697d7
lea edx, [esp + 0x88]
call fcn.0040a6b0
test eax, eax
jne 0x4697d7
cmp dword [esp + 0x8c], eax
jl 0x4697d7
mov eax, dword [esp + 0x88]
jg 0x4697c8
test eax, eax
jb 0x4697d7
mov ecx, dword [esp + 0x10]
and eax, 0x7fffffff
mov dword [ecx + 0x1f0], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f0]
jmp 0x469803
test ecx, ecx
je 0x4697f9
call fcn.0040a940
push eax
push dword [esp + 0x14]
call fcn.0049b7c0
add esp, 8
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1f4]
cdq
push edx
push eax
mov ecx, esi
call fcn.00465cf0
add esp, 8
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x10]
call fcn.004059a0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x469830
mov ecx, dword [esp + 0x10]
mov edx, eax
call fcn.004059a0
mov ecx, dword [esp + 0xac]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00533fc6
mov esp, ebp
pop ebp
ret