473672:	e8 e7 be fa ff       	call   0x41f55e
473677:	8b 75 0c             	mov    0xc(%ebp),%esi
47367a:	59                   	pop    %ecx
47367b:	8d 45 e0             	lea    -0x20(%ebp),%eax
47367e:	50                   	push   %eax
47367f:	8d 4d d0             	lea    -0x30(%ebp),%ecx
473682:	e8 fe 83 f9 ff       	call   0x40ba85
473687:	83 7d ec 7f          	cmpl   $0x7f,-0x14(%ebp)
47368b:	0f 85 c1 fe ff ff    	jne    0x473552
473691:	8b 4f 4c             	mov    0x4c(%edi),%ecx
473694:	03 4d f8             	add    -0x8(%ebp),%ecx
473697:	8d 45 d0             	lea    -0x30(%ebp),%eax
47369a:	50                   	push   %eax
47369b:	e8 39 17 f9 ff       	call   0x404dd9
4736a0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4736a3:	83 45 f8 10          	addl   $0x10,-0x8(%ebp)
4736a7:	40                   	inc    %eax
4736a8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4736ab:	3b 47 10             	cmp    0x10(%edi),%eax
4736ae:	0f 8e 96 fe ff ff    	jle    0x47354a
4736b4:	ff 75 10             	push   0x10(%ebp)
4736b7:	e8 e1 e5 fa ff       	call   0x421c9d
4736bc:	59                   	pop    %ecx
4736bd:	8d 4d 98             	lea    -0x68(%ebp),%ecx
4736c0:	e8 8d 0b f9 ff       	call   0x404252
4736c5:	b3 01                	mov    $0x1,%bl
4736c7:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4736ca:	e8 42 18 f9 ff       	call   0x404f11
4736cf:	8d 4d e0             	lea    -0x20(%ebp),%ecx
4736d2:	e8 1e a2 fa ff       	call   0x41d8f5
4736d7:	e9 c4 0a f9 ff       	jmp    0x4041a0
4736dc:	8b 45 f4             	mov    -0xc(%ebp),%eax
4736df:	68 00 dc 49 00       	push   $0x49dc00
4736e4:	68 00 35 4b 00       	push   $0x4b3500
4736e9:	50                   	push   %eax
4736ea:	ff 75 08             	push   0x8(%ebp)
4736ed:	8b cf                	mov    %edi,%ecx
4736ef:	e8 c1 ee fc ff       	call   0x4425b5
4736f4:	56                   	push   %esi
4736f5:	e8 64 be fa ff       	call   0x41f55e
4736fa:	59                   	pop    %ecx
4736fb:	ff 75 10             	push   0x10(%ebp)
4736fe:	e8 9a e5 fa ff       	call   0x421c9d
473703:	59                   	pop    %ecx
473704:	8d 4d 98             	lea    -0x68(%ebp),%ecx
473707:	e8 46 0b f9 ff       	call   0x404252
47370c:	eb b9                	jmp    0x4736c7
47370e:	33 c0                	xor    %eax,%eax
473710:	66 89 85 a8 ff fe ff 	mov    %ax,-0x10058(%ebp)
473717:	8b 45 14             	mov    0x14(%ebp),%eax
47371a:	6a 58                	push   $0x58
47371c:	c6 00 01             	movb   $0x1,(%eax)
47371f:	8d 45 a8             	lea    -0x58(%ebp),%eax
473722:	6a 00                	push   $0x0
473724:	50                   	push   %eax
473725:	e8 26 d6 fa ff       	call   0x420d50
47372a:	83 65 ac 00          	andl   $0x0,-0x54(%ebp)
47372e:	8d 85 a8 ff fe ff    	lea    -0x10058(%ebp),%eax
473734:	83 c4 0c             	add    $0xc,%esp
473737:	89 45 c4             	mov    %eax,-0x3c(%ebp)
47373a:	8d 45 a8             	lea    -0x58(%ebp),%eax
47373d:	50                   	push   %eax
47373e:	c7 45 a8 58 00 00 00 	movl   $0x58,-0x58(%ebp)
473745:	c7 45 d8 74 33 4b 00 	movl   $0x4b3374,-0x28(%ebp)
47374c:	c7 45 c8 ff 7f 00 00 	movl   $0x7fff,-0x38(%ebp)
473753:	c7 45 b4 90 33 4b 00 	movl   $0x4b3390,-0x4c(%ebp)
47375a:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
473761:	c7 45 dc 04 18 00 00 	movl   $0x1804,-0x24(%ebp)
473768:	c7 45 e4 18 34 4b 00 	movl   $0x4b3418,-0x1c(%ebp)
47376f:	ff 15 bc d0 48 00    	call   *0x48d0bc
473775:	85 c0                	test   %eax,%eax
473777:	75 07                	jne    0x473780
473779:	32 c0                	xor    %al,%al
47377b:	e9 b3 09 f9 ff       	jmp    0x404133
473780:	8d 85 a8 ff fe ff    	lea    -0x10058(%ebp),%eax
473786:	50                   	push   %eax
473787:	8b ce                	mov    %esi,%ecx
473789:	e8 d5 32 f9 ff       	call   0x406a63
47378e:	e9 78 09 f9 ff       	jmp    0x40410b
473793:	66 83 79 08 05       	cmpw   $0x5,0x8(%ecx)
473798:	0f 85 57 87 f9 ff    	jne    0x40bef5
47379e:	83 fa 02             	cmp    $0x2,%edx
4737a1:	0f 86 4e 87 f9 ff    	jbe    0x40bef5
4737a7:	8b 44 93 f8          	mov    -0x8(%ebx,%edx,4),%eax
4737ab:	0f b7 78 08          	movzwl 0x8(%eax),%edi
4737af:	8b 44 93 f4          	mov    -0xc(%ebx,%edx,4),%eax
4737b3:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4737b7:	66 83 ff 49          	cmp    $0x49,%di
4737bb:	74 1f                	je     0x4737dc
4737bd:	66 83 ff 4a          	cmp    $0x4a,%di
4737c1:	74 19                	je     0x4737dc
4737c3:	66 83 ff 4c          	cmp    $0x4c,%di
4737c7:	74 13                	je     0x4737dc
4737c9:	6a 30                	push   $0x30
4737cb:	59                   	pop    %ecx
4737cc:	66 85 ff             	test   %di,%di
4737cf:	74 2d                	je     0x4737fe
4737d1:	66 3b f9             	cmp    %cx,%di
4737d4:	0f 85 1b 87 f9 ff    	jne    0x40bef5
4737da:	eb 22                	jmp    0x4737fe
4737dc:	83 fa 03             	cmp    $0x3,%edx
4737df:	0f 86 10 87 f9 ff    	jbe    0x40bef5
4737e5:	6a 30                	push   $0x30
4737e7:	59                   	pop    %ecx
4737e8:	66 85 c0             	test   %ax,%ax
4737eb:	74 09                	je     0x4737f6
4737ed:	66 3b c1             	cmp    %cx,%ax
4737f0:	0f 85 ff 86 f9 ff    	jne    0x40bef5
4737f6:	8b 44 93 f0          	mov    -0x10(%ebx,%edx,4),%eax
4737fa:	0f b7 40 08          	movzwl 0x8(%eax),%eax
4737fe:	66 85 c0             	test   %ax,%ax
473801:	0f 84 ec 86 f9 ff    	je     0x40bef3
473807:	66 3b c1             	cmp    %cx,%ax
47380a:	0f 85 e5 86 f9 ff    	jne    0x40bef5
473810:	e9 de 86 f9 ff       	jmp    0x40bef3
473815:	8b 47 54             	mov    0x54(%edi),%eax
473818:	8b 04 98             	mov    (%eax,%ebx,4),%eax
47381b:	8b 08                	mov    (%eax),%ecx
47381d:	85 c9                	test   %ecx,%ecx
47381f:	74 06                	je     0x473827
473821:	8b 01                	mov    (%ecx),%eax
473823:	6a 01                	push   $0x1
473825:	ff 10                	call   *(%eax)
473827:	43                   	inc    %ebx
473828:	3b 5f 58             	cmp    0x58(%edi),%ebx
47382b:	72 e8                	jb     0x473815
47382d:	e9 f2 1a f9 ff       	jmp    0x405324
473832:	8b 03                	mov    (%ebx),%eax
473834:	89 06                	mov    %eax,(%esi)
473836:	8b 43 04             	mov    0x4(%ebx),%eax
473839:	89 46 04             	mov    %eax,0x4(%esi)
47383c:	e9 9f 82 f9 ff       	jmp    0x40bae0
473841:	33 f6                	xor    %esi,%esi
473843:	e9 99 82 f9 ff       	jmp    0x40bae1
473848:	47                   	inc    %edi
473849:	6a 53                	push   $0x53
47384b:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47384e:	89 7d f8             	mov    %edi,-0x8(%ebp)
473851:	e8 a6 83 f9 ff       	call   0x40bbfc
473856:	e9 29 7e f9 ff       	jmp    0x40b684
47385b:	47                   	inc    %edi
47385c:	6a 54                	push   $0x54
47385e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
473861:	89 7d f8             	mov    %edi,-0x8(%ebp)
473864:	e8 93 83 f9 ff       	call   0x40bbfc
473869:	e9 16 7e f9 ff       	jmp    0x40b684
47386e:	6a 51                	push   $0x51
473870:	8d 4d e8             	lea    -0x18(%ebp),%ecx
473873:	e8 84 83 f9 ff       	call   0x40bbfc
473878:	8b 4d 10             	mov    0x10(%ebp),%ecx
47387b:	8d 45 e8             	lea    -0x18(%ebp),%eax
47387e:	50                   	push   %eax
47387f:	e8 01 82 f9 ff       	call   0x40ba85
473884:	47                   	inc    %edi
473885:	89 7d f8             	mov    %edi,-0x8(%ebp)
473888:	e9 03 7e f9 ff       	jmp    0x40b690
47388d:	6a 57                	push   $0x57
47388f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
473892:	e8 65 83 f9 ff       	call   0x40bbfc
473897:	8b 4d 10             	mov    0x10(%ebp),%ecx
47389a:	8d 45 e8             	lea    -0x18(%ebp),%eax
47389d:	50                   	push   %eax
47389e:	e8 e2 81 f9 ff       	call   0x40ba85
4738a3:	47                   	inc    %edi
4738a4:	89 7d f8             	mov    %edi,-0x8(%ebp)
4738a7:	e9 e4 7d f9 ff       	jmp    0x40b690
4738ac:	6a 58                	push   $0x58
4738ae:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4738b1:	e8 46 83 f9 ff       	call   0x40bbfc
4738b6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4738b9:	8d 45 e8             	lea    -0x18(%ebp),%eax
4738bc:	50                   	push   %eax
4738bd:	e8 c3 81 f9 ff       	call   0x40ba85
4738c2:	47                   	inc    %edi
4738c3:	89 7d f8             	mov    %edi,-0x8(%ebp)
4738c6:	e9 c5 7d f9 ff       	jmp    0x40b690
4738cb:	85 ff                	test   %edi,%edi
4738cd:	0f 85 a8 00 00 00    	jne    0x47397b
4738d3:	66 39 7b 02          	cmp    %di,0x2(%ebx)
4738d7:	0f 85 9e 00 00 00    	jne    0x47397b
4738dd:	8b 45 08             	mov    0x8(%ebp),%eax
4738e0:	3b 05 10 21 4c 00    	cmp    0x4c2110,%eax
4738e6:	0f 8c 8f 00 00 00    	jl     0x47397b
4738ec:	bf 01 00 00 00       	mov    $0x1,%edi
4738f1:	89 7d f8             	mov    %edi,-0x8(%ebp)
4738f4:	e9 97 7d f9 ff       	jmp    0x40b690
4738f9:	6a 50                	push   $0x50
4738fb:	e8 fc 82 f9 ff       	call   0x40bbfc
473900:	47                   	inc    %edi
473901:	89 7d f8             	mov    %edi,-0x8(%ebp)
473904:	e9 7b 7d f9 ff       	jmp    0x40b684
473909:	48                   	dec    %eax
47390a:	89 01                	mov    %eax,(%ecx)
47390c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
47390f:	e8 36 32 f9 ff       	call   0x406b4a
473914:	8b 45 dc             	mov    -0x24(%ebp),%eax
473917:	83 c0 02             	add    $0x2,%eax
47391a:	50                   	push   %eax
47391b:	e8 d6 31 f9 ff       	call   0x406af6
473920:	33 c9                	xor    %ecx,%ecx
473922:	89 45 e0             	mov    %eax,-0x20(%ebp)
473925:	ba 02 00 00 00       	mov    $0x2,%edx
47392a:	f7 e2                	mul    %edx
47392c:	0f 90 c1             	seto   %cl
47392f:	f7 d9                	neg    %ecx
473931:	0b c8                	or     %eax,%ecx
473933:	51                   	push   %ecx
473934:	e8 b1 bb fa ff       	call   0x41f4ea
473939:	8b d0                	mov    %eax,%edx
47393b:	8b 45 dc             	mov    -0x24(%ebp),%eax
47393e:	83 c4 04             	add    $0x4,%esp
473941:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
473948:	51                   	push   %ecx
473949:	ff 75 d8             	push   -0x28(%ebp)
47394c:	89 55 0c             	mov    %edx,0xc(%ebp)
47394f:	52                   	push   %edx
473950:	e8 2b b5 fa ff       	call   0x41ee80
473955:	8b 4d 0c             	mov    0xc(%ebp),%ecx
473958:	83 c4 0c             	add    $0xc,%esp
47395b:	89 4d d8             	mov    %ecx,-0x28(%ebp)
47395e:	e9 c7 7c f9 ff       	jmp    0x40b62a
473963:	ff 75 f8             	push   -0x8(%ebp)
473966:	68 8c 13 00 00       	push   $0x138c
47396b:	ff 75 08             	push   0x8(%ebp)
47396e:	e8 49 ed fc ff       	call   0x4426bc
473973:	83 ce ff             	or     $0xffffffff,%esi
473976:	e9 3c 7d f9 ff       	jmp    0x40b6b7
47397b:	57                   	push   %edi
47397c:	68 88 13 00 00       	push   $0x1388
473981:	ff 75 08             	push   0x8(%ebp)
473984:	e8 33 ed fc ff       	call   0x4426bc
473989:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47398c:	6a 7f                	push   $0x7f
47398e:	e8 69 82 f9 ff       	call   0x40bbfc
473993:	8b 4d 10             	mov    0x10(%ebp),%ecx
473996:	8d 45 e8             	lea    -0x18(%ebp),%eax
473999:	50                   	push   %eax
47399a:	e8 e6 80 f9 ff       	call   0x40ba85
47399f:	83 ce ff             	or     $0xffffffff,%esi
4739a2:	e9 10 7d f9 ff       	jmp    0x40b6b7
4739a7:	68 8b 13 00 00       	push   $0x138b
4739ac:	ff 75 08             	push   0x8(%ebp)
4739af:	e8 08 ed fc ff       	call   0x4426bc
4739b4:	83 ce ff             	or     $0xffffffff,%esi
4739b7:	e9 fb 7c f9 ff       	jmp    0x40b6b7
4739bc:	8b 75 10             	mov    0x10(%ebp),%esi
4739bf:	6a ff                	push   $0xffffffff
4739c1:	8b ce                	mov    %esi,%ecx
4739c3:	e8 34 82 f9 ff       	call   0x40bbfc
4739c8:	83 0e ff             	orl    $0xffffffff,(%esi)
4739cb:	e9 59 8d f9 ff       	jmp    0x40c729
4739d0:	83 f8 66             	cmp    $0x66,%eax
4739d3:	0f 86 8e 8b f9 ff    	jbe    0x40c567
4739d9:	e9 bb 8b f9 ff       	jmp    0x40c599
4739de:	83 f8 46             	cmp    $0x46,%eax
4739e1:	0f 87 be 8b f9 ff    	ja     0x40c5a5
4739e7:	e9 7b 8b f9 ff       	jmp    0x40c567
4739ec:	f6 c3 08             	test   $0x8,%bl
4739ef:	0f 84 89 8a f9 ff    	je     0x40c47e
4739f5:	6a 31                	push   $0x31
4739f7:	5b                   	pop    %ebx
4739f8:	e9 81 8a f9 ff       	jmp    0x40c47e
4739fd:	53                   	push   %ebx
4739fe:	68 8a 13 00 00       	push   $0x138a
473a03:	ff 75 08             	push   0x8(%ebp)
473a06:	e8 b1 ec fc ff       	call   0x4426bc
473a0b:	83 c8 ff             	or     $0xffffffff,%eax
473a0e:	e9 7c 8c f9 ff       	jmp    0x40c68f
473a13:	8d 4d e0             	lea    -0x20(%ebp),%ecx
473a16:	e8 1c 91 f9 ff       	call   0x40cb37
473a1b:	32 c0                	xor    %al,%al
473a1d:	e9 09 e6 f8 ff       	jmp    0x40202b
473a22:	66 3b 45 f4          	cmp    -0xc(%ebp),%ax
473a26:	75 05                	jne    0x473a2d
473a28:	8b 45 10             	mov    0x10(%ebp),%eax
473a2b:	eb 1f                	jmp    0x473a4c
473a2d:	66 3b c1             	cmp    %cx,%ax
473a30:	75 05                	jne    0x473a37
473a32:	8b 45 14             	mov    0x14(%ebp),%eax
473a35:	eb 15                	jmp    0x473a4c
473a37:	66 3b c2             	cmp    %dx,%ax
473a3a:	75 05                	jne    0x473a41
473a3c:	8b 45 18             	mov    0x18(%ebp),%eax
473a3f:	eb 0b                	jmp    0x473a4c
473a41:	6a 23                	push   $0x23
473a43:	59                   	pop    %ecx
473a44:	66 3b c1             	cmp    %cx,%ax
473a47:	75 05                	jne    0x473a4e
473a49:	8b 45 1c             	mov    0x1c(%ebp),%eax
473a4c:	88 18                	mov    %bl,(%eax)
473a4e:	47                   	inc    %edi
473a4f:	e9 19 e5 f8 ff       	jmp    0x401f6d
473a54:	6a 00                	push   $0x0
473a56:	8d 4d e0             	lea    -0x20(%ebp),%ecx
473a59:	e8 48 27 f9 ff       	call   0x4061a6
473a5e:	0f b7 00             	movzwl (%eax),%eax
473a61:	50                   	push   %eax
473a62:	ff 15 e8 d5 48 00    	call   *0x48d5e8
473a68:	98                   	cwtl
473a69:	89 07                	mov    %eax,(%edi)
473a6b:	83 f8 ff             	cmp    $0xffffffff,%eax
473a6e:	74 a3                	je     0x473a13
473a70:	a9 00 02 00 00       	test   $0x200,%eax
473a75:	74 05                	je     0x473a7c
473a77:	8b 4d 14             	mov    0x14(%ebp),%ecx
473a7a:	88 19                	mov    %bl,(%ecx)
473a7c:	a9 00 04 00 00       	test   $0x400,%eax
473a81:	74 05                	je     0x473a88
473a83:	8b 4d 18             	mov    0x18(%ebp),%ecx
473a86:	88 19                	mov    %bl,(%ecx)
473a88:	a9 00 01 00 00       	test   $0x100,%eax
473a8d:	0f 84 88 e5 f8 ff    	je     0x40201b
473a93:	8b 45 10             	mov    0x10(%ebp),%eax
473a96:	88 18                	mov    %bl,(%eax)
473a98:	e9 7e e5 f8 ff       	jmp    0x40201b
473a9d:	50                   	push   %eax
473a9e:	ff 15 e8 d5 48 00    	call   *0x48d5e8
473aa4:	98                   	cwtl
473aa5:	89 07                	mov    %eax,(%edi)
473aa7:	83 f8 ff             	cmp    $0xffffffff,%eax
473aaa:	0f 84 6b ff ff ff    	je     0x473a1b
473ab0:	a9 00 02 00 00       	test   $0x200,%eax
473ab5:	74 05                	je     0x473abc
473ab7:	8b 4d 14             	mov    0x14(%ebp),%ecx
473aba:	88 19                	mov    %bl,(%ecx)
473abc:	a9 00 04 00 00       	test   $0x400,%eax
473ac1:	74 05                	je     0x473ac8
473ac3:	8b 4d 18             	mov    0x18(%ebp),%ecx
473ac6:	88 19                	mov    %bl,(%ecx)
473ac8:	a9 00 01 00 00       	test   $0x100,%eax
473acd:	0f 84 50 e5 f8 ff    	je     0x402023
473ad3:	8b 45 10             	mov    0x10(%ebp),%eax
473ad6:	88 18                	mov    %bl,(%eax)
473ad8:	e9 46 e5 f8 ff       	jmp    0x402023
473add:	57                   	push   %edi
473ade:	33 ff                	xor    %edi,%edi
473ae0:	85 f6                	test   %esi,%esi
473ae2:	75 0e                	jne    0x473af2
473ae4:	57                   	push   %edi
473ae5:	68 ec 35 4b 00       	push   $0x4b35ec
473aea:	ff 15 c8 d5 48 00    	call   *0x48d5c8
473af0:	8b f0                	mov    %eax,%esi
473af2:	53                   	push   %ebx
473af3:	ff 15 c4 d5 48 00    	call   *0x48d5c4
473af9:	85 c0                	test   %eax,%eax
473afb:	74 09                	je     0x473b06
473afd:	6a 09                	push   $0x9
473aff:	53                   	push   %ebx
473b00:	ff 15 04 d7 48 00    	call   *0x48d704
473b06:	53                   	push   %ebx