479664:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
479667:	51                   	push   %ecx
479668:	57                   	push   %edi
479669:	56                   	push   %esi
47966a:	ff 50 0c             	call   *0xc(%eax)
47966d:	8b f0                	mov    %eax,%esi
47966f:	85 f6                	test   %esi,%esi
479671:	79 17                	jns    0x47968a
479673:	8b cb                	mov    %ebx,%ecx
479675:	e8 a6 03 f9 ff       	call   0x409a20
47967a:	33 c0                	xor    %eax,%eax
47967c:	89 7b 0c             	mov    %edi,0xc(%ebx)
47967f:	57                   	push   %edi
479680:	50                   	push   %eax
479681:	50                   	push   %eax
479682:	89 03                	mov    %eax,(%ebx)
479684:	56                   	push   %esi
479685:	e9 19 ff ff ff       	jmp    0x4795a3
47968a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
47968e:	74 04                	je     0x479694
479690:	3b f7                	cmp    %edi,%esi
479692:	75 11                	jne    0x4796a5
479694:	8b cb                	mov    %ebx,%ecx
479696:	66 89 7d c4          	mov    %di,-0x3c(%ebp)
47969a:	e8 81 03 f9 ff       	call   0x409a20
47969f:	83 23 00             	andl   $0x0,(%ebx)
4796a2:	89 7b 0c             	mov    %edi,0xc(%ebx)
4796a5:	8b 4d 10             	mov    0x10(%ebp),%ecx
4796a8:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4796ab:	50                   	push   %eax
4796ac:	e8 53 e1 fe ff       	call   0x467804
4796b1:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4796b4:	50                   	push   %eax
4796b5:	ff 15 5c f4 48 00    	call   *0x48f45c
4796bb:	33 c0                	xor    %eax,%eax
4796bd:	eb 13                	jmp    0x4796d2
4796bf:	33 ff                	xor    %edi,%edi
4796c1:	47                   	inc    %edi
4796c2:	57                   	push   %edi
4796c3:	68 40 ab 4b 00       	push   $0x4bab40
4796c8:	6a 00                	push   $0x0
4796ca:	57                   	push   %edi
4796cb:	8b ce                	mov    %esi,%ecx
4796cd:	e8 09 00 00 00       	call   0x4796db
4796d2:	5f                   	pop    %edi
4796d3:	5e                   	pop    %esi
4796d4:	5b                   	pop    %ebx
4796d5:	8b e5                	mov    %ebp,%esp
4796d7:	5d                   	pop    %ebp
4796d8:	c2 0c 00             	ret    $0xc
4796db:	55                   	push   %ebp
4796dc:	8b ec                	mov    %esp,%ebp
4796de:	83 ec 5c             	sub    $0x5c,%esp
4796e1:	53                   	push   %ebx
4796e2:	56                   	push   %esi
4796e3:	8b f1                	mov    %ecx,%esi
4796e5:	33 db                	xor    %ebx,%ebx
4796e7:	57                   	push   %edi
4796e8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4796eb:	39 9e 7c 01 00 00    	cmp    %ebx,0x17c(%esi)
4796f1:	75 1e                	jne    0x479711
4796f3:	8b 06                	mov    (%esi),%eax
4796f5:	53                   	push   %ebx
4796f6:	ff 75 08             	push   0x8(%ebp)
4796f9:	8b 48 04             	mov    0x4(%eax),%ecx
4796fc:	03 ce                	add    %esi,%ecx
4796fe:	e8 a0 d3 fd ff       	call   0x456aa3
479703:	33 c0                	xor    %eax,%eax
479705:	38 45 14             	cmp    %al,0x14(%ebp)
479708:	0f 94 c0             	sete   %al
47970b:	48                   	dec    %eax
47970c:	e9 58 03 00 00       	jmp    0x479a69
479711:	38 1d 00 7f 4c 00    	cmp    %bl,0x4c7f00
479717:	0f 85 4a 03 00 00    	jne    0x479a67
47971d:	8b 8e 7c 01 00 00    	mov    0x17c(%esi),%ecx
479723:	8b 86 78 01 00 00    	mov    0x178(%esi),%eax
479729:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
47972d:	8b 38                	mov    (%eax),%edi
47972f:	8b cf                	mov    %edi,%ecx
479731:	e8 ad 33 fe ff       	call   0x45cae3
479736:	8b 4f 1c             	mov    0x1c(%edi),%ecx
479739:	8b 45 08             	mov    0x8(%ebp),%eax
47973c:	89 5d c0             	mov    %ebx,-0x40(%ebp)
47973f:	33 db                	xor    %ebx,%ebx
479741:	89 45 b8             	mov    %eax,-0x48(%ebp)
479744:	43                   	inc    %ebx
479745:	8b 09                	mov    (%ecx),%ecx
479747:	8d 45 b8             	lea    -0x48(%ebp),%eax
47974a:	50                   	push   %eax
47974b:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
47974e:	e8 89 d9 fd ff       	call   0x4570dc
479753:	8d 4d b8             	lea    -0x48(%ebp),%ecx
479756:	e8 c5 02 f9 ff       	call   0x409a20
47975b:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
47975f:	74 0d                	je     0x47976e
479761:	ff 75 10             	push   0x10(%ebp)
479764:	8d 4d c8             	lea    -0x38(%ebp),%ecx
479767:	e8 d5 e7 f8 ff       	call   0x407f41
47976c:	eb 0f                	jmp    0x47977d
47976e:	6a 02                	push   $0x2
479770:	5b                   	pop    %ebx
479771:	ff 75 08             	push   0x8(%ebp)
479774:	8d 45 b8             	lea    -0x48(%ebp),%eax
479777:	50                   	push   %eax
479778:	e8 58 0b ff ff       	call   0x46a2d5
47977d:	50                   	push   %eax
47977e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
479781:	e8 64 fc f8 ff       	call   0x4093ea
479786:	8b 4f 1c             	mov    0x1c(%edi),%ecx
479789:	8d 45 a8             	lea    -0x58(%ebp),%eax
47978c:	50                   	push   %eax
47978d:	8b 49 04             	mov    0x4(%ecx),%ecx
479790:	e8 47 d9 fd ff       	call   0x4570dc
479795:	8d 4d a8             	lea    -0x58(%ebp),%ecx
479798:	e8 83 02 f9 ff       	call   0x409a20
47979d:	f6 c3 02             	test   $0x2,%bl
4797a0:	74 0b                	je     0x4797ad
4797a2:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4797a5:	83 e3 fd             	and    $0xfffffffd,%ebx
4797a8:	e8 b7 c2 f8 ff       	call   0x405a64
4797ad:	f6 c3 01             	test   $0x1,%bl
4797b0:	74 0b                	je     0x4797bd
4797b2:	8d 4d c8             	lea    -0x38(%ebp),%ecx
4797b5:	83 e3 fe             	and    $0xfffffffe,%ebx
4797b8:	e8 a7 c2 f8 ff       	call   0x405a64
4797bd:	8b 45 0c             	mov    0xc(%ebp),%eax
4797c0:	85 c0                	test   %eax,%eax
4797c2:	0f 84 dd 00 00 00    	je     0x4798a5
4797c8:	8b 48 08             	mov    0x8(%eax),%ecx
4797cb:	85 c9                	test   %ecx,%ecx
4797cd:	74 23                	je     0x4797f2
4797cf:	51                   	push   %ecx
4797d0:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4797d3:	e8 62 07 f9 ff       	call   0x409f3a
4797d8:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4797db:	8d 45 a8             	lea    -0x58(%ebp),%eax
4797de:	50                   	push   %eax
4797df:	8b 49 08             	mov    0x8(%ecx),%ecx
4797e2:	e8 f5 d8 fd ff       	call   0x4570dc
4797e7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4797ea:	e8 31 02 f9 ff       	call   0x409a20
4797ef:	8b 45 0c             	mov    0xc(%ebp),%eax
4797f2:	8b 48 04             	mov    0x4(%eax),%ecx
4797f5:	85 c9                	test   %ecx,%ecx
4797f7:	74 23                	je     0x47981c
4797f9:	51                   	push   %ecx
4797fa:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4797fd:	e8 38 07 f9 ff       	call   0x409f3a
479802:	8b 4f 1c             	mov    0x1c(%edi),%ecx
479805:	8d 45 a8             	lea    -0x58(%ebp),%eax
479808:	50                   	push   %eax
479809:	8b 49 0c             	mov    0xc(%ecx),%ecx
47980c:	e8 cb d8 fd ff       	call   0x4570dc
479811:	8d 4d a8             	lea    -0x58(%ebp),%ecx
479814:	e8 07 02 f9 ff       	call   0x409a20
479819:	8b 45 0c             	mov    0xc(%ebp),%eax
47981c:	8b 48 0c             	mov    0xc(%eax),%ecx
47981f:	85 c9                	test   %ecx,%ecx
479821:	74 23                	je     0x479846
479823:	51                   	push   %ecx
479824:	8d 4d a8             	lea    -0x58(%ebp),%ecx
479827:	e8 0e 07 f9 ff       	call   0x409f3a
47982c:	8b 4f 1c             	mov    0x1c(%edi),%ecx
47982f:	8d 45 a8             	lea    -0x58(%ebp),%eax
479832:	50                   	push   %eax
479833:	8b 49 10             	mov    0x10(%ecx),%ecx
479836:	e8 a1 d8 fd ff       	call   0x4570dc
47983b:	8d 4d a8             	lea    -0x58(%ebp),%ecx
47983e:	e8 dd 01 f9 ff       	call   0x409a20
479843:	8b 45 0c             	mov    0xc(%ebp),%eax
479846:	8b 40 10             	mov    0x10(%eax),%eax
479849:	8b 4f 1c             	mov    0x1c(%edi),%ecx
47984c:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
479850:	89 45 b8             	mov    %eax,-0x48(%ebp)
479853:	8d 45 b8             	lea    -0x48(%ebp),%eax
479856:	50                   	push   %eax
479857:	8b 49 14             	mov    0x14(%ecx),%ecx
47985a:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
479861:	e8 76 d8 fd ff       	call   0x4570dc
479866:	8d 4d b8             	lea    -0x48(%ebp),%ecx
479869:	e8 b2 01 f9 ff       	call   0x409a20
47986e:	8b 45 0c             	mov    0xc(%ebp),%eax
479871:	0f b7 08             	movzwl (%eax),%ecx
479874:	66 85 c9             	test   %cx,%cx
479877:	74 04                	je     0x47987d
479879:	8b c1                	mov    %ecx,%eax
47987b:	eb 03                	jmp    0x479880
47987d:	8b 40 1c             	mov    0x1c(%eax),%eax
479880:	8b 4f 1c             	mov    0x1c(%edi),%ecx
479883:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
479887:	89 45 b8             	mov    %eax,-0x48(%ebp)
47988a:	8d 45 b8             	lea    -0x48(%ebp),%eax
47988d:	50                   	push   %eax
47988e:	8b 49 20             	mov    0x20(%ecx),%ecx
479891:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
479898:	e8 3f d8 fd ff       	call   0x4570dc
47989d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4798a0:	e8 7b 01 f9 ff       	call   0x409a20
4798a5:	ff 15 40 f3 48 00    	call   *0x48f340
4798ab:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4798ae:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
4798b2:	89 45 b8             	mov    %eax,-0x48(%ebp)
4798b5:	8d 45 b8             	lea    -0x48(%ebp),%eax
4798b8:	50                   	push   %eax
4798b9:	8b 49 18             	mov    0x18(%ecx),%ecx
4798bc:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
4798c3:	e8 14 d8 fd ff       	call   0x4570dc
4798c8:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4798cb:	e8 50 01 f9 ff       	call   0x409a20
4798d0:	ff b6 f4 00 00 00    	push   0xf4(%esi)
4798d6:	e8 9a 66 fe ff       	call   0x45ff75
4798db:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4798de:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
4798e2:	89 45 b8             	mov    %eax,-0x48(%ebp)
4798e5:	8d 45 b8             	lea    -0x48(%ebp),%eax
4798e8:	50                   	push   %eax
4798e9:	8b 49 1c             	mov    0x1c(%ecx),%ecx
4798ec:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
4798f3:	e8 e4 d7 fd ff       	call   0x4570dc
4798f8:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4798fb:	e8 20 01 f9 ff       	call   0x409a20
479900:	83 7f 14 0e          	cmpl   $0xe,0x14(%edi)
479904:	8d 4f 08             	lea    0x8(%edi),%ecx
479907:	75 10                	jne    0x479919
479909:	8d 45 a8             	lea    -0x58(%ebp),%eax
47990c:	83 cb 04             	or     $0x4,%ebx
47990f:	50                   	push   %eax
479910:	e8 8f e2 fe ff       	call   0x467ba4
479915:	8b c8                	mov    %eax,%ecx
479917:	eb 27                	jmp    0x479940
479919:	83 cb 08             	or     $0x8,%ebx
47991c:	e8 76 00 f9 ff       	call   0x409997
479921:	8b 4f 10             	mov    0x10(%edi),%ecx
479924:	8b 01                	mov    (%ecx),%eax
479926:	89 45 e8             	mov    %eax,-0x18(%ebp)
479929:	8b 41 04             	mov    0x4(%ecx),%eax
47992c:	89 45 ec             	mov    %eax,-0x14(%ebp)
47992f:	8b 41 08             	mov    0x8(%ecx),%eax
479932:	89 45 f0             	mov    %eax,-0x10(%ebp)
479935:	8b 41 0c             	mov    0xc(%ecx),%eax
479938:	8d 4d e8             	lea    -0x18(%ebp),%ecx
47993b:	89 45 f4             	mov    %eax,-0xc(%ebp)
47993e:	ff 00                	incl   (%eax)
479940:	8b 01                	mov    (%ecx),%eax
479942:	89 45 c8             	mov    %eax,-0x38(%ebp)
479945:	8b 41 04             	mov    0x4(%ecx),%eax
479948:	89 45 cc             	mov    %eax,-0x34(%ebp)
47994b:	8b 41 08             	mov    0x8(%ecx),%eax
47994e:	89 45 d0             	mov    %eax,-0x30(%ebp)
479951:	8b 41 0c             	mov    0xc(%ecx),%eax
479954:	89 45 d4             	mov    %eax,-0x2c(%ebp)
479957:	ff 00                	incl   (%eax)
479959:	f6 c3 08             	test   $0x8,%bl
47995c:	74 0b                	je     0x479969
47995e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
479961:	83 e3 f7             	and    $0xfffffff7,%ebx
479964:	e8 fb c0 f8 ff       	call   0x405a64
479969:	f6 c3 04             	test   $0x4,%bl
47996c:	74 08                	je     0x479976
47996e:	8d 4d a8             	lea    -0x58(%ebp),%ecx
479971:	e8 ee c0 f8 ff       	call   0x405a64
479976:	33 db                	xor    %ebx,%ebx
479978:	c7 45 e8 84 fb 48 00 	movl   $0x48fb84,-0x18(%ebp)
47997f:	8d 45 d8             	lea    -0x28(%ebp),%eax
479982:	89 5d ec             	mov    %ebx,-0x14(%ebp)
479985:	50                   	push   %eax
479986:	89 5d f0             	mov    %ebx,-0x10(%ebp)
479989:	89 5d f4             	mov    %ebx,-0xc(%ebp)
47998c:	89 5d b8             	mov    %ebx,-0x48(%ebp)
47998f:	89 5d c0             	mov    %ebx,-0x40(%ebp)
479992:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%ebp)
479999:	ff 15 7c f4 48 00    	call   *0x48f47c
47999f:	6a 09                	push   $0x9
4799a1:	58                   	pop    %eax
4799a2:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4799a5:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4799a8:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
4799ac:	89 7d e0             	mov    %edi,-0x20(%ebp)
4799af:	8b 07                	mov    (%edi),%eax
4799b1:	57                   	push   %edi
4799b2:	ff 50 04             	call   *0x4(%eax)
4799b5:	8d 45 a8             	lea    -0x58(%ebp),%eax
4799b8:	89 5d a8             	mov    %ebx,-0x58(%ebp)
4799bb:	50                   	push   %eax
4799bc:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4799bf:	89 5d b0             	mov    %ebx,-0x50(%ebp)
4799c2:	c7 45 b4 01 00 00 00 	movl   $0x1,-0x4c(%ebp)
4799c9:	e8 97 cc fd ff       	call   0x456665
4799ce:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4799d1:	e8 4a 00 f9 ff       	call   0x409a20
4799d6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4799d9:	8d 45 d8             	lea    -0x28(%ebp),%eax
4799dc:	50                   	push   %eax
4799dd:	8b 45 f0             	mov    -0x10(%ebp),%eax
4799e0:	8b 4c 81 fc          	mov    -0x4(%ecx,%eax,4),%ecx
4799e4:	e8 1b de fe ff       	call   0x467804
4799e9:	51                   	push   %ecx
4799ea:	8d 45 17             	lea    0x17(%ebp),%eax
4799ed:	c6 05 00 7f 4c 00 01 	movb   $0x1,0x4c7f00
4799f4:	50                   	push   %eax
4799f5:	51                   	push   %ecx
4799f6:	53                   	push   %ebx
4799f7:	8d 45 b8             	lea    -0x48(%ebp),%eax
4799fa:	8b ce                	mov    %esi,%ecx
4799fc:	50                   	push   %eax
4799fd:	8d 45 e8             	lea    -0x18(%ebp),%eax
479a00:	50                   	push   %eax
479a01:	8d 45 c8             	lea    -0x38(%ebp),%eax
479a04:	50                   	push   %eax
479a05:	e8 a9 a1 ff ff       	call   0x473bb3
479a0a:	84 c0                	test   %al,%al
479a0c:	75 1b                	jne    0x479a29
479a0e:	51                   	push   %ecx
479a0f:	8d 45 17             	lea    0x17(%ebp),%eax
479a12:	50                   	push   %eax
479a13:	51                   	push   %ecx
479a14:	6a 01                	push   $0x1
479a16:	8d 45 b8             	lea    -0x48(%ebp),%eax
479a19:	8b ce                	mov    %esi,%ecx
479a1b:	50                   	push   %eax
479a1c:	8d 45 e8             	lea    -0x18(%ebp),%eax
479a1f:	50                   	push   %eax
479a20:	8d 45 c8             	lea    -0x38(%ebp),%eax
479a23:	50                   	push   %eax
479a24:	e8 8a a1 ff ff       	call   0x473bb3
479a29:	8b 06                	mov    (%esi),%eax
479a2b:	53                   	push   %ebx
479a2c:	ff 75 08             	push   0x8(%ebp)
479a2f:	8b 48 04             	mov    0x4(%eax),%ecx
479a32:	03 ce                	add    %esi,%ecx
479a34:	e8 6a d0 fd ff       	call   0x456aa3
479a39:	8d 45 d8             	lea    -0x28(%ebp),%eax
479a3c:	88 1d 00 7f 4c 00    	mov    %bl,0x4c7f00
479a42:	50                   	push   %eax
479a43:	ff 15 5c f4 48 00    	call   *0x48f45c
479a49:	8d 4d b8             	lea    -0x48(%ebp),%ecx
479a4c:	89 5d e0             	mov    %ebx,-0x20(%ebp)
479a4f:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
479a52:	e8 c9 ff f8 ff       	call   0x409a20
479a57:	8d 4d e8             	lea    -0x18(%ebp),%ecx
479a5a:	e8 95 cc fd ff       	call   0x4566f4
479a5f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
479a62:	e8 fd bf f8 ff       	call   0x405a64
479a67:	33 c0                	xor    %eax,%eax
479a69:	5f                   	pop    %edi
479a6a:	5e                   	pop    %esi
479a6b:	5b                   	pop    %ebx
479a6c:	8b e5                	mov    %ebp,%esp
479a6e:	5d                   	pop    %ebp
479a6f:	c2 10 00             	ret    $0x10