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
479c96:	50                   	push   %eax
479c97:	ff 15 78 f8 48 00    	call   *0x48f878
479c9d:	ff 75 98             	push   -0x68(%ebp)
479ca0:	8b f8                	mov    %eax,%edi
479ca2:	ff 15 2c f8 48 00    	call   *0x48f82c
479ca8:	85 ff                	test   %edi,%edi
479caa:	78 69                	js     0x479d15
479cac:	8b 7d f4             	mov    -0xc(%ebp),%edi
479caf:	85 ff                	test   %edi,%edi
479cb1:	78 62                	js     0x479d15
479cb3:	8b 45 f0             	mov    -0x10(%ebp),%eax
479cb6:	39 75 9c             	cmp    %esi,-0x64(%ebp)
479cb9:	74 28                	je     0x479ce3
479cbb:	85 c0                	test   %eax,%eax
479cbd:	74 24                	je     0x479ce3
479cbf:	68 00 08 00 00       	push   $0x800
479cc4:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
479cc7:	51                   	push   %ecx
479cc8:	ff 75 d0             	push   -0x30(%ebp)
479ccb:	ff 75 cc             	push   -0x34(%ebp)
479cce:	ff 75 c8             	push   -0x38(%ebp)
479cd1:	ff 75 c4             	push   -0x3c(%ebp)
479cd4:	ff 75 c0             	push   -0x40(%ebp)
479cd7:	50                   	push   %eax
479cd8:	ff 15 74 f8 48 00    	call   *0x48f874
479cde:	8b f8                	mov    %eax,%edi
479ce0:	8b 45 f0             	mov    -0x10(%ebp),%eax
479ce3:	66 89 5d 84          	mov    %bx,-0x7c(%ebp)
479ce7:	89 45 8c             	mov    %eax,-0x74(%ebp)
479cea:	85 c0                	test   %eax,%eax
479cec:	75 0c                	jne    0x479cfa
479cee:	6a 01                	push   $0x1
479cf0:	68 88 aa 4b 00       	push   $0x4baa88
479cf5:	56                   	push   %esi
479cf6:	6a 01                	push   $0x1
479cf8:	eb 1f                	jmp    0x479d19
479cfa:	85 ff                	test   %edi,%edi
479cfc:	78 17                	js     0x479d15
479cfe:	8b 4d 18             	mov    0x18(%ebp),%ecx
479d01:	8d 45 84             	lea    -0x7c(%ebp),%eax
479d04:	50                   	push   %eax
479d05:	e8 fa da fe ff       	call   0x467804
479d0a:	8b 45 8c             	mov    -0x74(%ebp),%eax
479d0d:	50                   	push   %eax
479d0e:	8b 08                	mov    (%eax),%ecx
479d10:	ff 51 08             	call   *0x8(%ecx)
479d13:	eb 0e                	jmp    0x479d23
479d15:	56                   	push   %esi
479d16:	56                   	push   %esi
479d17:	56                   	push   %esi
479d18:	57                   	push   %edi
479d19:	8b 4d f8             	mov    -0x8(%ebp),%ecx
479d1c:	e8 ba f9 ff ff       	call   0x4796db
479d21:	8b f0                	mov    %eax,%esi
479d23:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
479d29:	e8 36 bd f8 ff       	call   0x405a64
479d2e:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
479d34:	e8 2b bd f8 ff       	call   0x405a64
479d39:	8d 4d dc             	lea    -0x24(%ebp),%ecx
479d3c:	e8 23 bd f8 ff       	call   0x405a64
479d41:	5f                   	pop    %edi
479d42:	8b c6                	mov    %esi,%eax
479d44:	5e                   	pop    %esi
479d45:	5b                   	pop    %ebx
479d46:	8b e5                	mov    %ebp,%esp
479d48:	5d                   	pop    %ebp
479d49:	c2 14 00             	ret    $0x14
479d4c:	55                   	push   %ebp
479d4d:	8b ec                	mov    %esp,%ebp
479d4f:	83 ec 18             	sub    $0x18,%esp
479d52:	53                   	push   %ebx
479d53:	56                   	push   %esi
479d54:	8b 75 10             	mov    0x10(%ebp),%esi
479d57:	8b d9                	mov    %ecx,%ebx
479d59:	57                   	push   %edi
479d5a:	85 f6                	test   %esi,%esi
479d5c:	0f 84 bd 00 00 00    	je     0x479e1f
479d62:	8b 7d 0c             	mov    0xc(%ebp),%edi
479d65:	83 3f 00             	cmpl   $0x0,(%edi)
479d68:	0f 84 b1 00 00 00    	je     0x479e1f
479d6e:	8b ce                	mov    %esi,%ecx
479d70:	e8 ce c7 fd ff       	call   0x456543
479d75:	84 c0                	test   %al,%al
479d77:	75 12                	jne    0x479d8b
479d79:	6a 01                	push   $0x1
479d7b:	68 dc ab 4b 00       	push   $0x4babdc
479d80:	6a 00                	push   $0x0
479d82:	6a 02                	push   $0x2
479d84:	8b cb                	mov    %ebx,%ecx
479d86:	e9 9f 00 00 00       	jmp    0x479e2a
479d8b:	8b ce                	mov    %esi,%ecx
479d8d:	e8 4b f6 f8 ff       	call   0x4093dd
479d92:	84 c0                	test   %al,%al
479d94:	74 17                	je     0x479dad
479d96:	ff 75 18             	push   0x18(%ebp)
479d99:	8b cb                	mov    %ebx,%ecx
479d9b:	ff 75 14             	push   0x14(%ebp)
479d9e:	56                   	push   %esi
479d9f:	57                   	push   %edi
479da0:	ff 75 08             	push   0x8(%ebp)
479da3:	e8 90 00 00 00       	call   0x479e38
479da8:	e9 82 00 00 00       	jmp    0x479e2f
479dad:	83 7e 0c 0c          	cmpl   $0xc,0xc(%esi)
479db1:	75 31                	jne    0x479de4
479db3:	8b 36                	mov    (%esi),%esi
479db5:	83 ec 10             	sub    $0x10,%esp
479db8:	8b cc                	mov    %esp,%ecx
479dba:	ff 75 14             	push   0x14(%ebp)
479dbd:	e8 28 f6 f8 ff       	call   0x4093ea
479dc2:	ff 37                	push   (%edi)
479dc4:	8b ce                	mov    %esi,%ecx
479dc6:	ff 75 18             	push   0x18(%ebp)
479dc9:	ff 75 08             	push   0x8(%ebp)
479dcc:	e8 d8 cb fe ff       	call   0x4669a9
479dd1:	6a 00                	push   $0x0
479dd3:	50                   	push   %eax
479dd4:	8b 03                	mov    (%ebx),%eax
479dd6:	8b 48 04             	mov    0x4(%eax),%ecx
479dd9:	03 cb                	add    %ebx,%ecx
479ddb:	e8 c3 cc fd ff       	call   0x456aa3
479de0:	33 c0                	xor    %eax,%eax
479de2:	eb 4b                	jmp    0x479e2f
479de4:	83 7e 0c 0f          	cmpl   $0xf,0xc(%esi)
479de8:	75 30                	jne    0x479e1a
479dea:	ff 75 0c             	push   0xc(%ebp)
479ded:	8b 36                	mov    (%esi),%esi
479def:	8d 4d ec             	lea    -0x14(%ebp),%ecx
479df2:	ff 75 18             	push   0x18(%ebp)
479df5:	ff 75 14             	push   0x14(%ebp)
479df8:	8b 3e                	mov    (%esi),%edi
479dfa:	e8 eb f5 f8 ff       	call   0x4093ea
479dff:	50                   	push   %eax
479e00:	8b 45 08             	mov    0x8(%ebp),%eax
479e03:	8b ce                	mov    %esi,%ecx
479e05:	0f b7 c0             	movzwl %ax,%eax
479e08:	50                   	push   %eax
479e09:	ff 17                	call   *(%edi)
479e0b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
479e0e:	8b f0                	mov    %eax,%esi
479e10:	e8 0b fc f8 ff       	call   0x409a20
479e15:	6a 00                	push   $0x0
479e17:	56                   	push   %esi
479e18:	eb ba                	jmp    0x479dd4
479e1a:	83 c8 ff             	or     $0xffffffff,%eax
479e1d:	eb 10                	jmp    0x479e2f
479e1f:	6a 01                	push   $0x1
479e21:	68 88 aa 4b 00       	push   $0x4baa88
479e26:	6a 00                	push   $0x0
479e28:	6a 01                	push   $0x1
479e2a:	e8 ac f8 ff ff       	call   0x4796db
479e2f:	5f                   	pop    %edi
479e30:	5e                   	pop    %esi
479e31:	5b                   	pop    %ebx
479e32:	8b e5                	mov    %ebp,%esp
479e34:	5d                   	pop    %ebp
479e35:	c2 14 00             	ret    $0x14
479e38:	55                   	push   %ebp
479e39:	8b ec                	mov    %esp,%ebp
479e3b:	81 ec f8 00 00 00    	sub    $0xf8,%esp
479e41:	8b 45 18             	mov    0x18(%ebp),%eax
479e44:	53                   	push   %ebx
479e45:	33 db                	xor    %ebx,%ebx
479e47:	c7 45 d0 fd ff ff ff 	movl   $0xfffffffd,-0x30(%ebp)
479e4e:	56                   	push   %esi
479e4f:	8b 75 10             	mov    0x10(%ebp),%esi
479e52:	8b 40 08             	mov    0x8(%eax),%eax
479e55:	89 45 f4             	mov    %eax,-0xc(%ebp)
479e58:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
479e5b:	89 5d d8             	mov    %ebx,-0x28(%ebp)
479e5e:	89 5d dc             	mov    %ebx,-0x24(%ebp)
479e61:	89 5d e0             	mov    %ebx,-0x20(%ebp)
479e64:	89 5d f0             	mov    %ebx,-0x10(%ebp)
479e67:	88 5d fb             	mov    %bl,-0x5(%ebp)
479e6a:	57                   	push   %edi
479e6b:	8b f9                	mov    %ecx,%edi