437564:	8b bd e4 fb ff ff    	mov    -0x41c(%ebp),%edi
43756a:	eb 1a                	jmp    0x437586
43756c:	6a 30                	push   $0x30
43756e:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
437574:	8b c3                	mov    %ebx,%eax
437576:	4f                   	dec    %edi
437577:	e8 06 f5 ff ff       	call   0x436a82
43757c:	83 bd e8 fb ff ff ff 	cmpl   $0xffffffff,-0x418(%ebp)
437583:	59                   	pop    %ecx
437584:	74 04                	je     0x43758a
437586:	85 ff                	test   %edi,%edi
437588:	7f e2                	jg     0x43756c
43758a:	83 bd d4 fb ff ff 00 	cmpl   $0x0,-0x42c(%ebp)
437591:	75 6b                	jne    0x4375fe
437593:	8b 9d ec fb ff ff    	mov    -0x414(%ebp),%ebx
437599:	85 db                	test   %ebx,%ebx
43759b:	7e 61                	jle    0x4375fe
43759d:	8b bd f0 fb ff ff    	mov    -0x410(%ebp),%edi
4375a3:	8d 85 a8 fb ff ff    	lea    -0x458(%ebp),%eax
4375a9:	50                   	push   %eax
4375aa:	8b 85 a8 fb ff ff    	mov    -0x458(%ebp),%eax
4375b0:	ff b0 ac 00 00 00    	push   0xac(%eax)
4375b6:	8d 85 a4 fb ff ff    	lea    -0x45c(%ebp),%eax
4375bc:	57                   	push   %edi
4375bd:	50                   	push   %eax
4375be:	4b                   	dec    %ebx
4375bf:	e8 00 a4 00 00       	call   0x4419c4
4375c4:	83 c4 10             	add    $0x10,%esp
4375c7:	89 85 8c fb ff ff    	mov    %eax,-0x474(%ebp)
4375cd:	85 c0                	test   %eax,%eax
4375cf:	7e 24                	jle    0x4375f5
4375d1:	ff b5 a4 fb ff ff    	push   -0x45c(%ebp)
4375d7:	8b 85 dc fb ff ff    	mov    -0x424(%ebp),%eax
4375dd:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
4375e3:	e8 9a f4 ff ff       	call   0x436a82
4375e8:	03 bd 8c fb ff ff    	add    -0x474(%ebp),%edi
4375ee:	59                   	pop    %ecx
4375ef:	85 db                	test   %ebx,%ebx
4375f1:	7f b0                	jg     0x4375a3
4375f3:	eb 2e                	jmp    0x437623
4375f5:	83 8d e8 fb ff ff ff 	orl    $0xffffffff,-0x418(%ebp)
4375fc:	eb 25                	jmp    0x437623
4375fe:	ff b5 ec fb ff ff    	push   -0x414(%ebp)
437604:	8b bd 9c fb ff ff    	mov    -0x464(%ebp),%edi
43760a:	ff b5 f0 fb ff ff    	push   -0x410(%ebp)
437610:	8b 9d dc fb ff ff    	mov    -0x424(%ebp),%ebx
437616:	8d 85 e8 fb ff ff    	lea    -0x418(%ebp),%eax
43761c:	e8 b7 f4 ff ff       	call   0x436ad8
437621:	59                   	pop    %ecx
437622:	59                   	pop    %ecx
437623:	83 bd e8 fb ff ff 00 	cmpl   $0x0,-0x418(%ebp)
43762a:	7c 33                	jl     0x43765f
43762c:	f6 85 f8 fb ff ff 04 	testb  $0x4,-0x408(%ebp)
437633:	74 2a                	je     0x43765f
437635:	8b bd e4 fb ff ff    	mov    -0x41c(%ebp),%edi
43763b:	eb 1e                	jmp    0x43765b
43763d:	8b 85 dc fb ff ff    	mov    -0x424(%ebp),%eax
437643:	6a 20                	push   $0x20
437645:	8d b5 e8 fb ff ff    	lea    -0x418(%ebp),%esi
43764b:	4f                   	dec    %edi
43764c:	e8 31 f4 ff ff       	call   0x436a82
437651:	83 bd e8 fb ff ff ff 	cmpl   $0xffffffff,-0x418(%ebp)
437658:	59                   	pop    %ecx
437659:	74 04                	je     0x43765f
43765b:	85 ff                	test   %edi,%edi
43765d:	7f de                	jg     0x43763d
43765f:	83 bd c4 fb ff ff 00 	cmpl   $0x0,-0x43c(%ebp)
437666:	74 13                	je     0x43767b
437668:	ff b5 c4 fb ff ff    	push   -0x43c(%ebp)
43766e:	e8 2a 93 ff ff       	call   0x43099d
437673:	83 a5 c4 fb ff ff 00 	andl   $0x0,-0x43c(%ebp)
43767a:	59                   	pop    %ecx
43767b:	8b b5 c0 fb ff ff    	mov    -0x440(%ebp),%esi
437681:	0f b7 06             	movzwl (%esi),%eax
437684:	89 85 e4 fb ff ff    	mov    %eax,-0x41c(%ebp)
43768a:	66 85 c0             	test   %ax,%ax
43768d:	74 2f                	je     0x4376be
43768f:	8b 95 a0 fb ff ff    	mov    -0x460(%ebp),%edx
437695:	8b bd e0 fb ff ff    	mov    -0x420(%ebp),%edi
43769b:	8b c8                	mov    %eax,%ecx
43769d:	e9 6b f5 ff ff       	jmp    0x436c0d
4376a2:	e8 01 d3 ff ff       	call   0x4349a8
4376a7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4376ad:	e8 bc cc ff ff       	call   0x43436e
4376b2:	80 bd b4 fb ff ff 00 	cmpb   $0x0,-0x44c(%ebp)
4376b9:	e9 11 f5 ff ff       	jmp    0x436bcf
4376be:	80 bd b4 fb ff ff 00 	cmpb   $0x0,-0x44c(%ebp)
4376c5:	74 0a                	je     0x4376d1
4376c7:	8b 85 b0 fb ff ff    	mov    -0x450(%ebp),%eax
4376cd:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4376d1:	8b 85 e8 fb ff ff    	mov    -0x418(%ebp),%eax
4376d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4376da:	5f                   	pop    %edi
4376db:	5e                   	pop    %esi
4376dc:	33 cd                	xor    %ebp,%ecx
4376de:	5b                   	pop    %ebx
4376df:	e8 ad 72 00 00       	call   0x43e991
4376e4:	c9                   	leave
4376e5:	c3                   	ret
4376e6:	90                   	nop
4376e7:	78 6e                	js     0x437757
4376e9:	43                   	inc    %ebx
4376ea:	00 62 6c             	add    %ah,0x6c(%edx)
4376ed:	43                   	inc    %ebx
4376ee:	00 94 6c 43 00 f1 6c 	add    %dl,0x6cf10043(%esp,%ebp,2)
4376f5:	43                   	inc    %ebx
4376f6:	00 3e                	add    %bh,(%esi)
4376f8:	6d                   	insl   (%dx),%es:(%edi)
4376f9:	43                   	inc    %ebx
4376fa:	00 4a 6d             	add    %cl,0x6d(%edx)
4376fd:	43                   	inc    %ebx
4376fe:	00 91 6d 43 00 99    	add    %dl,-0x66ffbc93(%ecx)
437704:	6e                   	outsb  %ds:(%esi),(%dx)
437705:	43                   	inc    %ebx
437706:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
43770c:	83 ec 20             	sub    $0x20,%esp
43770f:	53                   	push   %ebx
437710:	57                   	push   %edi
437711:	33 db                	xor    %ebx,%ebx
437713:	6a 07                	push   $0x7
437715:	33 c0                	xor    %eax,%eax
437717:	59                   	pop    %ecx
437718:	8d 7d e4             	lea    -0x1c(%ebp),%edi
43771b:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43771e:	f3 ab                	rep stos %eax,%es:(%edi)
437720:	39 5d 10             	cmp    %ebx,0x10(%ebp)
437723:	75 18                	jne    0x43773d
437725:	e8 7e d2 ff ff       	call   0x4349a8
43772a:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
437730:	e8 39 cc ff ff       	call   0x43436e
437735:	83 c8 ff             	or     $0xffffffff,%eax
437738:	e9 97 00 00 00       	jmp    0x4377d4
43773d:	8b 45 0c             	mov    0xc(%ebp),%eax
437740:	56                   	push   %esi
437741:	8b 75 08             	mov    0x8(%ebp),%esi
437744:	3b c3                	cmp    %ebx,%eax
437746:	74 19                	je     0x437761
437748:	3b f3                	cmp    %ebx,%esi
43774a:	75 15                	jne    0x437761
43774c:	e8 57 d2 ff ff       	call   0x4349a8
437751:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
437757:	e8 12 cc ff ff       	call   0x43436e
43775c:	83 c8 ff             	or     $0xffffffff,%eax
43775f:	eb 72                	jmp    0x4377d3
437761:	c7 45 ec 42 00 00 00 	movl   $0x42,-0x14(%ebp)
437768:	89 75 e8             	mov    %esi,-0x18(%ebp)
43776b:	89 75 e0             	mov    %esi,-0x20(%ebp)
43776e:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
437773:	76 09                	jbe    0x43777e
437775:	c7 45 e4 ff ff ff 7f 	movl   $0x7fffffff,-0x1c(%ebp)
43777c:	eb 05                	jmp    0x437783
43777e:	03 c0                	add    %eax,%eax
437780:	89 45 e4             	mov    %eax,-0x1c(%ebp)
437783:	ff 75 18             	push   0x18(%ebp)
437786:	8d 45 e0             	lea    -0x20(%ebp),%eax
437789:	ff 75 14             	push   0x14(%ebp)
43778c:	ff 75 10             	push   0x10(%ebp)
43778f:	50                   	push   %eax
437790:	e8 aa f3 ff ff       	call   0x436b3f
437795:	83 c4 10             	add    $0x10,%esp
437798:	8b f8                	mov    %eax,%edi
43779a:	3b f3                	cmp    %ebx,%esi
43779c:	74 35                	je     0x4377d3
43779e:	ff 4d e4             	decl   -0x1c(%ebp)
4377a1:	78 0a                	js     0x4377ad
4377a3:	8b 45 e0             	mov    -0x20(%ebp),%eax
4377a6:	88 18                	mov    %bl,(%eax)
4377a8:	ff 45 e0             	incl   -0x20(%ebp)
4377ab:	eb 0c                	jmp    0x4377b9
4377ad:	8d 45 e0             	lea    -0x20(%ebp),%eax
4377b0:	50                   	push   %eax
4377b1:	53                   	push   %ebx
4377b2:	e8 67 f1 ff ff       	call   0x43691e
4377b7:	59                   	pop    %ecx
4377b8:	59                   	pop    %ecx
4377b9:	ff 4d e4             	decl   -0x1c(%ebp)
4377bc:	78 07                	js     0x4377c5
4377be:	8b 45 e0             	mov    -0x20(%ebp),%eax
4377c1:	88 18                	mov    %bl,(%eax)
4377c3:	eb 0c                	jmp    0x4377d1
4377c5:	8d 45 e0             	lea    -0x20(%ebp),%eax
4377c8:	50                   	push   %eax
4377c9:	53                   	push   %ebx
4377ca:	e8 4f f1 ff ff       	call   0x43691e
4377cf:	59                   	pop    %ecx
4377d0:	59                   	pop    %ecx
4377d1:	8b c7                	mov    %edi,%eax
4377d3:	5e                   	pop    %esi
4377d4:	5f                   	pop    %edi
4377d5:	5b                   	pop    %ebx
4377d6:	c9                   	leave
4377d7:	c3                   	ret
4377d8:	8b ff                	mov    %edi,%edi
4377da:	55                   	push   %ebp
4377db:	8b ec                	mov    %esp,%ebp
4377dd:	ff 75 14             	push   0x14(%ebp)
4377e0:	6a 00                	push   $0x0
4377e2:	ff 75 10             	push   0x10(%ebp)
4377e5:	ff 75 0c             	push   0xc(%ebp)
4377e8:	ff 75 08             	push   0x8(%ebp)
4377eb:	e8 17 ff ff ff       	call   0x437707
4377f0:	83 c4 14             	add    $0x14,%esp
4377f3:	5d                   	pop    %ebp
4377f4:	c3                   	ret
4377f5:	8b ff                	mov    %edi,%edi
4377f7:	55                   	push   %ebp
4377f8:	8b ec                	mov    %esp,%ebp
4377fa:	83 ec 1c             	sub    $0x1c,%esp
4377fd:	56                   	push   %esi
4377fe:	ff 75 08             	push   0x8(%ebp)
437801:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
437804:	e8 e1 93 ff ff       	call   0x430bea
437809:	8b 45 10             	mov    0x10(%ebp),%eax
43780c:	8b 75 0c             	mov    0xc(%ebp),%esi
43780f:	85 c0                	test   %eax,%eax
437811:	74 02                	je     0x437815
437813:	89 30                	mov    %esi,(%eax)
437815:	85 f6                	test   %esi,%esi
437817:	75 24                	jne    0x43783d
437819:	e8 8a d1 ff ff       	call   0x4349a8
43781e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
437824:	e8 45 cb ff ff       	call   0x43436e
437829:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
43782d:	74 07                	je     0x437836
43782f:	8b 45 ec             	mov    -0x14(%ebp),%eax
437832:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
437836:	33 c0                	xor    %eax,%eax
437838:	e9 e0 01 00 00       	jmp    0x437a1d
43783d:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
437841:	74 0c                	je     0x43784f
437843:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
437847:	7c d0                	jl     0x437819
437849:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
43784d:	7f ca                	jg     0x437819
43784f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437853:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
437856:	53                   	push   %ebx
437857:	8a 1e                	mov    (%esi),%bl
437859:	57                   	push   %edi
43785a:	8d 7e 01             	lea    0x1(%esi),%edi
43785d:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
437864:	7e 17                	jle    0x43787d
437866:	8d 45 e4             	lea    -0x1c(%ebp),%eax
437869:	50                   	push   %eax
43786a:	0f b6 c3             	movzbl %bl,%eax
43786d:	6a 08                	push   $0x8
43786f:	50                   	push   %eax
437870:	e8 7f a2 00 00       	call   0x441af4
437875:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
437878:	83 c4 0c             	add    $0xc,%esp
43787b:	eb 10                	jmp    0x43788d
43787d:	8b 91 c8 00 00 00    	mov    0xc8(%ecx),%edx
437883:	0f b6 c3             	movzbl %bl,%eax
437886:	0f b7 04 42          	movzwl (%edx,%eax,2),%eax
43788a:	83 e0 08             	and    $0x8,%eax
43788d:	85 c0                	test   %eax,%eax
43788f:	74 05                	je     0x437896
437891:	8a 1f                	mov    (%edi),%bl
437893:	47                   	inc    %edi
437894:	eb c7                	jmp    0x43785d
437896:	80 fb 2d             	cmp    $0x2d,%bl
437899:	75 06                	jne    0x4378a1
43789b:	83 4d 18 02          	orl    $0x2,0x18(%ebp)
43789f:	eb 05                	jmp    0x4378a6
4378a1:	80 fb 2b             	cmp    $0x2b,%bl
4378a4:	75 03                	jne    0x4378a9
4378a6:	8a 1f                	mov    (%edi),%bl
4378a8:	47                   	inc    %edi
4378a9:	8b 45 14             	mov    0x14(%ebp),%eax
4378ac:	85 c0                	test   %eax,%eax
4378ae:	0f 88 4f 01 00 00    	js     0x437a03
4378b4:	83 f8 01             	cmp    $0x1,%eax
4378b7:	0f 84 46 01 00 00    	je     0x437a03
4378bd:	83 f8 24             	cmp    $0x24,%eax
4378c0:	0f 8f 3d 01 00 00    	jg     0x437a03
4378c6:	85 c0                	test   %eax,%eax
4378c8:	75 2a                	jne    0x4378f4
4378ca:	80 fb 30             	cmp    $0x30,%bl
4378cd:	74 09                	je     0x4378d8
4378cf:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
4378d6:	eb 36                	jmp    0x43790e
4378d8:	8a 07                	mov    (%edi),%al
4378da:	3c 78                	cmp    $0x78,%al
4378dc:	74 0d                	je     0x4378eb
4378de:	3c 58                	cmp    $0x58,%al
4378e0:	74 09                	je     0x4378eb
4378e2:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
4378e9:	eb 23                	jmp    0x43790e
4378eb:	c7 45 14 10 00 00 00 	movl   $0x10,0x14(%ebp)
4378f2:	eb 0a                	jmp    0x4378fe
4378f4:	83 f8 10             	cmp    $0x10,%eax
4378f7:	75 15                	jne    0x43790e
4378f9:	80 fb 30             	cmp    $0x30,%bl
4378fc:	75 10                	jne    0x43790e
4378fe:	8a 07                	mov    (%edi),%al
437900:	3c 78                	cmp    $0x78,%al
437902:	74 04                	je     0x437908
437904:	3c 58                	cmp    $0x58,%al
437906:	75 06                	jne    0x43790e
437908:	8a 5f 01             	mov    0x1(%edi),%bl
43790b:	83 c7 02             	add    $0x2,%edi
43790e:	83 c8 ff             	or     $0xffffffff,%eax
437911:	33 d2                	xor    %edx,%edx
437913:	f7 75 14             	divl   0x14(%ebp)
437916:	8b b1 c8 00 00 00    	mov    0xc8(%ecx),%esi
43791c:	89 55 f8             	mov    %edx,-0x8(%ebp)
43791f:	0f b6 cb             	movzbl %bl,%ecx
437922:	0f b7 0c 4e          	movzwl (%esi,%ecx,2),%ecx
437926:	8b d1                	mov    %ecx,%edx
437928:	83 e2 04             	and    $0x4,%edx
43792b:	74 08                	je     0x437935
43792d:	0f be cb             	movsbl %bl,%ecx
437930:	83 e9 30             	sub    $0x30,%ecx
437933:	eb 19                	jmp    0x43794e
437935:	81 e1 03 01 00 00    	and    $0x103,%ecx
43793b:	74 30                	je     0x43796d
43793d:	8d 4b 9f             	lea    -0x61(%ebx),%ecx
437940:	80 f9 19             	cmp    $0x19,%cl
437943:	0f be cb             	movsbl %bl,%ecx
437946:	77 03                	ja     0x43794b
437948:	83 e9 20             	sub    $0x20,%ecx
43794b:	83 c1 c9             	add    $0xffffffc9,%ecx
43794e:	3b 4d 14             	cmp    0x14(%ebp),%ecx
437951:	73 1a                	jae    0x43796d
437953:	83 4d 18 08          	orl    $0x8,0x18(%ebp)
437957:	39 45 fc             	cmp    %eax,-0x4(%ebp)
43795a:	72 28                	jb     0x437984
43795c:	75 05                	jne    0x437963
43795e:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
437961:	76 21                	jbe    0x437984
437963:	83 4d 18 04          	orl    $0x4,0x18(%ebp)
437967:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
43796b:	75 23                	jne    0x437990
43796d:	8b 45 18             	mov    0x18(%ebp),%eax
437970:	4f                   	dec    %edi
437971:	a8 08                	test   $0x8,%al
437973:	75 20                	jne    0x437995
437975:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
437979:	74 03                	je     0x43797e
43797b:	8b 7d 0c             	mov    0xc(%ebp),%edi
43797e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437982:	eb 5b                	jmp    0x4379df
437984:	8b 55 fc             	mov    -0x4(%ebp),%edx
437987:	0f af 55 14          	imul   0x14(%ebp),%edx
43798b:	03 d1                	add    %ecx,%edx
43798d:	89 55 fc             	mov    %edx,-0x4(%ebp)
437990:	8a 1f                	mov    (%edi),%bl
437992:	47                   	inc    %edi
437993:	eb 8a                	jmp    0x43791f
437995:	be ff ff ff 7f       	mov    $0x7fffffff,%esi