4213aa:	8a 1f                	mov    (%edi),%bl
4213ac:	47                   	inc    %edi
4213ad:	88 5d fc             	mov    %bl,-0x4(%ebp)
4213b0:	89 7d 0c             	mov    %edi,0xc(%ebp)
4213b3:	85 f6                	test   %esi,%esi
4213b5:	74 05                	je     0x4213bc
4213b7:	83 fe 10             	cmp    $0x10,%esi
4213ba:	75 75                	jne    0x421431
4213bc:	8a c3                	mov    %bl,%al
4213be:	2c 30                	sub    $0x30,%al
4213c0:	3c 09                	cmp    $0x9,%al
4213c2:	77 08                	ja     0x4213cc
4213c4:	0f be c3             	movsbl %bl,%eax
4213c7:	83 c0 d0             	add    $0xffffffd0,%eax
4213ca:	eb 1e                	jmp    0x4213ea
4213cc:	8a c3                	mov    %bl,%al
4213ce:	2c 61                	sub    $0x61,%al
4213d0:	3c 19                	cmp    $0x19,%al
4213d2:	77 08                	ja     0x4213dc
4213d4:	0f be c3             	movsbl %bl,%eax
4213d7:	83 c0 a9             	add    $0xffffffa9,%eax
4213da:	eb 0e                	jmp    0x4213ea
4213dc:	8a c3                	mov    %bl,%al
4213de:	2c 41                	sub    $0x41,%al
4213e0:	3c 19                	cmp    $0x19,%al
4213e2:	77 46                	ja     0x42142a
4213e4:	0f be c3             	movsbl %bl,%eax
4213e7:	83 c0 c9             	add    $0xffffffc9,%eax
4213ea:	85 c0                	test   %eax,%eax
4213ec:	75 3c                	jne    0x42142a
4213ee:	8a 07                	mov    (%edi),%al
4213f0:	47                   	inc    %edi
4213f1:	88 45 f0             	mov    %al,-0x10(%ebp)
4213f4:	89 7d 0c             	mov    %edi,0xc(%ebp)
4213f7:	3c 78                	cmp    $0x78,%al
4213f9:	74 1d                	je     0x421418
4213fb:	3c 58                	cmp    $0x58,%al
4213fd:	74 19                	je     0x421418
4213ff:	85 f6                	test   %esi,%esi
421401:	75 03                	jne    0x421406
421403:	6a 08                	push   $0x8
421405:	5e                   	pop    %esi
421406:	ff 75 f0             	push   -0x10(%ebp)
421409:	8d 4d 0c             	lea    0xc(%ebp),%ecx
42140c:	e8 36 31 00 00       	call   0x424547
421411:	8b 7d 0c             	mov    0xc(%ebp),%edi
421414:	33 c9                	xor    %ecx,%ecx
421416:	eb 19                	jmp    0x421431
421418:	85 f6                	test   %esi,%esi
42141a:	75 03                	jne    0x42141f
42141c:	6a 10                	push   $0x10
42141e:	5e                   	pop    %esi
42141f:	8a 1f                	mov    (%edi),%bl
421421:	47                   	inc    %edi
421422:	88 5d fc             	mov    %bl,-0x4(%ebp)
421425:	89 7d 0c             	mov    %edi,0xc(%ebp)
421428:	eb 07                	jmp    0x421431
42142a:	85 f6                	test   %esi,%esi
42142c:	75 03                	jne    0x421431
42142e:	6a 0a                	push   $0xa
421430:	5e                   	pop    %esi
421431:	83 c8 ff             	or     $0xffffffff,%eax
421434:	33 d2                	xor    %edx,%edx
421436:	f7 f6                	div    %esi
421438:	89 45 f0             	mov    %eax,-0x10(%ebp)
42143b:	8a c3                	mov    %bl,%al
42143d:	2c 30                	sub    $0x30,%al
42143f:	3c 09                	cmp    $0x9,%al
421441:	77 08                	ja     0x42144b
421443:	0f be d3             	movsbl %bl,%edx
421446:	83 c2 d0             	add    $0xffffffd0,%edx
421449:	eb 23                	jmp    0x42146e
42144b:	8a c3                	mov    %bl,%al
42144d:	2c 61                	sub    $0x61,%al
42144f:	3c 19                	cmp    $0x19,%al
421451:	77 08                	ja     0x42145b
421453:	0f be d3             	movsbl %bl,%edx
421456:	83 c2 a9             	add    $0xffffffa9,%edx
421459:	eb 13                	jmp    0x42146e
42145b:	8a c3                	mov    %bl,%al
42145d:	2c 41                	sub    $0x41,%al
42145f:	3c 19                	cmp    $0x19,%al
421461:	77 08                	ja     0x42146b
421463:	0f be d3             	movsbl %bl,%edx
421466:	83 c2 c9             	add    $0xffffffc9,%edx
421469:	eb 03                	jmp    0x42146e
42146b:	83 ca ff             	or     $0xffffffff,%edx
42146e:	3b d6                	cmp    %esi,%edx
421470:	73 30                	jae    0x4214a2
421472:	8b 45 f0             	mov    -0x10(%ebp),%eax
421475:	0f af ce             	imul   %esi,%ecx
421478:	8a 1f                	mov    (%edi),%bl
42147a:	88 5d fc             	mov    %bl,-0x4(%ebp)
42147d:	03 d1                	add    %ecx,%edx
42147f:	3b d1                	cmp    %ecx,%edx
421481:	1b c9                	sbb    %ecx,%ecx
421483:	f7 d9                	neg    %ecx
421485:	3b 45 f4             	cmp    -0xc(%ebp),%eax
421488:	89 55 f4             	mov    %edx,-0xc(%ebp)
42148b:	1b c0                	sbb    %eax,%eax
42148d:	f7 d8                	neg    %eax
42148f:	0b c8                	or     %eax,%ecx
421491:	c1 e1 02             	shl    $0x2,%ecx
421494:	83 c9 08             	or     $0x8,%ecx
421497:	09 4d f8             	or     %ecx,-0x8(%ebp)
42149a:	47                   	inc    %edi
42149b:	8b ca                	mov    %edx,%ecx
42149d:	89 7d 0c             	mov    %edi,0xc(%ebp)
4214a0:	eb 99                	jmp    0x42143b
4214a2:	ff 75 fc             	push   -0x4(%ebp)
4214a5:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4214a8:	e8 9a 30 00 00       	call   0x424547
4214ad:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4214b0:	5f                   	pop    %edi
4214b1:	f6 c3 08             	test   $0x8,%bl
4214b4:	75 10                	jne    0x4214c6
4214b6:	8b 45 10             	mov    0x10(%ebp),%eax
4214b9:	85 c0                	test   %eax,%eax
4214bb:	74 05                	je     0x4214c2
4214bd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4214c0:	89 08                	mov    %ecx,(%eax)
4214c2:	33 c0                	xor    %eax,%eax
4214c4:	eb 65                	jmp    0x42152b
4214c6:	8b 75 f4             	mov    -0xc(%ebp),%esi
4214c9:	56                   	push   %esi
4214ca:	53                   	push   %ebx
4214cb:	e8 82 fd ff ff       	call   0x421252
4214d0:	59                   	pop    %ecx
4214d1:	59                   	pop    %ecx
4214d2:	84 c0                	test   %al,%al
4214d4:	74 40                	je     0x421516
4214d6:	8b 45 08             	mov    0x8(%ebp),%eax
4214d9:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
4214dd:	c7 40 18 22 00 00 00 	movl   $0x22,0x18(%eax)
4214e4:	f6 c3 01             	test   $0x1,%bl
4214e7:	75 05                	jne    0x4214ee
4214e9:	83 ce ff             	or     $0xffffffff,%esi
4214ec:	eb 2f                	jmp    0x42151d
4214ee:	8b 4d 10             	mov    0x10(%ebp),%ecx
4214f1:	f6 c3 02             	test   $0x2,%bl
4214f4:	74 10                	je     0x421506
4214f6:	85 c9                	test   %ecx,%ecx
4214f8:	74 05                	je     0x4214ff
4214fa:	8b 45 0c             	mov    0xc(%ebp),%eax
4214fd:	89 01                	mov    %eax,(%ecx)
4214ff:	b8 00 00 00 80       	mov    $0x80000000,%eax
421504:	eb 25                	jmp    0x42152b
421506:	85 c9                	test   %ecx,%ecx
421508:	74 05                	je     0x42150f
42150a:	8b 45 0c             	mov    0xc(%ebp),%eax
42150d:	89 01                	mov    %eax,(%ecx)
42150f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
421514:	eb 15                	jmp    0x42152b
421516:	f6 c3 02             	test   $0x2,%bl
421519:	74 02                	je     0x42151d
42151b:	f7 de                	neg    %esi
42151d:	8b 55 10             	mov    0x10(%ebp),%edx
421520:	85 d2                	test   %edx,%edx
421522:	74 05                	je     0x421529
421524:	8b 4d 0c             	mov    0xc(%ebp),%ecx
421527:	89 0a                	mov    %ecx,(%edx)
421529:	8b c6                	mov    %esi,%eax
42152b:	5e                   	pop    %esi
42152c:	5b                   	pop    %ebx
42152d:	c9                   	leave
42152e:	c3                   	ret
42152f:	8b ff                	mov    %edi,%edi
421531:	55                   	push   %ebp
421532:	8b ec                	mov    %esp,%ebp
421534:	81 ec 90 00 00 00    	sub    $0x90,%esp
42153a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
42153d:	53                   	push   %ebx
42153e:	56                   	push   %esi
42153f:	57                   	push   %edi
421540:	e8 b6 30 00 00       	call   0x4245fb
421545:	84 c0                	test   %al,%al
421547:	74 2f                	je     0x421578
421549:	8b 7d 14             	mov    0x14(%ebp),%edi
42154c:	85 ff                	test   %edi,%edi
42154e:	74 3d                	je     0x42158d
421550:	83 ff 02             	cmp    $0x2,%edi
421553:	7c 05                	jl     0x42155a
421555:	83 ff 24             	cmp    $0x24,%edi
421558:	7e 33                	jle    0x42158d
42155a:	8b 45 08             	mov    0x8(%ebp),%eax
42155d:	50                   	push   %eax
42155e:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
421562:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
421569:	33 c0                	xor    %eax,%eax
42156b:	50                   	push   %eax
42156c:	50                   	push   %eax
42156d:	50                   	push   %eax
42156e:	50                   	push   %eax
42156f:	50                   	push   %eax
421570:	e8 7d f4 ff ff       	call   0x4209f2
421575:	83 c4 18             	add    $0x18,%esp
421578:	8b 4d 10             	mov    0x10(%ebp),%ecx
42157b:	85 c9                	test   %ecx,%ecx
42157d:	0f 84 11 05 00 00    	je     0x421a94
421583:	8b 45 0c             	mov    0xc(%ebp),%eax
421586:	89 01                	mov    %eax,(%ecx)
421588:	e9 07 05 00 00       	jmp    0x421a94
42158d:	8b 45 0c             	mov    0xc(%ebp),%eax
421590:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
421594:	0f b6 5d 18          	movzbl 0x18(%ebp),%ebx
421598:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
42159e:	0f b7 30             	movzwl (%eax),%esi
4215a1:	8d 48 02             	lea    0x2(%eax),%ecx
4215a4:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4215a7:	83 fe 2d             	cmp    $0x2d,%esi
4215aa:	75 05                	jne    0x4215b1
4215ac:	83 cb 02             	or     $0x2,%ebx
4215af:	eb 05                	jmp    0x4215b6
4215b1:	83 fe 2b             	cmp    $0x2b,%esi
4215b4:	75 09                	jne    0x4215bf
4215b6:	0f b7 31             	movzwl (%ecx),%esi
4215b9:	83 c1 02             	add    $0x2,%ecx
4215bc:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4215bf:	c7 85 74 ff ff ff 3a 	movl   $0x3a,-0x8c(%ebp)
4215c6:	00 00 00
4215c9:	b8 10 ff 00 00       	mov    $0xff10,%eax
4215ce:	c7 45 f8 60 06 00 00 	movl   $0x660,-0x8(%ebp)
4215d5:	c7 45 f4 6a 06 00 00 	movl   $0x66a,-0xc(%ebp)
4215dc:	c7 45 f0 f0 06 00 00 	movl   $0x6f0,-0x10(%ebp)
4215e3:	c7 45 ec fa 06 00 00 	movl   $0x6fa,-0x14(%ebp)
4215ea:	c7 45 e8 66 09 00 00 	movl   $0x966,-0x18(%ebp)
4215f1:	c7 45 e4 70 09 00 00 	movl   $0x970,-0x1c(%ebp)
4215f8:	c7 45 e0 e6 09 00 00 	movl   $0x9e6,-0x20(%ebp)
4215ff:	c7 45 dc f0 09 00 00 	movl   $0x9f0,-0x24(%ebp)
421606:	c7 45 d8 66 0a 00 00 	movl   $0xa66,-0x28(%ebp)
42160d:	c7 45 d4 70 0a 00 00 	movl   $0xa70,-0x2c(%ebp)
421614:	c7 45 d0 e6 0a 00 00 	movl   $0xae6,-0x30(%ebp)
42161b:	c7 45 cc f0 0a 00 00 	movl   $0xaf0,-0x34(%ebp)
421622:	c7 45 c8 66 0b 00 00 	movl   $0xb66,-0x38(%ebp)
421629:	c7 45 c4 70 0b 00 00 	movl   $0xb70,-0x3c(%ebp)
421630:	c7 45 c0 66 0c 00 00 	movl   $0xc66,-0x40(%ebp)
421637:	c7 45 bc 70 0c 00 00 	movl   $0xc70,-0x44(%ebp)
42163e:	c7 45 b8 e6 0c 00 00 	movl   $0xce6,-0x48(%ebp)
421645:	c7 45 b4 f0 0c 00 00 	movl   $0xcf0,-0x4c(%ebp)
42164c:	c7 45 b0 66 0d 00 00 	movl   $0xd66,-0x50(%ebp)
421653:	c7 45 ac 70 0d 00 00 	movl   $0xd70,-0x54(%ebp)
42165a:	c7 45 a8 50 0e 00 00 	movl   $0xe50,-0x58(%ebp)
421661:	c7 45 a4 5a 0e 00 00 	movl   $0xe5a,-0x5c(%ebp)
421668:	c7 45 a0 d0 0e 00 00 	movl   $0xed0,-0x60(%ebp)
42166f:	c7 45 9c da 0e 00 00 	movl   $0xeda,-0x64(%ebp)
421676:	c7 45 98 20 0f 00 00 	movl   $0xf20,-0x68(%ebp)
42167d:	c7 45 94 2a 0f 00 00 	movl   $0xf2a,-0x6c(%ebp)
421684:	c7 45 90 40 10 00 00 	movl   $0x1040,-0x70(%ebp)
42168b:	c7 45 8c 4a 10 00 00 	movl   $0x104a,-0x74(%ebp)
421692:	c7 45 88 e0 17 00 00 	movl   $0x17e0,-0x78(%ebp)
421699:	c7 45 84 ea 17 00 00 	movl   $0x17ea,-0x7c(%ebp)
4216a0:	c7 45 80 10 18 00 00 	movl   $0x1810,-0x80(%ebp)
4216a7:	c7 85 7c ff ff ff 1a 	movl   $0x181a,-0x84(%ebp)
4216ae:	18 00 00
4216b1:	c7 85 78 ff ff ff 1a 	movl   $0xff1a,-0x88(%ebp)
4216b8:	ff 00 00
4216bb:	6a 30                	push   $0x30
4216bd:	5a                   	pop    %edx
4216be:	85 ff                	test   %edi,%edi
4216c0:	74 09                	je     0x4216cb
4216c2:	83 ff 10             	cmp    $0x10,%edi
4216c5:	0f 85 e2 01 00 00    	jne    0x4218ad
4216cb:	66 3b f2             	cmp    %dx,%si
4216ce:	0f 82 66 01 00 00    	jb     0x42183a
4216d4:	66 3b b5 74 ff ff ff 	cmp    -0x8c(%ebp),%si
4216db:	73 0a                	jae    0x4216e7
4216dd:	0f b7 c6             	movzwl %si,%eax
4216e0:	2b c2                	sub    %edx,%eax
4216e2:	e9 4e 01 00 00       	jmp    0x421835
4216e7:	66 3b f0             	cmp    %ax,%si
4216ea:	0f 83 34 01 00 00    	jae    0x421824
4216f0:	8b 55 f8             	mov    -0x8(%ebp),%edx
4216f3:	66 3b f2             	cmp    %dx,%si
4216f6:	0f 82 3e 01 00 00    	jb     0x42183a
4216fc:	66 3b 75 f4          	cmp    -0xc(%ebp),%si
421700:	72 db                	jb     0x4216dd
421702:	8b 55 f0             	mov    -0x10(%ebp),%edx
421705:	66 3b f2             	cmp    %dx,%si
421708:	0f 82 2c 01 00 00    	jb     0x42183a
42170e:	66 3b 75 ec          	cmp    -0x14(%ebp),%si
421712:	72 c9                	jb     0x4216dd
421714:	8b 55 e8             	mov    -0x18(%ebp),%edx
421717:	66 3b f2             	cmp    %dx,%si
42171a:	0f 82 1a 01 00 00    	jb     0x42183a
421720:	66 3b 75 e4          	cmp    -0x1c(%ebp),%si
421724:	72 b7                	jb     0x4216dd
421726:	8b 55 e0             	mov    -0x20(%ebp),%edx
421729:	66 3b f2             	cmp    %dx,%si
42172c:	0f 82 08 01 00 00    	jb     0x42183a
421732:	66 3b 75 dc          	cmp    -0x24(%ebp),%si
421736:	72 a5                	jb     0x4216dd
421738:	8b 55 d8             	mov    -0x28(%ebp),%edx
42173b:	66 3b f2             	cmp    %dx,%si
42173e:	0f 82 f6 00 00 00    	jb     0x42183a
421744:	66 3b 75 d4          	cmp    -0x2c(%ebp),%si
421748:	72 93                	jb     0x4216dd
42174a:	8b 55 d0             	mov    -0x30(%ebp),%edx
42174d:	66 3b f2             	cmp    %dx,%si
421750:	0f 82 e4 00 00 00    	jb     0x42183a
421756:	66 3b 75 cc          	cmp    -0x34(%ebp),%si
42175a:	72 81                	jb     0x4216dd
42175c:	8b 55 c8             	mov    -0x38(%ebp),%edx
42175f:	66 3b f2             	cmp    %dx,%si
421762:	0f 82 d2 00 00 00    	jb     0x42183a
421768:	66 3b 75 c4          	cmp    -0x3c(%ebp),%si
42176c:	0f 82 6b ff ff ff    	jb     0x4216dd
421772:	8b 55 c0             	mov    -0x40(%ebp),%edx
421775:	66 3b f2             	cmp    %dx,%si
421778:	0f 82 bc 00 00 00    	jb     0x42183a
42177e:	66 3b 75 bc          	cmp    -0x44(%ebp),%si
421782:	0f 82 55 ff ff ff    	jb     0x4216dd
421788:	8b 55 b8             	mov    -0x48(%ebp),%edx
42178b:	66 3b f2             	cmp    %dx,%si
42178e:	0f 82 a6 00 00 00    	jb     0x42183a
421794:	66 3b 75 b4          	cmp    -0x4c(%ebp),%si
421798:	0f 82 3f ff ff ff    	jb     0x4216dd
42179e:	8b 55 b0             	mov    -0x50(%ebp),%edx
4217a1:	66 3b f2             	cmp    %dx,%si
4217a4:	0f 82 90 00 00 00    	jb     0x42183a
4217aa:	66 3b 75 ac          	cmp    -0x54(%ebp),%si
4217ae:	0f 82 29 ff ff ff    	jb     0x4216dd
4217b4:	8b 55 a8             	mov    -0x58(%ebp),%edx
4217b7:	66 3b f2             	cmp    %dx,%si
4217ba:	72 7e                	jb     0x42183a
4217bc:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
4217c0:	0f 82 17 ff ff ff    	jb     0x4216dd
4217c6:	8b 55 a0             	mov    -0x60(%ebp),%edx
4217c9:	66 3b f2             	cmp    %dx,%si
4217cc:	72 6c                	jb     0x42183a
4217ce:	66 3b 75 9c          	cmp    -0x64(%ebp),%si
4217d2:	0f 82 05 ff ff ff    	jb     0x4216dd
4217d8:	8b 55 98             	mov    -0x68(%ebp),%edx
4217db:	66 3b f2             	cmp    %dx,%si
4217de:	72 5a                	jb     0x42183a
4217e0:	66 3b 75 94          	cmp    -0x6c(%ebp),%si
4217e4:	0f 82 f3 fe ff ff    	jb     0x4216dd
4217ea:	8b 55 90             	mov    -0x70(%ebp),%edx
4217ed:	66 3b f2             	cmp    %dx,%si
4217f0:	72 48                	jb     0x42183a
4217f2:	66 3b 75 8c          	cmp    -0x74(%ebp),%si
4217f6:	0f 82 e1 fe ff ff    	jb     0x4216dd
4217fc:	8b 55 88             	mov    -0x78(%ebp),%edx
4217ff:	66 3b f2             	cmp    %dx,%si
421802:	72 36                	jb     0x42183a
421804:	66 3b 75 84          	cmp    -0x7c(%ebp),%si
421808:	0f 82 cf fe ff ff    	jb     0x4216dd
42180e:	8b 55 80             	mov    -0x80(%ebp),%edx
421811:	66 3b f2             	cmp    %dx,%si
421814:	72 24                	jb     0x42183a
421816:	66 3b b5 7c ff ff ff 	cmp    -0x84(%ebp),%si