474b83:	57                   	push   %edi
474b84:	50                   	push   %eax
474b85:	8d 45 f4             	lea    -0xc(%ebp),%eax
474b88:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
474b8e:	89 65 f0             	mov    %esp,-0x10(%ebp)
474b91:	8b f9                	mov    %ecx,%edi
474b93:	8b 87 50 01 00 00    	mov    0x150(%edi),%eax
474b99:	89 bd a0 fc ff ff    	mov    %edi,-0x360(%ebp)
474b9f:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
474ba6:	8a 88 59 0d 00 00    	mov    0xd59(%eax),%cl
474bac:	84 c9                	test   %cl,%cl
474bae:	0f 85 e5 05 00 00    	jne    0x475199
474bb4:	8a 80 58 0d 00 00    	mov    0xd58(%eax),%al
474bba:	84 c0                	test   %al,%al
474bbc:	0f 85 d7 05 00 00    	jne    0x475199
474bc2:	6a 00                	push   $0x0
474bc4:	6a 00                	push   $0x0
474bc6:	68 09 10 00 00       	push   $0x1009
474bcb:	ff b7 e0 00 00 00    	push   0xe0(%edi)
474bd1:	ff 15 20 40 d8 00    	call   *0xd84020
474bd7:	85 c0                	test   %eax,%eax
474bd9:	0f 85 c0 00 00 00    	jne    0x474c9f
474bdf:	ff 15 d4 36 d8 00    	call   *0xd836d4
474be5:	68 88 44 bd 00       	push   $0xbd4488
474bea:	8d 4d bc             	lea    -0x44(%ebp),%ecx
474bed:	8b f0                	mov    %eax,%esi
474bef:	e8 d6 20 fa ff       	call   0x416cca
474bf4:	68 44 3a bd 00       	push   $0xbd3a44
474bf9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
474bfc:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
474c00:	e8 c5 20 fa ff       	call   0x416cca
474c05:	68 54 3a bd 00       	push   $0xbd3a54
474c0a:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
474c10:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
474c14:	e8 b1 20 fa ff       	call   0x416cca
474c19:	68 ce 00 00 00       	push   $0xce
474c1e:	8d 45 bc             	lea    -0x44(%ebp),%eax
474c21:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
474c25:	50                   	push   %eax
474c26:	8d 45 d4             	lea    -0x2c(%ebp),%eax
474c29:	50                   	push   %eax
474c2a:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
474c30:	e8 68 7e fb ff       	call   0x42ca9d
474c35:	8b f8                	mov    %eax,%edi
474c37:	6a 00                	push   $0x0
474c39:	6a 00                	push   $0x0
474c3b:	8d 4d a0             	lea    -0x60(%ebp),%ecx
474c3e:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
474c42:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
474c49:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
474c50:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
474c57:	e8 26 a4 fa ff       	call   0x41f082
474c5c:	89 45 a0             	mov    %eax,-0x60(%ebp)
474c5f:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
474c66:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
474c6d:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
474c74:	6a 08                	push   $0x8
474c76:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
474c79:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
474c7d:	c7 45 9c 00 00 80 3f 	movl   $0x3f800000,-0x64(%ebp)
474c84:	e8 c6 3b fa ff       	call   0x41884f
474c89:	57                   	push   %edi
474c8a:	8d 45 9c             	lea    -0x64(%ebp),%eax
474c8d:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
474c91:	50                   	push   %eax
474c92:	56                   	push   %esi
474c93:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
474c99:	50                   	push   %eax
474c9a:	e8 ed ea f9 ff       	call   0x41378c
474c9f:	32 c9                	xor    %cl,%cl
474ca1:	c7 45 98 0f 00 00 00 	movl   $0xf,-0x68(%ebp)
474ca8:	88 8d af fc ff ff    	mov    %cl,-0x351(%ebp)
474cae:	c7 45 94 00 00 00 00 	movl   $0x0,-0x6c(%ebp)
474cb5:	88 4d 84             	mov    %cl,-0x7c(%ebp)
474cb8:	8d 85 a8 fc ff ff    	lea    -0x358(%ebp),%eax
474cbe:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
474cc2:	50                   	push   %eax
474cc3:	8d 45 84             	lea    -0x7c(%ebp),%eax
474cc6:	50                   	push   %eax
474cc7:	e8 2a 76 fa ff       	call   0x41c2f6
474ccc:	83 c4 08             	add    $0x8,%esp
474ccf:	84 c0                	test   %al,%al
474cd1:	75 0d                	jne    0x474ce0
474cd3:	68 35 41 bd 00       	push   $0xbd4135
474cd8:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
474cdb:	e8 fd a8 f9 ff       	call   0x40f5dd
474ce0:	8b b7 40 01 00 00    	mov    0x140(%edi),%esi
474ce6:	33 db                	xor    %ebx,%ebx
474ce8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
474cef:	00
474cf0:	3b b7 44 01 00 00    	cmp    0x144(%edi),%esi
474cf6:	0f 84 3d 04 00 00    	je     0x475139
474cfc:	83 7e 60 00          	cmpl   $0x0,0x60(%esi)
474d00:	75 0d                	jne    0x474d0f
474d02:	80 bf 4d 01 00 00 00 	cmpb   $0x0,0x14d(%edi)
474d09:	0f 84 21 04 00 00    	je     0x475130
474d0f:	8d 85 20 ff ff ff    	lea    -0xe0(%ebp),%eax
474d15:	89 9d 24 ff ff ff    	mov    %ebx,-0xdc(%ebp)
474d1b:	50                   	push   %eax
474d1c:	6a 00                	push   $0x0
474d1e:	68 4d 10 00 00       	push   $0x104d
474d23:	ff b7 e0 00 00 00    	push   0xe0(%edi)
474d29:	c7 85 20 ff ff ff 04 	movl   $0x4,-0xe0(%ebp)
474d30:	00 00 00
474d33:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
474d39:	c7 85 28 ff ff ff 00 	movl   $0x0,-0xd8(%ebp)
474d40:	00 00 00
474d43:	ff 15 20 40 d8 00    	call   *0xd84020
474d49:	85 c0                	test   %eax,%eax
474d4b:	0f 89 e7 00 00 00    	jns    0x474e38
474d51:	ff 15 d4 36 d8 00    	call   *0xd836d4
474d57:	68 88 44 bd 00       	push   $0xbd4488
474d5c:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
474d62:	8b f0                	mov    %eax,%esi
474d64:	e8 61 1f fa ff       	call   0x416cca
474d69:	68 44 3a bd 00       	push   $0xbd3a44
474d6e:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
474d74:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
474d78:	e8 4d 1f fa ff       	call   0x416cca
474d7d:	68 74 3a bd 00       	push   $0xbd3a74
474d82:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
474d85:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
474d89:	e8 3c 1f fa ff       	call   0x416cca
474d8e:	68 ec 00 00 00       	push   $0xec
474d93:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
474d99:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
474d9d:	50                   	push   %eax
474d9e:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
474da4:	50                   	push   %eax
474da5:	8d 8d bc fe ff ff    	lea    -0x144(%ebp),%ecx
474dab:	e8 ed 7c fb ff       	call   0x42ca9d
474db0:	8b f8                	mov    %eax,%edi
474db2:	6a 00                	push   $0x0
474db4:	6a 00                	push   $0x0
474db6:	8d 8d 84 fc ff ff    	lea    -0x37c(%ebp),%ecx
474dbc:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
474dc0:	c7 85 80 fc ff ff 00 	movl   $0x0,-0x380(%ebp)
474dc7:	00 00 00
474dca:	c7 85 84 fc ff ff 00 	movl   $0x0,-0x37c(%ebp)
474dd1:	00 00 00
474dd4:	c7 85 88 fc ff ff 00 	movl   $0x0,-0x378(%ebp)
474ddb:	00 00 00
474dde:	e8 9f a2 fa ff       	call   0x41f082
474de3:	89 85 84 fc ff ff    	mov    %eax,-0x37c(%ebp)
474de9:	c7 85 8c fc ff ff 00 	movl   $0x0,-0x374(%ebp)
474df0:	00 00 00
474df3:	c7 85 90 fc ff ff 00 	movl   $0x0,-0x370(%ebp)
474dfa:	00 00 00
474dfd:	c7 85 94 fc ff ff 00 	movl   $0x0,-0x36c(%ebp)
474e04:	00 00 00
474e07:	6a 08                	push   $0x8
474e09:	8d 8d 80 fc ff ff    	lea    -0x380(%ebp),%ecx
474e0f:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
474e13:	c7 85 80 fc ff ff 00 	movl   $0x3f800000,-0x380(%ebp)
474e1a:	00 80 3f
474e1d:	e8 2d 3a fa ff       	call   0x41884f
474e22:	57                   	push   %edi
474e23:	8d 85 80 fc ff ff    	lea    -0x380(%ebp),%eax
474e29:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
474e2d:	50                   	push   %eax
474e2e:	56                   	push   %esi
474e2f:	8d 45 a4             	lea    -0x5c(%ebp),%eax
474e32:	50                   	push   %eax
474e33:	e8 54 e9 f9 ff       	call   0x41378c
474e38:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
474e3f:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
474e46:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
474e4a:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
474e51:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
474e58:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
474e5c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
474e5f:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
474e63:	50                   	push   %eax
474e64:	8d 45 bc             	lea    -0x44(%ebp),%eax
474e67:	50                   	push   %eax
474e68:	56                   	push   %esi
474e69:	e8 28 42 fb ff       	call   0x429096
474e6e:	8d 46 30             	lea    0x30(%esi),%eax
474e71:	83 c4 0c             	add    $0xc,%esp
474e74:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
474e78:	72 02                	jb     0x474e7c
474e7a:	8b 00                	mov    (%eax),%eax
474e7c:	50                   	push   %eax
474e7d:	6a 00                	push   $0x0
474e7f:	53                   	push   %ebx
474e80:	8b cf                	mov    %edi,%ecx
474e82:	e8 53 d5 fb ff       	call   0x4323da
474e87:	83 7d d0 10          	cmpl   $0x10,-0x30(%ebp)
474e8b:	8d 45 bc             	lea    -0x44(%ebp),%eax
474e8e:	8d 8d a4 fc ff ff    	lea    -0x35c(%ebp),%ecx
474e94:	0f 43 45 bc          	cmovae -0x44(%ebp),%eax
474e98:	50                   	push   %eax
474e99:	e8 f0 73 f9 ff       	call   0x40c28e
474e9e:	8d 8d a4 fc ff ff    	lea    -0x35c(%ebp),%ecx
474ea4:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
474ea8:	e8 bf b7 fa ff       	call   0x42066c
474ead:	ff b5 a4 fc ff ff    	push   -0x35c(%ebp)
474eb3:	8d 85 b4 fc ff ff    	lea    -0x34c(%ebp),%eax
474eb9:	c7 85 b0 fc ff ff 28 	movl   $0xbd1728,-0x350(%ebp)
474ec0:	17 bd 00
474ec3:	8d 8d b0 fc ff ff    	lea    -0x350(%ebp),%ecx
474ec9:	89 85 b4 fe ff ff    	mov    %eax,-0x14c(%ebp)
474ecf:	c7 85 b8 fe ff ff 00 	movl   $0x200,-0x148(%ebp)
474ed6:	02 00 00
474ed9:	e8 53 d5 f9 ff       	call   0x412431
474ede:	ff b5 b4 fe ff ff    	push   -0x14c(%ebp)
474ee4:	8b cf                	mov    %edi,%ecx
474ee6:	c6 45 fc 13          	movb   $0x13,-0x4(%ebp)
474eea:	6a 01                	push   $0x1
474eec:	53                   	push   %ebx
474eed:	e8 e8 d4 fb ff       	call   0x4323da
474ef2:	8d 8d b0 fc ff ff    	lea    -0x350(%ebp),%ecx
474ef8:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
474efc:	e8 eb f5 fa ff       	call   0x4244ec
474f01:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
474f05:	8d 45 d4             	lea    -0x2c(%ebp),%eax
474f08:	8b cf                	mov    %edi,%ecx
474f0a:	0f 43 45 d4          	cmovae -0x2c(%ebp),%eax
474f0e:	50                   	push   %eax
474f0f:	6a 02                	push   $0x2
474f11:	53                   	push   %ebx
474f12:	e8 c3 d4 fb ff       	call   0x4323da
474f17:	8b 46 68             	mov    0x68(%esi),%eax
474f1a:	8d 8d 78 fc ff ff    	lea    -0x388(%ebp),%ecx
474f20:	89 85 78 fc ff ff    	mov    %eax,-0x388(%ebp)
474f26:	8b 46 6c             	mov    0x6c(%esi),%eax
474f29:	89 85 7c fc ff ff    	mov    %eax,-0x384(%ebp)
474f2f:	8d 85 a8 fc ff ff    	lea    -0x358(%ebp),%eax
474f35:	68 f8 44 bd 00       	push   $0xbd44f8
474f3a:	50                   	push   %eax
474f3b:	e8 d7 8c fc ff       	call   0x43dc17
474f40:	8b 00                	mov    (%eax),%eax
474f42:	8d 8d b4 fc ff ff    	lea    -0x34c(%ebp),%ecx
474f48:	89 8d b4 fe ff ff    	mov    %ecx,-0x14c(%ebp)
474f4e:	8d 8d b0 fc ff ff    	lea    -0x350(%ebp),%ecx
474f54:	50                   	push   %eax
474f55:	c6 45 fc 14          	movb   $0x14,-0x4(%ebp)
474f59:	c7 85 b0 fc ff ff 28 	movl   $0xbd1728,-0x350(%ebp)
474f60:	17 bd 00
474f63:	c7 85 b8 fe ff ff 00 	movl   $0x200,-0x148(%ebp)
474f6a:	02 00 00
474f6d:	e8 bf d4 f9 ff       	call   0x412431
474f72:	ff b5 b4 fe ff ff    	push   -0x14c(%ebp)
474f78:	8b cf                	mov    %edi,%ecx
474f7a:	c6 45 fc 15          	movb   $0x15,-0x4(%ebp)
474f7e:	6a 03                	push   $0x3
474f80:	53                   	push   %ebx
474f81:	e8 54 d4 fb ff       	call   0x4323da
474f86:	8d 8d b0 fc ff ff    	lea    -0x350(%ebp),%ecx
474f8c:	e8 5b f5 fa ff       	call   0x4244ec
474f91:	8b 95 a8 fc ff ff    	mov    -0x358(%ebp),%edx
474f97:	83 c8 ff             	or     $0xffffffff,%eax
474f9a:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
474f9e:	83 c2 f0             	add    $0xfffffff0,%edx
474fa1:	f0 0f c1 42 0c       	lock xadd %eax,0xc(%edx)
474fa6:	48                   	dec    %eax
474fa7:	85 c0                	test   %eax,%eax
474fa9:	7f 08                	jg     0x474fb3
474fab:	8b 0a                	mov    (%edx),%ecx
474fad:	52                   	push   %edx
474fae:	8b 01                	mov    (%ecx),%eax
474fb0:	ff 50 04             	call   *0x4(%eax)
474fb3:	8d 45 84             	lea    -0x7c(%ebp),%eax
474fb6:	50                   	push   %eax
474fb7:	56                   	push   %esi
474fb8:	e8 53 98 fc ff       	call   0x43e810
474fbd:	83 c4 08             	add    $0x8,%esp
474fc0:	84 c0                	test   %al,%al
474fc2:	0f 84 06 01 00 00    	je     0x4750ce
474fc8:	6a 02                	push   $0x2
474fca:	6a 02                	push   $0x2
474fcc:	53                   	push   %ebx
474fcd:	8d 8f c0 00 00 00    	lea    0xc0(%edi),%ecx
474fd3:	e8 df 98 fa ff       	call   0x41e8b7
474fd8:	85 c0                	test   %eax,%eax
474fda:	0f 85 e7 00 00 00    	jne    0x4750c7
474fe0:	ff 15 d4 36 d8 00    	call   *0xd836d4
474fe6:	68 88 44 bd 00       	push   $0xbd4488
474feb:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
474fee:	8b f0                	mov    %eax,%esi
474ff0:	e8 d5 1c fa ff       	call   0x416cca
474ff5:	68 44 3a bd 00       	push   $0xbd3a44
474ffa:	8d 8d 54 ff ff ff    	lea    -0xac(%ebp),%ecx
475000:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
475004:	e8 c1 1c fa ff       	call   0x416cca
475009:	68 ec 40 bd 00       	push   $0xbd40ec
47500e:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
475014:	c6 45 fc 17          	movb   $0x17,-0x4(%ebp)
475018:	e8 ad 1c fa ff       	call   0x416cca
47501d:	68 02 01 00 00       	push   $0x102
475022:	8d 45 a4             	lea    -0x5c(%ebp),%eax
475025:	c6 45 fc 18          	movb   $0x18,-0x4(%ebp)
475029:	50                   	push   %eax
47502a:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
475030:	50                   	push   %eax
475031:	8d 8d bc fe ff ff    	lea    -0x144(%ebp),%ecx
475037:	e8 61 7a fb ff       	call   0x42ca9d
47503c:	8b f8                	mov    %eax,%edi
47503e:	6a 00                	push   $0x0
475040:	6a 00                	push   $0x0
475042:	8d 8d 84 fc ff ff    	lea    -0x37c(%ebp),%ecx
475048:	c6 45 fc 19          	movb   $0x19,-0x4(%ebp)
47504c:	c7 85 80 fc ff ff 00 	movl   $0x0,-0x380(%ebp)
475053:	00 00 00
475056:	c7 85 84 fc ff ff 00 	movl   $0x0,-0x37c(%ebp)
47505d:	00 00 00
475060:	c7 85 88 fc ff ff 00 	movl   $0x0,-0x378(%ebp)
475067:	00 00 00
47506a:	e8 13 a0 fa ff       	call   0x41f082
47506f:	89 85 84 fc ff ff    	mov    %eax,-0x37c(%ebp)
475075:	c7 85 8c fc ff ff 00 	movl   $0x0,-0x374(%ebp)
47507c:	00 00 00
47507f:	c7 85 90 fc ff ff 00 	movl   $0x0,-0x370(%ebp)
475086:	00 00 00
475089:	c7 85 94 fc ff ff 00 	movl   $0x0,-0x36c(%ebp)
475090:	00 00 00
475093:	6a 08                	push   $0x8
475095:	8d 8d 80 fc ff ff    	lea    -0x380(%ebp),%ecx
47509b:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
47509f:	c7 85 80 fc ff ff 00 	movl   $0x3f800000,-0x380(%ebp)
4750a6:	00 80 3f
4750a9:	e8 a1 37 fa ff       	call   0x41884f
4750ae:	57                   	push   %edi
4750af:	8d 85 80 fc ff ff    	lea    -0x380(%ebp),%eax
4750b5:	c6 45 fc 1c          	movb   $0x1c,-0x4(%ebp)
4750b9:	50                   	push   %eax
4750ba:	56                   	push   %esi
4750bb:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4750c1:	50                   	push   %eax
4750c2:	e8 c5 e6 f9 ff       	call   0x41378c
4750c7:	c6 85 af fc ff ff 01 	movb   $0x1,-0x351(%ebp)
4750ce:	8b 95 a4 fc ff ff    	mov    -0x35c(%ebp),%edx
4750d4:	83 c8 ff             	or     $0xffffffff,%eax
4750d7:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
4750db:	83 c2 f0             	add    $0xfffffff0,%edx
4750de:	f0 0f c1 42 0c       	lock xadd %eax,0xc(%edx)
4750e3:	48                   	dec    %eax
4750e4:	85 c0                	test   %eax,%eax
4750e6:	7f 08                	jg     0x4750f0
4750e8:	8b 0a                	mov    (%edx),%ecx
4750ea:	52                   	push   %edx
4750eb:	8b 01                	mov    (%ecx),%eax
4750ed:	ff 50 04             	call   *0x4(%eax)
4750f0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4750f3:	83 f8 10             	cmp    $0x10,%eax
4750f6:	72 0d                	jb     0x475105
4750f8:	40                   	inc    %eax
4750f9:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4750fc:	50                   	push   %eax
4750fd:	ff 75 d4             	push   -0x2c(%ebp)