47079f:	53                   	push   %ebx
4707a0:	51                   	push   %ecx
4707a1:	8b 08                	mov    (%eax),%ecx
4707a3:	e8 f4 94 f9 ff       	call   0x409c9c
4707a8:	50                   	push   %eax
4707a9:	e8 7a 9c 01 00       	call   0x48a428
4707ae:	8b 75 0c             	mov    0xc(%ebp),%esi
4707b1:	8b f8                	mov    %eax,%edi
4707b3:	8b ce                	mov    %esi,%ecx
4707b5:	e8 66 92 f9 ff       	call   0x409a20
4707ba:	89 3e                	mov    %edi,(%esi)
4707bc:	33 c0                	xor    %eax,%eax
4707be:	5f                   	pop    %edi
4707bf:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4707c6:	5e                   	pop    %esi
4707c7:	5b                   	pop    %ebx
4707c8:	8b e5                	mov    %ebp,%esp
4707ca:	5d                   	pop    %ebp
4707cb:	c2 08 00             	ret    $0x8
4707ce:	55                   	push   %ebp
4707cf:	8b ec                	mov    %esp,%ebp
4707d1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4707d4:	33 c0                	xor    %eax,%eax
4707d6:	39 41 08             	cmp    %eax,0x8(%ecx)
4707d9:	76 0a                	jbe    0x4707e5
4707db:	8b 41 04             	mov    0x4(%ecx),%eax
4707de:	8b 08                	mov    (%eax),%ecx
4707e0:	e8 d6 81 ff ff       	call   0x4689bb
4707e5:	56                   	push   %esi
4707e6:	57                   	push   %edi
4707e7:	50                   	push   %eax
4707e8:	e8 22 a8 01 00       	call   0x48b00f
4707ed:	8b 75 0c             	mov    0xc(%ebp),%esi
4707f0:	8b f8                	mov    %eax,%edi
4707f2:	8b ce                	mov    %esi,%ecx
4707f4:	e8 27 92 f9 ff       	call   0x409a20
4707f9:	89 3e                	mov    %edi,(%esi)
4707fb:	33 c0                	xor    %eax,%eax
4707fd:	5f                   	pop    %edi
4707fe:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
470805:	5e                   	pop    %esi
470806:	5d                   	pop    %ebp
470807:	c2 08 00             	ret    $0x8
47080a:	55                   	push   %ebp
47080b:	8b ec                	mov    %esp,%ebp
47080d:	83 ec 1c             	sub    $0x1c,%esp
470810:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
470814:	53                   	push   %ebx
470815:	56                   	push   %esi
470816:	8b 75 0c             	mov    0xc(%ebp),%esi
470819:	8b d9                	mov    %ecx,%ebx
47081b:	57                   	push   %edi
47081c:	8b ce                	mov    %esi,%ecx
47081e:	e8 0b 8c f9 ff       	call   0x40942e
470823:	6a 05                	push   $0x5
470825:	8b f8                	mov    %eax,%edi
470827:	6a 01                	push   $0x1
470829:	57                   	push   %edi
47082a:	e8 81 89 f9 ff       	call   0x4091b0
47082f:	8b 45 08             	mov    0x8(%ebp),%eax
470832:	83 c4 0c             	add    $0xc,%esp
470835:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
470839:	76 0c                	jbe    0x470847
47083b:	8b 40 04             	mov    0x4(%eax),%eax
47083e:	8b 08                	mov    (%eax),%ecx
470840:	e8 76 81 ff ff       	call   0x4689bb
470845:	eb 03                	jmp    0x47084a
470847:	8b 45 fc             	mov    -0x4(%ebp),%eax
47084a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
47084d:	51                   	push   %ecx
47084e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
470851:	51                   	push   %ecx
470852:	8d 4d fc             	lea    -0x4(%ebp),%ecx
470855:	51                   	push   %ecx
470856:	8d 4d 08             	lea    0x8(%ebp),%ecx
470859:	51                   	push   %ecx
47085a:	8d 4d 0c             	lea    0xc(%ebp),%ecx
47085d:	51                   	push   %ecx
47085e:	50                   	push   %eax
47085f:	e8 f3 a7 01 00       	call   0x48b057
470864:	84 c0                	test   %al,%al
470866:	0f 84 b9 00 00 00    	je     0x470925
47086c:	8b 45 0c             	mov    0xc(%ebp),%eax
47086f:	33 f6                	xor    %esi,%esi
470871:	33 db                	xor    %ebx,%ebx
470873:	89 45 e4             	mov    %eax,-0x1c(%ebp)
470876:	56                   	push   %esi
470877:	43                   	inc    %ebx
470878:	89 75 ec             	mov    %esi,-0x14(%ebp)
47087b:	53                   	push   %ebx
47087c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47087f:	89 5d f0             	mov    %ebx,-0x10(%ebp)
470882:	50                   	push   %eax
470883:	57                   	push   %edi
470884:	e8 b7 87 f9 ff       	call   0x409040
470889:	83 c4 10             	add    $0x10,%esp
47088c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47088f:	e8 8c 91 f9 ff       	call   0x409a20
470894:	8b 45 08             	mov    0x8(%ebp),%eax
470897:	53                   	push   %ebx
470898:	89 45 e4             	mov    %eax,-0x1c(%ebp)
47089b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47089e:	53                   	push   %ebx
47089f:	50                   	push   %eax
4708a0:	57                   	push   %edi
4708a1:	89 75 ec             	mov    %esi,-0x14(%ebp)
4708a4:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4708a7:	e8 94 87 f9 ff       	call   0x409040
4708ac:	83 c4 10             	add    $0x10,%esp
4708af:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4708b2:	e8 69 91 f9 ff       	call   0x409a20
4708b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4708ba:	6a 02                	push   $0x2
4708bc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4708bf:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4708c2:	53                   	push   %ebx
4708c3:	50                   	push   %eax
4708c4:	57                   	push   %edi
4708c5:	89 75 ec             	mov    %esi,-0x14(%ebp)
4708c8:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4708cb:	e8 70 87 f9 ff       	call   0x409040
4708d0:	83 c4 10             	add    $0x10,%esp
4708d3:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4708d6:	e8 45 91 f9 ff       	call   0x409a20
4708db:	8b 45 f8             	mov    -0x8(%ebp),%eax
4708de:	6a 03                	push   $0x3
4708e0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4708e3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4708e6:	53                   	push   %ebx
4708e7:	50                   	push   %eax
4708e8:	57                   	push   %edi
4708e9:	89 75 ec             	mov    %esi,-0x14(%ebp)
4708ec:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4708ef:	e8 4c 87 f9 ff       	call   0x409040
4708f4:	83 c4 10             	add    $0x10,%esp
4708f7:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
4708fa:	e8 21 91 f9 ff       	call   0x409a20
4708ff:	8b 45 f4             	mov    -0xc(%ebp),%eax
470902:	6a 04                	push   $0x4
470904:	89 45 e4             	mov    %eax,-0x1c(%ebp)
470907:	8d 45 e4             	lea    -0x1c(%ebp),%eax
47090a:	53                   	push   %ebx
47090b:	50                   	push   %eax
47090c:	57                   	push   %edi
47090d:	89 75 ec             	mov    %esi,-0x14(%ebp)
470910:	89 5d f0             	mov    %ebx,-0x10(%ebp)
470913:	e8 28 87 f9 ff       	call   0x409040
470918:	83 c4 10             	add    $0x10,%esp
47091b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
47091e:	e8 fd 90 f9 ff       	call   0x409a20
470923:	eb 1f                	jmp    0x470944
470925:	8b ce                	mov    %esi,%ecx
470927:	e8 f4 90 f9 ff       	call   0x409a20
47092c:	83 26 00             	andl   $0x0,(%esi)
47092f:	33 c0                	xor    %eax,%eax
470931:	40                   	inc    %eax
470932:	6a 00                	push   $0x0
470934:	89 46 0c             	mov    %eax,0xc(%esi)
470937:	50                   	push   %eax
470938:	8b 03                	mov    (%ebx),%eax
47093a:	8b 48 04             	mov    0x4(%eax),%ecx
47093d:	03 cb                	add    %ebx,%ecx
47093f:	e8 5f 61 fe ff       	call   0x456aa3
470944:	5f                   	pop    %edi
470945:	5e                   	pop    %esi
470946:	33 c0                	xor    %eax,%eax
470948:	5b                   	pop    %ebx
470949:	8b e5                	mov    %ebp,%esp
47094b:	5d                   	pop    %ebp
47094c:	c2 08 00             	ret    $0x8
47094f:	55                   	push   %ebp
470950:	8b ec                	mov    %esp,%ebp
470952:	83 ec 34             	sub    $0x34,%esp
470955:	53                   	push   %ebx
470956:	56                   	push   %esi
470957:	8b f1                	mov    %ecx,%esi
470959:	8d 4d d0             	lea    -0x30(%ebp),%ecx
47095c:	57                   	push   %edi
47095d:	e8 65 6e f9 ff       	call   0x4077c7
470962:	33 ff                	xor    %edi,%edi
470964:	80 3d bc 67 4c 00 01 	cmpb   $0x1,0x4c67bc
47096b:	74 1a                	je     0x470987
47096d:	8d 45 cc             	lea    -0x34(%ebp),%eax
470970:	b9 b0 67 4c 00       	mov    $0x4c67b0,%ecx
470975:	50                   	push   %eax
470976:	e8 7b 62 fe ff       	call   0x456bf6
47097b:	84 c0                	test   %al,%al
47097d:	74 08                	je     0x470987
47097f:	8b 7d ec             	mov    -0x14(%ebp),%edi
470982:	8b 5d e8             	mov    -0x18(%ebp),%ebx
470985:	eb 1e                	jmp    0x4709a5
470987:	68 10 f9 48 00       	push   $0x48f910
47098c:	8d 4d d0             	lea    -0x30(%ebp),%ecx
47098f:	89 7d cc             	mov    %edi,-0x34(%ebp)
470992:	e8 95 73 f9 ff       	call   0x407d2c
470997:	8b df                	mov    %edi,%ebx
470999:	89 7d e0             	mov    %edi,-0x20(%ebp)
47099c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
47099f:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4709a2:	89 7d ec             	mov    %edi,-0x14(%ebp)
4709a5:	80 3d bc 67 4c 00 01 	cmpb   $0x1,0x4c67bc
4709ac:	75 10                	jne    0x4709be
4709ae:	8b 06                	mov    (%esi),%eax
4709b0:	6a 00                	push   $0x0
4709b2:	6a 01                	push   $0x1
4709b4:	8b 48 04             	mov    0x4(%eax),%ecx
4709b7:	03 ce                	add    %esi,%ecx
4709b9:	e8 e5 60 fe ff       	call   0x456aa3
4709be:	8b 45 08             	mov    0x8(%ebp),%eax
4709c1:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4709c5:	0f 86 ec 00 00 00    	jbe    0x470ab7
4709cb:	8b 40 04             	mov    0x4(%eax),%eax
4709ce:	8b 08                	mov    (%eax),%ecx
4709d0:	e8 c7 92 f9 ff       	call   0x409c9c
4709d5:	83 f8 01             	cmp    $0x1,%eax
4709d8:	0f 85 d9 00 00 00    	jne    0x470ab7
4709de:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4709e1:	e8 48 8a f9 ff       	call   0x40942e
4709e6:	6a 05                	push   $0x5
4709e8:	8b f0                	mov    %eax,%esi
4709ea:	6a 01                	push   $0x1
4709ec:	56                   	push   %esi
4709ed:	e8 be 87 f9 ff       	call   0x4091b0
4709f2:	8b 4d cc             	mov    -0x34(%ebp),%ecx
4709f5:	33 c0                	xor    %eax,%eax
4709f7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4709fb:	40                   	inc    %eax
4709fc:	6a 00                	push   $0x0
4709fe:	50                   	push   %eax
4709ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
470a02:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a05:	50                   	push   %eax
470a06:	56                   	push   %esi
470a07:	89 4d f0             	mov    %ecx,-0x10(%ebp)
470a0a:	e8 31 86 f9 ff       	call   0x409040
470a0f:	83 c4 1c             	add    $0x1c,%esp
470a12:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470a15:	e8 06 90 f9 ff       	call   0x409a20
470a1a:	8b 45 e0             	mov    -0x20(%ebp),%eax
470a1d:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
470a21:	6a 01                	push   $0x1
470a23:	89 45 f0             	mov    %eax,-0x10(%ebp)
470a26:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a29:	6a 01                	push   $0x1
470a2b:	50                   	push   %eax
470a2c:	56                   	push   %esi
470a2d:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
470a34:	e8 07 86 f9 ff       	call   0x409040
470a39:	83 c4 10             	add    $0x10,%esp
470a3c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470a3f:	e8 dc 8f f9 ff       	call   0x409a20
470a44:	8b 45 e4             	mov    -0x1c(%ebp),%eax
470a47:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
470a4b:	6a 02                	push   $0x2
470a4d:	89 45 f0             	mov    %eax,-0x10(%ebp)
470a50:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a53:	6a 01                	push   $0x1
470a55:	50                   	push   %eax
470a56:	56                   	push   %esi
470a57:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
470a5e:	e8 dd 85 f9 ff       	call   0x409040
470a63:	83 c4 10             	add    $0x10,%esp
470a66:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470a69:	e8 b2 8f f9 ff       	call   0x409a20
470a6e:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
470a72:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a75:	89 5d f0             	mov    %ebx,-0x10(%ebp)
470a78:	33 db                	xor    %ebx,%ebx
470a7a:	6a 03                	push   $0x3
470a7c:	43                   	inc    %ebx
470a7d:	53                   	push   %ebx
470a7e:	50                   	push   %eax
470a7f:	56                   	push   %esi
470a80:	89 5d fc             	mov    %ebx,-0x4(%ebp)
470a83:	e8 b8 85 f9 ff       	call   0x409040
470a88:	83 c4 10             	add    $0x10,%esp
470a8b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470a8e:	e8 8d 8f f9 ff       	call   0x409a20
470a93:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
470a97:	8d 45 f0             	lea    -0x10(%ebp),%eax
470a9a:	6a 04                	push   $0x4
470a9c:	53                   	push   %ebx
470a9d:	50                   	push   %eax
470a9e:	56                   	push   %esi
470a9f:	89 7d f0             	mov    %edi,-0x10(%ebp)
470aa2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
470aa5:	e8 96 85 f9 ff       	call   0x409040
470aaa:	83 c4 10             	add    $0x10,%esp
470aad:	8d 4d f0             	lea    -0x10(%ebp),%ecx
470ab0:	e8 6b 8f f9 ff       	call   0x409a20
470ab5:	eb 16                	jmp    0x470acd
470ab7:	8b 75 0c             	mov    0xc(%ebp),%esi
470aba:	8b ce                	mov    %esi,%ecx
470abc:	e8 5f 8f f9 ff       	call   0x409a20
470ac1:	8b 45 cc             	mov    -0x34(%ebp),%eax
470ac4:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
470acb:	89 06                	mov    %eax,(%esi)
470acd:	8d 4d d0             	lea    -0x30(%ebp),%ecx
470ad0:	e8 8f 4f f9 ff       	call   0x405a64
470ad5:	5f                   	pop    %edi
470ad6:	5e                   	pop    %esi
470ad7:	33 c0                	xor    %eax,%eax
470ad9:	5b                   	pop    %ebx
470ada:	8b e5                	mov    %ebp,%esp
470adc:	5d                   	pop    %ebp
470add:	c2 08 00             	ret    $0x8
470ae0:	55                   	push   %ebp
470ae1:	8b ec                	mov    %esp,%ebp
470ae3:	83 ec 14             	sub    $0x14,%esp
470ae6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
470aea:	53                   	push   %ebx
470aeb:	56                   	push   %esi
470aec:	8b 75 0c             	mov    0xc(%ebp),%esi
470aef:	8b d9                	mov    %ecx,%ebx
470af1:	57                   	push   %edi
470af2:	8b ce                	mov    %esi,%ecx
470af4:	e8 35 89 f9 ff       	call   0x40942e
470af9:	6a 02                	push   $0x2
470afb:	8b f8                	mov    %eax,%edi
470afd:	6a 01                	push   $0x1
470aff:	57                   	push   %edi
470b00:	e8 ab 86 f9 ff       	call   0x4091b0
470b05:	8b 45 08             	mov    0x8(%ebp),%eax
470b08:	83 c4 0c             	add    $0xc,%esp
470b0b:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
470b0f:	76 0c                	jbe    0x470b1d
470b11:	8b 40 04             	mov    0x4(%eax),%eax
470b14:	8b 08                	mov    (%eax),%ecx
470b16:	e8 a0 7e ff ff       	call   0x4689bb
470b1b:	eb 03                	jmp    0x470b20
470b1d:	8b 45 fc             	mov    -0x4(%ebp),%eax
470b20:	50                   	push   %eax
470b21:	8d 45 08             	lea    0x8(%ebp),%eax
470b24:	50                   	push   %eax
470b25:	8d 45 0c             	lea    0xc(%ebp),%eax
470b28:	50                   	push   %eax
470b29:	e8 12 a6 01 00       	call   0x48b140
470b2e:	85 c0                	test   %eax,%eax
470b30:	74 4d                	je     0x470b7f
470b32:	8b 45 0c             	mov    0xc(%ebp),%eax
470b35:	33 f6                	xor    %esi,%esi
470b37:	33 db                	xor    %ebx,%ebx
470b39:	89 45 ec             	mov    %eax,-0x14(%ebp)
470b3c:	56                   	push   %esi
470b3d:	43                   	inc    %ebx
470b3e:	89 75 f4             	mov    %esi,-0xc(%ebp)
470b41:	53                   	push   %ebx
470b42:	8d 45 ec             	lea    -0x14(%ebp),%eax
470b45:	89 5d f8             	mov    %ebx,-0x8(%ebp)
470b48:	50                   	push   %eax