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
4375a1:	33 c0                	xor    %eax,%eax
4375a3:	3b f7                	cmp    %edi,%esi
4375a5:	75 0b                	jne    0x4375b2
4375a7:	3b d8                	cmp    %eax,%ebx
4375a9:	7c 1e                	jl     0x4375c9
4375ab:	7f 05                	jg     0x4375b2
4375ad:	83 f9 0a             	cmp    $0xa,%ecx
4375b0:	72 17                	jb     0x4375c9
4375b2:	50                   	push   %eax
4375b3:	6a 0a                	push   $0xa
4375b5:	53                   	push   %ebx
4375b6:	51                   	push   %ecx
4375b7:	e8 74 20 00 00       	call   0x439630
4375bc:	04 30                	add    $0x30,%al
4375be:	89 55 e8             	mov    %edx,-0x18(%ebp)
4375c1:	88 06                	mov    %al,(%esi)
4375c3:	46                   	inc    %esi
4375c4:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4375c7:	33 c0                	xor    %eax,%eax
4375c9:	80 c1 30             	add    $0x30,%cl
4375cc:	8b f8                	mov    %eax,%edi
4375ce:	88 0e                	mov    %cl,(%esi)
4375d0:	88 46 01             	mov    %al,0x1(%esi)
4375d3:	80 7d e0 00          	cmpb   $0x0,-0x20(%ebp)
4375d7:	74 07                	je     0x4375e0
4375d9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4375dc:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
4375e0:	8b c7                	mov    %edi,%eax
4375e2:	5f                   	pop    %edi
4375e3:	5e                   	pop    %esi
4375e4:	5b                   	pop    %ebx
4375e5:	8b e5                	mov    %ebp,%esp
4375e7:	5d                   	pop    %ebp
4375e8:	c3                   	ret
4375e9:	55                   	push   %ebp
4375ea:	8b ec                	mov    %esp,%ebp
4375ec:	6a 00                	push   $0x0
4375ee:	ff 75 18             	push   0x18(%ebp)
4375f1:	ff 75 14             	push   0x14(%ebp)
4375f4:	ff 75 10             	push   0x10(%ebp)
4375f7:	ff 75 0c             	push   0xc(%ebp)
4375fa:	ff 75 08             	push   0x8(%ebp)
4375fd:	e8 56 01 00 00       	call   0x437758
437602:	83 c4 18             	add    $0x18,%esp
437605:	5d                   	pop    %ebp
437606:	c3                   	ret
437607:	55                   	push   %ebp
437608:	8b ec                	mov    %esp,%ebp
43760a:	83 ec 10             	sub    $0x10,%esp
43760d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
437610:	53                   	push   %ebx
437611:	57                   	push   %edi
437612:	ff 75 20             	push   0x20(%ebp)
437615:	e8 9b ba fe ff       	call   0x4230b5
43761a:	8b 5d 08             	mov    0x8(%ebp),%ebx
43761d:	85 db                	test   %ebx,%ebx
43761f:	74 06                	je     0x437627
437621:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
437625:	77 09                	ja     0x437630
437627:	e8 3c 17 ff ff       	call   0x428d68
43762c:	6a 16                	push   $0x16
43762e:	eb 1c                	jmp    0x43764c
437630:	8b 55 10             	mov    0x10(%ebp),%edx
437633:	33 ff                	xor    %edi,%edi
437635:	8b c2                	mov    %edx,%eax
437637:	85 d2                	test   %edx,%edx
437639:	7f 02                	jg     0x43763d
43763b:	8b c7                	mov    %edi,%eax
43763d:	83 c0 09             	add    $0x9,%eax
437640:	39 45 0c             	cmp    %eax,0xc(%ebp)
437643:	77 14                	ja     0x437659
437645:	e8 1e 17 ff ff       	call   0x428d68
43764a:	6a 22                	push   $0x22
43764c:	5f                   	pop    %edi
43764d:	89 38                	mov    %edi,(%eax)
43764f:	e8 a2 19 ff ff       	call   0x428ff6
437654:	e9 df 00 00 00       	jmp    0x437738
437659:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
43765d:	74 20                	je     0x43767f
43765f:	8b 4d 18             	mov    0x18(%ebp),%ecx
437662:	33 c0                	xor    %eax,%eax
437664:	85 d2                	test   %edx,%edx
437666:	0f 9f c0             	setg   %al
437669:	50                   	push   %eax
43766a:	33 c0                	xor    %eax,%eax
43766c:	83 39 2d             	cmpl   $0x2d,(%ecx)
43766f:	0f 94 c0             	sete   %al
437672:	03 c3                	add    %ebx,%eax
437674:	50                   	push   %eax
437675:	e8 e2 05 00 00       	call   0x437c5c
43767a:	8b 55 10             	mov    0x10(%ebp),%edx
43767d:	59                   	pop    %ecx
43767e:	59                   	pop    %ecx
43767f:	8b 45 18             	mov    0x18(%ebp),%eax
437682:	56                   	push   %esi
437683:	8b f3                	mov    %ebx,%esi
437685:	83 38 2d             	cmpl   $0x2d,(%eax)
437688:	75 06                	jne    0x437690
43768a:	c6 03 2d             	movb   $0x2d,(%ebx)
43768d:	8d 73 01             	lea    0x1(%ebx),%esi
437690:	85 d2                	test   %edx,%edx
437692:	7e 15                	jle    0x4376a9
437694:	8a 46 01             	mov    0x1(%esi),%al
437697:	88 06                	mov    %al,(%esi)
437699:	46                   	inc    %esi
43769a:	8b 45 f0             	mov    -0x10(%ebp),%eax
43769d:	8b 80 84 00 00 00    	mov    0x84(%eax),%eax
4376a3:	8b 00                	mov    (%eax),%eax
4376a5:	8a 00                	mov    (%eax),%al
4376a7:	88 06                	mov    %al,(%esi)
4376a9:	33 c0                	xor    %eax,%eax
4376ab:	38 45 1c             	cmp    %al,0x1c(%ebp)
4376ae:	0f 94 c0             	sete   %al
4376b1:	03 c2                	add    %edx,%eax
4376b3:	03 f0                	add    %eax,%esi
4376b5:	83 c8 ff             	or     $0xffffffff,%eax
4376b8:	39 45 0c             	cmp    %eax,0xc(%ebp)
4376bb:	74 07                	je     0x4376c4
4376bd:	8b c3                	mov    %ebx,%eax
4376bf:	2b c6                	sub    %esi,%eax
4376c1:	03 45 0c             	add    0xc(%ebp),%eax
4376c4:	68 14 0e 4a 00       	push   $0x4a0e14
4376c9:	50                   	push   %eax
4376ca:	56                   	push   %esi
4376cb:	e8 32 d1 ff ff       	call   0x434802
4376d0:	83 c4 0c             	add    $0xc,%esp
4376d3:	85 c0                	test   %eax,%eax
4376d5:	75 76                	jne    0x43774d
4376d7:	8d 4e 02             	lea    0x2(%esi),%ecx
4376da:	39 7d 14             	cmp    %edi,0x14(%ebp)
4376dd:	74 03                	je     0x4376e2
4376df:	c6 06 45             	movb   $0x45,(%esi)
4376e2:	8b 55 18             	mov    0x18(%ebp),%edx
4376e5:	8b 42 0c             	mov    0xc(%edx),%eax
4376e8:	80 38 30             	cmpb   $0x30,(%eax)
4376eb:	74 2d                	je     0x43771a
4376ed:	8b 52 04             	mov    0x4(%edx),%edx
4376f0:	4a                   	dec    %edx
4376f1:	79 06                	jns    0x4376f9
4376f3:	f7 da                	neg    %edx
4376f5:	c6 46 01 2d          	movb   $0x2d,0x1(%esi)
4376f9:	6a 64                	push   $0x64
4376fb:	5b                   	pop    %ebx
4376fc:	3b d3                	cmp    %ebx,%edx
4376fe:	7c 08                	jl     0x437708
437700:	8b c2                	mov    %edx,%eax
437702:	99                   	cltd
437703:	f7 fb                	idiv   %ebx
437705:	00 46 02             	add    %al,0x2(%esi)
437708:	6a 0a                	push   $0xa
43770a:	5b                   	pop    %ebx
43770b:	3b d3                	cmp    %ebx,%edx
43770d:	7c 08                	jl     0x437717
43770f:	8b c2                	mov    %edx,%eax
437711:	99                   	cltd
437712:	f7 fb                	idiv   %ebx
437714:	00 46 03             	add    %al,0x3(%esi)
437717:	00 56 04             	add    %dl,0x4(%esi)
43771a:	f6 05 40 51 4c 00 01 	testb  $0x1,0x4c5140
437721:	5e                   	pop    %esi
437722:	74 14                	je     0x437738
437724:	80 39 30             	cmpb   $0x30,(%ecx)
437727:	75 0f                	jne    0x437738
437729:	6a 03                	push   $0x3
43772b:	8d 41 01             	lea    0x1(%ecx),%eax
43772e:	50                   	push   %eax
43772f:	51                   	push   %ecx
437730:	e8 eb 08 ff ff       	call   0x428020
437735:	83 c4 0c             	add    $0xc,%esp
437738:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43773c:	74 07                	je     0x437745
43773e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
437741:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
437745:	8b c7                	mov    %edi,%eax
437747:	5f                   	pop    %edi