437215:	74 5a                	je     0x437271
437217:	83 f8 66             	cmp    $0x66,%eax
43721a:	75 19                	jne    0x437235
43721c:	ff 75 20             	push   0x20(%ebp)
43721f:	ff 75 18             	push   0x18(%ebp)
437222:	ff 75 10             	push   0x10(%ebp)
437225:	ff 75 0c             	push   0xc(%ebp)
437228:	ff 75 08             	push   0x8(%ebp)
43722b:	e8 e2 06 00 00       	call   0x437912
437230:	83 c4 14             	add    $0x14,%esp
437233:	5d                   	pop    %ebp
437234:	c3                   	ret
437235:	83 f8 61             	cmp    $0x61,%eax
437238:	74 1e                	je     0x437258
43723a:	83 f8 41             	cmp    $0x41,%eax
43723d:	74 19                	je     0x437258
43723f:	ff 75 20             	push   0x20(%ebp)
437242:	ff 75 1c             	push   0x1c(%ebp)
437245:	ff 75 18             	push   0x18(%ebp)
437248:	ff 75 10             	push   0x10(%ebp)
43724b:	ff 75 0c             	push   0xc(%ebp)
43724e:	ff 75 08             	push   0x8(%ebp)
437251:	e8 7d 07 00 00       	call   0x4379d3
437256:	eb 30                	jmp    0x437288
437258:	ff 75 20             	push   0x20(%ebp)
43725b:	ff 75 1c             	push   0x1c(%ebp)
43725e:	ff 75 18             	push   0x18(%ebp)
437261:	ff 75 10             	push   0x10(%ebp)
437264:	ff 75 0c             	push   0xc(%ebp)
437267:	ff 75 08             	push   0x8(%ebp)
43726a:	e8 1e 00 00 00       	call   0x43728d
43726f:	eb 17                	jmp    0x437288
437271:	ff 75 20             	push   0x20(%ebp)
437274:	ff 75 1c             	push   0x1c(%ebp)
437277:	ff 75 18             	push   0x18(%ebp)
43727a:	ff 75 10             	push   0x10(%ebp)
43727d:	ff 75 0c             	push   0xc(%ebp)
437280:	ff 75 08             	push   0x8(%ebp)
437283:	e8 d0 04 00 00       	call   0x437758
437288:	83 c4 18             	add    $0x18,%esp
43728b:	5d                   	pop    %ebp
43728c:	c3                   	ret
43728d:	55                   	push   %ebp
43728e:	8b ec                	mov    %esp,%ebp
437290:	83 ec 2c             	sub    $0x2c,%esp
437293:	53                   	push   %ebx
437294:	56                   	push   %esi
437295:	57                   	push   %edi
437296:	6a 30                	push   $0x30
437298:	58                   	pop    %eax
437299:	ff 75 1c             	push   0x1c(%ebp)
43729c:	8b c8                	mov    %eax,%ecx
43729e:	c7 45 f8 ff 03 00 00 	movl   $0x3ff,-0x8(%ebp)
4372a5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4372a8:	33 db                	xor    %ebx,%ebx
4372aa:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4372ad:	e8 03 be fe ff       	call   0x4230b5
4372b2:	8b 7d 14             	mov    0x14(%ebp),%edi
4372b5:	85 ff                	test   %edi,%edi
4372b7:	79 02                	jns    0x4372bb
4372b9:	8b fb                	mov    %ebx,%edi
4372bb:	8b 75 0c             	mov    0xc(%ebp),%esi
4372be:	85 f6                	test   %esi,%esi
4372c0:	74 07                	je     0x4372c9
4372c2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4372c5:	85 c9                	test   %ecx,%ecx
4372c7:	75 09                	jne    0x4372d2
4372c9:	e8 9a 1a ff ff       	call   0x428d68
4372ce:	6a 16                	push   $0x16
4372d0:	eb 10                	jmp    0x4372e2
4372d2:	8d 47 0b             	lea    0xb(%edi),%eax
4372d5:	88 1e                	mov    %bl,(%esi)
4372d7:	3b c8                	cmp    %eax,%ecx
4372d9:	77 14                	ja     0x4372ef
4372db:	e8 88 1a ff ff       	call   0x428d68
4372e0:	6a 22                	push   $0x22
4372e2:	5f                   	pop    %edi
4372e3:	89 38                	mov    %edi,(%eax)
4372e5:	e8 0c 1d ff ff       	call   0x428ff6
4372ea:	e9 e4 02 00 00       	jmp    0x4375d3
4372ef:	8b 55 08             	mov    0x8(%ebp),%edx
4372f2:	8b 02                	mov    (%edx),%eax
4372f4:	8b 5a 04             	mov    0x4(%edx),%ebx
4372f7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4372fa:	8b c3                	mov    %ebx,%eax
4372fc:	c1 e8 14             	shr    $0x14,%eax
4372ff:	25 ff 07 00 00       	and    $0x7ff,%eax
437304:	3d ff 07 00 00       	cmp    $0x7ff,%eax
437309:	75 79                	jne    0x437384
43730b:	33 c0                	xor    %eax,%eax
43730d:	3b c0                	cmp    %eax,%eax
43730f:	75 75                	jne    0x437386
437311:	83 c8 ff             	or     $0xffffffff,%eax
437314:	3b c8                	cmp    %eax,%ecx
437316:	74 03                	je     0x43731b
437318:	8d 41 fe             	lea    -0x2(%ecx),%eax
43731b:	6a 00                	push   $0x0
43731d:	57                   	push   %edi
43731e:	50                   	push   %eax
43731f:	8d 5e 02             	lea    0x2(%esi),%ebx
437322:	53                   	push   %ebx
437323:	52                   	push   %edx
437324:	e8 c0 02 00 00       	call   0x4375e9
437329:	8b f8                	mov    %eax,%edi
43732b:	83 c4 14             	add    $0x14,%esp
43732e:	85 ff                	test   %edi,%edi
437330:	74 08                	je     0x43733a
437332:	c6 06 00             	movb   $0x0,(%esi)
437335:	e9 99 02 00 00       	jmp    0x4375d3
43733a:	80 3b 2d             	cmpb   $0x2d,(%ebx)
43733d:	75 04                	jne    0x437343
43733f:	c6 06 2d             	movb   $0x2d,(%esi)
437342:	46                   	inc    %esi
437343:	8b 7d 18             	mov    0x18(%ebp),%edi
437346:	85 ff                	test   %edi,%edi
437348:	6a 30                	push   $0x30
43734a:	58                   	pop    %eax
43734b:	88 06                	mov    %al,(%esi)
43734d:	0f 94 c0             	sete   %al
437350:	fe c8                	dec    %al
437352:	24 e0                	and    $0xe0,%al
437354:	04 78                	add    $0x78,%al
437356:	88 46 01             	mov    %al,0x1(%esi)
437359:	8d 46 02             	lea    0x2(%esi),%eax
43735c:	6a 65                	push   $0x65
43735e:	50                   	push   %eax
43735f:	e8 8c 1f 00 00       	call   0x4392f0
437364:	59                   	pop    %ecx
437365:	59                   	pop    %ecx
437366:	85 c0                	test   %eax,%eax
437368:	74 13                	je     0x43737d
43736a:	85 ff                	test   %edi,%edi
43736c:	0f 94 c1             	sete   %cl
43736f:	fe c9                	dec    %cl
437371:	80 e1 e0             	and    $0xe0,%cl
437374:	80 c1 70             	add    $0x70,%cl
437377:	88 08                	mov    %cl,(%eax)
437379:	c6 40 03 00          	movb   $0x0,0x3(%eax)
43737d:	33 ff                	xor    %edi,%edi
43737f:	e9 4f 02 00 00       	jmp    0x4375d3
437384:	33 c0                	xor    %eax,%eax
437386:	81 e3 00 00 00 80    	and    $0x80000000,%ebx
43738c:	0b c3                	or     %ebx,%eax
43738e:	74 04                	je     0x437394
437390:	c6 06 2d             	movb   $0x2d,(%esi)
437393:	46                   	inc    %esi
437394:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
437398:	8b 5d 18             	mov    0x18(%ebp),%ebx
43739b:	6a 30                	push   $0x30
43739d:	58                   	pop    %eax
43739e:	88 06                	mov    %al,(%esi)
4373a0:	0f 94 c0             	sete   %al
4373a3:	fe c8                	dec    %al
4373a5:	24 e0                	and    $0xe0,%al
4373a7:	04 78                	add    $0x78,%al
4373a9:	f7 db                	neg    %ebx
4373ab:	88 46 01             	mov    %al,0x1(%esi)
4373ae:	8b 4a 04             	mov    0x4(%edx),%ecx
4373b1:	1b db                	sbb    %ebx,%ebx
4373b3:	83 e3 e0             	and    $0xffffffe0,%ebx
4373b6:	81 e1 00 00 f0 7f    	and    $0x7ff00000,%ecx
4373bc:	83 c3 27             	add    $0x27,%ebx
4373bf:	33 c0                	xor    %eax,%eax
4373c1:	0b c1                	or     %ecx,%eax
4373c3:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4373c6:	75 27                	jne    0x4373ef
4373c8:	6a 30                	push   $0x30
4373ca:	58                   	pop    %eax
4373cb:	88 46 02             	mov    %al,0x2(%esi)
4373ce:	83 c6 03             	add    $0x3,%esi
4373d1:	8b 42 04             	mov    0x4(%edx),%eax
4373d4:	8b 0a                	mov    (%edx),%ecx
4373d6:	25 ff ff 0f 00       	and    $0xfffff,%eax
4373db:	0b c8                	or     %eax,%ecx
4373dd:	75 07                	jne    0x4373e6
4373df:	33 c0                	xor    %eax,%eax
4373e1:	89 45 f8             	mov    %eax,-0x8(%ebp)
4373e4:	eb 10                	jmp    0x4373f6
4373e6:	c7 45 f8 fe 03 00 00 	movl   $0x3fe,-0x8(%ebp)
4373ed:	eb 07                	jmp    0x4373f6
4373ef:	c6 46 02 31          	movb   $0x31,0x2(%esi)
4373f3:	83 c6 03             	add    $0x3,%esi
4373f6:	8b ce                	mov    %esi,%ecx
4373f8:	46                   	inc    %esi
4373f9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4373fc:	85 ff                	test   %edi,%edi
4373fe:	75 05                	jne    0x437405
437400:	c6 01 00             	movb   $0x0,(%ecx)
437403:	eb 0f                	jmp    0x437414
437405:	8b 45 d4             	mov    -0x2c(%ebp),%eax
437408:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
43740e:	8b 00                	mov    (%eax),%eax
437410:	8a 00                	mov    (%eax),%al
437412:	88 01                	mov    %al,(%ecx)
437414:	8b 42 04             	mov    0x4(%edx),%eax
437417:	25 ff ff 0f 00       	and    $0xfffff,%eax
43741c:	89 45 e8             	mov    %eax,-0x18(%ebp)
43741f:	77 09                	ja     0x43742a
437421:	83 3a 00             	cmpl   $0x0,(%edx)
437424:	0f 86 c2 00 00 00    	jbe    0x4374ec
43742a:	83 65 14 00          	andl   $0x0,0x14(%ebp)
43742e:	b9 00 00 0f 00       	mov    $0xf0000,%ecx
437433:	8b 45 fc             	mov    -0x4(%ebp),%eax
437436:	89 4d 0c             	mov    %ecx,0xc(%ebp)
437439:	85 ff                	test   %edi,%edi
43743b:	7e 53                	jle    0x437490
43743d:	8b 02                	mov    (%edx),%eax
43743f:	8b 52 04             	mov    0x4(%edx),%edx
437442:	23 45 14             	and    0x14(%ebp),%eax
437445:	23 d1                	and    %ecx,%edx
437447:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43744a:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
437450:	0f bf c9             	movswl %cx,%ecx
437453:	e8 08 a4 ff ff       	call   0x431860
437458:	6a 30                	push   $0x30
43745a:	59                   	pop    %ecx
43745b:	66 03 c1             	add    %cx,%ax
43745e:	0f b7 c0             	movzwl %ax,%eax
437461:	83 f8 39             	cmp    $0x39,%eax
437464:	76 02                	jbe    0x437468
437466:	03 c3                	add    %ebx,%eax
437468:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43746b:	8b 55 08             	mov    0x8(%ebp),%edx
43746e:	88 06                	mov    %al,(%esi)
437470:	46                   	inc    %esi
437471:	8b 45 14             	mov    0x14(%ebp),%eax
437474:	0f ac c8 04          	shrd   $0x4,%ecx,%eax
437478:	89 45 14             	mov    %eax,0x14(%ebp)
43747b:	8b 45 fc             	mov    -0x4(%ebp),%eax
43747e:	c1 e9 04             	shr    $0x4,%ecx
437481:	83 e8 04             	sub    $0x4,%eax
437484:	4f                   	dec    %edi
437485:	89 4d 0c             	mov    %ecx,0xc(%ebp)
437488:	89 45 fc             	mov    %eax,-0x4(%ebp)
43748b:	66 85 c0             	test   %ax,%ax
43748e:	79 a9                	jns    0x437439
437490:	66 85 c0             	test   %ax,%ax
437493:	78 57                	js     0x4374ec
437495:	8b 02                	mov    (%edx),%eax
437497:	8b 52 04             	mov    0x4(%edx),%edx
43749a:	23 45 14             	and    0x14(%ebp),%eax
43749d:	23 d1                	and    %ecx,%edx
43749f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4374a2:	81 e2 ff ff 0f 00    	and    $0xfffff,%edx
4374a8:	0f bf c9             	movswl %cx,%ecx
4374ab:	e8 b0 a3 ff ff       	call   0x431860
4374b0:	66 83 f8 08          	cmp    $0x8,%ax
4374b4:	76 36                	jbe    0x4374ec
4374b6:	6a 30                	push   $0x30
4374b8:	8d 46 ff             	lea    -0x1(%esi),%eax
4374bb:	5b                   	pop    %ebx
4374bc:	8a 08                	mov    (%eax),%cl
4374be:	80 f9 66             	cmp    $0x66,%cl
4374c1:	74 05                	je     0x4374c8
4374c3:	80 f9 46             	cmp    $0x46,%cl
4374c6:	75 05                	jne    0x4374cd
4374c8:	88 18                	mov    %bl,(%eax)
4374ca:	48                   	dec    %eax
4374cb:	eb ef                	jmp    0x4374bc
4374cd:	8b 5d f0             	mov    -0x10(%ebp),%ebx
4374d0:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4374d3:	74 14                	je     0x4374e9
4374d5:	8a 08                	mov    (%eax),%cl
4374d7:	80 f9 39             	cmp    $0x39,%cl
4374da:	75 07                	jne    0x4374e3
4374dc:	80 c3 3a             	add    $0x3a,%bl
4374df:	88 18                	mov    %bl,(%eax)
4374e1:	eb 09                	jmp    0x4374ec
4374e3:	fe c1                	inc    %cl
4374e5:	88 08                	mov    %cl,(%eax)
4374e7:	eb 03                	jmp    0x4374ec
4374e9:	fe 40 ff             	incb   -0x1(%eax)
4374ec:	85 ff                	test   %edi,%edi
4374ee:	7e 10                	jle    0x437500
4374f0:	57                   	push   %edi
4374f1:	6a 30                	push   $0x30
4374f3:	58                   	pop    %eax
4374f4:	50                   	push   %eax
4374f5:	56                   	push   %esi
4374f6:	e8 25 bb fe ff       	call   0x423020
4374fb:	83 c4 0c             	add    $0xc,%esp
4374fe:	03 f7                	add    %edi,%esi
437500:	8b 45 f4             	mov    -0xc(%ebp),%eax
437503:	80 38 00             	cmpb   $0x0,(%eax)
437506:	75 02                	jne    0x43750a
437508:	8b f0                	mov    %eax,%esi
43750a:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
43750e:	b1 34                	mov    $0x34,%cl
437510:	8b 55 08             	mov    0x8(%ebp),%edx
437513:	0f 94 c0             	sete   %al
437516:	fe c8                	dec    %al
437518:	24 e0                	and    $0xe0,%al
43751a:	04 70                	add    $0x70,%al
43751c:	88 06                	mov    %al,(%esi)
43751e:	8b 02                	mov    (%edx),%eax
437520:	8b 52 04             	mov    0x4(%edx),%edx
437523:	e8 38 a3 ff ff       	call   0x431860
437528:	8b c8                	mov    %eax,%ecx
43752a:	8b da                	mov    %edx,%ebx
43752c:	33 c0                	xor    %eax,%eax
43752e:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
437534:	23 d8                	and    %eax,%ebx
437536:	2b 4d f8             	sub    -0x8(%ebp),%ecx
437539:	1b d8                	sbb    %eax,%ebx
43753b:	78 0f                	js     0x43754c
43753d:	7f 04                	jg     0x437543
43753f:	3b c8                	cmp    %eax,%ecx
437541:	72 09                	jb     0x43754c
437543:	c6 46 01 2b          	movb   $0x2b,0x1(%esi)
437547:	83 c6 02             	add    $0x2,%esi
43754a:	eb 0d                	jmp    0x437559
43754c:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
437550:	83 c6 02             	add    $0x2,%esi
437553:	f7 d9                	neg    %ecx
437555:	13 d8                	adc    %eax,%ebx
437557:	f7 db                	neg    %ebx
437559:	c6 06 30             	movb   $0x30,(%esi)
43755c:	8b fe                	mov    %esi,%edi
43755e:	3b d8                	cmp    %eax,%ebx
437560:	7c 41                	jl     0x4375a3
437562:	ba e8 03 00 00       	mov    $0x3e8,%edx
437567:	7f 04                	jg     0x43756d
437569:	3b ca                	cmp    %edx,%ecx
43756b:	72 17                	jb     0x437584
43756d:	50                   	push   %eax
43756e:	52                   	push   %edx
43756f:	53                   	push   %ebx
437570:	51                   	push   %ecx
437571:	e8 ba 20 00 00       	call   0x439630
437576:	04 30                	add    $0x30,%al
437578:	89 55 e8             	mov    %edx,-0x18(%ebp)
43757b:	88 06                	mov    %al,(%esi)
43757d:	46                   	inc    %esi
43757e:	33 c0                	xor    %eax,%eax
437580:	3b f7                	cmp    %edi,%esi
437582:	75 0b                	jne    0x43758f
437584:	3b d8                	cmp    %eax,%ebx
437586:	7c 1b                	jl     0x4375a3
437588:	7f 05                	jg     0x43758f
43758a:	83 f9 64             	cmp    $0x64,%ecx
43758d:	72 14                	jb     0x4375a3
43758f:	50                   	push   %eax
437590:	6a 64                	push   $0x64
437592:	53                   	push   %ebx
437593:	51                   	push   %ecx
437594:	e8 97 20 00 00       	call   0x439630
437599:	04 30                	add    $0x30,%al
43759b:	89 55 e8             	mov    %edx,-0x18(%ebp)
43759e:	88 06                	mov    %al,(%esi)
4375a0:	46                   	inc    %esi