4aafd7:	40                   	inc    %eax
4aafd8:	41                   	inc    %ecx
4aafd9:	84 d2                	test   %dl,%dl
4aafdb:	88 10                	mov    %dl,(%eax)
4aafdd:	75 f6                	jne    0x4aafd5
4aafdf:	c3                   	ret
4aafe0:	8b 44 24 04          	mov    0x4(%esp),%eax
4aafe4:	dd 00                	fldl   (%eax)
4aafe6:	dc 1d 28 35 4b 00    	fcompl 0x4b3528
4aafec:	df e0                	fnstsw %ax
4aafee:	9e                   	sahf
4aafef:	72 04                	jb     0x4aaff5
4aaff1:	6a 01                	push   $0x1
4aaff3:	58                   	pop    %eax
4aaff4:	c3                   	ret
4aaff5:	33 c0                	xor    %eax,%eax
4aaff7:	c3                   	ret
4aaff8:	55                   	push   %ebp
4aaff9:	8b ec                	mov    %esp,%ebp
4aaffb:	51                   	push   %ecx
4aaffc:	51                   	push   %ecx
4aaffd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4ab001:	ff 75 10             	push   0x10(%ebp)
4ab004:	74 1b                	je     0x4ab021
4ab006:	8d 45 f8             	lea    -0x8(%ebp),%eax
4ab009:	50                   	push   %eax
4ab00a:	e8 24 5d 00 00       	call   0x4b0d33
4ab00f:	8b 45 0c             	mov    0xc(%ebp),%eax
4ab012:	59                   	pop    %ecx
4ab013:	59                   	pop    %ecx
4ab014:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4ab017:	89 08                	mov    %ecx,(%eax)
4ab019:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4ab01c:	89 48 04             	mov    %ecx,0x4(%eax)
4ab01f:	c9                   	leave
4ab020:	c3                   	ret
4ab021:	8d 45 10             	lea    0x10(%ebp),%eax
4ab024:	50                   	push   %eax
4ab025:	e8 36 5d 00 00       	call   0x4b0d60
4ab02a:	8b 45 0c             	mov    0xc(%ebp),%eax
4ab02d:	59                   	pop    %ecx
4ab02e:	59                   	pop    %ecx
4ab02f:	8b 4d 10             	mov    0x10(%ebp),%ecx
4ab032:	89 08                	mov    %ecx,(%eax)
4ab034:	c9                   	leave
4ab035:	c3                   	ret
4ab036:	55                   	push   %ebp
4ab037:	8b ec                	mov    %esp,%ebp
4ab039:	83 ec 28             	sub    $0x28,%esp
4ab03c:	8d 45 d8             	lea    -0x28(%ebp),%eax
4ab03f:	56                   	push   %esi
4ab040:	50                   	push   %eax
4ab041:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab044:	50                   	push   %eax
4ab045:	8b 45 08             	mov    0x8(%ebp),%eax
4ab048:	51                   	push   %ecx
4ab049:	51                   	push   %ecx
4ab04a:	dd 00                	fldl   (%eax)
4ab04c:	dd 1c 24             	fstpl  (%esp)
4ab04f:	e8 b0 5d 00 00       	call   0x4b0e04
4ab054:	8b 75 10             	mov    0x10(%ebp),%esi
4ab057:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab05a:	50                   	push   %eax
4ab05b:	8b 55 0c             	mov    0xc(%ebp),%edx
4ab05e:	8d 46 01             	lea    0x1(%esi),%eax
4ab061:	50                   	push   %eax
4ab062:	33 c0                	xor    %eax,%eax
4ab064:	83 7d f0 2d          	cmpl   $0x2d,-0x10(%ebp)
4ab068:	0f 94 c0             	sete   %al
4ab06b:	33 c9                	xor    %ecx,%ecx
4ab06d:	85 f6                	test   %esi,%esi
4ab06f:	0f 9f c1             	setg   %cl
4ab072:	03 d0                	add    %eax,%edx
4ab074:	03 ca                	add    %edx,%ecx
4ab076:	51                   	push   %ecx
4ab077:	e8 11 5d 00 00       	call   0x4b0d8d
4ab07c:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab07f:	6a 00                	push   $0x0
4ab081:	50                   	push   %eax
4ab082:	ff 75 14             	push   0x14(%ebp)
4ab085:	56                   	push   %esi
4ab086:	ff 75 0c             	push   0xc(%ebp)
4ab089:	e8 09 00 00 00       	call   0x4ab097
4ab08e:	8b 45 0c             	mov    0xc(%ebp),%eax
4ab091:	83 c4 30             	add    $0x30,%esp
4ab094:	5e                   	pop    %esi
4ab095:	c9                   	leave
4ab096:	c3                   	ret
4ab097:	55                   	push   %ebp
4ab098:	8b ec                	mov    %esp,%ebp
4ab09a:	53                   	push   %ebx
4ab09b:	33 db                	xor    %ebx,%ebx
4ab09d:	38 5d 18             	cmp    %bl,0x18(%ebp)
4ab0a0:	56                   	push   %esi
4ab0a1:	8b 75 14             	mov    0x14(%ebp),%esi
4ab0a4:	57                   	push   %edi
4ab0a5:	8b 7d 08             	mov    0x8(%ebp),%edi
4ab0a8:	74 1b                	je     0x4ab0c5
4ab0aa:	33 c0                	xor    %eax,%eax
4ab0ac:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4ab0af:	0f 9f c0             	setg   %al
4ab0b2:	50                   	push   %eax
4ab0b3:	33 c0                	xor    %eax,%eax
4ab0b5:	83 3e 2d             	cmpl   $0x2d,(%esi)
4ab0b8:	0f 94 c0             	sete   %al
4ab0bb:	03 c7                	add    %edi,%eax
4ab0bd:	50                   	push   %eax
4ab0be:	e8 76 02 00 00       	call   0x4ab339
4ab0c3:	59                   	pop    %ecx
4ab0c4:	59                   	pop    %ecx
4ab0c5:	83 3e 2d             	cmpl   $0x2d,(%esi)
4ab0c8:	8b c7                	mov    %edi,%eax
4ab0ca:	75 06                	jne    0x4ab0d2
4ab0cc:	c6 07 2d             	movb   $0x2d,(%edi)
4ab0cf:	8d 47 01             	lea    0x1(%edi),%eax
4ab0d2:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4ab0d5:	7e 12                	jle    0x4ab0e9
4ab0d7:	8a 50 01             	mov    0x1(%eax),%dl
4ab0da:	8d 48 01             	lea    0x1(%eax),%ecx
4ab0dd:	88 10                	mov    %dl,(%eax)
4ab0df:	8b c1                	mov    %ecx,%eax
4ab0e1:	8a 0d f0 a6 50 00    	mov    0x50a6f0,%cl
4ab0e7:	88 08                	mov    %cl,(%eax)
4ab0e9:	33 c9                	xor    %ecx,%ecx
4ab0eb:	38 5d 18             	cmp    %bl,0x18(%ebp)
4ab0ee:	68 28 3a 4b 00       	push   $0x4b3a28
4ab0f3:	0f 94 c1             	sete   %cl
4ab0f6:	03 c8                	add    %eax,%ecx
4ab0f8:	03 4d 0c             	add    0xc(%ebp),%ecx
4ab0fb:	51                   	push   %ecx
4ab0fc:	e8 af 51 00 00       	call   0x4b02b0
4ab101:	39 5d 10             	cmp    %ebx,0x10(%ebp)
4ab104:	59                   	pop    %ecx
4ab105:	59                   	pop    %ecx
4ab106:	8b c8                	mov    %eax,%ecx
4ab108:	74 03                	je     0x4ab10d
4ab10a:	c6 01 45             	movb   $0x45,(%ecx)
4ab10d:	8b 46 0c             	mov    0xc(%esi),%eax
4ab110:	41                   	inc    %ecx
4ab111:	80 38 30             	cmpb   $0x30,(%eax)
4ab114:	74 3c                	je     0x4ab152
4ab116:	8b 5e 04             	mov    0x4(%esi),%ebx
4ab119:	4b                   	dec    %ebx
4ab11a:	79 05                	jns    0x4ab121
4ab11c:	f7 db                	neg    %ebx
4ab11e:	c6 01 2d             	movb   $0x2d,(%ecx)
4ab121:	41                   	inc    %ecx
4ab122:	83 fb 64             	cmp    $0x64,%ebx
4ab125:	7c 11                	jl     0x4ab138
4ab127:	8b c3                	mov    %ebx,%eax
4ab129:	6a 64                	push   $0x64
4ab12b:	99                   	cltd
4ab12c:	5e                   	pop    %esi
4ab12d:	f7 fe                	idiv   %esi
4ab12f:	00 01                	add    %al,(%ecx)
4ab131:	8b c3                	mov    %ebx,%eax
4ab133:	99                   	cltd
4ab134:	f7 fe                	idiv   %esi
4ab136:	8b da                	mov    %edx,%ebx
4ab138:	41                   	inc    %ecx
4ab139:	83 fb 0a             	cmp    $0xa,%ebx
4ab13c:	7c 11                	jl     0x4ab14f
4ab13e:	8b c3                	mov    %ebx,%eax
4ab140:	6a 0a                	push   $0xa
4ab142:	99                   	cltd
4ab143:	5e                   	pop    %esi
4ab144:	f7 fe                	idiv   %esi
4ab146:	00 01                	add    %al,(%ecx)
4ab148:	8b c3                	mov    %ebx,%eax
4ab14a:	99                   	cltd
4ab14b:	f7 fe                	idiv   %esi
4ab14d:	8b da                	mov    %edx,%ebx
4ab14f:	00 59 01             	add    %bl,0x1(%ecx)
4ab152:	8b c7                	mov    %edi,%eax
4ab154:	5f                   	pop    %edi
4ab155:	5e                   	pop    %esi
4ab156:	5b                   	pop    %ebx
4ab157:	5d                   	pop    %ebp
4ab158:	c3                   	ret
4ab159:	55                   	push   %ebp
4ab15a:	8b ec                	mov    %esp,%ebp
4ab15c:	83 ec 28             	sub    $0x28,%esp
4ab15f:	8d 45 d8             	lea    -0x28(%ebp),%eax
4ab162:	56                   	push   %esi
4ab163:	50                   	push   %eax
4ab164:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab167:	50                   	push   %eax
4ab168:	8b 45 08             	mov    0x8(%ebp),%eax
4ab16b:	51                   	push   %ecx
4ab16c:	51                   	push   %ecx
4ab16d:	dd 00                	fldl   (%eax)
4ab16f:	dd 1c 24             	fstpl  (%esp)
4ab172:	e8 8d 5c 00 00       	call   0x4b0e04
4ab177:	8b 75 10             	mov    0x10(%ebp),%esi
4ab17a:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab17d:	50                   	push   %eax
4ab17e:	8b 45 f4             	mov    -0xc(%ebp),%eax
4ab181:	03 c6                	add    %esi,%eax
4ab183:	50                   	push   %eax
4ab184:	33 c0                	xor    %eax,%eax
4ab186:	83 7d f0 2d          	cmpl   $0x2d,-0x10(%ebp)
4ab18a:	0f 94 c0             	sete   %al
4ab18d:	03 45 0c             	add    0xc(%ebp),%eax
4ab190:	50                   	push   %eax
4ab191:	e8 f7 5b 00 00       	call   0x4b0d8d
4ab196:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab199:	6a 00                	push   $0x0
4ab19b:	50                   	push   %eax
4ab19c:	56                   	push   %esi
4ab19d:	ff 75 0c             	push   0xc(%ebp)
4ab1a0:	e8 09 00 00 00       	call   0x4ab1ae
4ab1a5:	8b 45 0c             	mov    0xc(%ebp),%eax
4ab1a8:	83 c4 2c             	add    $0x2c,%esp
4ab1ab:	5e                   	pop    %esi
4ab1ac:	c9                   	leave
4ab1ad:	c3                   	ret
4ab1ae:	55                   	push   %ebp
4ab1af:	8b ec                	mov    %esp,%ebp
4ab1b1:	53                   	push   %ebx
4ab1b2:	56                   	push   %esi
4ab1b3:	8b 75 10             	mov    0x10(%ebp),%esi
4ab1b6:	8b 5d 08             	mov    0x8(%ebp),%ebx
4ab1b9:	57                   	push   %edi
4ab1ba:	8b 46 04             	mov    0x4(%esi),%eax
4ab1bd:	48                   	dec    %eax
4ab1be:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
4ab1c2:	74 1a                	je     0x4ab1de
4ab1c4:	3b 45 0c             	cmp    0xc(%ebp),%eax
4ab1c7:	75 15                	jne    0x4ab1de
4ab1c9:	33 c9                	xor    %ecx,%ecx
4ab1cb:	83 3e 2d             	cmpl   $0x2d,(%esi)
4ab1ce:	0f 94 c1             	sete   %cl
4ab1d1:	03 c8                	add    %eax,%ecx
4ab1d3:	03 cb                	add    %ebx,%ecx
4ab1d5:	8b c1                	mov    %ecx,%eax
4ab1d7:	c6 00 30             	movb   $0x30,(%eax)
4ab1da:	80 60 01 00          	andb   $0x0,0x1(%eax)
4ab1de:	83 3e 2d             	cmpl   $0x2d,(%esi)
4ab1e1:	8b fb                	mov    %ebx,%edi
4ab1e3:	75 06                	jne    0x4ab1eb
4ab1e5:	c6 03 2d             	movb   $0x2d,(%ebx)
4ab1e8:	8d 7b 01             	lea    0x1(%ebx),%edi
4ab1eb:	8b 46 04             	mov    0x4(%esi),%eax
4ab1ee:	85 c0                	test   %eax,%eax
4ab1f0:	7f 10                	jg     0x4ab202
4ab1f2:	6a 01                	push   $0x1
4ab1f4:	57                   	push   %edi
4ab1f5:	e8 3f 01 00 00       	call   0x4ab339
4ab1fa:	59                   	pop    %ecx
4ab1fb:	c6 07 30             	movb   $0x30,(%edi)
4ab1fe:	59                   	pop    %ecx
4ab1ff:	47                   	inc    %edi
4ab200:	eb 02                	jmp    0x4ab204
4ab202:	03 f8                	add    %eax,%edi
4ab204:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
4ab208:	7e 44                	jle    0x4ab24e
4ab20a:	6a 01                	push   $0x1
4ab20c:	57                   	push   %edi
4ab20d:	e8 27 01 00 00       	call   0x4ab339
4ab212:	a0 f0 a6 50 00       	mov    0x50a6f0,%al
4ab217:	59                   	pop    %ecx
4ab218:	88 07                	mov    %al,(%edi)
4ab21a:	8b 76 04             	mov    0x4(%esi),%esi
4ab21d:	47                   	inc    %edi
4ab21e:	59                   	pop    %ecx
4ab21f:	85 f6                	test   %esi,%esi
4ab221:	7d 2b                	jge    0x4ab24e
4ab223:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
4ab227:	74 04                	je     0x4ab22d
4ab229:	f7 de                	neg    %esi
4ab22b:	eb 07                	jmp    0x4ab234
4ab22d:	f7 de                	neg    %esi
4ab22f:	39 75 0c             	cmp    %esi,0xc(%ebp)
4ab232:	7c 03                	jl     0x4ab237
4ab234:	89 75 0c             	mov    %esi,0xc(%ebp)
4ab237:	ff 75 0c             	push   0xc(%ebp)
4ab23a:	57                   	push   %edi
4ab23b:	e8 f9 00 00 00       	call   0x4ab339
4ab240:	ff 75 0c             	push   0xc(%ebp)
4ab243:	6a 30                	push   $0x30
4ab245:	57                   	push   %edi
4ab246:	e8 d5 5c 00 00       	call   0x4b0f20
4ab24b:	83 c4 14             	add    $0x14,%esp
4ab24e:	5f                   	pop    %edi
4ab24f:	8b c3                	mov    %ebx,%eax
4ab251:	5e                   	pop    %esi
4ab252:	5b                   	pop    %ebx
4ab253:	5d                   	pop    %ebp
4ab254:	c3                   	ret
4ab255:	55                   	push   %ebp
4ab256:	8b ec                	mov    %esp,%ebp
4ab258:	83 ec 28             	sub    $0x28,%esp
4ab25b:	53                   	push   %ebx
4ab25c:	56                   	push   %esi
4ab25d:	8d 45 d8             	lea    -0x28(%ebp),%eax
4ab260:	57                   	push   %edi
4ab261:	50                   	push   %eax
4ab262:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab265:	50                   	push   %eax
4ab266:	8b 45 08             	mov    0x8(%ebp),%eax
4ab269:	51                   	push   %ecx
4ab26a:	51                   	push   %ecx
4ab26b:	dd 00                	fldl   (%eax)
4ab26d:	dd 1c 24             	fstpl  (%esp)
4ab270:	e8 8f 5b 00 00       	call   0x4b0e04
4ab275:	8b 45 f4             	mov    -0xc(%ebp),%eax
4ab278:	8b 5d 10             	mov    0x10(%ebp),%ebx
4ab27b:	8d 70 ff             	lea    -0x1(%eax),%esi
4ab27e:	33 c0                	xor    %eax,%eax
4ab280:	83 7d f0 2d          	cmpl   $0x2d,-0x10(%ebp)
4ab284:	0f 94 c0             	sete   %al
4ab287:	03 45 0c             	add    0xc(%ebp),%eax
4ab28a:	8b f8                	mov    %eax,%edi
4ab28c:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab28f:	50                   	push   %eax
4ab290:	53                   	push   %ebx
4ab291:	57                   	push   %edi
4ab292:	e8 f6 5a 00 00       	call   0x4b0d8d
4ab297:	8b 45 f4             	mov    -0xc(%ebp),%eax
4ab29a:	83 c4 1c             	add    $0x1c,%esp
4ab29d:	48                   	dec    %eax
4ab29e:	3b f0                	cmp    %eax,%esi
4ab2a0:	0f 9c c1             	setl   %cl
4ab2a3:	83 f8 fc             	cmp    $0xfffffffc,%eax
4ab2a6:	7c 26                	jl     0x4ab2ce
4ab2a8:	3b c3                	cmp    %ebx,%eax
4ab2aa:	7d 22                	jge    0x4ab2ce
4ab2ac:	84 c9                	test   %cl,%cl
4ab2ae:	74 0a                	je     0x4ab2ba
4ab2b0:	8a 07                	mov    (%edi),%al
4ab2b2:	47                   	inc    %edi
4ab2b3:	84 c0                	test   %al,%al
4ab2b5:	75 f9                	jne    0x4ab2b0
4ab2b7:	20 47 fe             	and    %al,-0x2(%edi)
4ab2ba:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab2bd:	6a 01                	push   $0x1
4ab2bf:	50                   	push   %eax
4ab2c0:	53                   	push   %ebx
4ab2c1:	ff 75 0c             	push   0xc(%ebp)
4ab2c4:	e8 e5 fe ff ff       	call   0x4ab1ae
4ab2c9:	83 c4 10             	add    $0x10,%esp
4ab2cc:	eb 15                	jmp    0x4ab2e3
4ab2ce:	8d 45 f0             	lea    -0x10(%ebp),%eax
4ab2d1:	6a 01                	push   $0x1
4ab2d3:	50                   	push   %eax
4ab2d4:	ff 75 14             	push   0x14(%ebp)
4ab2d7:	53                   	push   %ebx
4ab2d8:	ff 75 0c             	push   0xc(%ebp)
4ab2db:	e8 b7 fd ff ff       	call   0x4ab097
4ab2e0:	83 c4 14             	add    $0x14,%esp