a89f05:	8b f1                	mov    %ecx,%esi
a89f07:	8d 4d fc             	lea    -0x4(%ebp),%ecx
a89f0a:	57                   	push   %edi
a89f0b:	6a 0a                	push   $0xa
a89f0d:	51                   	push   %ecx
a89f0e:	8b 7e 0c             	mov    0xc(%esi),%edi
a89f11:	8b 1f                	mov    (%edi),%ebx
a89f13:	83 27 00             	andl   $0x0,(%edi)
a89f16:	8b 46 10             	mov    0x10(%esi),%eax
a89f19:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a89f1d:	48                   	dec    %eax
a89f1e:	50                   	push   %eax
a89f1f:	e8 e9 ad 98 ff       	call   0x414d0d
a89f24:	8b 4d 08             	mov    0x8(%ebp),%ecx
a89f27:	83 c4 0c             	add    $0xc,%esp
a89f2a:	89 01                	mov    %eax,(%ecx)
a89f2c:	8b 46 0c             	mov    0xc(%esi),%eax
a89f2f:	83 38 22             	cmpl   $0x22,(%eax)
a89f32:	74 0f                	je     0xa89f43
a89f34:	8b 45 fc             	mov    -0x4(%ebp),%eax
a89f37:	3b 46 10             	cmp    0x10(%esi),%eax
a89f3a:	72 07                	jb     0xa89f43
a89f3c:	89 46 10             	mov    %eax,0x10(%esi)
a89f3f:	b0 01                	mov    $0x1,%al
a89f41:	eb 02                	jmp    0xa89f45
a89f43:	32 c0                	xor    %al,%al
a89f45:	83 3f 00             	cmpl   $0x0,(%edi)
a89f48:	75 06                	jne    0xa89f50
a89f4a:	85 db                	test   %ebx,%ebx
a89f4c:	74 02                	je     0xa89f50
a89f4e:	89 1f                	mov    %ebx,(%edi)
a89f50:	5f                   	pop    %edi
a89f51:	5e                   	pop    %esi
a89f52:	5b                   	pop    %ebx
a89f53:	8b e5                	mov    %ebp,%esp
a89f55:	5d                   	pop    %ebp
a89f56:	c2 04 00             	ret    $0x4
a89f59:	cc                   	int3
a89f5a:	cc                   	int3
a89f5b:	cc                   	int3
a89f5c:	cc                   	int3
a89f5d:	cc                   	int3
a89f5e:	cc                   	int3
a89f5f:	cc                   	int3
a89f60:	cc                   	int3
a89f61:	cc                   	int3
a89f62:	cc                   	int3
a89f63:	cc                   	int3
a89f64:	cc                   	int3
a89f65:	cc                   	int3
a89f66:	cc                   	int3
a89f67:	cc                   	int3
a89f68:	cc                   	int3
a89f69:	cc                   	int3
a89f6a:	cc                   	int3
a89f6b:	cc                   	int3
a89f6c:	cc                   	int3
a89f6d:	cc                   	int3
a89f6e:	cc                   	int3
a89f6f:	cc                   	int3
a89f70:	8b ff                	mov    %edi,%edi
a89f72:	55                   	push   %ebp
a89f73:	8b ec                	mov    %esp,%ebp
a89f75:	51                   	push   %ecx
a89f76:	53                   	push   %ebx
a89f77:	56                   	push   %esi
a89f78:	8b f1                	mov    %ecx,%esi
a89f7a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
a89f7d:	57                   	push   %edi
a89f7e:	6a 0a                	push   $0xa
a89f80:	51                   	push   %ecx
a89f81:	8b 7e 0c             	mov    0xc(%esi),%edi
a89f84:	8b 1f                	mov    (%edi),%ebx
a89f86:	83 27 00             	andl   $0x0,(%edi)
a89f89:	8b 46 10             	mov    0x10(%esi),%eax
a89f8c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a89f90:	48                   	dec    %eax
a89f91:	50                   	push   %eax
a89f92:	e8 76 ad 98 ff       	call   0x414d0d
a89f97:	8b 4d 08             	mov    0x8(%ebp),%ecx
a89f9a:	83 c4 0c             	add    $0xc,%esp
a89f9d:	89 01                	mov    %eax,(%ecx)
a89f9f:	8b 46 0c             	mov    0xc(%esi),%eax
a89fa2:	83 38 22             	cmpl   $0x22,(%eax)
a89fa5:	74 0f                	je     0xa89fb6
a89fa7:	8b 45 fc             	mov    -0x4(%ebp),%eax
a89faa:	3b 46 10             	cmp    0x10(%esi),%eax
a89fad:	72 07                	jb     0xa89fb6
a89faf:	89 46 10             	mov    %eax,0x10(%esi)
a89fb2:	b0 01                	mov    $0x1,%al
a89fb4:	eb 02                	jmp    0xa89fb8
a89fb6:	32 c0                	xor    %al,%al
a89fb8:	83 3f 00             	cmpl   $0x0,(%edi)
a89fbb:	75 06                	jne    0xa89fc3
a89fbd:	85 db                	test   %ebx,%ebx
a89fbf:	74 02                	je     0xa89fc3
a89fc1:	89 1f                	mov    %ebx,(%edi)
a89fc3:	5f                   	pop    %edi
a89fc4:	5e                   	pop    %esi
a89fc5:	5b                   	pop    %ebx
a89fc6:	8b e5                	mov    %ebp,%esp
a89fc8:	5d                   	pop    %ebp
a89fc9:	c2 04 00             	ret    $0x4
a89fcc:	cc                   	int3
a89fcd:	cc                   	int3
a89fce:	cc                   	int3
a89fcf:	cc                   	int3
a89fd0:	cc                   	int3
a89fd1:	cc                   	int3
a89fd2:	cc                   	int3
a89fd3:	cc                   	int3
a89fd4:	cc                   	int3
a89fd5:	cc                   	int3
a89fd6:	cc                   	int3
a89fd7:	cc                   	int3
a89fd8:	cc                   	int3
a89fd9:	cc                   	int3
a89fda:	cc                   	int3
a89fdb:	cc                   	int3
a89fdc:	cc                   	int3
a89fdd:	cc                   	int3
a89fde:	cc                   	int3
a89fdf:	cc                   	int3
a89fe0:	cc                   	int3
a89fe1:	cc                   	int3
a89fe2:	cc                   	int3
a89fe3:	8b ff                	mov    %edi,%edi
a89fe5:	55                   	push   %ebp
a89fe6:	8b ec                	mov    %esp,%ebp
a89fe8:	51                   	push   %ecx
a89fe9:	53                   	push   %ebx
a89fea:	56                   	push   %esi
a89feb:	8b f1                	mov    %ecx,%esi
a89fed:	8d 4d fc             	lea    -0x4(%ebp),%ecx
a89ff0:	57                   	push   %edi
a89ff1:	6a 0a                	push   $0xa
a89ff3:	51                   	push   %ecx
a89ff4:	8b 7e 0c             	mov    0xc(%esi),%edi
a89ff7:	8b 1f                	mov    (%edi),%ebx
a89ff9:	83 27 00             	andl   $0x0,(%edi)
a89ffc:	8b 46 10             	mov    0x10(%esi),%eax
a89fff:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a8a003:	83 e8 02             	sub    $0x2,%eax
a8a006:	50                   	push   %eax
a8a007:	e8 31 af 98 ff       	call   0x414f3d
a8a00c:	8b 4d 08             	mov    0x8(%ebp),%ecx
a8a00f:	83 c4 0c             	add    $0xc,%esp
a8a012:	89 01                	mov    %eax,(%ecx)
a8a014:	8b 46 0c             	mov    0xc(%esi),%eax
a8a017:	83 38 22             	cmpl   $0x22,(%eax)
a8a01a:	74 0f                	je     0xa8a02b
a8a01c:	8b 45 fc             	mov    -0x4(%ebp),%eax
a8a01f:	3b 46 10             	cmp    0x10(%esi),%eax
a8a022:	72 07                	jb     0xa8a02b
a8a024:	89 46 10             	mov    %eax,0x10(%esi)
a8a027:	b0 01                	mov    $0x1,%al
a8a029:	eb 02                	jmp    0xa8a02d
a8a02b:	32 c0                	xor    %al,%al
a8a02d:	83 3f 00             	cmpl   $0x0,(%edi)
a8a030:	75 06                	jne    0xa8a038
a8a032:	85 db                	test   %ebx,%ebx
a8a034:	74 02                	je     0xa8a038
a8a036:	89 1f                	mov    %ebx,(%edi)
a8a038:	5f                   	pop    %edi
a8a039:	5e                   	pop    %esi
a8a03a:	5b                   	pop    %ebx
a8a03b:	8b e5                	mov    %ebp,%esp
a8a03d:	5d                   	pop    %ebp
a8a03e:	c2 04 00             	ret    $0x4
a8a041:	cc                   	int3
a8a042:	cc                   	int3
a8a043:	cc                   	int3
a8a044:	cc                   	int3
a8a045:	cc                   	int3
a8a046:	cc                   	int3
a8a047:	cc                   	int3
a8a048:	cc                   	int3
a8a049:	cc                   	int3
a8a04a:	cc                   	int3
a8a04b:	cc                   	int3
a8a04c:	cc                   	int3
a8a04d:	cc                   	int3
a8a04e:	cc                   	int3
a8a04f:	cc                   	int3
a8a050:	cc                   	int3
a8a051:	cc                   	int3
a8a052:	cc                   	int3
a8a053:	cc                   	int3
a8a054:	cc                   	int3
a8a055:	cc                   	int3
a8a056:	cc                   	int3
a8a057:	cc                   	int3
a8a058:	8b ff                	mov    %edi,%edi
a8a05a:	55                   	push   %ebp
a8a05b:	8b ec                	mov    %esp,%ebp
a8a05d:	51                   	push   %ecx
a8a05e:	53                   	push   %ebx
a8a05f:	56                   	push   %esi
a8a060:	8b f1                	mov    %ecx,%esi
a8a062:	8d 4d fc             	lea    -0x4(%ebp),%ecx
a8a065:	57                   	push   %edi
a8a066:	6a 0a                	push   $0xa
a8a068:	51                   	push   %ecx
a8a069:	8b 7e 0c             	mov    0xc(%esi),%edi
a8a06c:	8b 1f                	mov    (%edi),%ebx
a8a06e:	83 27 00             	andl   $0x0,(%edi)
a8a071:	8b 46 10             	mov    0x10(%esi),%eax
a8a074:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a8a078:	83 e8 02             	sub    $0x2,%eax
a8a07b:	50                   	push   %eax
a8a07c:	e8 bc ae 98 ff       	call   0x414f3d
a8a081:	8b 4d 08             	mov    0x8(%ebp),%ecx
a8a084:	83 c4 0c             	add    $0xc,%esp
a8a087:	89 01                	mov    %eax,(%ecx)
a8a089:	8b 46 0c             	mov    0xc(%esi),%eax
a8a08c:	83 38 22             	cmpl   $0x22,(%eax)
a8a08f:	74 0f                	je     0xa8a0a0
a8a091:	8b 45 fc             	mov    -0x4(%ebp),%eax
a8a094:	3b 46 10             	cmp    0x10(%esi),%eax
a8a097:	72 07                	jb     0xa8a0a0
a8a099:	89 46 10             	mov    %eax,0x10(%esi)
a8a09c:	b0 01                	mov    $0x1,%al
a8a09e:	eb 02                	jmp    0xa8a0a2
a8a0a0:	32 c0                	xor    %al,%al
a8a0a2:	83 3f 00             	cmpl   $0x0,(%edi)
a8a0a5:	75 06                	jne    0xa8a0ad
a8a0a7:	85 db                	test   %ebx,%ebx
a8a0a9:	74 02                	je     0xa8a0ad
a8a0ab:	89 1f                	mov    %ebx,(%edi)
a8a0ad:	5f                   	pop    %edi
a8a0ae:	5e                   	pop    %esi
a8a0af:	5b                   	pop    %ebx
a8a0b0:	8b e5                	mov    %ebp,%esp
a8a0b2:	5d                   	pop    %ebp
a8a0b3:	c2 04 00             	ret    $0x4
a8a0b6:	cc                   	int3
a8a0b7:	cc                   	int3
a8a0b8:	cc                   	int3
a8a0b9:	cc                   	int3
a8a0ba:	cc                   	int3
a8a0bb:	cc                   	int3
a8a0bc:	cc                   	int3
a8a0bd:	cc                   	int3
a8a0be:	cc                   	int3
a8a0bf:	cc                   	int3
a8a0c0:	cc                   	int3
a8a0c1:	cc                   	int3
a8a0c2:	cc                   	int3
a8a0c3:	cc                   	int3
a8a0c4:	cc                   	int3
a8a0c5:	cc                   	int3
a8a0c6:	cc                   	int3
a8a0c7:	cc                   	int3
a8a0c8:	cc                   	int3
a8a0c9:	cc                   	int3
a8a0ca:	cc                   	int3
a8a0cb:	cc                   	int3
a8a0cc:	cc                   	int3
a8a0cd:	8b ff                	mov    %edi,%edi
a8a0cf:	55                   	push   %ebp
a8a0d0:	8b ec                	mov    %esp,%ebp
a8a0d2:	51                   	push   %ecx
a8a0d3:	53                   	push   %ebx
a8a0d4:	56                   	push   %esi
a8a0d5:	8b f1                	mov    %ecx,%esi
a8a0d7:	8d 4d fc             	lea    -0x4(%ebp),%ecx
a8a0da:	57                   	push   %edi
a8a0db:	6a 0a                	push   $0xa
a8a0dd:	51                   	push   %ecx
a8a0de:	8b 7e 0c             	mov    0xc(%esi),%edi
a8a0e1:	8b 1f                	mov    (%edi),%ebx
a8a0e3:	83 27 00             	andl   $0x0,(%edi)
a8a0e6:	8b 46 10             	mov    0x10(%esi),%eax
a8a0e9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a8a0ed:	83 e8 02             	sub    $0x2,%eax
a8a0f0:	50                   	push   %eax
a8a0f1:	e8 47 ae 98 ff       	call   0x414f3d
a8a0f6:	8b 4d 08             	mov    0x8(%ebp),%ecx
a8a0f9:	83 c4 0c             	add    $0xc,%esp
a8a0fc:	89 01                	mov    %eax,(%ecx)
a8a0fe:	8b 46 0c             	mov    0xc(%esi),%eax
a8a101:	83 38 22             	cmpl   $0x22,(%eax)
a8a104:	74 0f                	je     0xa8a115
a8a106:	8b 45 fc             	mov    -0x4(%ebp),%eax
a8a109:	3b 46 10             	cmp    0x10(%esi),%eax
a8a10c:	72 07                	jb     0xa8a115
a8a10e:	89 46 10             	mov    %eax,0x10(%esi)
a8a111:	b0 01                	mov    $0x1,%al
a8a113:	eb 02                	jmp    0xa8a117
a8a115:	32 c0                	xor    %al,%al
a8a117:	83 3f 00             	cmpl   $0x0,(%edi)
a8a11a:	75 06                	jne    0xa8a122
a8a11c:	85 db                	test   %ebx,%ebx
a8a11e:	74 02                	je     0xa8a122
a8a120:	89 1f                	mov    %ebx,(%edi)
a8a122:	5f                   	pop    %edi
a8a123:	5e                   	pop    %esi
a8a124:	5b                   	pop    %ebx
a8a125:	8b e5                	mov    %ebp,%esp
a8a127:	5d                   	pop    %ebp
a8a128:	c2 04 00             	ret    $0x4
a8a12b:	cc                   	int3
a8a12c:	cc                   	int3
a8a12d:	cc                   	int3
a8a12e:	cc                   	int3
a8a12f:	cc                   	int3
a8a130:	cc                   	int3
a8a131:	cc                   	int3
a8a132:	cc                   	int3
a8a133:	cc                   	int3
a8a134:	cc                   	int3
a8a135:	cc                   	int3
a8a136:	cc                   	int3
a8a137:	cc                   	int3
a8a138:	cc                   	int3
a8a139:	cc                   	int3
a8a13a:	cc                   	int3
a8a13b:	cc                   	int3
a8a13c:	cc                   	int3
a8a13d:	cc                   	int3
a8a13e:	cc                   	int3
a8a13f:	cc                   	int3
a8a140:	cc                   	int3
a8a141:	cc                   	int3
a8a142:	8b ff                	mov    %edi,%edi
a8a144:	55                   	push   %ebp
a8a145:	8b ec                	mov    %esp,%ebp
a8a147:	51                   	push   %ecx
a8a148:	53                   	push   %ebx
a8a149:	56                   	push   %esi
a8a14a:	8b f1                	mov    %ecx,%esi
a8a14c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
a8a14f:	57                   	push   %edi
a8a150:	6a 0a                	push   $0xa
a8a152:	51                   	push   %ecx
a8a153:	8b 7e 0c             	mov    0xc(%esi),%edi
a8a156:	8b 1f                	mov    (%edi),%ebx
a8a158:	83 27 00             	andl   $0x0,(%edi)
a8a15b:	8b 46 10             	mov    0x10(%esi),%eax
a8a15e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
a8a162:	83 e8 02             	sub    $0x2,%eax
a8a165:	50                   	push   %eax
a8a166:	e8 d2 ad 98 ff       	call   0x414f3d
a8a16b:	8b 4d 08             	mov    0x8(%ebp),%ecx
a8a16e:	83 c4 0c             	add    $0xc,%esp
a8a171:	89 01                	mov    %eax,(%ecx)
a8a173:	8b 46 0c             	mov    0xc(%esi),%eax
a8a176:	83 38 22             	cmpl   $0x22,(%eax)
a8a179:	74 0f                	je     0xa8a18a
a8a17b:	8b 45 fc             	mov    -0x4(%ebp),%eax