438638:	ff 75 08             	push   0x8(%ebp)
43863b:	e8 29 fe ff ff       	call   0x438469
438640:	83 c4 10             	add    $0x10,%esp
438643:	5d                   	pop    %ebp
438644:	c3                   	ret
438645:	8b ff                	mov    %edi,%edi
438647:	55                   	push   %ebp
438648:	8b ec                	mov    %esp,%ebp
43864a:	6a 00                	push   $0x0
43864c:	ff 75 10             	push   0x10(%ebp)
43864f:	ff 75 0c             	push   0xc(%ebp)
438652:	ff 75 08             	push   0x8(%ebp)
438655:	e8 0f fe ff ff       	call   0x438469
43865a:	83 c4 10             	add    $0x10,%esp
43865d:	5d                   	pop    %ebp
43865e:	c3                   	ret
43865f:	8b ff                	mov    %edi,%edi
438661:	55                   	push   %ebp
438662:	8b ec                	mov    %esp,%ebp
438664:	6a 01                	push   $0x1
438666:	ff 75 10             	push   0x10(%ebp)
438669:	ff 75 0c             	push   0xc(%ebp)
43866c:	ff 75 08             	push   0x8(%ebp)
43866f:	e8 f5 fd ff ff       	call   0x438469
438674:	83 c4 10             	add    $0x10,%esp
438677:	5d                   	pop    %ebp
438678:	c3                   	ret
438679:	8b ff                	mov    %edi,%edi
43867b:	55                   	push   %ebp
43867c:	8b ec                	mov    %esp,%ebp
43867e:	6a 01                	push   $0x1
438680:	ff 75 10             	push   0x10(%ebp)
438683:	ff 75 0c             	push   0xc(%ebp)
438686:	ff 75 08             	push   0x8(%ebp)
438689:	e8 db fd ff ff       	call   0x438469
43868e:	83 c4 10             	add    $0x10,%esp
438691:	5d                   	pop    %ebp
438692:	c3                   	ret
438693:	8b ff                	mov    %edi,%edi
438695:	55                   	push   %ebp
438696:	8b ec                	mov    %esp,%ebp
438698:	83 ec 30             	sub    $0x30,%esp
43869b:	53                   	push   %ebx
43869c:	ff 75 08             	push   0x8(%ebp)
43869f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4386a2:	e8 43 85 ff ff       	call   0x430bea
4386a7:	8b 45 10             	mov    0x10(%ebp),%eax
4386aa:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4386ad:	33 c9                	xor    %ecx,%ecx
4386af:	3b c1                	cmp    %ecx,%eax
4386b1:	74 02                	je     0x4386b5
4386b3:	89 18                	mov    %ebx,(%eax)
4386b5:	3b d9                	cmp    %ecx,%ebx
4386b7:	75 26                	jne    0x4386df
4386b9:	e8 ea c2 ff ff       	call   0x4349a8
4386be:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4386c4:	e8 a5 bc ff ff       	call   0x43436e
4386c9:	80 7d dc 00          	cmpb   $0x0,-0x24(%ebp)
4386cd:	74 07                	je     0x4386d6
4386cf:	8b 45 d8             	mov    -0x28(%ebp),%eax
4386d2:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4386d6:	33 c0                	xor    %eax,%eax
4386d8:	33 d2                	xor    %edx,%edx
4386da:	e9 58 02 00 00       	jmp    0x438937
4386df:	39 4d 14             	cmp    %ecx,0x14(%ebp)
4386e2:	74 0c                	je     0x4386f0
4386e4:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
4386e8:	7c cf                	jl     0x4386b9
4386ea:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
4386ee:	7f c9                	jg     0x4386b9
4386f0:	56                   	push   %esi
4386f1:	0f b7 33             	movzwl (%ebx),%esi
4386f4:	57                   	push   %edi
4386f5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4386f8:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4386fb:	8d 7b 02             	lea    0x2(%ebx),%edi
4386fe:	eb 06                	jmp    0x438706
438700:	0f b7 37             	movzwl (%edi),%esi
438703:	83 c7 02             	add    $0x2,%edi
438706:	6a 08                	push   $0x8
438708:	56                   	push   %esi
438709:	e8 d7 a0 ff ff       	call   0x4327e5
43870e:	59                   	pop    %ecx
43870f:	59                   	pop    %ecx
438710:	85 c0                	test   %eax,%eax
438712:	75 ec                	jne    0x438700
438714:	66 83 fe 2d          	cmp    $0x2d,%si
438718:	75 06                	jne    0x438720
43871a:	83 4d 18 02          	orl    $0x2,0x18(%ebp)
43871e:	eb 06                	jmp    0x438726
438720:	66 83 fe 2b          	cmp    $0x2b,%si
438724:	75 06                	jne    0x43872c
438726:	0f b7 37             	movzwl (%edi),%esi
438729:	83 c7 02             	add    $0x2,%edi
43872c:	8b 45 14             	mov    0x14(%ebp),%eax
43872f:	85 c0                	test   %eax,%eax
438731:	0f 88 e4 01 00 00    	js     0x43891b
438737:	83 f8 01             	cmp    $0x1,%eax
43873a:	0f 84 db 01 00 00    	je     0x43891b
438740:	83 f8 24             	cmp    $0x24,%eax
438743:	0f 8f d2 01 00 00    	jg     0x43891b
438749:	6a 10                	push   $0x10
43874b:	5b                   	pop    %ebx
43874c:	85 c0                	test   %eax,%eax
43874e:	75 2d                	jne    0x43877d
438750:	56                   	push   %esi
438751:	e8 da 97 00 00       	call   0x441f30
438756:	59                   	pop    %ecx
438757:	85 c0                	test   %eax,%eax
438759:	74 09                	je     0x438764
43875b:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
438762:	eb 3d                	jmp    0x4387a1
438764:	0f b7 07             	movzwl (%edi),%eax
438767:	83 f8 78             	cmp    $0x78,%eax
43876a:	74 0e                	je     0x43877a
43876c:	83 f8 58             	cmp    $0x58,%eax
43876f:	74 09                	je     0x43877a
438771:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
438778:	eb 27                	jmp    0x4387a1
43877a:	89 5d 14             	mov    %ebx,0x14(%ebp)
43877d:	39 5d 14             	cmp    %ebx,0x14(%ebp)
438780:	75 1f                	jne    0x4387a1
438782:	56                   	push   %esi
438783:	e8 a8 97 00 00       	call   0x441f30
438788:	59                   	pop    %ecx
438789:	85 c0                	test   %eax,%eax
43878b:	75 14                	jne    0x4387a1
43878d:	0f b7 07             	movzwl (%edi),%eax
438790:	83 f8 78             	cmp    $0x78,%eax
438793:	74 05                	je     0x43879a
438795:	83 f8 58             	cmp    $0x58,%eax
438798:	75 07                	jne    0x4387a1
43879a:	0f b7 77 02          	movzwl 0x2(%edi),%esi
43879e:	83 c7 04             	add    $0x4,%edi
4387a1:	8b 45 14             	mov    0x14(%ebp),%eax
4387a4:	99                   	cltd
4387a5:	52                   	push   %edx
4387a6:	50                   	push   %eax
4387a7:	6a ff                	push   $0xffffffff
4387a9:	6a ff                	push   $0xffffffff
4387ab:	89 45 e0             	mov    %eax,-0x20(%ebp)
4387ae:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4387b1:	e8 aa 6a 00 00       	call   0x43f260
4387b6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4387b9:	89 5d ec             	mov    %ebx,-0x14(%ebp)
4387bc:	89 45 f0             	mov    %eax,-0x10(%ebp)
4387bf:	89 55 f4             	mov    %edx,-0xc(%ebp)
4387c2:	56                   	push   %esi
4387c3:	e8 68 97 00 00       	call   0x441f30
4387c8:	8b d8                	mov    %eax,%ebx
4387ca:	59                   	pop    %ecx
4387cb:	83 fb ff             	cmp    $0xffffffff,%ebx
4387ce:	75 29                	jne    0x4387f9
4387d0:	6a 41                	push   $0x41
4387d2:	58                   	pop    %eax
4387d3:	66 3b c6             	cmp    %si,%ax
4387d6:	77 06                	ja     0x4387de
4387d8:	66 83 fe 5a          	cmp    $0x5a,%si
4387dc:	76 09                	jbe    0x4387e7
4387de:	8d 46 9f             	lea    -0x61(%esi),%eax
4387e1:	66 83 f8 19          	cmp    $0x19,%ax
4387e5:	77 52                	ja     0x438839
4387e7:	8d 46 9f             	lea    -0x61(%esi),%eax
4387ea:	66 83 f8 19          	cmp    $0x19,%ax
4387ee:	0f b7 c6             	movzwl %si,%eax
4387f1:	77 03                	ja     0x4387f6
4387f3:	83 e8 20             	sub    $0x20,%eax
4387f6:	8d 58 c9             	lea    -0x37(%eax),%ebx
4387f9:	3b 5d 14             	cmp    0x14(%ebp),%ebx
4387fc:	73 3b                	jae    0x438839
4387fe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438801:	83 4d 18 08          	orl    $0x8,0x18(%ebp)
438805:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
438808:	72 4e                	jb     0x438858
43880a:	77 08                	ja     0x438814
43880c:	8b 45 f8             	mov    -0x8(%ebp),%eax
43880f:	3b 45 f0             	cmp    -0x10(%ebp),%eax
438812:	72 44                	jb     0x438858
438814:	8b 45 f0             	mov    -0x10(%ebp),%eax
438817:	39 45 f8             	cmp    %eax,-0x8(%ebp)
43881a:	75 13                	jne    0x43882f
43881c:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
43881f:	75 0e                	jne    0x43882f
438821:	33 c0                	xor    %eax,%eax
438823:	3b 45 ec             	cmp    -0x14(%ebp),%eax
438826:	72 30                	jb     0x438858
438828:	77 05                	ja     0x43882f
43882a:	3b 5d e8             	cmp    -0x18(%ebp),%ebx
43882d:	76 29                	jbe    0x438858
43882f:	83 4d 18 04          	orl    $0x4,0x18(%ebp)
438833:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
438837:	75 3a                	jne    0x438873
438839:	8b 45 18             	mov    0x18(%ebp),%eax
43883c:	83 ef 02             	sub    $0x2,%edi
43883f:	a8 08                	test   $0x8,%al
438841:	75 3b                	jne    0x43887e
438843:	33 c0                	xor    %eax,%eax
438845:	39 45 10             	cmp    %eax,0x10(%ebp)
438848:	74 03                	je     0x43884d
43884a:	8b 7d 0c             	mov    0xc(%ebp),%edi
43884d:	89 45 f8             	mov    %eax,-0x8(%ebp)
438850:	89 45 fc             	mov    %eax,-0x4(%ebp)
438853:	e9 8c 00 00 00       	jmp    0x4388e4
438858:	51                   	push   %ecx
438859:	ff 75 f8             	push   -0x8(%ebp)
43885c:	ff 75 e4             	push   -0x1c(%ebp)
43885f:	ff 75 e0             	push   -0x20(%ebp)
438862:	e8 79 93 00 00       	call   0x441be0
438867:	33 c9                	xor    %ecx,%ecx
438869:	03 c3                	add    %ebx,%eax
43886b:	13 d1                	adc    %ecx,%edx
43886d:	89 45 f8             	mov    %eax,-0x8(%ebp)
438870:	89 55 fc             	mov    %edx,-0x4(%ebp)
438873:	0f b7 37             	movzwl (%edi),%esi
438876:	83 c7 02             	add    $0x2,%edi
438879:	e9 44 ff ff ff       	jmp    0x4387c2
43887e:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
438883:	bb 00 00 00 80       	mov    $0x80000000,%ebx
438888:	a8 04                	test   $0x4,%al
43888a:	75 27                	jne    0x4388b3
43888c:	a8 01                	test   $0x1,%al
43888e:	75 54                	jne    0x4388e4
438890:	83 e0 02             	and    $0x2,%eax
438893:	74 0d                	je     0x4388a2
438895:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
438898:	77 19                	ja     0x4388b3
43889a:	72 06                	jb     0x4388a2
43889c:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4388a0:	77 11                	ja     0x4388b3
4388a2:	85 c0                	test   %eax,%eax
4388a4:	75 3e                	jne    0x4388e4
4388a6:	39 75 fc             	cmp    %esi,-0x4(%ebp)
4388a9:	72 39                	jb     0x4388e4
4388ab:	77 06                	ja     0x4388b3
4388ad:	83 7d f8 ff          	cmpl   $0xffffffff,-0x8(%ebp)
4388b1:	76 31                	jbe    0x4388e4
4388b3:	e8 f0 c0 ff ff       	call   0x4349a8
4388b8:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
4388bc:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4388c2:	74 0a                	je     0x4388ce
4388c4:	83 4d f8 ff          	orl    $0xffffffff,-0x8(%ebp)
4388c8:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4388cc:	eb 16                	jmp    0x4388e4
4388ce:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
4388d2:	74 09                	je     0x4388dd
4388d4:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4388d8:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4388db:	eb 07                	jmp    0x4388e4
4388dd:	83 4d f8 ff          	orl    $0xffffffff,-0x8(%ebp)
4388e1:	89 75 fc             	mov    %esi,-0x4(%ebp)
4388e4:	8b 45 10             	mov    0x10(%ebp),%eax
4388e7:	85 c0                	test   %eax,%eax
4388e9:	74 02                	je     0x4388ed
4388eb:	89 38                	mov    %edi,(%eax)
4388ed:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
4388f1:	74 13                	je     0x438906
4388f3:	8b 45 f8             	mov    -0x8(%ebp),%eax
4388f6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4388f9:	f7 d8                	neg    %eax
4388fb:	83 d1 00             	adc    $0x0,%ecx
4388fe:	f7 d9                	neg    %ecx
438900:	89 45 f8             	mov    %eax,-0x8(%ebp)
438903:	89 4d fc             	mov    %ecx,-0x4(%ebp)
438906:	80 7d dc 00          	cmpb   $0x0,-0x24(%ebp)
43890a:	74 07                	je     0x438913
43890c:	8b 45 d8             	mov    -0x28(%ebp),%eax
43890f:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
438913:	8b 45 f8             	mov    -0x8(%ebp),%eax
438916:	8b 55 fc             	mov    -0x4(%ebp),%edx
438919:	eb 1a                	jmp    0x438935
43891b:	8b 45 10             	mov    0x10(%ebp),%eax
43891e:	85 c0                	test   %eax,%eax
438920:	74 02                	je     0x438924
438922:	89 18                	mov    %ebx,(%eax)
438924:	80 7d dc 00          	cmpb   $0x0,-0x24(%ebp)
438928:	74 07                	je     0x438931
43892a:	8b 45 d8             	mov    -0x28(%ebp),%eax
43892d:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
438931:	33 c0                	xor    %eax,%eax
438933:	33 d2                	xor    %edx,%edx
438935:	5f                   	pop    %edi
438936:	5e                   	pop    %esi
438937:	5b                   	pop    %ebx
438938:	c9                   	leave
438939:	c3                   	ret
43893a:	8b ff                	mov    %edi,%edi
43893c:	55                   	push   %ebp
43893d:	8b ec                	mov    %esp,%ebp
43893f:	33 c0                	xor    %eax,%eax
438941:	50                   	push   %eax
438942:	ff 75 10             	push   0x10(%ebp)
438945:	ff 75 0c             	push   0xc(%ebp)
438948:	ff 75 08             	push   0x8(%ebp)
43894b:	39 05 c4 10 47 00    	cmp    %eax,0x4710c4
438951:	75 07                	jne    0x43895a
438953:	68 1c fe 46 00       	push   $0x46fe1c
438958:	eb 01                	jmp    0x43895b
43895a:	50                   	push   %eax
43895b:	e8 33 fd ff ff       	call   0x438693
438960:	83 c4 14             	add    $0x14,%esp
438963:	5d                   	pop    %ebp
438964:	c3                   	ret
438965:	8b ff                	mov    %edi,%edi
438967:	55                   	push   %ebp
438968:	8b ec                	mov    %esp,%ebp
43896a:	6a 00                	push   $0x0
43896c:	ff 75 10             	push   0x10(%ebp)
43896f:	ff 75 0c             	push   0xc(%ebp)
438972:	ff 75 08             	push   0x8(%ebp)
438975:	ff 75 14             	push   0x14(%ebp)
438978:	e8 16 fd ff ff       	call   0x438693
43897d:	83 c4 14             	add    $0x14,%esp
438980:	5d                   	pop    %ebp
438981:	c3                   	ret
438982:	8b ff                	mov    %edi,%edi
438984:	55                   	push   %ebp
438985:	8b ec                	mov    %esp,%ebp
438987:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
43898e:	6a 01                	push   $0x1
438990:	ff 75 10             	push   0x10(%ebp)
438993:	ff 75 0c             	push   0xc(%ebp)
438996:	ff 75 08             	push   0x8(%ebp)
438999:	75 07                	jne    0x4389a2
43899b:	68 1c fe 46 00       	push   $0x46fe1c
4389a0:	eb 02                	jmp    0x4389a4
4389a2:	6a 00                	push   $0x0
4389a4:	e8 ea fc ff ff       	call   0x438693
4389a9:	83 c4 14             	add    $0x14,%esp
4389ac:	5d                   	pop    %ebp
4389ad:	c3                   	ret
4389ae:	8b ff                	mov    %edi,%edi
4389b0:	55                   	push   %ebp
4389b1:	8b ec                	mov    %esp,%ebp
4389b3:	6a 01                	push   $0x1
4389b5:	ff 75 10             	push   0x10(%ebp)
4389b8:	ff 75 0c             	push   0xc(%ebp)
4389bb:	ff 75 08             	push   0x8(%ebp)
4389be:	ff 75 14             	push   0x14(%ebp)
4389c1:	e8 cd fc ff ff       	call   0x438693
4389c6:	83 c4 14             	add    $0x14,%esp
4389c9:	5d                   	pop    %ebp
4389ca:	c3                   	ret
4389cb:	66 0f ef c0          	pxor   %xmm0,%xmm0
4389cf:	51                   	push   %ecx
4389d0:	53                   	push   %ebx
4389d1:	8b c1                	mov    %ecx,%eax
4389d3:	83 e0 0f             	and    $0xf,%eax
4389d6:	85 c0                	test   %eax,%eax
4389d8:	75 7f                	jne    0x438a59
4389da:	8b c2                	mov    %edx,%eax