470230:	eb cf                	jmp    0x470201
470232:	33 c0                	xor    %eax,%eax
470234:	eb d5                	jmp    0x47020b
470236:	8b ff                	mov    %edi,%edi
470238:	55                   	push   %ebp
470239:	8b ec                	mov    %esp,%ebp
47023b:	8b 55 08             	mov    0x8(%ebp),%edx
47023e:	56                   	push   %esi
47023f:	85 d2                	test   %edx,%edx
470241:	74 11                	je     0x470254
470243:	8b 4d 0c             	mov    0xc(%ebp),%ecx
470246:	85 c9                	test   %ecx,%ecx
470248:	74 0a                	je     0x470254
47024a:	8b 75 10             	mov    0x10(%ebp),%esi
47024d:	85 f6                	test   %esi,%esi
47024f:	75 17                	jne    0x470268
470251:	c6 02 00             	movb   $0x0,(%edx)
470254:	e8 d6 cb fd ff       	call   0x44ce2f
470259:	6a 16                	push   $0x16
47025b:	5e                   	pop    %esi
47025c:	89 30                	mov    %esi,(%eax)
47025e:	e8 73 ca fd ff       	call   0x44ccd6
470263:	8b c6                	mov    %esi,%eax
470265:	5e                   	pop    %esi
470266:	5d                   	pop    %ebp
470267:	c3                   	ret
470268:	57                   	push   %edi
470269:	8b fa                	mov    %edx,%edi
47026b:	2b f2                	sub    %edx,%esi
47026d:	8a 04 3e             	mov    (%esi,%edi,1),%al
470270:	88 07                	mov    %al,(%edi)
470272:	47                   	inc    %edi
470273:	84 c0                	test   %al,%al
470275:	74 05                	je     0x47027c
470277:	83 e9 01             	sub    $0x1,%ecx
47027a:	75 f1                	jne    0x47026d
47027c:	5f                   	pop    %edi
47027d:	85 c9                	test   %ecx,%ecx
47027f:	75 0b                	jne    0x47028c
470281:	88 0a                	mov    %cl,(%edx)
470283:	e8 a7 cb fd ff       	call   0x44ce2f
470288:	6a 22                	push   $0x22
47028a:	eb cf                	jmp    0x47025b
47028c:	33 f6                	xor    %esi,%esi
47028e:	eb d3                	jmp    0x470263
470290:	8b ff                	mov    %edi,%edi
470292:	55                   	push   %ebp
470293:	8b ec                	mov    %esp,%ebp
470295:	8b 45 10             	mov    0x10(%ebp),%eax
470298:	85 c0                	test   %eax,%eax
47029a:	75 02                	jne    0x47029e
47029c:	5d                   	pop    %ebp
47029d:	c3                   	ret
47029e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4702a1:	8b 55 08             	mov    0x8(%ebp),%edx
4702a4:	56                   	push   %esi
4702a5:	83 e8 01             	sub    $0x1,%eax
4702a8:	74 15                	je     0x4702bf
4702aa:	0f b7 32             	movzwl (%edx),%esi
4702ad:	66 85 f6             	test   %si,%si
4702b0:	74 0d                	je     0x4702bf
4702b2:	66 3b 31             	cmp    (%ecx),%si
4702b5:	75 08                	jne    0x4702bf
4702b7:	83 c2 02             	add    $0x2,%edx
4702ba:	83 c1 02             	add    $0x2,%ecx
4702bd:	eb e6                	jmp    0x4702a5
4702bf:	0f b7 02             	movzwl (%edx),%eax
4702c2:	0f b7 09             	movzwl (%ecx),%ecx
4702c5:	2b c1                	sub    %ecx,%eax
4702c7:	5e                   	pop    %esi
4702c8:	5d                   	pop    %ebp
4702c9:	c3                   	ret
4702ca:	8b ff                	mov    %edi,%edi
4702cc:	55                   	push   %ebp
4702cd:	8b ec                	mov    %esp,%ebp
4702cf:	8b 45 08             	mov    0x8(%ebp),%eax
4702d2:	a8 04                	test   $0x4,%al
4702d4:	74 04                	je     0x4702da
4702d6:	b0 01                	mov    $0x1,%al
4702d8:	5d                   	pop    %ebp
4702d9:	c3                   	ret
4702da:	a8 01                	test   $0x1,%al
4702dc:	74 1b                	je     0x4702f9
4702de:	83 e0 02             	and    $0x2,%eax
4702e1:	74 09                	je     0x4702ec
4702e3:	81 7d 0c 00 00 00 80 	cmpl   $0x80000000,0xc(%ebp)
4702ea:	77 ea                	ja     0x4702d6
4702ec:	85 c0                	test   %eax,%eax
4702ee:	75 09                	jne    0x4702f9
4702f0:	81 7d 0c ff ff ff 7f 	cmpl   $0x7fffffff,0xc(%ebp)
4702f7:	77 dd                	ja     0x4702d6
4702f9:	32 c0                	xor    %al,%al
4702fb:	5d                   	pop    %ebp
4702fc:	c3                   	ret
4702fd:	8b ff                	mov    %edi,%edi
4702ff:	55                   	push   %ebp
470300:	8b ec                	mov    %esp,%ebp
470302:	8b 45 08             	mov    0x8(%ebp),%eax
470305:	a8 04                	test   $0x4,%al
470307:	74 04                	je     0x47030d
470309:	b0 01                	mov    $0x1,%al
47030b:	5d                   	pop    %ebp
47030c:	c3                   	ret
47030d:	a8 01                	test   $0x1,%al
47030f:	74 2b                	je     0x47033c
470311:	83 e0 02             	and    $0x2,%eax
470314:	74 11                	je     0x470327
470316:	81 7d 10 00 00 00 80 	cmpl   $0x80000000,0x10(%ebp)
47031d:	72 08                	jb     0x470327
47031f:	77 e8                	ja     0x470309
470321:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
470325:	77 e2                	ja     0x470309
470327:	85 c0                	test   %eax,%eax
470329:	75 11                	jne    0x47033c
47032b:	81 7d 10 ff ff ff 7f 	cmpl   $0x7fffffff,0x10(%ebp)
470332:	72 08                	jb     0x47033c
470334:	77 d3                	ja     0x470309
470336:	83 7d 0c ff          	cmpl   $0xffffffff,0xc(%ebp)
47033a:	77 cd                	ja     0x470309
47033c:	32 c0                	xor    %al,%al
47033e:	5d                   	pop    %ebp
47033f:	c3                   	ret
470340:	8b ff                	mov    %edi,%edi
470342:	55                   	push   %ebp
470343:	8b ec                	mov    %esp,%ebp
470345:	8b 45 08             	mov    0x8(%ebp),%eax
470348:	8b 4d 10             	mov    0x10(%ebp),%ecx
47034b:	8b 55 0c             	mov    0xc(%ebp),%edx
47034e:	89 10                	mov    %edx,(%eax)
470350:	89 48 04             	mov    %ecx,0x4(%eax)
470353:	85 c9                	test   %ecx,%ecx
470355:	74 02                	je     0x470359
470357:	89 11                	mov    %edx,(%ecx)
470359:	5d                   	pop    %ebp
47035a:	c3                   	ret
47035b:	8b ff                	mov    %edi,%edi
47035d:	55                   	push   %ebp
47035e:	8b ec                	mov    %esp,%ebp
470360:	8b 45 08             	mov    0x8(%ebp),%eax
470363:	8b 4d 10             	mov    0x10(%ebp),%ecx
470366:	8b 55 0c             	mov    0xc(%ebp),%edx
470369:	89 10                	mov    %edx,(%eax)
47036b:	89 48 04             	mov    %ecx,0x4(%eax)
47036e:	85 c9                	test   %ecx,%ecx
470370:	74 02                	je     0x470374
470372:	89 11                	mov    %edx,(%ecx)
470374:	5d                   	pop    %ebp
470375:	c3                   	ret
470376:	8b ff                	mov    %edi,%edi
470378:	55                   	push   %ebp
470379:	8b ec                	mov    %esp,%ebp
47037b:	83 ec 28             	sub    $0x28,%esp
47037e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
470381:	53                   	push   %ebx
470382:	57                   	push   %edi
470383:	e8 8c 30 fe ff       	call   0x453414
470388:	84 c0                	test   %al,%al
47038a:	74 21                	je     0x4703ad
47038c:	8b 7d 14             	mov    0x14(%ebp),%edi
47038f:	85 ff                	test   %edi,%edi
470391:	74 30                	je     0x4703c3
470393:	83 ff 02             	cmp    $0x2,%edi
470396:	7c 05                	jl     0x47039d
470398:	83 ff 24             	cmp    $0x24,%edi
47039b:	7e 26                	jle    0x4703c3
47039d:	e8 8d ca fd ff       	call   0x44ce2f
4703a2:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4703a8:	e8 29 c9 fd ff       	call   0x44ccd6
4703ad:	33 db                	xor    %ebx,%ebx
4703af:	8b 55 10             	mov    0x10(%ebp),%edx
4703b2:	85 d2                	test   %edx,%edx
4703b4:	74 05                	je     0x4703bb
4703b6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4703b9:	89 0a                	mov    %ecx,(%edx)
4703bb:	5f                   	pop    %edi
4703bc:	8b c3                	mov    %ebx,%eax
4703be:	5b                   	pop    %ebx
4703bf:	8b e5                	mov    %ebp,%esp
4703c1:	5d                   	pop    %ebp
4703c2:	c3                   	ret
4703c3:	56                   	push   %esi
4703c4:	ff 75 08             	push   0x8(%ebp)
4703c7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4703ca:	e8 39 ec fd ff       	call   0x44f008
4703cf:	8b 45 0c             	mov    0xc(%ebp),%eax
4703d2:	33 f6                	xor    %esi,%esi
4703d4:	89 75 f4             	mov    %esi,-0xc(%ebp)
4703d7:	89 45 e8             	mov    %eax,-0x18(%ebp)
4703da:	eb 03                	jmp    0x4703df
4703dc:	8b 45 0c             	mov    0xc(%ebp),%eax
4703df:	8a 18                	mov    (%eax),%bl
4703e1:	40                   	inc    %eax
4703e2:	89 45 0c             	mov    %eax,0xc(%ebp)
4703e5:	8d 45 dc             	lea    -0x24(%ebp),%eax
4703e8:	50                   	push   %eax
4703e9:	0f b6 c3             	movzbl %bl,%eax
4703ec:	6a 08                	push   $0x8
4703ee:	50                   	push   %eax
4703ef:	88 5d fc             	mov    %bl,-0x4(%ebp)
4703f2:	e8 36 32 fe ff       	call   0x45362d
4703f7:	83 c4 0c             	add    $0xc,%esp
4703fa:	85 c0                	test   %eax,%eax
4703fc:	75 de                	jne    0x4703dc
4703fe:	38 45 18             	cmp    %al,0x18(%ebp)
470401:	0f 95 c0             	setne  %al
470404:	89 45 f8             	mov    %eax,-0x8(%ebp)
470407:	80 fb 2d             	cmp    $0x2d,%bl
47040a:	75 08                	jne    0x470414
47040c:	83 c8 02             	or     $0x2,%eax
47040f:	89 45 f8             	mov    %eax,-0x8(%ebp)
470412:	eb 05                	jmp    0x470419
470414:	80 fb 2b             	cmp    $0x2b,%bl
470417:	75 0e                	jne    0x470427
470419:	8b 75 0c             	mov    0xc(%ebp),%esi
47041c:	8a 1e                	mov    (%esi),%bl
47041e:	46                   	inc    %esi
47041f:	88 5d fc             	mov    %bl,-0x4(%ebp)
470422:	89 75 0c             	mov    %esi,0xc(%ebp)
470425:	eb 03                	jmp    0x47042a
470427:	8b 75 0c             	mov    0xc(%ebp),%esi
47042a:	85 ff                	test   %edi,%edi
47042c:	74 05                	je     0x470433
47042e:	83 ff 10             	cmp    $0x10,%edi
470431:	75 78                	jne    0x4704ab
470433:	8a c3                	mov    %bl,%al
470435:	2c 30                	sub    $0x30,%al
470437:	3c 09                	cmp    $0x9,%al
470439:	77 08                	ja     0x470443
47043b:	0f be c3             	movsbl %bl,%eax
47043e:	83 c0 d0             	add    $0xffffffd0,%eax
470441:	eb 23                	jmp    0x470466
470443:	8a c3                	mov    %bl,%al
470445:	2c 61                	sub    $0x61,%al
470447:	3c 19                	cmp    $0x19,%al
470449:	77 08                	ja     0x470453
47044b:	0f be c3             	movsbl %bl,%eax
47044e:	83 c0 a9             	add    $0xffffffa9,%eax
470451:	eb 13                	jmp    0x470466
470453:	8a c3                	mov    %bl,%al
470455:	2c 41                	sub    $0x41,%al
470457:	3c 19                	cmp    $0x19,%al
470459:	77 08                	ja     0x470463
47045b:	0f be c3             	movsbl %bl,%eax
47045e:	83 c0 c9             	add    $0xffffffc9,%eax
470461:	eb 03                	jmp    0x470466
470463:	83 c8 ff             	or     $0xffffffff,%eax
470466:	85 c0                	test   %eax,%eax
470468:	74 09                	je     0x470473
47046a:	85 ff                	test   %edi,%edi
47046c:	75 3d                	jne    0x4704ab
47046e:	6a 0a                	push   $0xa
470470:	5f                   	pop    %edi
470471:	eb 38                	jmp    0x4704ab
470473:	8a 06                	mov    (%esi),%al
470475:	46                   	inc    %esi
470476:	88 45 f0             	mov    %al,-0x10(%ebp)
470479:	89 75 0c             	mov    %esi,0xc(%ebp)
47047c:	3c 78                	cmp    $0x78,%al
47047e:	74 1b                	je     0x47049b
470480:	3c 58                	cmp    $0x58,%al
470482:	74 17                	je     0x47049b
470484:	85 ff                	test   %edi,%edi
470486:	75 03                	jne    0x47048b
470488:	6a 08                	push   $0x8
47048a:	5f                   	pop    %edi
47048b:	ff 75 f0             	push   -0x10(%ebp)
47048e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
470491:	e8 2a 2f fe ff       	call   0x4533c0
470496:	8b 75 0c             	mov    0xc(%ebp),%esi
470499:	eb 10                	jmp    0x4704ab
47049b:	85 ff                	test   %edi,%edi
47049d:	75 03                	jne    0x4704a2
47049f:	6a 10                	push   $0x10
4704a1:	5f                   	pop    %edi
4704a2:	8a 1e                	mov    (%esi),%bl
4704a4:	46                   	inc    %esi
4704a5:	88 5d fc             	mov    %bl,-0x4(%ebp)
4704a8:	89 75 0c             	mov    %esi,0xc(%ebp)
4704ab:	33 d2                	xor    %edx,%edx
4704ad:	83 c8 ff             	or     $0xffffffff,%eax
4704b0:	f7 f7                	div    %edi
4704b2:	89 55 ec             	mov    %edx,-0x14(%ebp)
4704b5:	8b 55 f8             	mov    -0x8(%ebp),%edx
4704b8:	89 45 f0             	mov    %eax,-0x10(%ebp)
4704bb:	8d 4b d0             	lea    -0x30(%ebx),%ecx
4704be:	80 f9 09             	cmp    $0x9,%cl
4704c1:	77 08                	ja     0x4704cb
4704c3:	0f be cb             	movsbl %bl,%ecx
4704c6:	83 c1 d0             	add    $0xffffffd0,%ecx
4704c9:	eb 23                	jmp    0x4704ee
4704cb:	8a c3                	mov    %bl,%al
4704cd:	2c 61                	sub    $0x61,%al
4704cf:	3c 19                	cmp    $0x19,%al
4704d1:	77 08                	ja     0x4704db
4704d3:	0f be cb             	movsbl %bl,%ecx
4704d6:	83 c1 a9             	add    $0xffffffa9,%ecx
4704d9:	eb 13                	jmp    0x4704ee
4704db:	8a c3                	mov    %bl,%al
4704dd:	2c 41                	sub    $0x41,%al
4704df:	3c 19                	cmp    $0x19,%al
4704e1:	77 08                	ja     0x4704eb
4704e3:	0f be cb             	movsbl %bl,%ecx
4704e6:	83 c1 c9             	add    $0xffffffc9,%ecx
4704e9:	eb 03                	jmp    0x4704ee
4704eb:	83 c9 ff             	or     $0xffffffff,%ecx
4704ee:	83 f9 ff             	cmp    $0xffffffff,%ecx
4704f1:	74 30                	je     0x470523
4704f3:	3b cf                	cmp    %edi,%ecx
4704f5:	73 2c                	jae    0x470523
4704f7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4704fa:	83 ca 08             	or     $0x8,%edx
4704fd:	8b 5d f0             	mov    -0x10(%ebp),%ebx
470500:	3b c3                	cmp    %ebx,%eax
470502:	72 0c                	jb     0x470510
470504:	75 05                	jne    0x47050b
470506:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
470509:	76 05                	jbe    0x470510
47050b:	83 ca 04             	or     $0x4,%edx
47050e:	eb 08                	jmp    0x470518
470510:	0f af c7             	imul   %edi,%eax
470513:	03 c1                	add    %ecx,%eax
470515:	89 45 f4             	mov    %eax,-0xc(%ebp)
470518:	8a 1e                	mov    (%esi),%bl
47051a:	46                   	inc    %esi
47051b:	88 5d fc             	mov    %bl,-0x4(%ebp)
47051e:	89 75 0c             	mov    %esi,0xc(%ebp)
470521:	eb 98                	jmp    0x4704bb
470523:	ff 75 fc             	push   -0x4(%ebp)
470526:	8d 4d 0c             	lea    0xc(%ebp),%ecx
470529:	89 55 f8             	mov    %edx,-0x8(%ebp)
47052c:	e8 8f 2e fe ff       	call   0x4533c0
470531:	8b 5d f8             	mov    -0x8(%ebp),%ebx
470534:	f6 c3 08             	test   $0x8,%bl
470537:	75 0a                	jne    0x470543
470539:	8b 45 e8             	mov    -0x18(%ebp),%eax
47053c:	33 db                	xor    %ebx,%ebx
47053e:	89 45 0c             	mov    %eax,0xc(%ebp)
470541:	eb 41                	jmp    0x470584
470543:	8b 75 f4             	mov    -0xc(%ebp),%esi
470546:	56                   	push   %esi
470547:	53                   	push   %ebx
470548:	e8 7d fd ff ff       	call   0x4702ca
47054d:	59                   	pop    %ecx
47054e:	59                   	pop    %ecx
47054f:	84 c0                	test   %al,%al
470551:	74 28                	je     0x47057b
470553:	e8 d7 c8 fd ff       	call   0x44ce2f
470558:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
47055e:	f6 c3 01             	test   $0x1,%bl
470561:	75 05                	jne    0x470568