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
479a72:	55                   	push   %ebp
479a73:	8b ec                	mov    %esp,%ebp
479a75:	81 ec c0 00 00 00    	sub    $0xc0,%esp
479a7b:	53                   	push   %ebx
479a7c:	56                   	push   %esi
479a7d:	8b d9                	mov    %ecx,%ebx
479a7f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
479a82:	57                   	push   %edi
479a83:	89 5d f8             	mov    %ebx,-0x8(%ebp)
479a86:	e8 3c dd f8 ff       	call   0x4077c7
479a8b:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
479a91:	e8 31 dd f8 ff       	call   0x4077c7
479a96:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
479a9c:	e8 26 dd f8 ff       	call   0x4077c7
479aa1:	6a 06                	push   $0x6
479aa3:	33 f6                	xor    %esi,%esi
479aa5:	8d 7d c4             	lea    -0x3c(%ebp),%edi
479aa8:	59                   	pop    %ecx
479aa9:	33 c0                	xor    %eax,%eax
479aab:	89 75 c0             	mov    %esi,-0x40(%ebp)
479aae:	f3 ab                	rep stos %eax,%es:(%edi)
479ab0:	8b 7d 18             	mov    0x18(%ebp),%edi
479ab3:	8b cf                	mov    %edi,%ecx
479ab5:	e8 66 ff f8 ff       	call   0x409a20
479aba:	8b 4d 08             	mov    0x8(%ebp),%ecx
479abd:	8d 95 44 ff ff ff    	lea    -0xbc(%ebp),%edx
479ac3:	56                   	push   %esi
479ac4:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
479acb:	89 37                	mov    %esi,(%edi)
479acd:	e8 80 db fd ff       	call   0x457652
479ad2:	59                   	pop    %ecx
479ad3:	85 c0                	test   %eax,%eax
479ad5:	79 0b                	jns    0x479ae2
479ad7:	56                   	push   %esi
479ad8:	56                   	push   %esi
479ad9:	56                   	push   %esi
479ada:	50                   	push   %eax
479adb:	8b cb                	mov    %ebx,%ecx
479add:	e9 3a 02 00 00       	jmp    0x479d1c
479ae2:	8b 5d 14             	mov    0x14(%ebp),%ebx
479ae5:	8b 55 0c             	mov    0xc(%ebp),%edx
479ae8:	8b 4d 08             	mov    0x8(%ebp),%ecx
479aeb:	6a 09                	push   $0x9
479aed:	58                   	pop    %eax
479aee:	53                   	push   %ebx
479aef:	ff 75 10             	push   0x10(%ebp)
479af2:	66 89 45 84          	mov    %ax,-0x7c(%ebp)
479af6:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax
479afc:	50                   	push   %eax
479afd:	e8 22 e2 fd ff       	call   0x457d24
479b02:	8b f8                	mov    %eax,%edi
479b04:	83 c4 0c             	add    $0xc,%esp
479b07:	85 ff                	test   %edi,%edi
479b09:	0f 88 06 02 00 00    	js     0x479d15
479b0f:	56                   	push   %esi
479b10:	56                   	push   %esi
479b11:	56                   	push   %esi
479b12:	6a 03                	push   $0x3
479b14:	6a 02                	push   $0x2
479b16:	56                   	push   %esi
479b17:	56                   	push   %esi
479b18:	6a ff                	push   $0xffffffff
479b1a:	56                   	push   %esi
479b1b:	ff 15 7c f8 48 00    	call   *0x48f87c
479b21:	6a 10                	push   $0x10
479b23:	8d 45 94             	lea    -0x6c(%ebp),%eax
479b26:	56                   	push   %esi
479b27:	50                   	push   %eax
479b28:	e8 f3 94 fa ff       	call   0x423020
479b2d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479b30:	8d 55 98             	lea    -0x68(%ebp),%edx
479b33:	83 c4 0c             	add    $0xc,%esp
479b36:	e8 99 e5 fd ff       	call   0x4580d4
479b3b:	39 75 10             	cmp    %esi,0x10(%ebp)
479b3e:	0f 84 17 01 00 00    	je     0x479c5b
479b44:	ff 75 10             	push   0x10(%ebp)
479b47:	8d 4d dc             	lea    -0x24(%ebp),%ecx
479b4a:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
479b51:	e8 d6 e1 f8 ff       	call   0x407d2c
479b56:	68 c0 fa 48 00       	push   $0x48fac0
479b5b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
479b5e:	e8 89 bb fe ff       	call   0x4656ec
479b63:	8b f8                	mov    %eax,%edi
479b65:	83 ff ff             	cmp    $0xffffffff,%edi
479b68:	75 14                	jne    0x479b7e
479b6a:	8b 45 dc             	mov    -0x24(%ebp),%eax
479b6d:	89 45 a4             	mov    %eax,-0x5c(%ebp)
479b70:	8b 45 e0             	mov    -0x20(%ebp),%eax
479b73:	89 75 ac             	mov    %esi,-0x54(%ebp)
479b76:	89 75 b0             	mov    %esi,-0x50(%ebp)
479b79:	e9 96 00 00 00       	jmp    0x479c14
479b7e:	89 7d 10             	mov    %edi,0x10(%ebp)
479b81:	3b 7d e0             	cmp    -0x20(%ebp),%edi
479b84:	76 06                	jbe    0x479b8c
479b86:	8b 45 e0             	mov    -0x20(%ebp),%eax
479b89:	89 45 10             	mov    %eax,0x10(%ebp)
479b8c:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
479b92:	e8 30 dc f8 ff       	call   0x4077c7
479b97:	ff 75 10             	push   0x10(%ebp)
479b9a:	8d 45 dc             	lea    -0x24(%ebp),%eax
479b9d:	56                   	push   %esi
479b9e:	50                   	push   %eax
479b9f:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
479ba5:	e8 01 de f8 ff       	call   0x4079ab
479baa:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
479bb0:	50                   	push   %eax
479bb1:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
479bb7:	e8 eb e5 f8 ff       	call   0x4081a7
479bbc:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
479bc2:	e8 9d be f8 ff       	call   0x405a64
479bc7:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
479bcd:	8d 4d dc             	lea    -0x24(%ebp),%ecx
479bd0:	89 45 ac             	mov    %eax,-0x54(%ebp)
479bd3:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
479bd9:	89 45 b0             	mov    %eax,-0x50(%ebp)
479bdc:	8d 47 01             	lea    0x1(%edi),%eax
479bdf:	6a ff                	push   $0xffffffff
479be1:	50                   	push   %eax
479be2:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
479be8:	50                   	push   %eax
479be9:	e8 13 c8 fd ff       	call   0x456401
479bee:	50                   	push   %eax
479bef:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
479bf5:	e8 ad e5 f8 ff       	call   0x4081a7
479bfa:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
479c00:	e8 5f be f8 ff       	call   0x405a64
479c05:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
479c0b:	89 45 a4             	mov    %eax,-0x5c(%ebp)
479c0e:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
479c14:	89 45 a8             	mov    %eax,-0x58(%ebp)
479c17:	85 db                	test   %ebx,%ebx
479c19:	74 0f                	je     0x479c2a
479c1b:	53                   	push   %ebx
479c1c:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
479c1f:	e8 18 92 fa ff       	call   0x422e3c
479c24:	59                   	pop    %ecx
479c25:	89 45 b8             	mov    %eax,-0x48(%ebp)
479c28:	eb 06                	jmp    0x479c30
479c2a:	89 75 b4             	mov    %esi,-0x4c(%ebp)
479c2d:	89 75 b8             	mov    %esi,-0x48(%ebp)
479c30:	8d 45 a4             	lea    -0x5c(%ebp),%eax
479c33:	c7 45 cc 02 00 00 00 	movl   $0x2,-0x34(%ebp)
479c3a:	6a 09                	push   $0x9
479c3c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
479c3f:	8d 45 c0             	lea    -0x40(%ebp),%eax
479c42:	5b                   	pop    %ebx
479c43:	89 5d c0             	mov    %ebx,-0x40(%ebp)
479c46:	89 75 c4             	mov    %esi,-0x3c(%ebp)
479c49:	89 75 d8             	mov    %esi,-0x28(%ebp)
479c4c:	c7 45 d0 03 00 00 00 	movl   $0x3,-0x30(%ebp)
479c53:	89 75 c8             	mov    %esi,-0x38(%ebp)
479c56:	89 45 9c             	mov    %eax,-0x64(%ebp)
479c59:	eb 06                	jmp    0x479c61
479c5b:	6a 09                	push   $0x9
479c5d:	89 75 9c             	mov    %esi,-0x64(%ebp)
479c60:	5b                   	pop    %ebx
479c61:	6a 0c                	push   $0xc
479c63:	8d 45 ec             	lea    -0x14(%ebp),%eax
479c66:	89 75 8c             	mov    %esi,-0x74(%ebp)
479c69:	56                   	push   %esi
479c6a:	50                   	push   %eax
479c6b:	e8 b0 93 fa ff       	call   0x423020
479c70:	8b 45 8c             	mov    -0x74(%ebp),%eax
479c73:	83 c4 0c             	add    $0xc,%esp
479c76:	89 45 f0             	mov    %eax,-0x10(%ebp)
479c79:	8d 45 ec             	lea    -0x14(%ebp),%eax
479c7c:	c7 45 ec 0c 2c 49 00 	movl   $0x492c0c,-0x14(%ebp)
479c83:	89 75 f4             	mov    %esi,-0xc(%ebp)
479c86:	50                   	push   %eax
479c87:	6a 01                	push   $0x1
479c89:	8d 45 94             	lea    -0x6c(%ebp),%eax
479c8c:	50                   	push   %eax
479c8d:	6a 15                	push   $0x15
479c8f:	56                   	push   %esi
479c90:	8d 85 44 ff ff ff    	lea    -0xbc(%ebp),%eax