Function at 0x4698af
Capabilities:
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x324
mov eax, dword [0x517748]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0x1e8], 0
push ebx
push esi
xor edx, edx
mov dword [ebp - 0x1e0], eax
mov esi, dword [eax]
mov ebx, dword [eax + 0x58]
push edi
mov dword [ebp - 0x214], ebx
mov cl, byte [esi + 0x42]
mov byte [ebp - 0x218], cl
mov ecx, dword [eax + 0x5c]
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x23c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x240], ecx
mov ecx, eax
mov dword [ebp - 0x1dc], ebx
mov dword [ebp - 0x1f0], esi
mov byte [ebp - 0x22d], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x260], edx
call fcn.00462040
mov ecx, dword [ebp - 0x1e0]
cmp dword [ecx + 0x28], 7
je 0x46ad8c
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x38], 0
mov dword [ecx + 0x3c], 0
mov dword [ecx + 0x68], 0
cmp dword [esi + 0xf8], 0
mov dword [esi + 0x184], 0
jne 0x46eba9
cmp dword [esi + 0x130], 0
je 0x468dbb
mov edi, dword [esi + 0x138]
xor edx, edx
mov eax, dword [ecx + 0xac]
div edi
sub edi, edx
mov dword [ebp - 0x268], edi
mov eax, dword [ecx + 0x24]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*4]
xor eax, eax
mov dl, byte [edi]
inc eax
movzx ebx, dl
mov dword [ebp - 0x1dc], edi
mov dword [ebp - 0x1e4], eax
mov byte [ebp - 0x201], dl
cmp ebx, 0x9f
ja case.0x468dea.112
jmp dword [ebx*4 + 0x46eddc]
mov edx, dword [ebp - 0x1dc]
mov ecx, edx
mov ebx, dword [ebp - 0x1ec]
sub ecx, dword [ebp - 0x214]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, 4
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
mov esi, dword [ebp - 0x1dc]
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea esi, [ecx + eax*4]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1dc], esi
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x214]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x1ec]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*4]
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
mov edi, dword [ebp - 0x1dc]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
dec eax
cdq
mov dword [ebx + ecx*8], eax
mov eax, 4
mov dword [ebx + ecx*8 + 4], edx
mov word [ebx + ecx*8 + 8], ax
cmp dword [edi + 8], 0
jne 0x468e2e
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x214]
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x1ec]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
jmp 0x468e8a
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
mov edi, dword [ebp - 0x214]
mov eax, dword [edx + 4]
sub edx, edi
lea esi, [eax + eax*4]
mov eax, 4
mov ecx, dword [ebx + esi*8]
mov word [ebx + esi*8 + 8], ax
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
lea eax, [ecx + ecx*4]
mov dword [ebx + esi*8 + 4], edx
lea esi, [edi + eax*4]
mov dword [ebp - 0x1dc], esi
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [edi + 0xc]
mov edx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x469ed4
mov ebx, dword [ebp - 0x1e0]
mov ecx, edi
sub ecx, dword [ebp - 0x214]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [ebp - 0x1dc]
cmp dword [edx + 4], 0
jne 0x46e72b
mov ecx, dword [ebx + 0xb8]
test ecx, ecx
je 0x46e72b
mov eax, dword [ecx + 4]
mov edi, ebx
dec dword [edi + 0xc0]
mov dword [edi + 0xb8], eax
mov eax, dword [edi + 0x2c]
add dword [esi + 0x5c], eax
mov dword [esi + 0x58], eax
call fcn.00462b00
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x23c], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x240], ecx
mov ecx, dword [ebp - 0x1dc]
cmp dword [ecx + 8], 4
jne 0x46902c
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov ecx, ebx
lea eax, [eax + eax*4]
mov ebx, dword [ecx + 0x58]
mov edx, dword [ecx + 0x5c]
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x1ec], edx
lea edi, [ebx + eax*4]
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov edi, dword [ebp - 0x1dc]
mov ecx, eax
mov eax, dword [ebp - 0x1dc]
add edi, 0x14
mov eax, dword [eax + 4]
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1e0]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov edi, dword [ebp - 0x1dc]
mov edx, eax
mov eax, dword [ebp - 0x1dc]
add edi, 0x14
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov ecx, dword [ebp - 0x1e0]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov edi, dword [ebp - 0x1dc]
mov ecx, eax
mov eax, 8
add edi, 0x14
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x1e4]
movsd qword [ecx], xmm0
mov ecx, dword [ebp - 0x1e0]
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov edx, ebx
call fcn.00468c90
mov byte [ebx], 0x4e
mov edi, eax
mov ebx, dword [ebx + 0x10]
mov ecx, ebx
call fcn.004446b0
cmp byte [ebp - 0x218], 1
mov edx, dword [ebp - 0x1dc]
mov dword [edx + 4], eax
je 0x469199
push 0
push 1
push 0xffffffffffffffff
mov edx, ebx
mov ecx, edi
call fcn.00460180
movzx edx, byte [ebp - 0x218]
add esp, 0xc
mov ecx, edi
mov dword [ebp - 0x1e8], eax
call fcn.0045f520
test eax, eax
jne 0x46ad86
mov edx, dword [ebp - 0x1dc]
mov dword [edi + 0x18], eax
mov eax, 0x800
or word [edi + 8], ax
cmp byte [edx + 1], 0xff
jne 0x469189
mov edx, dword [edx + 0x10]
mov ecx, esi
call fcn.00441a80
mov edx, dword [ebp - 0x1dc]
mov byte [edx + 1], 0xff
mov eax, dword [edi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [edi + 0xc]
mov dword [edx + 4], eax
mov eax, dword [edx + 4]
cmp eax, dword [esi + 0x60]
jg 0x469ba3
mov ecx, dword [ebp - 0x1e0]
call fcn.00468c90
mov edx, dword [ebp - 0x1dc]
mov ecx, eax
mov eax, 0xa02
mov word [ecx + 8], ax
mov eax, dword [edx + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
mov al, byte [ebp - 0x218]
mov byte [ecx + 0xa], al
mov eax, edx
mov eax, dword [eax + 0xc]
test eax, eax
jle 0x469ec8
mov ebx, dword [ebp - 0x1ec]
lea edi, [eax + eax*4]
mov eax, edx
movzx eax, byte [eax + 3]
cdq
cmp dword [ebx + edi*8], eax
jne 0x469ec8
cmp dword [ebx + edi*8 + 4], edx
mov edi, dword [ebp - 0x1dc]
jne 0x469ece
mov eax, 0xa10
add edi, 0x14
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
jmp 0x4691ab
mov ebx, dword [ebp - 0x1dc]
mov edx, ebx
call fcn.00468c90
mov edi, dword [ebx + 0xc]
mov ecx, 1
sub edi, dword [ebx + 8]
mov edx, 0x101
cmp dword [ebx + 4], 0
lea esi, [eax + 0xc]
cmovne ecx, edx
mov dword [esi], 0
movzx ebx, cx
mov word [eax + 8], bx
test edi, edi
jle 0x468f70
lea esi, [esi + 0x28]
lea ecx, [esi - 0xc]
call fcn.0045fe90
dec edi
mov word [esi - 4], bx
mov dword [esi], 0
test edi, edi
jg 0x469270
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [edi + 4]
mov ebx, 0xff7f
mov edx, dword [ebp - 0x1ec]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, bx
or ax, 1
add edi, 0x14
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov esi, eax
mov eax, dword [ebp - 0x1dc]
push 0
push 0
mov ecx, esi
push dword [eax + 4]
mov edx, dword [eax + 0x10]
call fcn.00460180
mov al, byte [ebp - 0x218]
add esp, 0xc
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1e0]
mov eax, dword [edx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x74]
lea edi, [eax + ecx*8]
lea ecx, [edi - 0x28]
call fcn.00460000
test eax, eax
jne 0x469ba3
mov edx, dword [ebp - 0x1dc]
mov ecx, ebx
call fcn.00468c90
push 0x800
lea edx, [edi - 0x28]
mov ecx, eax
call fcn.00460060
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov eax, dword [ebp - 0x1e4]
mov ecx, ebx
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov edi, edi
mov edx, edi
mov ecx, esi
call fcn.00460130
mov eax, 0x1000
test word [esi + 8], ax
je 0x4693d3
mov ecx, esi
call fcn.0045f680
test eax, eax
jne 0x46ad80
add edi, 0x28
add esi, 0x28
dec ebx
jne 0x4693b0
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
mov ebx, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
lea ecx, [ecx]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.00460060
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x46944b
mov ecx, esi
call fcn.0045f680
test eax, eax
jne 0x46ad80
mov eax, ebx
dec ebx
test eax, eax
je 0x468f70
add esi, 0x28
add edi, 0x28
jmp 0x469420
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
push 0x1000
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.00460060
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
push dword [ebx + eax*8 + 4]
push dword [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.0045fef0
mov edi, dword [ebp - 0x1dc]
add esp, 8
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1f8], ecx
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [edx + 0xc]
movzx edx, word [ecx + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov al, byte [ebx + 8]
or al, dl
test al, 1
je 0x469548
mov ecx, edi
call fcn.0045fe90
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
test edx, 0x4000
je 0x46955d
call fcn.0045f700
test eax, eax
jne 0x46ad86
mov eax, 0x4000
test word [ebx + 8], ax
je 0x469577
mov ecx, ebx
call fcn.0045f700
test eax, eax
jne 0x46ad86
mov eax, dword [ebp - 0x1f8]
test byte [eax + 8], 0x12
jne 0x46959d
mov dl, byte [ebp - 0x218]
mov ecx, eax
push 0
call fcn.0045f7b0
add esp, 4
test eax, eax
jne 0x46ad86
test byte [ebx + 8], 0x12
jne 0x4695bd
mov dl, byte [ebp - 0x218]
mov ecx, ebx
push 0
call fcn.0045f7b0
add esp, 4
test eax, eax
jne 0x46ad86
mov eax, dword [ebp - 0x1f8]
mov eax, dword [eax + 0xc]
add eax, dword [ebx + 0xc]
cdq
mov dword [ebp - 0x224], eax
mov ecx, edx
mov eax, dword [esi + 0x60]
cdq
cmp ecx, edx
jg 0x469ba3
mov edx, dword [ebp - 0x224]
jl 0x4695ee
cmp edx, eax
ja 0x469ba3
xor eax, eax
mov ecx, edi
cmp edi, ebx
sete al
add edx, 2
push eax
call fcn.0045f540
add esp, 4
test eax, eax
jne 0x46ad86
mov ax, word [edi + 8]
mov ecx, 0x3e00
and ax, cx
or ax, 2
mov word [edi + 8], ax
cmp edi, ebx
je 0x469634
push dword [ebx + 0xc]
push dword [ebx + 0x10]
push dword [edi + 0x10]
call fcn.004c54b0
add esp, 0xc
mov eax, dword [ebp - 0x1f8]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [edi + 0x10]
add eax, dword [ebx + 0xc]
push eax
call fcn.004c54b0
mov eax, dword [edi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x224]
mov byte [ecx + eax], 0
mov eax, dword [edi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [edi + 8], ax
mov al, byte [ebp - 0x218]
mov dword [edi + 0xc], ecx
mov ecx, dword [ebp - 0x1e0]
mov byte [edi + 0xa], al
mov edi, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x1f4], eax
call fcn.00468c30
movzx ebx, ax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x220], ebx
mov eax, dword [eax + 8]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov ecx, eax
mov dword [ebp - 0x1fc], eax
call fcn.00468c30
mov ecx, dword [ebp - 0x1f4]
movzx edx, ax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x200], edx
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov edi, dword [ebp - 0x1fc]
mov dword [ebp - 0x1f8], eax
mov al, byte [edi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x46999d
mov al, dl
and al, bl
test al, 4
je 0x469889
mov eax, ecx
mov byte [ebp - 0x201], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, edi
mov edi, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x250], edi
mov dword [ebp - 0x24c], ebx
movzx eax, byte [eax]
add eax, 0xffffffd1
cmp eax, 3
ja case.default.0x469754
jmp dword [eax*4 + 0x46f05c]
push edx
push ecx
lea ecx, [ebp - 0x250]
call fcn.00445960
add esp, 8
test eax, eax
je 0x469844
mov edi, dword [ebp - 0x1fc]
mov ecx, dword [ebp - 0x1f4]
call fcn.0045fb40
mov ecx, edi
movsd qword [ebp - 0x210], xmm0
call fcn.0045fb40
mov eax, dword [ebp - 0x1dc]
movapd xmm1, xmm0
movsd qword [ebp - 0x258], xmm1
movzx eax, byte [eax]
add eax, 0xffffffd1
cmp eax, 3
ja case.default.0x4697b4
jmp dword [eax*4 + 0x46f06c]
push edx
push ecx
lea ecx, [ebp - 0x250]
call fcn.00445a00
add esp, 8
test eax, eax
jne 0x469773
jmp 0x469844
push edx
push ecx
lea ecx, [ebp - 0x250]
call fcn.00445a50
add esp, 8
test eax, eax
jne 0x469773
jmp 0x469844
mov eax, ecx
or eax, edx
je 0x46999d
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x46980a
test edi, edi
jne 0x46980a
cmp ebx, 0x80000000
je 0x469773
push edx
push ecx
push ebx
push edi
call fcn.004cd2a0
jmp 0x469838
mov eax, ecx
or eax, edx
je 0x46999d
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x46982f
mov ecx, 1
xor edx, edx
push edx
push ecx
push ebx
push edi
call fcn.004cd350
mov dword [ebp - 0x24c], edx
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x1f8]
mov edx, 0x3e00
mov eax, dword [ebp - 0x250]
mov edi, dword [ebp - 0x1dc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24c]
mov dword [ecx + 4], eax
mov ax, word [ecx + 8]
and ax, dx
or ax, 4
add edi, 0x14
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov byte [ebp - 0x201], 0
jmp 0x46977f
addsd xmm1, qword [ebp - 0x210]
jmp 0x469932
subsd xmm1, qword [ebp - 0x210]
jmp 0x469932
mulsd xmm1, qword [ebp - 0x210]
jmp 0x469932
movsd xmm0, qword [ebp - 0x210]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x46999d
divsd xmm1, xmm0
jmp 0x469932
movsd xmm0, qword [ebp - 0x210]
call fcn.004f2e6f
movsd xmm0, qword [ebp - 0x258]
mov edi, eax
mov ebx, edx
call fcn.004f2e6f
mov ecx, eax
mov dword [ebp - 0x24c], edx
mov eax, edi
mov dword [ebp - 0x250], ecx
or eax, ebx
je 0x46999d
mov eax, edi
and eax, ebx
cmp eax, 0xffffffff
jne 0x46991e
mov edi, 1
xor ebx, ebx
push ebx
push edi
push edx
push ecx
call fcn.004cd350
mov ecx, eax
call fcn.004f300f
movapd xmm1, xmm0
movapd xmm0, xmm1
call fcn.00444670
test eax, eax
jne 0x46999d
mov ecx, dword [ebp - 0x1f8]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x200]
or al, byte [ebp - 0x220]
test al, 8
jne 0x469ec8
cmp byte [ebp - 0x201], 0
jne 0x469ec8
call fcn.0045fba0
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ecx, dword [ebp - 0x1f8]
call fcn.0045fe90
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [edi + 4]
test eax, eax
je 0x469ed4
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.0045fef0
mov ecx, dword [ebp - 0x1e0]
add esp, 8
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, esi
push 0
movzx ebx, byte [edx + 3]
lea eax, [ebx*4 + 0x1c]
push eax
call fcn.00441d50
mov edi, eax
add esp, 8
test edi, edi
je 0x46ad86
mov ecx, dword [ebp - 0x1dc]
mov dword [edi], 0
mov eax, dword [ecx + 0x10]
sub ecx, dword [ebp - 0x214]
mov dword [edi + 4], eax
mov eax, 0x66666667
imul ecx
mov byte [edi + 0x1a], bl
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1dc]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x1e0]
mov dword [edi + 0xc], eax
mov word [edx], 0xeb5a
mov dword [edx + 0x10], edi
jmp 0x469a6f
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1ec]
mov edi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov dword [ebp - 0x200], ebx
cmp dword [edi], ebx
je 0x469ac6
movzx ecx, byte [edi + 0x1a]
dec ecx
mov dword [edi], ebx
js 0x469ac6
mov esi, dword [ebp - 0x1dc]
lea edx, [ecx + 7]
mov ebx, dword [ebp - 0x1ec]
lea edx, [edi + edx*4]
mov eax, dword [esi + 8]
lea edx, [edx - 4]
add eax, ecx
dec ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + 4], eax
jns 0x469aa6
mov esi, dword [ebp - 0x1f0]
mov ebx, dword [ebp - 0x200]
mov ecx, dword [edi]
mov edx, 0x3e00
mov ax, word [ecx + 8]
and ax, dx
or ax, 1
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x23c]
mov byte [edi + 0x19], 0
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x240]
mov dword [esi + 0x24], eax
lea eax, [edi + 0x1c]
mov ecx, dword [edi + 4]
push eax
movzx eax, byte [edi + 0x1a]
push eax
mov eax, dword [ecx + 0xc]
push edi
call eax
mov eax, dword [esi + 0x20]
add esp, 0xc
cmp byte [edi + 0x19], 0
mov dword [ebp - 0x23c], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x240], eax
je 0x469b7c
cmp dword [edi + 0x14], 0
je 0x469b4c
push dword [edi]
call fcn.00466180
add esp, 4
push eax
push 0x507114
push dword [ebp - 0x1e0]
call fcn.00460a70
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1dc]
mov ecx, esi
mov edx, dword [ebp - 0x1e0]
add edx, 0xcc
push dword [eax + 4]
push dword [edi + 0x10]
call fcn.00463d00
mov ecx, dword [ebp - 0x1e8]
add esp, 8
test ecx, ecx
jne 0x46ec1c
test byte [ebx + 8], 0x12
je 0x469ec8
movzx edx, byte [ebp - 0x218]
mov ecx, dword [edi]
call fcn.0045f520
mov ecx, dword [edi]
call fcn.00460000
test eax, eax
je 0x469ec8
push str.string_or_blob_too_big
push dword [ebp - 0x1e0]
call fcn.00460a70
add esp, 8
mov ecx, 0x12
jmp 0x46ec1c
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [ebx + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [ebp - 0x200], edx
test al, 1
je 0x469c18
mov ecx, edx
call fcn.0045fe90
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
call fcn.0045fa90
mov ebx, edx
mov dword [ebp - 0x1f4], eax
mov ecx, edi
mov dword [ebp - 0x2b0], eax
mov dword [ebp - 0x2ac], ebx
call fcn.0045fa90
mov edi, eax
mov eax, dword [ebp - 0x1dc]
mov cl, byte [eax]
cmp cl, 0x2b
jne 0x469c56
mov ecx, dword [ebp - 0x1f4]
and ecx, edi
and ebx, edx
jmp 0x469d39
cmp cl, 0x2c
jne 0x469c6a
mov ecx, dword [ebp - 0x1f4]
or ecx, edi
or ebx, edx
jmp 0x469d39
mov eax, edi
or eax, edx
je 0x469d33
test edx, edx
jg 0x469ca2
jl 0x469c7e
test edi, edi
jae 0x469c97
mov al, 0x5b
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x469ca2
jg 0x469c90
cmp edi, 0xffffffc0
jbe 0x469ca2
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x469cc9
jg 0x469ca2
cmp edi, 0x40
jb 0x469cc9
test ebx, ebx
jg 0x469cc0
jl 0x469cb1
cmp dword [ebp - 0x1f4], 0
jae 0x469cc0
cmp cl, 0x2d
je 0x469cc0
or eax, 0xffffffff
cdq
mov ecx, eax
mov ebx, edx
jmp 0x469d39
xor eax, eax
cdq
mov ecx, eax
mov ebx, edx
jmp 0x469d39
movq xmm1, qword [ebp - 0x2b0]
movd xmm0, edi
cmp cl, 0x2d
jne 0x469cf4
psllq xmm1, xmm0
movq qword [ebp - 0x210], xmm1
mov ebx, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x210]
jmp 0x469d39
psrlq xmm1, xmm0
movq qword [ebp - 0x210], xmm1
test ebx, ebx
jg 0x469ce6
jl 0x469d0f
cmp dword [ebp - 0x1f4], 0
jae 0x469ce6
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.004f3040
mov ecx, dword [ebp - 0x210]
mov ebx, dword [ebp - 0x20c]
or ecx, eax
or ebx, edx
jmp 0x469d39
mov ecx, dword [ebp - 0x1f4]
mov edx, dword [ebp - 0x200]
mov edi, dword [ebp - 0x1dc]
mov ax, word [edx + 8]
mov dword [edx], ecx
mov ecx, 0x3e00
and ax, cx
mov dword [edx + 4], ebx
mov ecx, dword [ebp - 0x1e0]
or ax, 4
mov word [edx + 8], ax
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0045fc40
mov eax, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [eax + 8]
cdq
add dword [esi], eax
mov eax, dword [ebp - 0x1e4]
adc dword [esi + 4], edx
add edi, 0x14
mov esi, dword [ebp - 0x1f0]
jmp 0x468dc6
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
movzx eax, word [edi + 8]
test al, 4
jne 0x469e19
test al, 8
jne 0x469dea
test al, 2
je 0x469df7
mov edx, 1
mov ecx, edi
call fcn.00468a40
jmp 0x469df1
mov ecx, edi
call fcn.0045fba0
mov ecx, dword [ebp - 0x1e0]
movzx eax, word [edi + 8]
test al, 4
jne 0x469e19
mov eax, dword [ebp - 0x1dc]
cmp dword [eax + 8], 0
jne 0x468e2e
mov ecx, 0x14
jmp 0x46ec1c
and eax, 0x3e00
or eax, 4
mov word [edi + 8], ax
mov edi, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov eax, dword [edi + 4]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je 0x469ece
call fcn.0045fc70
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, 0x4000
test word [edi + 8], ax
je 0x469e97
mov ecx, edi
call fcn.0045f700
mov dword [ebp - 0x1e8], eax
jmp 0x469ea1
mov dword [ebp - 0x1e8], 0
mov eax, dword [ebp - 0x1dc]
mov ecx, edi
push dword [ebp - 0x218]
mov dl, byte [eax + 8]
call fcn.0045fdc0
add esp, 4
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46ec1c
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x21c], edi
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 8]
lea ebx, [ecx + eax*8]
movzx eax, word [edi + 8]
mov ecx, edx
or ecx, eax
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1fc], edx
mov al, byte [eax + 3]
test cl, 1
je 0x469fce
test al, al
jns 0x469f5c
test byte [ebp - 0x1f4], 1
je 0x469f52
test dl, 1
je 0x469f52
test edx, 0x100
jne 0x469f52
xor edx, edx
jmp 0x46a0fd
mov edx, 1
jmp 0x46a0fd
test al, 0x20
je 0x469fac
mov eax, dword [ebp - 0x1dc]
mov ebx, 0x3e00
mov edx, dword [ebp - 0x1ec]
mov edi, dword [ebp - 0x1dc]
mov dword [ebp - 0x244], 1
mov eax, dword [eax + 8]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, bx
or ax, 1
add edi, 0x14
mov word [edx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
test al, 0x10
jne 0x468e2e
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
and al, 0x47
cmp al, 0x43
jl 0x46a06e
test cl, 2
je 0x46a011
mov al, byte [ebp - 0x1f4]
and al, 0xe
cmp al, 2
jne 0x469ffc
xor edx, edx
mov ecx, edi
call fcn.00468a40
movzx eax, word [ebx + 8]
mov dword [ebp - 0x1fc], eax
mov al, byte [ebp - 0x1fc]
and al, 0xe
cmp al, 2
jne 0x46a011
xor edx, edx
mov ecx, ebx
call fcn.00468a40
mov al, byte [ebx + 8]
and al, byte [edi + 8]
test al, 4
je 0x46a0e6
mov edx, dword [ebp - 0x21c]
mov edi, dword [ebx + 4]
mov ecx, dword [ebx]
mov eax, dword [edx]
mov edx, dword [edx + 4]
cmp edi, edx
jl 0x46a053
jg 0x46a039
cmp ecx, eax
jbe 0x46a049
mov edi, dword [ebp - 0x21c]
mov edx, 1
jmp 0x46a0fd
cmp edi, edx
jg 0x46a061
jl 0x46a053
cmp ecx, eax
jae 0x46a061
mov edi, dword [ebp - 0x21c]
or edx, 0xffffffff
jmp 0x46a0fd
mov edi, dword [ebp - 0x21c]
xor edx, edx
jmp 0x46a0fd
cmp al, 0x42
jne 0x46a0e6
mov al, byte [ebp - 0x1f4]
test al, 2
jne 0x46a0ac
test al, 0xc
je 0x46a0ac
mov dl, byte [ebp - 0x218]
mov ecx, edi
push 1
call fcn.0045f7b0
mov ax, word [edi + 8]
mov ecx, 0x7e00
xor ax, word [ebp - 0x1f4]
add esp, 4
and ax, cx
xor word [ebp - 0x1f4], ax
mov al, byte [ebp - 0x1fc]
test al, 2
jne 0x46a0e6
test al, 0xc
je 0x46a0e6
mov dl, byte [ebp - 0x218]
mov ecx, ebx
push 1
call fcn.0045f7b0
mov ax, word [ebx + 8]
mov ecx, 0x7e00
xor ax, word [ebp - 0x1fc]
add esp, 4
and ax, cx
xor word [ebp - 0x1fc], ax
mov eax, dword [ebp - 0x1dc]
mov edx, edi
mov ecx, ebx
push dword [eax + 0x10]
call fcn.00464d90
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x1dc]
movzx eax, byte [eax]
add eax, 0xffffffdc
cmp eax, 4
ja case.default.0x46a10e
jmp dword [eax*4 + 0x46f07c]
xor ecx, ecx
test edx, edx
sete cl
jmp 0x46a144
mov ecx, edx
jmp 0x46a144
xor ecx, ecx
test edx, edx
sets cl
jmp 0x46a144
xor ecx, ecx
test edx, edx
setle cl
jmp 0x46a144
xor ecx, ecx
test edx, edx
setg cl
jmp 0x46a144
xor ecx, ecx
test edx, edx
setns cl
movzx eax, word [ebp - 0x1f4]
mov word [edi + 8], ax
movzx eax, word [ebp - 0x1fc]
mov word [ebx + 8], ax
mov ebx, dword [ebp - 0x1dc]
mov bl, byte [ebx + 3]
test bl, 0x20
je 0x46a1dc
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x244], edx
xor edx, edx
test ecx, ecx
mov eax, dword [eax + 8]
setne dl
lea edi, [eax + eax*4]
test bl, 8
je 0x46a19c
mov ecx, dword [ebp - 0x1dc]
xor eax, eax
cmp byte [ecx], 0x25
sete al
cmp eax, edx
je 0x469ec8
mov ebx, dword [ebp - 0x1ec]
mov eax, 0x3e00
mov cx, word [ebx + edi*8 + 8]
and cx, ax
mov eax, edx
or cx, 4
cdq
mov word [ebx + edi*8 + 8], cx
mov ecx, dword [ebp - 0x1e0]
mov dword [ebx + edi*8], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebx + edi*8 + 4], edx
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
jmp 0x468dc6
test ecx, ecx
jne 0x468e2e
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
cmp dword [ebp - 0x244], 0
jne 0x468e2e
add edi, 0x14
jmp 0x468dc6
mov edx, dword [edi + 0x10]
add edx, 4
add edi, 0x14
mov dword [ebp - 0x260], edx
jmp 0x468dc6
mov esi, dword [ebp - 0x1dc]
mov eax, 0
mov ebx, dword [ebp - 0x260]
test byte [esi + 3], 1
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x10]
cmove ebx, eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x220], ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x200], ecx
test eax, eax
jle 0x46a310
lea edi, [edx + 0x14]
test ebx, ebx
je 0x46a27f
mov ecx, dword [ebx + esi*4]
jmp 0x46a281
mov ecx, esi
mov eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x1ec]
push dword [edi]
movzx ebx, byte [eax + esi]
mov eax, dword [ebp - 0x200]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x220]
add eax, ecx
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00464d90
add esp, 4
mov dword [ebp - 0x244], eax
test eax, eax
jne 0x46a304
mov edx, dword [ebp - 0x228]
inc esi
mov ebx, dword [ebp - 0x260]
add edi, 4
cmp esi, dword [ebp - 0x22c]
jl 0x46a276
mov edi, dword [ebp - 0x1dc]
xor edx, edx
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x260], edx
jmp 0x468dc6
test ebx, ebx
je 0x46a310
neg eax
mov dword [ebp - 0x244], eax
mov edi, dword [ebp - 0x1dc]
xor edx, edx
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x260], edx
jmp 0x468dc6
mov ebx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x1dc]
test ebx, ebx
jns 0x46a368
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
jne 0x46a38a
mov eax, dword [edx + 8]
mov edx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x214]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea edi, [edx + eax*4]
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x46a3cd
mov edi, 2
jmp 0x46a3df
call fcn.0045fa90
or eax, edx
je 0x46a3dd
mov edi, 1
jmp 0x46a3df
xor edi, edi
mov eax, dword [ebx + 8]
mov ebx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 1
lea ecx, [ebx + eax*8]
je 0x46a3fc
mov eax, 2
jmp 0x46a40e
call fcn.0045fa90
or eax, edx
je 0x46a40c
mov eax, 1
jmp 0x46a40e
xor eax, eax
mov ecx, dword [ebp - 0x1dc]
lea eax, [eax + edi*2]
cmp byte [ecx], 0x1c
jne 0x46a426
movzx edx, byte [edi + eax + 0x506860]
jmp 0x46a42e
movzx edx, byte [edi + eax + 0x506c18]
mov eax, dword [ecx + 0xc]
mov edi, dword [ebp - 0x1dc]
lea ecx, [eax + eax*4]
cmp edx, 2
jne 0x46a469
mov ax, word [ebx + ecx*8 + 8]
mov edx, 0x3e00
and ax, dx
or ax, 1
add edi, 0x14
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, edx
cdq
mov dword [ebx + ecx*8], eax
mov ax, word [ebx + ecx*8 + 8]
mov dword [ebx + ecx*8 + 4], edx
mov edx, 0x3e00
and ax, dx
or ax, 4
add edi, 0x14
mov word [ebx + ecx*8 + 8], ax
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0045fe90
test byte [ebx + 8], 1
jne 0x469ec8
mov eax, 4
mov ecx, ebx
mov word [edi + 8], ax
call fcn.0045fa90
or eax, edx
jne 0x46a505
mov ecx, dword [ebp - 0x1e0]
mov eax, 1
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
jmp 0x468dc6
mov ecx, dword [ebp - 0x1e0]
xor eax, eax
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0045fe90
test byte [ebx + 8], 1
jne 0x469ec8
mov eax, 4
mov ecx, ebx
mov word [edi + 8], ax
call fcn.0045fa90
mov ecx, dword [ebp - 0x1e0]
not eax
not edx
mov dword [edi], eax
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
jmp 0x468dc6
mov eax, dword [ecx + 0x58]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
je 0x468e2e
mov dword [edi + 4], eax
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x46a5ce
mov ecx, edx
mov edi, edx
mov ecx, dword [ecx + 0xc]
jmp 0x46a5fd
call fcn.0045fb40
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x46a5e7
mov ecx, 1
jmp 0x46a5e9
xor ecx, ecx
mov edi, dword [ebp - 0x1dc]
cmp byte [edi], 0x16
jne 0x46a5fd
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
test ecx, ecx
jne 0x468e2e
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
jne 0x468e2e
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov eax, dword [edi + 4]
mov edx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
test byte [edx + eax*8 + 8], 1
je 0x468e2e
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
lea edx, [ebp - 0x238]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x234], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x238], eax
call fcn.004643a0
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x1ec]
mov esi, dword [ebp - 0x1e0]
lea eax, [eax + eax*4]
mov ebx, dword [edx + 0x54]
mov edi, dword [edx + 0x14]
lea ecx, [ecx + eax*8]
mov eax, dword [edx + 0x40]
cmp eax, dword [esi + 0x20]
mov esi, dword [ebp - 0x1f0]
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x21c], edi
je 0x46a7db
cmp byte [edx + 2], 0
je 0x46a718
cmp byte [edx], 3
jne 0x469529
mov ecx, dword [ebp - 0x1ec]
lea eax, [edi + edi*4]
mov edi, dword [ecx + eax*8 + 0xc]
mov dword [edx + 0x48], edi
mov dword [edx + 0x44], edi
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [edx + 0x50], eax
jmp 0x46a765
mov ecx, edi
call fcn.00457dd0
mov edx, dword [ebp - 0x234]
mov eax, dword [edi + 0x1c]
mov dword [edx + 0x44], eax
movsx eax, byte [edi + 0x44]
mov ecx, dword [edi + 0x18]
mov eax, dword [edi + eax*4 + 0x78]
mov edi, dword [eax + 0x3c]
mov eax, dword [ebp - 0x21c]
sub edi, ecx
movzx eax, word [eax + 0x20]
cmp eax, edi
mov dword [edx + 0x50], ecx
cmovb edi, eax
mov eax, dword [edx + 0x44]
cmp eax, edi
ja 0x46a759
mov dword [edx + 0x48], eax
jmp 0x46a765
cmp eax, dword [esi + 0x60]
ja 0x469ba3
mov dword [edx + 0x48], edi
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 0x20]
mov dword [edx + 0x40], eax
mov ecx, dword [edx + 0x50]
mov al, byte [ecx]
cmp al, 0x80
jae 0x46a78a
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x28c], ecx
jmp 0x46a7a4
lea edx, [ebp - 0x28c]
call fcn.004457a0
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x234]
movzx eax, al
movzx eax, al
mov dword [edx + 0x4c], eax
xor eax, eax
mov word [edx + 0x12], ax
mov dword [ebx], ecx
cmp edi, ecx
jae 0x46a8c0
mov dword [edx + 0x50], eax
mov dword [edx + 0x48], eax
cmp ecx, 0x18003
ja 0x46e7ef
cmp ecx, dword [edx + 0x44]
ja 0x46e7ef
mov edi, dword [ebp - 0x21c]
movzx eax, word [edx + 0x12]
mov ecx, dword [ebp - 0x238]
cmp eax, ecx
jg 0x46aa14
mov eax, dword [edx + 0x4c]
cmp eax, dword [ebx]
jae 0x46aa0a
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x1f4], eax
test eax, eax
jne 0x46a860
xorps xmm0, xmm0
lea eax, [ebp - 0x190]
push eax
xor eax, eax
movq qword [ebp - 0x170], xmm0
movdqu xmmword [ebp - 0x190], xmm0
mov ecx, edi
movdqu xmmword [ebp - 0x180], xmm0
cmp byte [edx + 4], al
sete al
xor edx, edx
push eax
push dword [ebx]
call fcn.00460480
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov eax, dword [ebp - 0x180]
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x1f4], eax
movzx eax, word [edx + 0x12]
xor ecx, ecx
mov esi, dword [edx + 0x4c]
add esi, dword [ebp - 0x1f4]
mov dword [ebp - 0x228], eax
mov edi, dword [ebx + eax*4]
mov ebx, dword [ebx]
add ebx, dword [ebp - 0x1f4]
add eax, 0x16
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x220], ebx
lea eax, [edx + eax*4]
mov dword [ebp - 0x22c], eax
jmp 0x46a8a0
movzx ebx, byte [esi]
mov dword [ebp - 0x270], ebx
cmp ebx, 0x80
jae 0x46a8cd
movzx eax, byte [ebx + 0x504aa0]
inc esi
cdq
add edi, eax
adc ecx, edx
jmp 0x46a8f7
test ecx, ecx
je 0x46a7d5
mov eax, dword [edx + 0x50]
jmp 0x46a85a
lea edx, [ebp - 0x270]
mov ecx, esi
call fcn.004457a0
mov ebx, dword [ebp - 0x270]
mov ecx, ebx
movzx eax, al
add esi, eax
call fcn.00464550
mov ecx, dword [ebp - 0x1f8]
add edi, eax
adc ecx, 0
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x228]
inc eax
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x228], eax
mov dword [edx], ebx
add edx, 4
mov dword [ebp - 0x22c], edx
mov edx, dword [ebp - 0x224]
mov dword [edx + eax*4], edi
mov edx, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x238]
jg 0x46a93c
cmp esi, edx
jb 0x46a8a0
jmp 0x46a940
cmp esi, edx
jb 0x46a981
cmp esi, edx
ja 0x46a953
mov edx, dword [ebp - 0x234]
cmp edi, dword [edx + 0x44]
jne 0x46a953
test ecx, ecx
je 0x46a987
mov eax, dword [ebp - 0x234]
cmp dword [eax + 0x50], 0
jne 0x46a96a
lea ecx, [ebp - 0x190]
call fcn.0045fa70
mov ecx, 0x13be5
call fcn.004bda20
mov ecx, eax
mov esi, dword [ebp - 0x1f0]
jmp 0x46ec1c
mov edx, dword [ebp - 0x234]
test ecx, ecx
ja 0x46a953
jb 0x46a992
cmp edi, dword [edx + 0x44]
ja 0x46a953
sub esi, dword [ebp - 0x1f4]
mov word [edx + 0x12], ax
mov dword [edx + 0x4c], esi
cmp dword [edx + 0x50], 0
jne 0x46a9b6
lea ecx, [ebp - 0x190]
call fcn.0045fa70
mov edx, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x238]
mov esi, dword [ebp - 0x1f0]
movzx eax, word [edx + 0x12]
cmp eax, ecx
jg 0x46aa24
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1fc]
cmp byte [eax + 1], 0xf8
jne 0x469529
mov edx, dword [eax + 0x10]
push 0x800
call fcn.00460060
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
xor ebx, ebx
mov dword [ebp - 0x270], ebx
jmp 0x46a9c2
mov eax, dword [ebp - 0x238]
mov ebx, dword [edx + eax*4 + 0x58]
mov dword [ebp - 0x270], ebx
mov ecx, dword [ebp - 0x1fc]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x46aa46
call fcn.0045fe90
mov edx, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x1fc]
mov esi, dword [ebp - 0x238]
mov edi, dword [ebp - 0x224]
mov eax, dword [edx + 0x48]
cmp eax, dword [edi + esi*4 + 4]
mov esi, dword [ebp - 0x1f0]
jb 0x46ab35
mov eax, dword [edx + 0x50]
mov edx, dword [ebp - 0x238]
add eax, dword [edi + edx*4]
mov dword [ebp - 0x200], eax
cmp ebx, 0xc
jae 0x46aaa3
push ecx
mov edx, ebx
mov ecx, eax
call fcn.00464690
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov al, byte [ebp - 0x218]
lea edi, [ebx - 0xc]
shr edi, 1
mov dword [ecx + 0xc], edi
mov byte [ecx + 0xa], al
lea edx, [edi + 2]
cmp dword [ecx + 0x18], edx
jge 0x46aadf
mov eax, 1
push 0
mov word [ecx + 8], ax
call fcn.0045f540
add esp, 4
test eax, eax
jne 0x46ad86
mov ecx, dword [ebp - 0x1fc]
jmp 0x46aae5
mov eax, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
push edi
push dword [ebp - 0x200]
push dword [ecx + 0x10]
call fcn.004c54b0
mov ecx, dword [ebp - 0x1fc]
and ebx, 1
add esp, 0xc
mov eax, dword [ecx + 0x10]
mov byte [edi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [edi + eax + 1], 0
mov ax, word [ebx*2 + 0x50382c]
mov edi, dword [ebp - 0x1dc]
mov word [ecx + 8], ax
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov al, byte [ebp - 0x218]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 0x1dc]
mov al, byte [eax + 3]
test al, 0xc0
je 0x46ab59
cmp ebx, 0xc
jb 0x46ab55
test bl, 1
je 0x46ab6c
test al, al
js 0x46ab6c
mov ecx, ebx
call fcn.00464550
mov ecx, eax
test ecx, ecx
jne 0x46ab96
mov ecx, dword [ebp - 0x1fc]
push ecx
mov edx, ebx
mov ecx, 0x66befc
call fcn.00464690
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edi, dword [ebp - 0x1fc]
xor eax, eax
cmp byte [edx + 4], al
push edi
sete al
push eax
mov eax, dword [ebp - 0x224]
push ecx
mov ecx, dword [ebp - 0x238]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x21c]
call fcn.00460480
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [edi + 0x10]
mov edx, ebx
push edi
call fcn.00464690
mov ecx, dword [ebp - 0x1e0]
mov eax, 0xefff
and word [edi + 8], ax
add esp, 4
mov edi, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov eax, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1ec]
mov eax, dword [eax + 4]
mov esi, dword [esi + 0x10]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov al, byte [esi]
test al, al
je 0x46e6fd
lea ecx, [ecx]
push dword [ebp - 0x218]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.00468ad0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x46ac30
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
xor eax, eax
mov edi, dword [ebp - 0x1ec]
xorps xmm0, xmm0
mov dword [ebp - 0x1fc], eax
movzx ecx, byte [ecx + 0x8f]
mov eax, dword [edx + 4]
mov esi, dword [edx + 0x10]
movlpd qword [ebp - 0x210], xmm0
movlpd qword [ebp - 0x258], xmm0
mov dword [ebp - 0x220], ecx
lea eax, [eax + eax*4]
lea ebx, [edi + eax*8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x22c], ebx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ebx + eax*8]
mov dword [ebp - 0x228], eax
mov eax, dword [edx + 0xc]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov dword [ebp - 0x200], edx
test esi, esi
je 0x46ad05
mov al, byte [esi]
mov edi, ebx
lea ecx, [ecx]
push dword [ebp - 0x218]
mov dl, al
mov ecx, edi
call fcn.00468ad0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x46ace0
mov ecx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x20c]
mov esi, dword [ebp - 0x228]
mov dword [ebp - 0x1f4], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0x224], eax
jmp 0x46ad40
lea eax, [ebp - 0x274]
mov edx, ecx
push eax
mov ecx, esi
call fcn.004643f0
mov edi, eax
add esp, 4
mov eax, 0x4000
mov dword [esi + 0x1c], edi
test word [esi + 8], ax
je 0x46ade4
mov ecx, dword [ebp - 0x21c]
or ecx, dword [ebp - 0x1f4]
je 0x46adcd
mov ecx, esi
call fcn.0045f700
test eax, eax
je 0x46ade4
mov esi, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1e0]
cmp byte [esi + 0x45], 0
jne 0x46adb5
cmp byte [esi + 0x46], 0
jne 0x46adb5
cmp dword [esi + 0xa8], 0
mov byte [esi + 0x45], 1
jle 0x46adaf
mov dword [esi + 0xf8], 1
inc dword [esi + 0x100]
push str.out_of_memory
push ecx
call fcn.00460a70
add esp, 8
mov ecx, 7
jmp 0x46ec1c
mov ecx, dword [esi]
mov eax, ecx
cdq
add dword [ebp - 0x224], eax
adc dword [ebp - 0x1f8], edx
sub dword [ebp - 0x274], ecx
mov eax, dword [ebp - 0x21c]
add eax, dword [ebp - 0x274]
mov dword [ebp - 0x21c], eax
adc dword [ebp - 0x1f4], 0
cmp edi, 0x7f
ja 0x46ae09
mov eax, 1
jmp 0x46ae14
push 0
push edi
call fcn.00445820
add esp, 8
mov ecx, dword [ebp - 0x1fc]
add ecx, eax
mov dword [ebp - 0x1fc], ecx
cmp esi, ebx
je 0x46ae34
mov ecx, dword [ebp - 0x220]
sub esi, 0x28
jmp 0x46ad40
cmp ecx, 0x7e
jle 0x46ae68
mov eax, ecx
cdq
push edx
push eax
call fcn.00445820
mov esi, eax
mov eax, dword [ebp - 0x1fc]
add eax, esi
mov dword [ebp - 0x1fc], eax
cdq
push edx
push eax
call fcn.00445820
mov ecx, dword [ebp - 0x1fc]
add esp, 0x10
cmp esi, eax
jge 0x46ae6f
inc ecx
mov dword [ebp - 0x1fc], ecx
mov esi, dword [ebp - 0x1f0]
mov eax, ecx
cdq
mov ecx, eax
mov eax, edx
mov edx, ecx
mov dword [ebp - 0x20c], ecx
add edx, dword [ebp - 0x21c]
mov ecx, eax
mov edi, edx
mov dword [ebp - 0x254], eax
adc ecx, dword [ebp - 0x1f4]
add edi, dword [ebp - 0x224]
mov eax, dword [esi + 0x60]
adc ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x220], edx
cdq
cmp ecx, edx
jg 0x469ba3
jl 0x46aec2
cmp edi, eax
ja 0x469ba3
mov edi, dword [ebp - 0x200]
mov eax, dword [ebp - 0x220]
cmp dword [edi + 0x18], eax
jge 0x46aeeb
push 0
mov edx, eax
mov ecx, edi
call fcn.0045f540
add esp, 4
test eax, eax
jne 0x46ad86
jmp 0x46aef6
mov eax, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], eax
mov ecx, dword [ebp - 0x1fc]
mov edi, dword [edi + 0x10]
cmp ecx, 0x80
jae 0x46af10
mov byte [edi], cl
mov eax, 1
jmp 0x46af26
push dword [ebp - 0x254]
mov ecx, edi
push dword [ebp - 0x20c]
call fcn.004455c0
add esp, 8
movzx esi, al
lea esp, [esp]
mov ebx, dword [ebx + 0x1c]
cmp ebx, 0x80
jae 0x46af45
mov byte [esi + edi], bl
mov eax, 1
jmp 0x46af53
push 0
push ebx
lea ecx, [esi + edi]
call fcn.004455c0
add esp, 8
mov ecx, dword [ebp - 0x1fc]
push ebx
mov ebx, dword [ebp - 0x22c]
mov edx, ebx
movzx eax, al
lea ecx, [ecx + edi]
add esi, eax
call fcn.00464570
add dword [ebp - 0x1fc], eax
add ebx, 0x28
add esp, 4
mov dword [ebp - 0x22c], ebx
cmp ebx, dword [ebp - 0x228]
jbe 0x46af30
mov edx, dword [ebp - 0x200]
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x224]
mov dword [edx + 0xc], eax
mov eax, 0x10
mov word [edx + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x1f8]
je 0x46afbc
mov eax, 0x4010
mov dword [edx], ecx
mov word [edx + 8], ax
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
mov byte [edx + 0xa], 1
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x1e0]
movlpd qword [ebp - 0x2b8], xmm0
mov ecx, dword [edx + 4]
lea edx, [ebp - 0x2b8]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + 0x14]
call fcn.0045d1a0
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
call fcn.00468c90
mov ecx, dword [ebp - 0x2b8]
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2b4]
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 4]
mov edi, dword [edx + 0x10]
mov dword [ebp - 0x1fc], eax
test eax, eax
jne 0x46b14b
cmp dword [esi + 0xa4], eax
jg 0x46e800
mov ecx, edi
call fcn.004446b0
mov ecx, dword [esi + 0x1b4]
mov ebx, eax
add ecx, dword [esi + 0x1b0]
xor edx, edx
push ecx
mov ecx, esi
mov dword [ebp - 0x20c], ebx
call fcn.004aa840
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
push ecx
lea eax, [ebx + 0x21]
mov ecx, esi
push eax
call fcn.00441d50
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x469ec8
mov ecx, dword [ebp - 0x20c]
lea edx, [ebx + 0x20]
inc ecx
mov dword [ebx], edx
push ecx
push edi
push edx
call fcn.004c54b0
add esp, 0xc
cmp byte [esi + 0x43], 0
je 0x46b0f8
mov byte [esi + 0x43], 0
mov byte [esi + 0x4b], 1
jmp 0x46b0fe
inc dword [esi + 0x1b0]
mov eax, dword [esi + 0x1a8]
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x1b8]
mov dword [esi + 0x1a8], ebx
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x1bc]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x1c0]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x1c4]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ebx, dword [esi + 0x1a8]
xor ecx, ecx
mov dword [ebp - 0x1f4], ecx
test ebx, ebx
je 0x46b17a
lea ecx, [ecx]
mov ecx, dword [ebx]
mov edx, edi
call fcn.004449b0
test eax, eax
je 0x46b198
inc dword [ebp - 0x1f4]
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x46b160
push edi
push str.no_such_savepoint:__s
push dword [ebp - 0x1e0]
call fcn.00460a70
add esp, 0xc
mov ecx, 1
jmp 0x46ec1c
cmp dword [esi + 0xa4], 0
mov edx, dword [ebp - 0x1fc]
jle 0x46b1b0
cmp edx, 1
je 0x46e818
cmp dword [ebx + 0x18], 0
jne 0x46b20c
cmp byte [esi + 0x4b], 0
je 0x46b20c
mov dword [ebp - 0x1f8], 1
cmp edx, 1
jne 0x46b216
mov edi, dword [ebp - 0x1e0]
mov ecx, edi
call fcn.004637f0
mov dword [ebp - 0x1e8], eax
test eax, eax
jne 0x46ed8e
mov ecx, edi
mov byte [esi + 0x43], 1
call fcn.00463850
cmp eax, 5
je 0x46e835
mov byte [esi + 0x4b], 0
mov eax, dword [edi + 0x28]
mov dword [ebp - 0x1e8], eax
jmp 0x46b319
mov dword [ebp - 0x1f8], 0
mov ecx, dword [esi + 0x1b0]
sub ecx, dword [ebp - 0x1f4]
dec ecx
mov dword [ebp - 0x1f4], ecx
cmp edx, 2
jne 0x46b2aa
mov eax, dword [esi + 0x18]
xor edi, edi
shr eax, 1
and eax, 1
mov dword [ebp - 0x200], eax
cmp dword [esi + 0x14], edi
jle 0x46b2b4
xor ecx, ecx
test eax, eax
mov eax, dword [ebp - 0x1f0]
sete cl
xor esi, esi
mov dword [ebp - 0x20c], ecx
jmp 0x46b260
push ecx
mov ecx, dword [eax + 0x10]
mov edx, 0x204
mov ecx, dword [esi + ecx + 4]
call fcn.00457740
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46a976
mov eax, dword [ebp - 0x1f0]
inc edi
mov ecx, dword [ebp - 0x20c]
add esi, 0x10
cmp edi, dword [eax + 0x14]
jl 0x46b260
mov ecx, dword [ebp - 0x1f4]
mov esi, eax
mov edx, dword [ebp - 0x1fc]
jmp 0x46b2b4
mov dword [ebp - 0x200], 0
xor edi, edi
cmp dword [esi + 0x14], edi
jle 0x46b300
mov eax, dword [ebp - 0x1f0]
xor esi, esi
push ecx
mov ecx, dword [eax + 0x10]
mov ecx, dword [esi + ecx + 4]
call fcn.00457ac0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46a976
mov eax, dword [ebp - 0x1f0]
inc edi
mov ecx, dword [ebp - 0x1f4]
add esi, 0x10
mov edx, dword [ebp - 0x1fc]
cmp edi, dword [eax + 0x14]
jl 0x46b2c3
mov esi, eax
cmp dword [ebp - 0x200], 0
je 0x46b319
mov ecx, esi
call fcn.00465b60
call fcn.00482490
or dword [esi + 0x18], 2
cmp dword [esi + 0x1a8], ebx
je 0x46b390
jmp 0x46b330
cmp dword [esi + 0x1c8], 0
mov ecx, dword [esi + 0x1a8]
mov eax, dword [ecx + 0x18]
mov dword [esi + 0x1a8], eax
je 0x46b353
mov edx, ecx
mov ecx, esi
call fcn.00441a40
jmp 0x46b382
cmp ecx, dword [esi + 0x120]
jb 0x46b379
cmp ecx, dword [esi + 0x124]
jae 0x46b379
mov eax, dword [esi + 0x11c]
mov dword [ecx], eax
dec dword [esi + 0x108]
mov dword [esi + 0x11c], ecx
jmp 0x46b382
push ecx
call fcn.004419d0
add esp, 4
dec dword [esi + 0x1b0]
cmp dword [esi + 0x1a8], ebx
jne 0x46b330
mov edi, dword [ebp - 0x1fc]
cmp edi, 1
jne 0x46b3c2
mov eax, dword [ebx + 0x18]
mov edx, ebx
mov ecx, esi
mov dword [esi + 0x1a8], eax
call fcn.00441a80
cmp dword [ebp - 0x1f8], 0
jne 0x469eba
dec dword [esi + 0x1b0]
jmp 0x46b3f8
cmp dword [ebp - 0x1f8], 0
mov eax, dword [ebx + 8]
mov dword [esi + 0x1b8], eax
mov eax, dword [ebx + 0xc]
mov dword [esi + 0x1bc], eax
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x1c0], eax
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x1c4], eax
je 0x46b3f8
cmp edi, 2
jne 0x469eba
mov ecx, dword [ebp - 0x1f4]
mov edx, edi
push ecx
mov ecx, esi
call fcn.004aa840
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
mov edx, dword [ebp - 0x1dc]
mov edx, dword [edx + 8]
test edx, edx
je 0x46b432
test dword [esi + 0x18], 0x4000000
jne 0x46e86c
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov edi, dword [eax + ecx*8 + 4]
test edi, edi
je 0x46b52e
mov ecx, edi
call fcn.00456940
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46e876
mov eax, dword [ebp - 0x1dc]
cmp dword [eax + 8], ecx
je 0x46b4fb
mov ebx, dword [ebp - 0x1e0]
test byte [ebx + 0x90], 0x40
je 0x46b4fb
cmp byte [esi + 0x43], cl
je 0x46b48f
cmp dword [esi + 0xa0], 1
jle 0x46b4fb
cmp dword [ebx + 0x30], 0
jne 0x46b4aa
mov eax, dword [esi + 0x1b0]
inc dword [esi + 0x1b4]
add eax, dword [esi + 0x1b4]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
xor edx, edx
dec eax
mov ecx, esi
push eax
call fcn.004aa840
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46b4d7
mov edx, dword [ebx + 0x30]
mov ecx, edi
call fcn.00457a70
mov dword [ebp - 0x1e8], eax
mov eax, dword [esi + 0x1b8]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0x1bc]
mov dword [ebx + 0x4c], eax
mov eax, dword [esi + 0x1c0]
mov dword [ebx + 0x50], eax
mov eax, dword [esi + 0x1c4]
mov dword [ebx + 0x54], eax
lea eax, [ebp - 0x278]
mov edx, 1
push eax
mov ecx, edi
call fcn.0045d0c0
mov eax, dword [ebp - 0x1dc]
add esp, 4
mov edi, dword [ebp - 0x278]
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax + 4]
jmp 0x46b538
xor edi, edi
xor eax, eax
mov dword [ebp - 0x278], edi
mov ecx, dword [ebp - 0x1dc]
cmp byte [ecx + 3], 0
je 0x469eba
cmp edi, dword [ecx + 0xc]
jne 0x46b556
cmp eax, dword [ecx + 0x10]
je 0x469eba
mov ebx, dword [ebp - 0x1e0]
mov ecx, esi
mov edx, dword [ebx + 0x6c]
call fcn.00441a80
mov edx, str.database_schema_has_changed
mov ecx, esi
call fcn.00441fc0
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
cmp dword [eax], edi
je 0x46b594
mov ecx, esi
call fcn.00482450
mov ecx, ebx
mov eax, ebx
or dword [ecx + 0x90], 1
mov ecx, 0x11
jmp 0x46ec22
mov edx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x2a0]
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 0xc]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045d0c0
mov edx, dword [ebp - 0x1dc]
add esp, 4
mov ecx, dword [ebp - 0x1e0]
call fcn.00468c90
mov edi, dword [ebp - 0x1dc]
mov ecx, eax
mov eax, dword [ebp - 0x2a0]
add edi, 0x14
cdq
mov dword [ecx], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ecx + 4], edx
mov ecx, dword [ebp - 0x1e0]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov edi, dword [edx + 4]
push dword [edx + 0xc]
mov edx, dword [edx + 8]
shl edi, 4
add edi, dword [esi + 0x10]
mov ecx, dword [edi + 4]
call fcn.0045d120
mov dword [ebp - 0x1e8], eax
add esp, 4
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 8]
cmp eax, 1
jne 0x46b64e
mov ecx, dword [edi + 0xc]
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
or dword [esi + 0x18], 2
jmp 0x46b662
cmp eax, 2
jne 0x46b662
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [edi + 0xc]
mov al, byte [eax + 0xc]
mov byte [ecx + 0x4c], al
mov edi, dword [ebp - 0x1dc]
cmp dword [edi + 4], 1
jne 0x46b682
mov ecx, esi
call fcn.00465b60
mov eax, dword [ebp - 0x1e0]
and dword [eax + 0x90], 0xfffffffe
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x46b6c9
mov eax, dword [edi + 0xc]
cmp eax, dword [ebx + 8]
je 0x46b804
mov ecx, dword [ebp - 0x1e0]
test byte [ecx + 0x90], 1
jne 0x46e8b3
mov eax, dword [ebx + 0xc]
xor edi, edi
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x20c], eax
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0x1f8], edi
mov dword [ebp - 0x200], ecx
mov ebx, dword [eax + 4]
mov dword [ebp - 0x254], ebx
cmp dl, 0x69
jne 0x46b73e
mov edx, dword [ebp - 0x1dc]
mov eax, dword [eax + 0xc]
movzx ebx, byte [edx + 3]
mov edx, dword [ebp - 0x1e0]
and ebx, 8
mov al, byte [eax + 0x4c]
or ebx, 4
cmp al, byte [edx + 0x8f]
jae 0x46b740
mov byte [edx + 0x8f], al
jmp 0x46b740
mov ebx, dword [ebp - 0x1dc]
jmp 0x46b6cf
xor ebx, ebx
mov eax, dword [ebp - 0x1dc]
test byte [eax + 3], 0x10
je 0x46b76d
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1ec]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0045fc40
mov eax, dword [esi]
mov esi, dword [ebp - 0x1f0]
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x1dc]
mov al, byte [ecx + 1]
cmp al, 0xfa
jne 0x46b78f
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1f8], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x46b796
cmp al, 0xf2
jne 0x46b796
mov edi, dword [ecx + 0x10]
mov edx, dword [ecx + 4]
mov ecx, dword [ebp - 0x1e0]
push 0
push dword [ebp - 0x20c]
push edi
call fcn.00468910
mov edi, eax
add esp, 0xc
test edi, edi
je 0x46ad86
push dword [edi + 0x14]
mov eax, dword [ebp - 0x200]
mov edx, eax
push dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x254]
or dword [edi + 8], 4
push ebx
mov byte [edi + 2], 1
mov dword [edi + 0xc], eax
call fcn.00457c10
mov dword [ebp - 0x1e8], eax
add esp, 0xc
mov eax, dword [ebp - 0x1f8]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x1dc]
cmp byte [eax + 1], 0xfa
setne al
mov byte [edi + 4], al
mov eax, dword [ebp - 0x1dc]
mov cl, byte [eax + 3]
mov eax, dword [edi + 0x14]
and cl, 3
mov byte [eax + 0x43], cl
jmp 0x469eba
mov edx, dword [ebp - 0x1dc]
push 0
push 0xffffffffffffffff
push dword [edx + 8]
mov edx, dword [edx + 4]
call fcn.00468910
mov edi, eax
add esp, 0xc
test edi, edi
je 0x46ad86
mov eax, dword [ebp - 0x1dc]
lea ebx, [edi + 0x18]
or dword [edi + 8], 1
xor edx, edx
mov byte [edi + 2], 1
mov ecx, dword [esi]
movzx eax, byte [eax + 3]
push 0x41e
or eax, 5
push eax
push ebx
push esi
call fcn.00455960
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebx]
lea edx, [eax + 1]
call fcn.00456940
mov ecx, eax
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x20c], eax
test eax, eax
je 0x46b8eb
movzx eax, byte [ecx + 3]
lea edx, [ebp - 0x2c4]
mov ecx, dword [ebx]
or eax, 2
push eax
call fcn.0045cbc0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46b8e5
push dword [edi + 0x14]
mov eax, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x2c4]
mov ecx, dword [ebx]
push eax
push 4
mov dword [edi + 0x1c], eax
call fcn.00457c10
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x1e8], ecx
mov byte [edi + 4], 0
jmp 0x46b90d
push dword [edi + 0x14]
mov ecx, dword [ebx]
mov edx, 1
push 0
push 4
call fcn.00457c10
mov ecx, eax
mov byte [edi + 4], 1
add esp, 0xc
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1dc]
xor eax, eax
cmp byte [ecx + 3], 8
setne al
shl eax, 2
xor eax, dword [edi + 8]
and eax, 4
xor dword [edi + 8], eax
mov edi, ecx
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
push 1
push 0xffffffffffffffff
push dword [edx + 8]
mov edx, dword [edx + 4]
call fcn.00468910
add esp, 0xc
test eax, eax
je 0x46ad86
mov edx, dword [ebp - 0x1dc]
push eax
mov ecx, dword [edx + 0x10]
mov dword [eax + 0x1c], ecx
mov ecx, esi
mov edx, dword [edx + 0xc]
call fcn.00470740
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x2c], eax
je 0x468e2e
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
push 3
push 0xffffffffffffffff
push dword [edx + 0xc]
mov edx, dword [edx + 4]
call fcn.00468910
add esp, 0xc
test eax, eax
je 0x46ad86
mov ecx, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1dc]
mov byte [eax + 2], 1
add edi, 0x14
mov ecx, dword [ecx + 8]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x1e0]
mov byte [eax + 4], 1
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 4]
mov edx, dword [ecx + 0x70]
mov edx, dword [edx + eax*4]
call fcn.00462a30
mov eax, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 0x70]
mov dword [eax + ecx*4], 0
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x1f4], ecx
mov byte [edi + 2], cl
cmp byte [edi + 4], cl
je 0x46bb70
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov al, byte [ecx + 8]
and al, 0xe
mov dword [ebp - 0x1f8], ecx
cmp al, 2
jne 0x46bac9
xor edx, edx
call fcn.00468a40
mov ecx, dword [ebp - 0x1f8]
call fcn.0045fa90
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x21c], edx
movzx ecx, word [ecx + 8]
test cl, 4
jne 0x46bb1d
test cl, 8
je 0x468e2e
mov ecx, eax
call fcn.004f300f
mov eax, dword [ebp - 0x1f8]
movsd xmm1, qword [eax]
comisd xmm0, xmm1
jbe 0x46bb11
test bl, 1
jne 0x46bb1d
dec ebx
jmp 0x46bb1d
comisd xmm1, xmm0
jbe 0x46bb1d
test bl, 1
je 0x46bb1d
inc ebx
mov ecx, dword [edi + 0x14]
lea eax, [ebp - 0xd0]
push eax
push 0
push dword [ebp - 0x21c]
xor edx, edx
push dword [ebp - 0x224]
call fcn.00458700
mov dword [ebp - 0x1e8], eax
add esp, 0x10
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x1e8]
mov dword [edi + 0x30], eax
mov eax, dword [ebp - 0x21c]
mov dword [edi + 0x34], eax
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1f4]
jmp 0x46bc0e
mov eax, dword [edi + 0x14]
test byte [eax + 0x43], 2
mov eax, 1
cmovne ecx, eax
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x134], eax
mov ax, word [edx + 0x10]
mov word [ebp - 0x12c], ax
lea eax, [ebx - 1]
test al, 1
mov dword [ebp - 0x1f4], ecx
mov ecx, dword [ebp - 0x1ec]
sete al
mov byte [ebp - 0x126], 0
lea eax, [eax*2 - 1]
mov byte [ebp - 0x12a], al
mov eax, dword [edx + 0xc]
lea edx, [ebp - 0x134]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0xd0]
mov ecx, dword [edi + 0x14]
push eax
push 0
push 0
push 0
call fcn.00458700
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1f4]
test ecx, ecx
je 0x46bc0e
cmp byte [ebp - 0x126], al
je 0x46bca7
mov byte [edi + 3], 0
mov dword [edi + 0x40], 0
mov eax, dword [ebp - 0xd0]
cmp ebx, 0x19
jl 0x46bc56
test eax, eax
js 0x46bc3b
jne 0x46bc2f
cmp ebx, 0x1a
je 0x46bc3b
mov dword [ebp - 0xd0], 0
jmp 0x46bcb4
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0
push eax
push dword [edi + 0x14]
call fcn.00458cc0
jmp 0x46bc8e
test eax, eax
jg 0x46bc75
jne 0x46bc61
cmp ebx, 0x17
je 0x46bc75
mov eax, dword [edi + 0x14]
xor ecx, ecx
cmp byte [eax + 0x42], 1
setne cl
mov dword [ebp - 0xd0], ecx
jmp 0x46bca1
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0
push eax
push dword [edi + 0x14]
call fcn.00458ee0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1f4]
cmp dword [ebp - 0xd0], 0
jne 0x468e2e
mov edi, dword [ebp - 0x1dc]
test ecx, ecx
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1e0]
je case.0x468dea.112
add edi, 0x14
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x288], 0
cmp dword [edx + 0x10], 0
mov eax, dword [eax + 0x70]
mov ecx, dword [edx + 4]
mov ebx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
jle 0x46bd2f
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x164], eax
mov ax, word [edx + 0x10]
mov dword [ebp - 0x160], edi
lea edi, [ebp - 0x164]
mov word [ebp - 0x15c], ax
jmp 0x46bd90
mov ecx, dword [ebx + 0x1c]
lea eax, [ebp - 0x288]
push eax
push 0xb7
lea edx, [ebp - 0xc0]
call fcn.00464840
add esp, 8
mov dword [ebp - 0x200], eax
test eax, eax
je 0x46ad86
mov ecx, 0x4000
test word [edi + 8], cx
je 0x46bd72
mov ecx, edi
call fcn.0045f700
mov eax, dword [ebp - 0x200]
mov edx, dword [edi + 0xc]
mov ecx, dword [ebx + 0x1c]
push eax
push dword [edi + 0x10]
call fcn.004648c0
mov edi, dword [ebp - 0x200]
add esp, 8
mov edx, dword [ebp - 0x1dc]
mov byte [edi + 0xa], 0
cmp byte [edx], 0x1d
mov dword [ebp - 0x200], 0
jne 0x46bdcc
movzx edx, word [edi + 8]
xor ecx, ecx
test edx, edx
jle 0x46bdcc
mov eax, dword [edi + 4]
add eax, 8
test byte [eax], 1
jne 0x46bdc2
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x46bdb3
jmp 0x46bdcc
mov dword [ebp - 0x200], 1
mov ecx, dword [ebx + 0x14]
lea eax, [ebp - 0x2a4]
push eax
push 0
push 0
push 0
mov edx, edi
call fcn.00458700
mov edx, dword [ebp - 0x288]
add esp, 0x10
mov ecx, esi
mov dword [ebp - 0x1e8], eax
call fcn.00441a80
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46ec1c
mov eax, dword [ebp - 0x2a4]
test eax, eax
mov edi, dword [ebp - 0x1dc]
mov dword [ebx + 0x20], eax
sete cl
mov al, 1
mov byte [ebx + 3], 0
sub al, cl
mov dword [ebx + 0x40], 0
mov byte [ebx + 2], al
cmp byte [edi], 0x1f
jne 0x46be4e
test ecx, ecx
jne 0x468e2e
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
cmp dword [ebp - 0x200], 0
jne 0x468e2e
test ecx, ecx
je 0x468e2e
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov esi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [esi + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne case.0x468dea.33
test al, 8
jne 0x46beaa
test al, 2
je 0x46beb1
mov edx, 1
mov ecx, esi
call fcn.00468a40
jmp 0x46beb1
mov ecx, esi
call fcn.0045fba0
test byte [esi + 8], 4
je 0x468e2e
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x27c], 0
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov ebx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
xor edx, edx
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
lea eax, [ebp - 0x27c]
mov ecx, dword [ebx + 0x14]
push eax
push 0
push edi
push esi
call fcn.00458700
mov dword [ebp - 0x1e8], eax
add esp, 0x10
mov eax, dword [ebp - 0x27c]
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], edi
mov word [ebx + 2], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x20], eax
test eax, eax
je 0x46bf58
mov esi, dword [ebp - 0x1dc]
cmp dword [esi + 8], 0
jne 0x468e34
mov ecx, 0x14224
call fcn.004bda20
mov esi, dword [ebp - 0x1f0]
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
mov ecx, dword [ebp - 0x1e8]
mov esi, dword [ebp - 0x1f0]
jmp 0x469ec0
mov ebx, dword [ebp - 0x1dc]
mov edx, ebx
call fcn.00468c90
mov edx, dword [ebx + 4]
mov ebx, dword [ebp - 0x1e0]
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ecx + edx*4]
mov ecx, dword [edx + 0x28]
mov dword [eax], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 4]
mov eax, dword [ebx + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, ebx
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
xorps xmm0, xmm0
mov edx, ebx
movlpd qword [ebp - 0xd8], xmm0
mov dword [ebp - 0x26c], 0
call fcn.00468c90
mov edx, dword [ebx + 4]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [eax + 0x70]
mov ebx, dword [ecx + edx*4]
mov dword [ebp - 0x1f8], ebx
test byte [ebx + 8], 2
jne 0x46c084
mov ecx, dword [ebx + 0x14]
lea edx, [ebp - 0x26c]
call fcn.004586a0
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
cmp dword [ebp - 0x26c], eax
je 0x46c03f
mov edi, 1
xor esi, esi
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], esi
jmp 0x46c090
mov esi, dword [ebx + 0x14]
mov ecx, esi
call fcn.00457dd0
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], esi
cmp esi, 0x7fffffff
jl 0x46c070
jg 0x46c06a
cmp edi, 0xffffffff
jb 0x46c070
or dword [ebx + 8], 2
jmp 0x46c090
add edi, 1
mov dword [ebp - 0xd8], edi
adc esi, 0
mov dword [ebp - 0xd4], esi
jmp 0x46c090
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x46c130
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax + 0xb8]
test edx, edx
je 0x46c0cc
mov eax, dword [edx + 4]
test eax, eax
je 0x46c0c1
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x46c0b8
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ebx, [eax + ecx*8]
jmp 0x46c0d8
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0x1ec]
lea ebx, [ecx + eax*8]
mov ecx, ebx
call fcn.0045fc40
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, 0xffffffff
jne 0x46c0f5
cmp ecx, 0x7fffffff
je 0x46c1ae
mov edx, dword [ebp - 0x1f8]
test byte [edx + 8], 2
jne 0x46c1ae
add eax, 1
adc ecx, 0
cmp esi, ecx
jg 0x46c125
jl 0x46c115
cmp edi, eax
jae 0x46c125
mov edi, eax
mov esi, ecx
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0xd4], esi
mov dword [ebx], edi
mov dword [ebx + 4], esi
mov ebx, dword [ebp - 0x1f8]
test byte [ebx + 8], 2
je 0x46c1c4
xor ebx, ebx
lea esp, [esp]
lea eax, [ebp - 0xd8]
push eax
push 8
call fcn.00443c00
mov esi, dword [ebp - 0xd4]
lea eax, [ebp - 0x26c]
mov edi, dword [ebp - 0xd8]
and esi, 0x3fffffff
push eax
mov eax, dword [ebp - 0x1f8]
add edi, 1
push 0
adc esi, 0
mov dword [ebp - 0xd8], edi
push esi
mov ecx, dword [eax + 0x14]
xor edx, edx
push edi
mov dword [ebp - 0xd4], esi
call fcn.00458700
mov ecx, eax
add esp, 0x18
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46a976
cmp dword [ebp - 0x26c], eax
jne 0x46c1be
inc ebx
cmp ebx, 0x64
jl 0x46c140
mov esi, dword [ebp - 0x1f0]
mov ecx, 0xd
jmp 0x46ec1c
mov ebx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0x1e0]
mov byte [ebx + 3], 0
mov dword [ebx + 0x40], 0
mov dword [eax], edi
mov edi, dword [ebp - 0x1dc]
mov dword [eax + 4], esi
add edi, 0x14
mov esi, dword [ebp - 0x1f0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov dword [ebp - 0x22c], 0
mov eax, dword [ebx + 8]
lea ebx, [eax + eax*4]
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x200], ebx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x220], ecx
mov eax, dword [eax + 0xc]
cmp dl, 0x73
jne 0x46c251
mov edx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
mov edi, dword [edx + eax*8]
mov edx, dword [edx + eax*8 + 4]
jmp 0x46c254
cdq
mov edi, eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x2dc], edx
mov dword [ebp - 0x2e0], edi
cmp byte [eax + 1], 0xec
jne 0x46c2bb
cmp dword [esi + 0xdc], 0
je 0x46c2bb
movsx ecx, byte [ecx + 1]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov ecx, dword [ebp - 0x1dc]
mov dword [ebp - 0x1f8], eax
mov eax, dword [ecx + 0x10]
test byte [ecx + 3], 4
mov ecx, 0x17
mov dword [ebp - 0x228], eax
mov eax, 0x12
cmovne eax, ecx
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x1dc]
jmp 0x46c2cf
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x1f8], 0
test byte [eax + 3], 1
je 0x46c2e4
mov ebx, dword [ebp - 0x1e0]
inc dword [ebx + 0x2c]
mov ebx, dword [ebp - 0x200]
test byte [eax + 3], 2
je 0x46c2fc
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x240], edx
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], edx
mov edi, dword [ebp - 0x1ec]
movzx edx, word [edi + ebx*8 + 8]
test dl, 1
je 0x46c322
mov dword [ebp - 0x2d8], 0
mov dword [ebp - 0x2d4], 0
jmp 0x46c33c
mov eax, dword [edi + ebx*8 + 0x10]
mov dword [ebp - 0x2d8], eax
mov eax, dword [edi + ebx*8 + 0xc]
mov dword [ebp - 0x2d4], eax
mov eax, dword [ebp - 0x1dc]
mov bl, byte [eax + 3]
test bl, 0x10
je 0x46c349
mov ecx, dword [ecx + 0x20]
jmp 0x46c34b
xor ecx, ecx
test edx, 0x4000
je 0x46c364
mov eax, dword [ebp - 0x200]
mov eax, dword [edi + eax*8]
mov dword [ebp - 0x2d0], eax
jmp 0x46c36e
mov dword [ebp - 0x2d0], 0
mov edi, dword [ebp - 0x220]
lea edx, [ebp - 0x2e8]
movzx eax, bl
shr eax, 3
push ecx
mov ecx, dword [edi + 0x14]
and eax, 1
push eax
mov dword [ebp - 0x2e8], 0
call fcn.0045c340
mov ecx, eax
mov byte [edi + 3], 0
add esp, 8
mov dword [ebp - 0x1e8], ecx
mov dword [edi + 0x40], 0
test ecx, ecx
jne 0x46ec1c
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x469ec8
mov ecx, dword [ebp - 0x22c]
test ecx, ecx
je 0x469ec8
push dword [ebp - 0x2dc]
mov edx, dword [ebp - 0x228]
push dword [ebp - 0x2e0]
push dword [edx]
push dword [ebp - 0x1f8]
push ecx
push dword [esi + 0xd8]
call eax
mov edi, dword [ebp - 0x1dc]
add esp, 0x18
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
cmp byte [edx + 1], 0xec
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x20c], eax
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
jne 0x46c483
cmp dword [esi + 0xdc], 0
je 0x46c483
movsx ecx, byte [edi + 1]
mov eax, dword [esi + 0x10]
add ecx, ecx
test byte [edx + 3], 2
mov ebx, dword [edx + 0x10]
mov eax, dword [eax + ecx*8]
mov dword [ebp - 0x200], eax
je 0x46c48f
cmp byte [edi + 4], 0
je 0x46c48f
mov esi, dword [edi + 0x14]
mov ecx, esi
call fcn.00457dd0
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x1dc]
mov dword [edi + 0x30], eax
mov eax, dword [esi + 0x14]
mov esi, dword [ebp - 0x1f0]
mov dword [edi + 0x34], eax
jmp 0x46c48f
mov dword [ebp - 0x200], 0
xor ebx, ebx
mov dl, byte [edx + 3]
mov ecx, dword [edi + 0x14]
call fcn.0045c550
mov ecx, eax
mov dword [edi + 0x40], 0
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
test byte [ebp - 0x20c], 1
mov ecx, dword [ebp - 0x1e0]
je 0x469e25
inc dword [ecx + 0x2c]
mov eax, dword [esi + 0xdc]
test eax, eax
je 0x469e25
test byte [ebx + 0x2a], 0x20
jne 0x469e25
push dword [edi + 0x34]
push dword [edi + 0x30]
push dword [ebx]
push dword [ebp - 0x200]
push 9
push dword [esi + 0xd8]
call eax
mov edi, dword [ebp - 0x1dc]
add esp, 0x18
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [ecx + 0x2c]
add dword [esi + 0x5c], eax
add edi, 0x14
mov dword [esi + 0x58], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ecx + 0x2c], 0
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x284], 0
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x284]
push eax
mov eax, dword [ebp - 0x1dc]
push dword [eax + 0x10]
call fcn.00472bf0
mov ecx, eax
add esp, 8
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
cmp dword [ebp - 0x284], eax
jne 0x468e2e
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + ecx*4]
call fcn.00472b50
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov eax, ebx
mov edi, ebx
add edi, 0x14
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1e0]
mov dword [eax + 0x40], 0
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x20c], eax
mov ebx, dword [eax + 0x14]
mov ecx, ebx
mov dword [ebp - 0x200], ebx
call fcn.00457dd0
mov ebx, dword [ebx + 0x1c]
cmp ebx, dword [esi + 0x60]
ja 0x469ba3
mov edx, 0x20
cmp ebx, edx
cmova edx, ebx
cmp dword [edi + 0x18], edx
jge 0x46c680
push 0
mov ecx, edi
call fcn.0045f540
add esp, 4
test eax, eax
jne 0x46ad86
jmp 0x46c68b
mov eax, dword [edi + 0x14]
and word [edi + 8], 0xd
mov dword [edi + 0x10], eax
mov ax, word [edi + 8]
mov ecx, 0x3e00
and ax, cx
mov dword [edi + 0xc], ebx
or ax, 0x10
mov word [edi + 8], ax
mov eax, dword [ebp - 0x20c]
cmp byte [eax + 4], 0
jne 0x46c6c6
mov ecx, dword [ebp - 0x200]
xor edx, edx
push 0
push dword [edi + 0x10]
push ebx
call fcn.00457fa0
add esp, 0xc
jmp 0x46c6da
push dword [edi + 0x10]
push ebx
push 0
push dword [ebp - 0x200]
call fcn.004582a0
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
mov byte [edi + 0xa], 1
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov ecx, dword [ebp - 0x1dc]
mov ebx, eax
mov eax, dword [ebp - 0x1e0]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 0x70]
mov edi, dword [ecx + edx*4]
cmp byte [edi + 2], 0
je 0x46c753
mov edi, dword [ebp - 0x1dc]
mov eax, 1
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
cmp byte [edi + 3], 0
je 0x46c790
mov ecx, dword [edi + 0x30]
mov dword [ebp - 0xe8], ecx
mov eax, dword [edi + 0x34]
mov edi, dword [ebp - 0x1dc]
mov dword [ebp - 0xe4], eax
add edi, 0x14
mov dword [ebx], ecx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x1e0]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
cmp byte [edi], 2
jne 0x46c7fe
mov ecx, dword [edi + 0x14]
lea edx, [ebp - 0xe8]
push edx
push ecx
mov esi, dword [ecx]
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [ebp - 0x1e0]
add esp, 8
mov edx, esi
mov dword [ebp - 0x1e8], eax
call fcn.00465c00
mov ecx, dword [ebp - 0x1e8]
mov esi, dword [ebp - 0x1f0]
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0x1dc]
mov dword [ebx], ecx
add edi, 0x14
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x1e0]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [edi + 0x14]
cmp byte [eax + 0x42], 1
je 0x46c820
mov ecx, edi
call fcn.00464350
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
jmp 0x46c828
xor eax, eax
mov dword [ebp - 0x1e8], eax
cmp byte [edi + 2], 0
je 0x46c851
mov edi, dword [ebp - 0x1dc]
mov eax, 1
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov word [ebx + 8], ax
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov esi, dword [edi + 0x14]
mov ecx, esi
call fcn.00457dd0
mov ecx, dword [esi + 0x10]
mov edi, dword [ebp - 0x1dc]
mov dword [ebp - 0xe8], ecx
add edi, 0x14
mov eax, dword [esi + 0x14]
mov esi, dword [ebp - 0x1f0]
mov dword [ebp - 0xe4], eax
mov dword [ebx], ecx
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0x1e0]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 0
mov byte [ecx + 2], 1
mov dword [ecx + 0x40], 0
jne 0x469ece
mov ecx, dword [ecx + 0x14]
call fcn.00454230
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x290], 0
mov ecx, dword [edx + 4]
lea edx, [ebp - 0x290]
mov eax, dword [eax + 0x70]
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi + 0x14]
call fcn.004586a0
mov ecx, dword [ebp - 0x290]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1dc]
mov byte [esi + 2], cl
mov byte [esi + 3], 0
mov dword [esi + 0x40], 0
mov eax, dword [eax + 0xc]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x1e8]
test eax, eax
jne 0x46ec10
mov esi, dword [ebp - 0x1dc]
cmp dword [esi + 8], eax
jle 0x468f70
test ecx, ecx
jne 0x468e34
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
inc dword [ecx + 0xa4]
mov edx, dword [ebp - 0x1dc]
mov ebx, 1
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x264], ebx
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
cmp byte [edi], bl
jne 0x46c9b4
lea edx, [ebp - 0x264]
mov ecx, edi
call fcn.00472a80
mov ebx, dword [ebp - 0x264]
mov dword [ebp - 0x1e8], eax
jmp 0x46c9ff
mov eax, dword [edi + 0x14]
mov ecx, eax
mov dword [ebp - 0x20c], eax
call fcn.00458360
mov dword [ebp - 0x1e8], eax
test eax, eax
jne 0x46c9f4
mov ecx, dword [ebp - 0x20c]
cmp byte [ecx + 0x42], al
jne 0x46c9e1
mov dword [ebp - 0x264], ebx
jmp 0x46c9f4
xor ebx, ebx
mov dword [ebp - 0x264], ebx
call fcn.00458530
mov dword [ebp - 0x1e8], eax
mov byte [edi + 3], 0
mov dword [edi + 0x40], 0
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46ec1c
mov byte [edi + 2], bl
test ebx, ebx
jne 0x468e2e
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
lea eax, [ebp - 0xdc]
push eax
mov edx, edi
mov dword [ebp - 0xdc], 0
mov ecx, esi
call fcn.00472ae0
add esp, 4
jmp 0x46caac
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x70]
cmp dword [eax + ecx*4], 0
je 0x469ece
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0xdc]
push eax
push dword [edi + 0x14]
mov eax, dword [ecx + 0x10]
call eax
add esp, 8
mov ecx, eax
mov dword [edi + 0x40], 0
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
cmp dword [ebp - 0xdc], eax
jne 0x46caea
mov ecx, dword [ebp - 0x1e0]
mov byte [edi + 2], al
mov eax, dword [ebp - 0x1dc]
movzx eax, byte [eax + 3]
inc dword [ecx + eax*4 + 0x9c]
jmp case.0x468dea.13
mov byte [edi + 2], 1
jmp 0x46e360
mov edx, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1ec]
mov ecx, dword [edx + 4]
mov edx, dword [ebp - 0x1e0]
mov eax, dword [edx + 0x70]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1dc]
test byte [ecx + 3], 1
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
je 0x46cb26
inc dword [edx + 0x2c]
mov eax, 0x4000
test word [edi + 8], ax
je 0x46cb48
mov ecx, edi
call fcn.0045f700
mov ecx, eax
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1dc]
cmp byte [ecx], 0x7d
jne 0x46cb63
mov edx, edi
mov ecx, ebx
call fcn.00471b40
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
test byte [ecx + 3], 0x10
mov eax, dword [edi + 0xc]
cdq
mov dword [ebp - 0x318], eax
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x314], edx
mov dword [ebp - 0x320], eax
je 0x46cb87
mov eax, dword [ebx + 0x20]
jmp 0x46cb89
xor eax, eax
push eax
push dword [ecx + 0xc]
mov ecx, dword [ebx + 0x14]
lea edx, [ebp - 0x320]
call fcn.0045c340
mov ecx, eax
mov dword [ebx + 0x40], 0
add esp, 8
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edi + 0x1c]
mov ebx, dword [edi + 0x14]
mov dword [ebp - 0x154], eax
mov ax, word [edx + 0xc]
mov word [ebp - 0x14c], ax
mov eax, dword [edx + 8]
lea edx, [ebp - 0x154]
mov byte [ebp - 0x14a], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0x150], eax
lea eax, [ebp - 0x2c8]
push eax
push 0
push 0
push 0
call fcn.00458700
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
cmp dword [ebp - 0x2c8], eax
jne 0x46cc48
mov dl, 4
mov ecx, ebx
call fcn.0045c550
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 0x40], 0
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
mov eax, dword [edi + 0x14]
cmp byte [eax + 0x42], 1
je 0x46cca6
mov ecx, edi
call fcn.00464350
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov edx, dword [ebp - 0x1dc]
jmp 0x46ccae
xor eax, eax
mov dword [ebp - 0x1e8], eax
cmp byte [edi + 2], 0
jne 0x46cd83
mov edx, dword [edi + 0x14]
lea eax, [ebp - 0x298]
xorps xmm0, xmm0
mov ecx, esi
push eax
movlpd qword [ebp - 0x298], xmm0
call fcn.00465910
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov eax, dword [ebp - 0x1dc]
cmp byte [eax], 0x80
jne 0x46cd42
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x298]
mov dword [ecx + 0x30], eax
mov eax, dword [ebp - 0x294]
mov dword [ecx + 0x34], eax
mov eax, dword [ebp - 0x1dc]
mov word [ecx + 2], 0x100
mov eax, dword [eax + 0x10]
mov dword [ecx + 0x38], edi
mov edi, dword [ebp - 0x1dc]
mov dword [ecx + 0x3c], eax
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ecx, dword [ebp - 0x1e0]
mov edx, eax
call fcn.00468c90
mov ecx, dword [ebp - 0x298]
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
mov dword [eax], ecx
mov ecx, dword [ebp - 0x294]
mov dword [eax + 4], ecx
mov ecx, 4
mov word [eax + 8], cx
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [edx + 8]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0045fe90
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
cmp byte [ebp - 0x201], 0x3c
mov dword [ebp - 0x25c], 0
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x300], eax
mov ax, word [ecx + 0x10]
mov word [ebp - 0x2f8], ax
sbb al, al
mov byte [ebp - 0x2f6], al
mov eax, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, esi
mov dword [ebp - 0x2fc], eax
lea eax, [ebp - 0x25c]
push eax
lea eax, [ebp - 0x300]
push eax
call fcn.00465a70
mov dword [ebp - 0x1e8], eax
add esp, 8
mov eax, dword [ebp - 0x1dc]
test byte [eax], 1
mov eax, dword [ebp - 0x25c]
jne 0x46ce41
neg eax
jmp 0x46ce42
inc eax
mov ecx, dword [ebp - 0x1e8]
mov dword [ebp - 0x25c], eax
test ecx, ecx
jne 0x46ec1c
test eax, eax
jg 0x468e2e
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov edi, eax
mov eax, 1
mov word [edi + 8], ax
mov ecx, dword [esi + 0xac]
inc ecx
cmp dword [esi + 0xa0], ecx
jg 0x46e8bd
mov edx, dword [ebp - 0x1dc]
lea eax, [ebp - 0x29c]
mov ecx, dword [esi + 0x10]
push eax
mov dword [ebp - 0x29c], 0
mov ebx, dword [edx + 0xc]
mov eax, ebx
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045d070
mov ecx, dword [ebp - 0x29c]
add esp, 4
mov dword [ebp - 0x1e8], eax
mov eax, 4
mov word [edi + 8], ax
mov eax, ecx
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x1e8]
mov dword [edi + 4], edx
test eax, eax
jne 0x46ec16
test ecx, ecx
je 0x469ec8
mov eax, dword [ebp - 0x1dc]
mov edx, ebx
push dword [eax + 4]
push ecx
mov ecx, esi
call fcn.00484dd0
mov edi, dword [ebp - 0x1dc]
mov al, bl
mov ecx, dword [ebp - 0x1e0]
inc al
add esp, 8
mov byte [ebp - 0x22d], al
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
lea eax, [ebp - 0xec]
xor ecx, ecx
mov dword [ebp - 0xec], 0
cmp dword [edx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045cda0
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
cmp dword [edi + 0xc], 0
je 0x46cfb5
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0xec]
add dword [ecx + 0x2c], eax
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle 0x46cfaf
mov ebx, dword [ebp - 0x1ec]
lea ecx, [ecx + ecx*4]
cdq
add dword [ebx + ecx*8], eax
adc dword [ebx + ecx*8 + 4], edx
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov ecx, dword [eax + ecx*4]
cmp byte [ecx], 1
jne 0x46d00f
mov edx, dword [ecx + 0x14]
mov ecx, esi
call fcn.00470d90
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ecx, dword [ecx + 0x14]
push 0
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx]
call fcn.0045cda0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov edx, dword [ebp - 0x1dc]
mov edi, eax
mov eax, dword [ebp - 0x1f0]
xor ecx, ecx
mov dword [ebp - 0x280], 0
mov esi, dword [edx + 4]
shl esi, 4
add esi, dword [eax + 0x10]
cmp byte [edx], 0x87
lea edx, [ebp - 0x280]
setne cl
inc ecx
push ecx
mov ecx, dword [esi + 4]
call fcn.0045cbc0
mov esi, dword [ebp - 0x1f0]
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
jne 0x46ec1c
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x1e0]
cdq
mov dword [edi], eax
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 4], edx
mov edi, dword [ebp - 0x1dc]
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, str.sqlite_master
mov ecx, str.sqlite_temp_master
mov dword [ebp - 0x144], esi
mov edx, dword [edx + 4]
cmp edx, 1
mov dword [ebp - 0x13c], edx
cmovne ecx, eax
mov eax, dword [ebp - 0x1e0]
add eax, 0x6c
add edx, edx
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x1dc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
push ecx
push dword [eax + edx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push esi
call fcn.00443940
mov edi, eax
add esp, 0x14
test edi, edi
je 0x46e8d4
push 0
lea eax, [ebp - 0x144]
mov byte [esi + 0x99], 1
push eax
push fcn.00498460
push edi
push esi
mov dword [ebp - 0x138], 0
call fcn.004944f0
add esp, 0x14
mov edx, edi
test eax, eax
mov ecx, esi
cmove eax, dword [ebp - 0x138]
mov dword [ebp - 0x1e8], eax
call fcn.00441a80
mov eax, dword [ebp - 0x1e8]
mov byte [esi + 0x99], 0
test eax, eax
jne 0x46e8de
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, esi
mov edx, dword [edx + 4]
call fcn.00480560
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
mov edx, dword [ebp - 0x1dc]
mov ecx, esi
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00482850
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, esi
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.00482250
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, esi
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004a5c10
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
lea eax, [ebp - 0x2c0]
push eax
push dword [ecx + edi*8]
movzx eax, byte [edx + 3]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [edx + 8]
mov edx, dword [edx + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045dd40
mov ecx, dword [ebp - 0x1ec]
add esp, 0xc
mov esi, dword [ebp - 0x2c0]
mov dword [ebp - 0x20c], eax
mov eax, esi
cdq
sub dword [ecx + edi*8], eax
sbb dword [ecx + edi*8 + 4], edx
mov ecx, ebx
call fcn.0045fe90
test esi, esi
je 0x46d2b6
mov eax, dword [ebp - 0x20c]
test eax, eax
je 0x46ad80
push fcn.004419d0
push 1
push 0xffffffffffffffff
mov edx, eax
mov ecx, ebx
call fcn.00460180
add esp, 0xc
movzx edx, byte [ebp - 0x218]
mov ecx, ebx
call fcn.0045f520
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea edi, [ecx + eax*8]
mov eax, dword [edx + 8]
lea ebx, [eax + eax*4]
jne 0x46d317
mov ecx, edi
call fcn.0045ff30
test byte [edi + 8], 0x20
je 0x46ad86
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [edi]
push dword [eax + ebx*8 + 4]
push dword [eax + ebx*8]
call fcn.0044b220
mov edi, dword [ebp - 0x1dc]
add esp, 8
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 8], 0x20
lea edi, [ebx + eax*8]
je 0x46d39d
mov ecx, dword [edi]
lea edx, [ebp - 0x2f0]
call fcn.0044b610
test eax, eax
je 0x46d39d
mov eax, dword [ebp - 0x1dc]
push dword [ebp - 0x2ec]
push dword [ebp - 0x2f0]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
call fcn.0045fef0
add esp, 8
jmp 0x46e360
mov ecx, edi
call fcn.0045fe90
jmp case.0x468dea.13
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea edi, [ecx + eax*8]
mov eax, dword [edx + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x200], eax
jne 0x46d3f1
mov ecx, edi
call fcn.0045ff30
test byte [edi + 8], 0x20
je 0x46ad86
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1ec]
test eax, eax
je 0x46d418
push dword [ecx + ebx*8 + 4]
mov edx, eax
push dword [ecx + ebx*8]
mov ecx, dword [edi]
call fcn.0044b670
add esp, 8
test eax, eax
jne 0x468e2e
mov eax, dword [ebp - 0x200]
test eax, eax
js 0x469ec8
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [edi]
push dword [eax + ebx*8 + 4]
push dword [eax + ebx*8]
call fcn.0044b220
mov edi, dword [ebp - 0x1dc]
add esp, 8
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x200], edx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, ebx
mov dword [ebp - 0x1f8], ecx
cmp byte [eax + 3], 0
je 0x46d4a6
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax + 0xb8]
test eax, eax
je 0x46d4a0
mov edi, edi
cmp dword [eax + 0x18], ecx
je 0x469ec8
mov eax, dword [eax + 4]
test eax, eax
jne 0x46d490
mov ecx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x1e0]
mov eax, dword [eax + 0xc0]
cmp eax, dword [esi + 0x88]
jge 0x46e8f9
test byte [ecx + 8], 0x40
jne 0x46d5b0
mov ecx, dword [edx + 0xc]
mov edi, dword [edx + 8]
add edi, ecx
test ecx, ecx
jne 0x46d4d5
inc edi
lea eax, [edi + 2]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
mov ecx, esi
shl eax, 2
cdq
push edx
push eax
call fcn.00441c90
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x46ad86
mov ecx, dword [ebp - 0x1f8]
call fcn.0045fa70
mov eax, dword [ebp - 0x1f8]
mov ecx, 0x40
mov word [eax + 8], cx
mov dword [eax], ebx
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1dc]
sub ecx, dword [ebp - 0x214]
mov dword [ebx], eax
mov eax, dword [ebp - 0x200]
mov dword [ebx + 0x3c], edi
mov eax, dword [eax + 0xc]
mov dword [ebx + 0x40], eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0x1e0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x200]
mov dword [ebx + 0x30], eax
mov eax, dword [ecx + 0x5c]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x38], eax
mov eax, dword [ecx + 0x70]
mov dword [ebx + 0x14], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 0x2c], eax
mov eax, dword [ecx + 0x58]
mov dword [ebx + 8], eax
mov eax, dword [ecx + 0x88]
mov dword [ebx + 0x34], eax
mov eax, dword [edx + 0x10]
mov dword [ebx + 0x18], eax
lea eax, [edi + 2]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
lea eax, [ebx + 0x50]
cmp eax, ecx
je 0x46d5b2
mov edi, 0x80
lea esp, [esp]
mov word [eax + 8], di
mov dword [eax + 0x20], esi
add eax, 0x28
cmp eax, ecx
jne 0x46d5a0
jmp 0x46d5b2
mov ebx, dword [ecx]
mov ecx, dword [ebp - 0x1e0]
lea edi, [ebx + 0x50]
mov dword [ebp - 0x1ec], edi
inc dword [ecx + 0xc0]
mov eax, dword [ecx + 0xb8]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x23c]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x240]
mov dword [ebx + 0x24], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebx + 0x44], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x58]
mov dword [ebx + 0x48], eax
mov eax, dword [ecx + 0xcc]
mov dword [ebx + 0x28], eax
mov dword [ecx + 0x5c], edi
mov dword [ecx + 0xcc], 0
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0xb8], ebx
mov eax, dword [ebx + 0x3c]
mov dword [ecx + 0x18], eax
movzx eax, word [ebx + 0x40]
mov dword [ecx + 0x1c], eax
mov eax, dword [ecx + 0x18]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [ecx + 0x70], eax
mov ebx, dword [edx]
mov dword [ecx + 0x58], ebx
mov eax, dword [edx + 4]
mov dword [ecx + 0x88], eax
mov eax, dword [ebp - 0x1e4]
lea edi, [ebx - 0x14]
mov dword [ebp - 0x214], ebx
add edi, 0x14
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov esi, eax
mov eax, dword [ebp - 0x1e0]
push 0x1000
mov eax, dword [eax + 0xb8]
mov ecx, dword [eax + 0x30]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [ecx + edx*4 + 4]
mov edx, dword [ebp - 0x1dc]
add ecx, dword [edx + 4]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.00460060
mov edi, dword [ebp - 0x1dc]
add esp, 4
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
test dword [esi + 0x18], 0x2000000
mov edx, dword [ebp - 0x1dc]
mov edi, edx
mov eax, dword [edx + 8]
je 0x46d6e7
cdq
add dword [esi + 0x1c0], eax
mov eax, dword [ebp - 0x1e4]
adc dword [esi + 0x1c4], edx
add edi, 0x14
jmp 0x468dc6
cmp dword [edx + 4], 0
cdq
je 0x46d708
add dword [esi + 0x1b8], eax
mov eax, dword [ebp - 0x1e4]
adc dword [esi + 0x1bc], edx
add edi, 0x14
jmp 0x468dc6
add dword [ecx + 0x40], eax
mov eax, dword [ebp - 0x1e4]
adc dword [ecx + 0x44], edx
add edi, 0x14
jmp 0x468dc6
cmp dword [edi + 4], 0
je 0x46d754
mov eax, dword [esi + 0x1b8]
or eax, dword [esi + 0x1bc]
jne 0x469ed4
mov eax, dword [esi + 0x1c0]
or eax, dword [esi + 0x1c4]
je 0x468e2e
mov eax, dword [ebp - 0x1e4]
add edi, 0x14
jmp 0x468dc6
mov eax, dword [ecx + 0x40]
or eax, dword [ecx + 0x44]
jmp 0x46d72e
mov edx, dword [ecx + 0xb8]
test edx, edx
je 0x46d793
mov eax, dword [edx + 4]
test eax, eax
je 0x46d779
lea ecx, [ecx]
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x46d770
mov eax, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
mov eax, dword [eax + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x46d7a8
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
lea edi, [ebx + eax*8]
mov ecx, edi
call fcn.0045fc40
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [ecx + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.0045fc40
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x468f70
jl 0x46d7dd
cmp dword [edi], eax
jae 0x468f70
mov esi, dword [ebp - 0x1f0]
mov dword [edi], eax
mov eax, dword [ebp - 0x1e4]
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1ec]
mov eax, dword [ebx + 4]
lea edi, [eax + eax*4]
mov ebx, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
test ebx, ebx
jl 0x469ec8
jg 0x46d82d
test ecx, ecx
je 0x469ec8
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
sbb ebx, edx
mov edx, dword [ebp - 0x1ec]
mov dword [edx + edi*8], ecx
mov dword [edx + edi*8 + 4], ebx
jmp 0x468e2e
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 4]
lea esi, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edi, [eax + eax*4]
call fcn.00468c90
mov ecx, dword [ebp - 0x1ec]
mov ebx, eax
mov edx, dword [ecx + esi*8]
mov esi, dword [ecx + esi*8 + 4]
test esi, esi
jg 0x46d8a7
jl 0x46d87d
test edx, edx
jne 0x46d8a7
mov edi, dword [ebp - 0x1dc]
or eax, 0xffffffff
mov esi, dword [ebp - 0x1f0]
or ecx, eax
mov dword [ebx], eax
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
mov dword [ebx + 4], ecx
mov ecx, dword [ebp - 0x1e0]
jmp 0x468dc6
mov eax, dword [ecx + edi*8]
mov ecx, dword [ecx + edi*8 + 4]
test ecx, ecx
jl 0x46d8b8
jg 0x46d8cf
test eax, eax
jne 0x46d8cf
xorps xmm0, xmm0
movlpd qword [ebp - 0x210], xmm0
mov ecx, dword [ebp - 0x20c]
mov eax, dword [ebp - 0x210]
mov edi, dword [ebp - 0x1dc]
add eax, edx
mov dword [ebx], eax
mov eax, dword [ebp - 0x1e4]
adc ecx, esi
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov dword [ebx + 4], ecx
mov ecx, dword [ebp - 0x1e0]
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1ec]
mov eax, dword [ebx + 4]
lea ebx, [eax + eax*4]
mov ecx, dword [edx + ebx*8]
mov eax, ecx
mov edi, dword [edx + ebx*8 + 4]
or eax, edi
je 0x469ec8
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 0xc]
cdq
sub ecx, eax
sbb edi, edx
mov edx, dword [ebp - 0x1ec]
mov dword [edx + ebx*8], ecx
mov dword [edx + ebx*8 + 4], edi
jmp 0x468e2e
mov eax, dword [edi + 4]
mov ebx, dword [ebp - 0x1ec]
lea ecx, [eax + eax*4]
add dword [ebx + ecx*8], 0xffffffff
mov eax, dword [ebx + ecx*8]
adc dword [ebx + ecx*8 + 4], 0xffffffff
or eax, dword [ebx + ecx*8 + 4]
je 0x468e2e
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, esi
push 0
movzx ebx, byte [edx + 3]
lea eax, [ebx*4 + 0x1c]
push eax
call fcn.00441d50
mov edi, eax
add esp, 8
test edi, edi
je 0x46ad86
mov eax, dword [ebp - 0x1dc]
mov dword [edi + 8], 0
mov ecx, dword [eax + 0x10]
mov dword [edi + 4], ecx
mov ecx, eax
sub ecx, dword [ebp - 0x214]
mov eax, 0x66666667
imul ecx
mov byte [edi + 0x1a], bl
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1dc]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x1e0]
mov dword [edi + 0xc], eax
mov word [edx], 0xeb94
mov dword [edx + 0x10], edi
jmp 0x46d9ea
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 0xc]
mov ecx, dword [ebp - 0x1ec]
mov edi, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov dword [ebp - 0x20c], ebx
cmp dword [edi + 8], ebx
je 0x46da42
movzx ecx, byte [edi + 0x1a]
dec ecx
mov dword [edi + 8], ebx
js 0x46da42
mov esi, dword [ebp - 0x1dc]
lea edx, [ecx + 7]
mov ebx, dword [ebp - 0x1ec]
lea edx, [edi + edx*4]
mov eax, dword [esi + 8]
add eax, ecx
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx], eax
sub edx, 4
dec ecx
jns 0x46da23
mov esi, dword [ebp - 0x1f0]
mov ebx, dword [ebp - 0x20c]
inc dword [ebx + 0xc]
mov eax, 1
mov word [ebp - 0x118], ax
lea eax, [ebp - 0x120]
mov dword [ebp - 0x100], esi
mov dword [ebp - 0x108], 0
mov ecx, dword [edi + 4]
mov dword [edi], eax
lea eax, [edi + 0x1c]
push eax
movzx eax, byte [edi + 0x1a]
push eax
mov word [edi + 0x18], 0
mov eax, dword [ecx + 0xc]
push edi
call eax
add esp, 0xc
cmp byte [edi + 0x19], 0
je 0x46dad5
cmp dword [edi + 0x14], 0
je 0x46dabc
lea eax, [ebp - 0x120]
push eax
call fcn.00466180
add esp, 4
push eax
push 0x507114
push dword [ebp - 0x1e0]
call fcn.00460a70
mov eax, dword [edi + 0x14]
add esp, 0xc
mov dword [ebp - 0x1e8], eax
lea ecx, [ebp - 0x120]
call fcn.0045fa70
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46ec1c
cmp byte [edi + 0x18], 0
je 0x469ec8
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax - 0x10]
test eax, eax
je 0x469ec8
mov ecx, dword [ebp - 0x1ec]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.0045fef0
mov edi, dword [ebp - 0x1dc]
add esp, 8
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 4]
mov edx, dword [edx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0045f890
mov dword [ebp - 0x1e8], eax
test eax, eax
jne 0x46e916
movzx edx, byte [ebp - 0x218]
mov ecx, edi
call fcn.0045f520
mov ecx, edi
jmp 0x469b96
mov edx, dword [ebp - 0x1dc]
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xcc], 0
push eax
push dword [edx + 8]
mov edx, dword [edx + 4]
mov ecx, esi
mov dword [ebp - 0xc4], 0xffffffff
mov dword [ebp - 0xc8], 0xffffffff
call fcn.004bc530
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
je 0x46dbcf
cmp ecx, 5
jne 0x46ec1c
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0xcc], 1
mov eax, dword [ebp - 0x1dc]
xor esi, esi
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0xcc]
mov ecx, edi
cdq
push edx
push eax
call fcn.0045fef0
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x46dbe6
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov ebx, dword [ebp - 0x1dc]
mov edx, ebx
call fcn.00468c90
mov edx, dword [ebx + 4]
mov ecx, dword [esi + 0x10]
add edx, edx
mov edi, dword [ebx + 0xc]
cmp edi, 0xffffffff
mov dword [ebp - 0x254], eax
mov eax, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x20c], eax
mov ecx, dword [eax + 4]
mov ebx, dword [ecx]
movzx ecx, byte [ebx + 5]
cmove edi, ecx
mov dword [ebp - 0x1f4], ecx
cmp byte [ebx + 0x11], 3
jae 0x46dc7c
mov eax, dword [ebx + 0x44]
cmp dword [eax], 0
je 0x46dc7e
cmp dword [ebx + 0x54], 0
jl 0x46dc7e
jg 0x46dc7c
cmp dword [ebx + 0x50], 0
jbe 0x46dc7e
mov edi, ecx
cmp byte [ebx + 0x10], 0
mov eax, 0x4fe5ad
jne 0x46dc8f
mov eax, dword [ebx + 0xb0]
cmp edi, 5
jne 0x46dcbd
mov ecx, eax
call fcn.004446b0
test eax, eax
je 0x46dcaa
mov ecx, ebx
call fcn.00450a10
test eax, eax
jne 0x46dcb7
mov eax, dword [ebp - 0x1f4]
mov edi, eax
jmp 0x46dd3b
mov ecx, dword [ebp - 0x1f4]
cmp edi, ecx
je 0x46dd35
cmp ecx, 5
je 0x46dccb
cmp edi, 5
jne 0x46dd35
cmp byte [esi + 0x43], 0
je 0x46e938
cmp dword [esi + 0xa0], 1
jg 0x46e938
cmp ecx, 5
jne 0x46dd03
mov ecx, ebx
call fcn.00450be0
mov dword [ebp - 0x1e8], eax
test eax, eax
jne 0x46dd46
mov edx, edi
mov ecx, ebx
call fcn.004508b0
jmp 0x46dd1b
cmp ecx, 4
jne 0x46dd12
lea edx, [ecx - 2]
mov ecx, ebx
call fcn.004508b0
cmp dword [ebp - 0x1e8], 0
jne 0x46dd46
mov ecx, dword [ebp - 0x20c]
xor edx, edx
cmp edi, 5
sete dl
inc edx
call fcn.0045e2d0
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1f4]
cmp dword [ebp - 0x1e8], 0
je 0x46dd4e
jmp 0x46dd4c
mov eax, dword [ebp - 0x1f4]
mov edi, eax
mov edx, edi
mov ecx, ebx
call fcn.004508b0
mov ebx, dword [ebp - 0x254]
mov ecx, 0xa02
mov word [ebx + 8], cx
cmp eax, 6
jne 0x46dd6f
xor ecx, ecx
jmp 0x46dd76
mov ecx, dword [eax*4 + 0x5066d8]
mov dword [ebx + 0x10], ecx
call fcn.004446b0
movzx edx, byte [ebp - 0x218]
mov ecx, ebx
mov dword [ebx + 0xc], eax
mov byte [ebx + 0xa], 1
call fcn.0045f520
jmp 0x469eba
mov edx, dword [ebp - 0x1dc]
add ecx, 0x6c
push dword [edx + 4]
mov edx, esi
call fcn.004a9020
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
mov edx, dword [ebp - 0x1dc]
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + 4]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00457280
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
je 0x469ec8
cmp ecx, 0x65
jne 0x46ec1c
mov dword [ebp - 0x1e8], 0
jmp 0x468e2e
cmp dword [edi + 4], 0
jne 0x46de1b
mov ecx, esi
call fcn.00465b60
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
or dword [ecx + 0x90], 1
add edi, 0x14
jmp 0x468dc6
mov al, byte [edi + 0xc]
mov byte [ebp - 0x2bc], al
test al, al
jne 0x46de44
test dword [esi + 0x18], 0x4000
jne 0x469ed4
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [esi + 0x10]
mov edx, dword [ebp - 0x1dc]
push dword [ebp - 0x2bc]
mov eax, dword [eax + 4]
add eax, eax
mov edx, dword [edx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0045e1e0
mov ecx, eax
add esp, 4
mov dword [ebp - 0x1e8], ecx
test ecx, ecx
je 0x469ec8
cmp cl, 6
jne 0x46ec1c
mov eax, dword [ebp - 0x1dc]
push dword [eax + 0x10]
push str.database_table_is_locked:__s
push dword [ebp - 0x1e0]
call fcn.00460a70
add esp, 0xc
jmp 0x46ec16
mov edx, dword [ebp - 0x1dc]
mov ecx, esi
mov edi, dword [edx + 0x10]
mov edx, edi
call fcn.004aa770
mov ecx, eax
mov dword [ebp - 0x1e8], ecx
test edi, edi
je 0x469ec0
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0x1e0]
call fcn.00465c00
jmp 0x469eba
mov edx, dword [ebp - 0x1dc]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0x1ec]
movq qword [ebp - 0x198], xmm0
movdqu xmmword [ebp - 0x1b8], xmm0
mov eax, dword [edx + 8]
movdqu xmmword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x198], esi
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x1b8]
call fcn.004600c0
mov dword [ebp - 0x1e8], eax
lea eax, [ebp - 0x1b8]
push eax
call fcn.00466180
add esp, 4
test eax, eax
je 0x46df5a
mov ecx, dword [ebp - 0x1e0]
add ecx, 0x6c
push ecx
push eax
mov eax, dword [ebp - 0x1dc]
mov ecx, esi
mov edx, dword [eax + 4]
call fcn.004aa1f0
add esp, 8
mov dword [ebp - 0x1e8], eax
lea ecx, [ebp - 0x1b8]
call fcn.0045fa70
jmp 0x469eba
mov edx, dword [ebp - 0x1dc]
mov ecx, esi
inc dword [esi + 0xac]
push dword [edx + 0x10]
mov edx, dword [edx + 4]
call fcn.004aa530
mov ecx, eax
add esp, 4
dec dword [esi + 0xac]
mov dword [ebp - 0x1e8], ecx
jmp 0x469ec0
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x124], 0
mov eax, dword [edx + 0x10]
mov edi, dword [eax + 8]
test edi, edi
je 0x46e966
mov ebx, dword [edi]
test ebx, ebx
je 0x46e966
lea eax, [ebp - 0x124]
push eax
mov eax, dword [ebx + 0x18]
push edi
call eax
mov ecx, dword [ebp - 0x1e0]
add esp, 8
mov edx, edi
mov dword [ebp - 0x1e8], eax
call fcn.00465c00
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46ec1c
mov eax, dword [ebp - 0x124]
push 2
push 0xffffffffffffffff
push ecx
mov ecx, dword [ebp - 0x1e0]
mov dword [eax], edi
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax + 4]
call fcn.00468910
add esp, 0xc
test eax, eax
je 0x46e953
mov ecx, dword [ebp - 0x124]
mov dword [eax + 0x14], ecx
inc dword [edi + 4]
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x1ec]
add ebx, 0x28
mov eax, dword [edx + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [ebp - 0x1dc]
mov edi, dword [ebx + edx*8]
lea ebx, [ebx + edx*8]
movd xmm0, ebx
mov dword [ebp - 0x254], ebx
mov ecx, dword [eax + 4]
mov eax, dword [ebp - 0x1e0]
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x70]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x1f8], eax
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x220], eax
mov eax, dword [eax]
mov dword [ebp - 0x228], eax
mov eax, dword [eax]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp - 0x1ec]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x200], eax
mov eax, dword [ebp - 0x1e0]
mov edx, dword [eax + 0x60]
mov dword [ebp - 0x20c], edx
test edi, edi
jle 0x46e171
cmp edi, 8
jb 0x46e159
cmp dword [0x669abc], 2
jl 0x46e159
movdqa xmm2, xmmword [0x50c7d0]
mov eax, edi
and eax, reloc.WS2_32.dll_getsockopt
jns 0x46e0f6
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm1, xmmword [0x50c7f0]
mov ebx, edi
sub ebx, eax
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
lea edx, [edx + 0x20]
paddd xmm0, xmm2
add ecx, 8
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x20], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movdqu xmmword [edx - 0x10], xmm0
cmp ecx, ebx
jl 0x46e102
mov edx, dword [ebp - 0x20c]
mov ebx, dword [ebp - 0x254]
cmp ecx, edi
jge 0x46e171
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*8]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, edi
jl 0x46e166
mov eax, dword [ebp - 0x1dc]
mov ebx, dword [ebp - 0x22c]
push edx
push edi
push dword [eax + 0x10]
mov edi, dword [ebp - 0x220]
push dword [ebp - 0x200]
mov eax, dword [ebx + 0x20]
push edi
call eax
mov edx, dword [ebp - 0x228]
add esp, 0x14
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1e8], eax
call fcn.00465c00
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46ec1c
mov eax, dword [ebx + 0x28]
push edi
call eax
mov ecx, dword [ebp - 0x1f8]
add esp, 4
mov byte [ecx + 2], 0
test eax, eax
jne 0x468e2e
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edx + 4]
mov eax, dword [eax + 0x70]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
cmp byte [edx + 2], 0
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x46e242
mov ecx, edi
call fcn.0045fe90
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov eax, dword [edx + 0x14]
xorps xmm0, xmm0
mov ebx, 0x3e00
mov esi, dword [eax]
mov ecx, dword [esi]
movdqu xmmword [ebp - 0x1d8], xmm0
mov dword [ebp - 0x1d8], edi
movdqu xmmword [ebp - 0x1c8], xmm0
mov ax, word [edi + 8]
and ax, bx
or ax, 1
mov word [edi + 8], ax
mov eax, dword [ebp - 0x1dc]
push dword [eax + 8]
lea eax, [ebp - 0x1d8]
push eax
push dword [edx + 0x14]
mov eax, dword [ecx + 0x2c]
call eax
mov ecx, dword [ebp - 0x1e0]
add esp, 0xc
mov edx, esi
mov dword [ebp - 0x1e8], eax
call fcn.00465c00
mov eax, dword [ebp - 0x1c4]
test eax, eax
mov ecx, dword [ebp - 0x1e8]
movzx edx, byte [ebp - 0x218]
cmovne ecx, eax
mov dword [ebp - 0x1e8], ecx
mov ecx, edi
call fcn.0045f520
mov ecx, edi
call fcn.00460000
mov esi, dword [ebp - 0x1f0]
test eax, eax
jne 0x469ba3
jmp 0x469eba
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x70]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 2], 0
jne 0x469ec8
mov eax, dword [edi + 0x14]
push eax
mov esi, dword [eax]
mov ebx, dword [esi]
mov eax, dword [ebx + 0x24]
call eax
mov ecx, dword [ebp - 0x1e0]
add esp, 4
mov edx, esi
mov dword [ebp - 0x1e8], eax
call fcn.00465c00
mov ecx, dword [ebp - 0x1e8]
test ecx, ecx
jne 0x46a976
push dword [edi + 0x14]
mov eax, dword [ebx + 0x28]
call eax
mov esi, dword [ebp - 0x1f0]
add esp, 4
test eax, eax
jne 0x46e360
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x214]
mov eax, dword [edx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*4]
add ecx, 0xffffffec
mov dword [ebp - 0x1dc], ecx
cmp dword [esi + 0xf8], 0
jne 0x46eba9
mov ecx, dword [esi + 0x130]
mov eax, dword [ebp - 0x1e4]
test ecx, ecx
je 0x46e717
cmp eax, dword [ebp - 0x268]
jb 0x46e717
mov ebx, dword [esi + 0x138]
xor edx, edx
div ebx
push dword [esi + 0x134]
sub ebx, edx
add ebx, dword [ebp - 0x1e4]
mov dword [ebp - 0x268], ebx
call ecx
add esp, 4
test eax, eax
jne 0x46e997
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [edx + 0x10]
mov ebx, dword [eax + 8]
mov eax, dword [edx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 2
lea edi, [ecx + eax*8]
je 0x46e40d
cmp byte [edi + 0xa], 1
je 0x46e40d
mov dl, 1
mov ecx, edi
call fcn.00443fa0
mov ecx, eax
test ecx, ecx
jne 0x46ec1c
mov eax, dword [ebx]
push dword [edi + 0x10]
push ebx
mov eax, dword [eax + 0x4c]
call eax
mov ecx, dword [ebp - 0x1e0]
add esp, 8
mov edx, ebx
mov dword [ebp - 0x1e8], eax
call fcn.00465c00
mov ecx, dword [ebp - 0x1e0]
and dword [ecx + 0x90], 0xfffffffe
jmp 0x469eba
mov ebx, dword [ebp - 0x1dc]
mov eax, dword [ebx + 0x10]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x46e966
mov eax, dword [ebx]
mov dword [ebp - 0x20c], eax
test eax, eax
je 0x46e966
cmp dword [eax + 0x34], 0
mov edi, dword [ebp - 0x1dc]
mov edi, dword [edi + 8]
je 0x469e25
mov al, byte [esi + 0x4a]
mov edx, dword [ecx + 0x60]
mov ecx, dword [ebp - 0x1ec]
mov byte [ebp - 0x201], al
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test edi, edi
jle 0x46e4ab
mov edi, edi
mov dword [edx + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, edi
jl 0x46e4a0
mov eax, dword [ebp - 0x1dc]
mov al, byte [eax + 3]
mov byte [esi + 0x4a], al
lea eax, [ebp - 0xf8]
push eax
mov eax, dword [ebp - 0x20c]
push edx
push edi
push ebx
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0x1e0]
add esp, 0x10
mov dword [ebp - 0x1e8], eax
mov edx, ebx
mov al, byte [ebp - 0x201]
mov byte [esi + 0x4a], al
call fcn.00465c00
cmp dword [ebp - 0x1e8], 0
mov eax, dword [ebp - 0x1dc]
jne 0x46e51e
cmp dword [eax + 4], 0
je 0x46e51e
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xf4]
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x240], edx
mov dword [esi + 0x20], ecx
mov dword [esi + 0x24], edx
mov ecx, dword [ebp - 0x1e8]
cmp cl, 0x13
jne 0x46e58f
mov eax, dword [eax + 0x10]
cmp byte [eax + 0x10], 0
je 0x46e58f
mov eax, dword [ebp - 0x1dc]
mov al, byte [eax + 3]
cmp al, 4
jne 0x46e561
mov edi, dword [ebp - 0x1dc]
xor eax, eax
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
cmp al, 5
jne 0x46e57b
mov edx, dword [ebp - 0x1e0]
mov eax, 2
mov byte [edx + 0x8e], al
jmp 0x469ec0
mov edx, dword [ebp - 0x1e0]
movzx eax, al
mov byte [edx + 0x8e], al
jmp 0x469ec0
mov eax, dword [ebp - 0x1e0]
inc dword [eax + 0x2c]
jmp 0x469ec0
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov ecx, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x1dc]
mov edx, dword [ecx + 4]
mov ecx, dword [esi + 0x10]
shl edx, 4
add edi, 0x14
mov ecx, dword [edx + ecx + 4]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + 0x2c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1e0]
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edx, dword [ebp - 0x1dc]
call fcn.00468c90
mov ecx, dword [esi + 0x10]
mov ebx, eax
mov eax, dword [ebp - 0x1dc]
mov edx, dword [eax + 4]
mov edi, dword [eax + 0xc]
add edx, edx
mov ecx, dword [ecx + edx*8 + 4]
xor edx, edx
test edi, edi
je 0x46e617
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, edi
cmovb edx, edi
call fcn.004564d0
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
cdq
mov dword [ebx], eax
mov eax, dword [ebp - 0x1e4]
mov dword [ebx + 4], edx
jmp 0x468dc6
mov cl, byte [esi + 0x4c]
mov ebx, dword [ebp - 0x1e0]
test cl, 0x81
je 0x46e6ae
test byte [ebx + 0x90], 2
jne 0x46e6ae
mov edx, dword [ebp - 0x1dc]
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x46e66a
mov eax, dword [ebx + 0xb0]
test eax, eax
je 0x46e6ae
test cl, cl
jns 0x46e699
mov edi, dword [esi + 0xb8]
mov edx, eax
mov ecx, ebx
call fcn.00468410
mov esi, eax
mov eax, dword [ebp - 0x1f0]
push esi
push dword [eax + 0xbc]
call edi
push esi
call fcn.004419d0
add esp, 0xc
jmp 0x46e6ae
push eax
mov eax, dword [esi + 0xb8]
push ebx
push dword [esi + 0xbc]
push 1
call eax
add esp, 0x10
mov esi, dword [ebp - 0x1dc]
mov eax, dword [esi + 4]
cmp eax, dword [0x668868]
jl 0x46e6f5
mov edx, 1
cmp dword [ebx + 0x88], edx
jle 0x46e6ee
mov eax, 0x14
mov ecx, dword [ebx + 0x58]
cmp byte [eax + ecx], 0x14
jne 0x46e6e2
mov dword [eax + ecx + 4], 0
inc edx
add eax, 0x14
cmp edx, dword [ebx + 0x88]
jl 0x46e6d1
mov dword [esi + 4], 0
inc dword [esi + 4]
jmp 0x468e34
mov edi, dword [ebp - 0x1dc]
mov esi, dword [ebp - 0x1f0]
add edi, 0x14
mov eax, dword [ebp - 0x1e4]
jmp 0x468dc6
mov edi, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1e0]
add edi, 0x14
jmp 0x468dc6
mov ecx, dword [edx + 4]
mov dword [ebx + 0x28], ecx
mov al, byte [edx + 8]
mov byte [ebx + 0x8e], al
mov dword [ebx + 0x24], edi
test ecx, ecx
je 0x46e7b9
mov al, byte [edx + 3]
test al, al
je 0x46e788
movzx eax, al
push dword [eax*4 + 0x504448]
push str._s_constraint_failed
push ebx
call fcn.00460a70
mov eax, dword [ebp - 0x1dc]
add esp, 0xc
mov eax, dword [eax + 0x10]
test eax, eax
je 0x46e799
push eax
push dword [ebx + 0x6c]
push str._z:__s
push esi
call fcn.00443940
add esp, 0x10
mov dword [ebx + 0x6c], eax
jmp 0x46e799
push dword [edx + 0x10]
push 0x507114
push ebx
call fcn.00460a70
add esp, 0xc
push dword [ebx + 0x6c]
mov eax, dword [ebp - 0x1dc]
push dword [ebx + 0xb0]
push edi
push str.abort_at__d_in___s_:__s
push dword [eax + 4]
call fcn.00443bc0
add esp, 0x14
mov ecx, ebx
call fcn.00463850
mov dword [ebp - 0x1e8], eax
cmp eax, 5
jne 0x46e7d3
mov dword [ebx + 0x28], eax
jmp 0x46ed8e
cmp dword [ebx + 0x28], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x46ed8e
mov ecx, 0x13ba7
call fcn.004bda20
mov ecx, eax
jmp 0x46ec1c
push str.cannot_open_savepoint___SQL_statements_in_progress
push ecx
call fcn.00460a70
add esp, 8
mov ecx, 5
jmp 0x46ec1c
push str.cannot_release_savepoint___SQL_statements_in_progress
push dword [ebp - 0x1e0]
call fcn.00460a70
add esp, 8
mov ecx, 5
jmp 0x46ec1c
mov ecx, dword [ebp - 0x1dc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x214]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov eax, 5
mov byte [esi + 0x43], 0
mov dword [ebp - 0x1e8], eax
mov dword [edi + 0x28], eax
jmp 0x46ed8e
mov ecx, 8
jmp 0x46ec1c
cmp cl, 5
jne 0x46ec1c
mov ecx, dword [ebp - 0x1dc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x214]
imul ecx
mov ecx, dword [ebp - 0x1e0]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ecx + 0x28], eax
jmp 0x46ed8e
mov ecx, 0x204
jmp 0x46ec1c
mov eax, dword [ebp - 0x1e0]
mov ecx, 6
mov byte [eax + 0x8e], 2
jmp 0x46ec22
mov dword [ebp - 0x1e8], 7
mov ecx, esi
call fcn.00482490
mov ecx, dword [ebp - 0x1e8]
cmp ecx, 7
je 0x46ad86
jmp 0x46ec1c
push str.too_many_levels_of_trigger_recursion
push dword [ebp - 0x1e0]
call fcn.00460a70
add esp, 8
mov ecx, 1
jmp 0x46ec1c
push edi
call fcn.00466180
add esp, 4
push eax
push 0x507114
push dword [ebp - 0x1e0]
call fcn.00460a70
add esp, 0xc
jmp 0x46ec16
cmp edi, 5
mov eax, str.into
mov ecx, str.out_of
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x46b180
push dword [ebp - 0x124]
mov eax, dword [ebx + 0x1c]
call eax
add esp, 4
jmp 0x46ad86
mov ecx, 6
jmp 0x46ec1c
mov eax, dword [esi + 0x130]
test eax, eax
je 0x46e9a7
mov edx, dword [ebp - 0x1e4]
cmp edx, dword [ebp - 0x268]
jb 0x46e9a7
push dword [esi + 0x134]
call eax
add esp, 4
test eax, eax
je 0x46e9a1
mov ecx, 9
jmp 0x46ec1c
mov ecx, dword [ebp - 0x1e0]
xor edx, edx
call fcn.004637f0
mov ecx, eax
test ecx, ecx
jne 0x46ec1c
mov ecx, dword [ebp - 0x1e0]
lea edx, [eax + 1]
call fcn.004636d0
mov ecx, dword [ebp - 0x1e0]
xor edi, edi
mov ebx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1ec]
mov eax, dword [ecx + 0x20]
add eax, 2
or eax, 1
mov dword [ecx + 0x20], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [ecx + 0x68], esi
cmp dword [ebx + 8], edi
jle 0x46ea30
jmp 0x46ea00
mov eax, 0x1000
test word [esi + 8], ax
je 0x46ea1a
mov ecx, esi
call fcn.0045f680
test eax, eax
jne 0x46ad80
mov ecx, esi
call fcn.0045f790
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x46ea00
mov ecx, dword [ebp - 0x1e0]
mov esi, dword [ebp - 0x1f0]
cmp byte [esi + 0x45], 0
jne 0x46adb5
test byte [esi + 0x4c], 4
je 0x46ea5c
mov eax, dword [esi + 0xb8]
push 0
push ecx
push dword [esi + 0xbc]
push 4
call eax
add esp, 0x10
sub ebx, dword [ebp - 0x214]
mov eax, 0x66666667
mov ecx, dword [ebp - 0x1e0]
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [ecx + 0x24], eax
mov eax, 0x64
mov dword [ebp - 0x1e8], eax
jmp 0x46ed8e
mov edx, dword [ebp - 0x1dc]
movzx eax, byte [esi + 0x43]
mov ebx, dword [edx + 4]
mov ecx, dword [edx + 8]
cmp ebx, eax
je 0x46eb64
test ecx, ecx
je 0x46eac1
mov edx, 0x204
mov ecx, esi
call fcn.004bb980
mov edi, dword [ebp - 0x1e0]
mov byte [esi + 0x43], 1
jmp 0x46eafb
test ebx, ebx
je 0x46ead8
cmp dword [esi + 0xa4], 0
jle 0x46ead8
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x46e81d
mov edi, dword [ebp - 0x1e0]
mov edx, 1
mov ecx, edi
call fcn.004637f0
mov dword [ebp - 0x1e8], eax
test eax, eax
jne 0x46ed8e
mov byte [esi + 0x43], bl
mov ecx, edi
call fcn.00463850
cmp eax, 5
jne 0x46eb41
mov ecx, dword [ebp - 0x1dc]
mov eax, 0x66666667
sub ecx, dword [ebp - 0x214]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [edi + 0x24], eax
mov al, 1
sub al, bl
mov byte [esi + 0x43], al
mov eax, 5
mov dword [ebp - 0x1e8], eax
mov dword [edi + 0x28], eax
jmp 0x46ed8e
mov ecx, esi
call fcn.004baf90
cmp dword [edi + 0x28], 0
mov eax, 1
mov ecx, 0x65
cmove eax, ecx
mov dword [ebp - 0x1e8], eax
jmp 0x46ed8e
test ebx, ebx
jne 0x46eb84
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push dword [ebp - 0x1e0]
call fcn.00460a70
add esp, 8
lea ecx, [ebx + 1]
jmp 0x46ec1c
test ecx, ecx
mov edx, str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, edx
push eax
push dword [ebp - 0x1e0]
call fcn.00460a70
add esp, 8
mov ecx, 1
jmp 0x46ec1c
mov edx, dword [ebp - 0x1e0]
xor ecx, ecx
cmp byte [esi + 0x45], cl
mov eax, 0x4fe52c
sete cl
lea ecx, [ecx*2 + 7]
mov dword [ebp - 0x1e8], ecx
mov dword [edx + 0x28], ecx
cmp ecx, 0x204
je 0x46ebfa
movzx ecx, cl
cmp ecx, 0x1a
ja 0x46ebff
mov ecx, dword [ecx*4 + 0x503900]
test ecx, ecx
je 0x46ebff
mov eax, ecx
push eax
push 0x507114
push edx
call fcn.00460a70
add esp, 0xc
jmp 0x46ec16
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x507114
push edx
call fcn.00460a70
add esp, 0xc
jmp 0x46ec16
mov esi, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1e8]
mov eax, dword [ebp - 0x1e0]
cmp byte [esi + 0x45], 0
mov edx, 7
cmovne ecx, edx
cmp dword [eax + 0x6c], 0
mov dword [ebp - 0x1e8], ecx
jne 0x46ec8b
cmp ecx, 0xc0a
je 0x46ec8b
mov eax, 0x4fe52c
cmp ecx, 0x204
je 0x46ec66
movzx ecx, cl
cmp ecx, 0x1a
ja 0x46ec6b
mov ecx, dword [ecx*4 + 0x503900]
test ecx, ecx
je 0x46ec6b
mov eax, ecx
jmp 0x46ec6b
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x507114
push dword [ebp - 0x1e0]
call fcn.00460a70
mov ecx, dword [ebp - 0x1e8]
add esp, 0xc
mov eax, dword [ebp - 0x1e0]
mov dword [eax + 0x28], ecx
cmp ecx, 0xc0a
je 0x46ecbd
movzx eax, cl
cmp eax, 0xe
je 0x46eca3
cmp eax, 0xa
jne 0x46ecbd
mov eax, dword [esi]
mov ecx, dword [eax + 0x44]
test ecx, ecx
je 0x46ecb8
push 0
push 0
push eax
call ecx
add esp, 0xc
jmp 0x46ecba
xor eax, eax
mov dword [esi + 0x3c], eax
mov ecx, dword [ebp - 0x1e0]
mov eax, 0x66666667
push dword [ecx + 0x6c]
push dword [ecx + 0xb0]
mov ecx, dword [ebp - 0x1dc]
sub ecx, dword [ebp - 0x214]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push dword [ebp - 0x1e8]
call fcn.00443bc0
mov ecx, dword [ebp - 0x1e0]
add esp, 0x14
call fcn.00463850
cmp dword [ebp - 0x1e8], 0xc0a
jne 0x46ed3d
cmp byte [esi + 0x45], 0
jne 0x46ed3d
cmp byte [esi + 0x46], 0
jne 0x46ed3d
cmp dword [esi + 0xa8], 0
mov byte [esi + 0x45], 1
jle 0x46ed37
mov dword [esi + 0xf8], 1
inc dword [esi + 0x100]
mov cl, byte [ebp - 0x22d]
mov eax, 1
mov dword [ebp - 0x1e8], eax
test cl, cl
je 0x46ed8e
mov eax, dword [ebp - 0x1f0]
movzx esi, cl
dec esi
mov ecx, esi
mov eax, dword [eax + 0x10]
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.00488fc0
add esp, 4
cmp esi, 1
mov esi, dword [ebp - 0x1f0]
je 0x46ed88
mov eax, dword [esi + 0x10]
push dword [eax + 0x1c]
call fcn.00488fc0
add esp, 4
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x23c]
mov dword [esi + 0x20], ecx
mov ecx, dword [ebp - 0x240]
mov dword [esi + 0x24], ecx
mov esi, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1e4]
add dword [esi + 0xac], ecx
cmp dword [esi + 0x98], 0
je 0x46edc8
mov ecx, esi
call fcn.004620b0
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004c0564
mov esp, ebp
pop ebp
ret