46eb63:	8b 85 b4 fd ff ff    	mov    -0x24c(%ebp),%eax
46eb69:	eb 25                	jmp    0x46eb90
46eb6b:	8b 37                	mov    (%edi),%esi
46eb6d:	8d 85 58 fd ff ff    	lea    -0x2a8(%ebp),%eax
46eb73:	50                   	push   %eax
46eb74:	8d 85 8c fd ff ff    	lea    -0x274(%ebp),%eax
46eb7a:	50                   	push   %eax
46eb7b:	8b 4e 14             	mov    0x14(%esi),%ecx
46eb7e:	53                   	push   %ebx
46eb7f:	ff b5 70 fd ff ff    	push   -0x290(%ebp)
46eb85:	ff 15 2c 81 4a 00    	call   *0x4a812c
46eb8b:	8b cf                	mov    %edi,%ecx
46eb8d:	ff 56 14             	call   *0x14(%esi)
46eb90:	f7 d8                	neg    %eax
46eb92:	6a 0b                	push   $0xb
46eb94:	1b c0                	sbb    %eax,%eax
46eb96:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46eb9a:	0f b7 c8             	movzwl %ax,%ecx
46eb9d:	8b 85 7c fd ff ff    	mov    -0x284(%ebp),%eax
46eba3:	5a                   	pop    %edx
46eba4:	66 89 10             	mov    %dx,(%eax)
46eba7:	66 89 48 08          	mov    %cx,0x8(%eax)
46ebab:	8d 8d c0 fd ff ff    	lea    -0x240(%ebp),%ecx
46ebb1:	ff 15 1c 74 4a 00    	call   *0x4a741c
46ebb7:	8b fb                	mov    %ebx,%edi
46ebb9:	e9 8c 00 00 00       	jmp    0x46ec4a
46ebbe:	ba a4 f7 40 00       	mov    $0x40f7a4,%edx
46ebc3:	8b cb                	mov    %ebx,%ecx
46ebc5:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46ebc8:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46ebcb:	0f 85 d3 01 00 00    	jne    0x46eda4
46ebd1:	41                   	inc    %ecx
46ebd2:	83 f9 04             	cmp    $0x4,%ecx
46ebd5:	75 ee                	jne    0x46ebc5
46ebd7:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46ebdd:	e8 14 0d 00 00       	call   0x46f8f6
46ebe2:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
46ebe9:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46ebef:	8b 37                	mov    (%edi),%esi
46ebf1:	8b 85 88 fd ff ff    	mov    -0x278(%ebp),%eax
46ebf7:	53                   	push   %ebx
46ebf8:	51                   	push   %ecx
46ebf9:	8b 4e 14             	mov    0x14(%esi),%ecx
46ebfc:	0f b7 c0             	movzwl %ax,%eax
46ebff:	6a ff                	push   $0xffffffff
46ec01:	50                   	push   %eax
46ec02:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
46ec08:	ff 15 2c 81 4a 00    	call   *0x4a812c
46ec0e:	8b cf                	mov    %edi,%ecx
46ec10:	ff 56 14             	call   *0x14(%esi)
46ec13:	85 c0                	test   %eax,%eax
46ec15:	74 1e                	je     0x46ec35
46ec17:	8b 85 b8 fd ff ff    	mov    -0x248(%ebp),%eax
46ec1d:	8b fb                	mov    %ebx,%edi
46ec1f:	8b 8d 7c fd ff ff    	mov    -0x284(%ebp),%ecx
46ec25:	f7 d8                	neg    %eax
46ec27:	6a 0b                	push   $0xb
46ec29:	5a                   	pop    %edx
46ec2a:	1b c0                	sbb    %eax,%eax
46ec2c:	66 89 11             	mov    %dx,(%ecx)
46ec2f:	66 89 41 08          	mov    %ax,0x8(%ecx)
46ec33:	eb 05                	jmp    0x46ec3a
46ec35:	bf 01 40 00 80       	mov    $0x80004001,%edi
46ec3a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46ec3e:	8d 8d c0 fd ff ff    	lea    -0x240(%ebp),%ecx
46ec44:	ff 15 1c 74 4a 00    	call   *0x4a741c
46ec4a:	8b 75 10             	mov    0x10(%ebp),%esi
46ec4d:	e9 57 01 00 00       	jmp    0x46eda9
46ec52:	83 7e 10 0d          	cmpl   $0xd,0x10(%esi)
46ec56:	0f 85 48 01 00 00    	jne    0x46eda4
46ec5c:	ba b8 f7 40 00       	mov    $0x40f7b8,%edx
46ec61:	8b cb                	mov    %ebx,%ecx
46ec63:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46ec66:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46ec69:	75 08                	jne    0x46ec73
46ec6b:	41                   	inc    %ecx
46ec6c:	83 f9 04             	cmp    $0x4,%ecx
46ec6f:	75 f2                	jne    0x46ec63
46ec71:	eb 47                	jmp    0x46ecba
46ec73:	ba f8 f5 40 00       	mov    $0x40f5f8,%edx
46ec78:	8b cb                	mov    %ebx,%ecx
46ec7a:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46ec7d:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46ec80:	75 08                	jne    0x46ec8a
46ec82:	41                   	inc    %ecx
46ec83:	83 f9 04             	cmp    $0x4,%ecx
46ec86:	75 f2                	jne    0x46ec7a
46ec88:	eb 30                	jmp    0x46ecba
46ec8a:	ba 54 f8 40 00       	mov    $0x40f854,%edx
46ec8f:	8b cb                	mov    %ebx,%ecx
46ec91:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46ec94:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46ec97:	75 08                	jne    0x46eca1
46ec99:	41                   	inc    %ecx
46ec9a:	83 f9 04             	cmp    $0x4,%ecx
46ec9d:	75 f2                	jne    0x46ec91
46ec9f:	eb 19                	jmp    0x46ecba
46eca1:	ba 80 f7 40 00       	mov    $0x40f780,%edx
46eca6:	8b cb                	mov    %ebx,%ecx
46eca8:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46ecab:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46ecae:	0f 85 f0 00 00 00    	jne    0x46eda4
46ecb4:	41                   	inc    %ecx
46ecb5:	83 f9 04             	cmp    $0x4,%ecx
46ecb8:	75 ee                	jne    0x46eca8
46ecba:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46ecc0:	e8 31 0c 00 00       	call   0x46f8f6
46ecc5:	c7 45 fc 06 00 00 00 	movl   $0x6,-0x4(%ebp)
46eccc:	8d bd c8 fd ff ff    	lea    -0x238(%ebp),%edi
46ecd2:	8b 85 88 fd ff ff    	mov    -0x278(%ebp),%eax
46ecd8:	6a 05                	push   $0x5
46ecda:	59                   	pop    %ecx
46ecdb:	0f b7 c0             	movzwl %ax,%eax
46ecde:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
46ece4:	c7 85 c4 fd ff ff 01 	movl   $0x1,-0x23c(%ebp)
46eceb:	00 00 00
46ecee:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
46ecf0:	8b bd 80 fd ff ff    	mov    -0x280(%ebp),%edi
46ecf6:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46ecfc:	53                   	push   %ebx
46ecfd:	51                   	push   %ecx
46ecfe:	6a ff                	push   $0xffffffff
46ed00:	8b 37                	mov    (%edi),%esi
46ed02:	50                   	push   %eax
46ed03:	8b 4e 14             	mov    0x14(%esi),%ecx
46ed06:	ff 15 2c 81 4a 00    	call   *0x4a812c
46ed0c:	8b cf                	mov    %edi,%ecx
46ed0e:	ff 56 14             	call   *0x14(%esi)
46ed11:	85 c0                	test   %eax,%eax
46ed13:	0f 84 1c ff ff ff    	je     0x46ec35
46ed19:	83 bd dc fd ff ff 00 	cmpl   $0x0,-0x224(%ebp)
46ed20:	0f 84 0f ff ff ff    	je     0x46ec35
46ed26:	83 bd e0 fd ff ff 00 	cmpl   $0x0,-0x220(%ebp)
46ed2d:	0f 84 02 ff ff ff    	je     0x46ec35
46ed33:	89 9d 84 fd ff ff    	mov    %ebx,-0x27c(%ebp)
46ed39:	8b 85 78 fd ff ff    	mov    -0x288(%ebp),%eax
46ed3f:	8d 8d 84 fd ff ff    	lea    -0x27c(%ebp),%ecx
46ed45:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
46ed49:	51                   	push   %ecx
46ed4a:	53                   	push   %ebx
46ed4b:	8b 40 38             	mov    0x38(%eax),%eax
46ed4e:	ff b5 e0 fd ff ff    	push   -0x220(%ebp)
46ed54:	50                   	push   %eax
46ed55:	8b 30                	mov    (%eax),%esi
46ed57:	8b 4e 0c             	mov    0xc(%esi),%ecx
46ed5a:	ff 15 2c 81 4a 00    	call   *0x4a812c
46ed60:	ff 56 0c             	call   *0xc(%esi)
46ed63:	8b f8                	mov    %eax,%edi
46ed65:	85 ff                	test   %edi,%edi
46ed67:	78 14                	js     0x46ed7d
46ed69:	ff b5 7c fd ff ff    	push   -0x284(%ebp)
46ed6f:	8b 95 84 fd ff ff    	mov    -0x27c(%ebp),%edx
46ed75:	8b 4d 10             	mov    0x10(%ebp),%ecx
46ed78:	e8 c0 0a 00 00       	call   0x46f83d
46ed7d:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
46ed81:	8b 85 84 fd ff ff    	mov    -0x27c(%ebp),%eax
46ed87:	85 c0                	test   %eax,%eax
46ed89:	0f 84 ab fe ff ff    	je     0x46ec3a
46ed8f:	8b 08                	mov    (%eax),%ecx
46ed91:	50                   	push   %eax
46ed92:	8b 71 08             	mov    0x8(%ecx),%esi
46ed95:	8b ce                	mov    %esi,%ecx
46ed97:	ff 15 2c 81 4a 00    	call   *0x4a812c
46ed9d:	ff d6                	call   *%esi
46ed9f:	e9 96 fe ff ff       	jmp    0x46ec3a
46eda4:	bf 01 40 00 80       	mov    $0x80004001,%edi
46eda9:	6a 13                	push   $0x13
46edab:	58                   	pop    %eax
46edac:	39 46 10             	cmp    %eax,0x10(%esi)
46edaf:	0f 85 8b 00 00 00    	jne    0x46ee40
46edb5:	ba 58 f6 40 00       	mov    $0x40f658,%edx
46edba:	8b cb                	mov    %ebx,%ecx
46edbc:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46edbf:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46edc2:	75 7c                	jne    0x46ee40
46edc4:	41                   	inc    %ecx
46edc5:	83 f9 04             	cmp    $0x4,%ecx
46edc8:	75 f2                	jne    0x46edbc
46edca:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46edd0:	e8 21 0b 00 00       	call   0x46f8f6
46edd5:	8b b5 80 fd ff ff    	mov    -0x280(%ebp),%esi
46eddb:	8d 8d 8c fd ff ff    	lea    -0x274(%ebp),%ecx
46ede1:	8b 45 0c             	mov    0xc(%ebp),%eax
46ede4:	c7 45 fc 09 00 00 00 	movl   $0x9,-0x4(%ebp)
46edeb:	53                   	push   %ebx
46edec:	8b 36                	mov    (%esi),%esi
46edee:	51                   	push   %ecx
46edef:	6a ff                	push   $0xffffffff
46edf1:	50                   	push   %eax
46edf2:	8b 4e 14             	mov    0x14(%esi),%ecx
46edf5:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
46edfb:	ff 15 2c 81 4a 00    	call   *0x4a812c
46ee01:	8b 8d 80 fd ff ff    	mov    -0x280(%ebp),%ecx
46ee07:	ff 56 14             	call   *0x14(%esi)
46ee0a:	85 c0                	test   %eax,%eax
46ee0c:	74 1f                	je     0x46ee2d
46ee0e:	83 bd b4 fd ff ff 00 	cmpl   $0x0,-0x24c(%ebp)
46ee15:	8b cb                	mov    %ebx,%ecx
46ee17:	74 03                	je     0x46ee1c
46ee19:	6a 02                	push   $0x2
46ee1b:	59                   	pop    %ecx
46ee1c:	8b 85 7c fd ff ff    	mov    -0x284(%ebp),%eax
46ee22:	8b fb                	mov    %ebx,%edi
46ee24:	6a 13                	push   $0x13
46ee26:	5a                   	pop    %edx
46ee27:	66 89 10             	mov    %dx,(%eax)
46ee2a:	89 48 08             	mov    %ecx,0x8(%eax)
46ee2d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46ee31:	8d 8d c0 fd ff ff    	lea    -0x240(%ebp),%ecx
46ee37:	ff 15 1c 74 4a 00    	call   *0x4a741c
46ee3d:	8b 75 10             	mov    0x10(%ebp),%esi
46ee40:	85 ff                	test   %edi,%edi
46ee42:	0f 89 43 03 00 00    	jns    0x46f18b
46ee48:	b8 0d 20 00 00       	mov    $0x200d,%eax
46ee4d:	39 46 10             	cmp    %eax,0x10(%esi)
46ee50:	0f 85 35 03 00 00    	jne    0x46f18b
46ee56:	ba 48 f7 40 00       	mov    $0x40f748,%edx
46ee5b:	8b cb                	mov    %ebx,%ecx
46ee5d:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
46ee60:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
46ee63:	0f 85 22 03 00 00    	jne    0x46f18b
46ee69:	41                   	inc    %ecx
46ee6a:	83 f9 04             	cmp    $0x4,%ecx
46ee6d:	75 ee                	jne    0x46ee5d
46ee6f:	89 9d 64 fd ff ff    	mov    %ebx,-0x29c(%ebp)
46ee75:	89 9d 68 fd ff ff    	mov    %ebx,-0x298(%ebp)
46ee7b:	89 9d 6c fd ff ff    	mov    %ebx,-0x294(%ebp)
46ee81:	8b 85 78 fd ff ff    	mov    -0x288(%ebp),%eax
46ee87:	8d 8d 60 fd ff ff    	lea    -0x2a0(%ebp),%ecx
46ee8d:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
46ee94:	51                   	push   %ecx
46ee95:	8b 78 30             	mov    0x30(%eax),%edi
46ee98:	8b 07                	mov    (%edi),%eax
46ee9a:	8b 70 0c             	mov    0xc(%eax),%esi
46ee9d:	8b ce                	mov    %esi,%ecx
46ee9f:	ff 15 2c 81 4a 00    	call   *0x4a812c
46eea5:	8b cf                	mov    %edi,%ecx
46eea7:	ff d6                	call   *%esi
46eea9:	8b f8                	mov    %eax,%edi
46eeab:	85 ff                	test   %edi,%edi
46eead:	0f 88 c6 02 00 00    	js     0x46f179
46eeb3:	83 bd 64 fd ff ff 00 	cmpl   $0x0,-0x29c(%ebp)
46eeba:	75 04                	jne    0x46eec0
46eebc:	8b c3                	mov    %ebx,%eax
46eebe:	eb 0f                	jmp    0x46eecf
46eec0:	8b 85 68 fd ff ff    	mov    -0x298(%ebp),%eax
46eec6:	2b 85 64 fd ff ff    	sub    -0x29c(%ebp),%eax
46eecc:	c1 f8 02             	sar    $0x2,%eax
46eecf:	50                   	push   %eax
46eed0:	53                   	push   %ebx
46eed1:	6a 0d                	push   $0xd
46eed3:	ff 15 48 7c 4a 00    	call   *0x4a7c48
46eed9:	8b f0                	mov    %eax,%esi
46eedb:	89 b5 80 fd ff ff    	mov    %esi,-0x280(%ebp)
46eee1:	85 f6                	test   %esi,%esi
46eee3:	0f 84 8b 02 00 00    	je     0x46f174
46eee9:	89 9d 74 fd ff ff    	mov    %ebx,-0x28c(%ebp)
46eeef:	8b cb                	mov    %ebx,%ecx
46eef1:	89 9d 84 fd ff ff    	mov    %ebx,-0x27c(%ebp)
46eef7:	83 bd 64 fd ff ff 00 	cmpl   $0x0,-0x29c(%ebp)
46eefe:	75 04                	jne    0x46ef04
46ef00:	8b c3                	mov    %ebx,%eax
46ef02:	eb 0f                	jmp    0x46ef13
46ef04:	8b 85 68 fd ff ff    	mov    -0x298(%ebp),%eax
46ef0a:	2b 85 64 fd ff ff    	sub    -0x29c(%ebp),%eax
46ef10:	c1 f8 02             	sar    $0x2,%eax
46ef13:	3b c8                	cmp    %eax,%ecx
46ef15:	0f 83 1b 02 00 00    	jae    0x46f136
46ef1b:	6a 30                	push   $0x30
46ef1d:	ff 15 14 74 4a 00    	call   *0x4a7414
46ef23:	59                   	pop    %ecx
46ef24:	89 85 70 fd ff ff    	mov    %eax,-0x290(%ebp)
46ef2a:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
46ef2e:	85 c0                	test   %eax,%eax
46ef30:	74 11                	je     0x46ef43
46ef32:	8b c8                	mov    %eax,%ecx
46ef34:	e8 44 05 00 00       	call   0x46f47d
46ef39:	8b f0                	mov    %eax,%esi
46ef3b:	89 b5 78 fd ff ff    	mov    %esi,-0x288(%ebp)
46ef41:	eb 08                	jmp    0x46ef4b
46ef43:	8b f3                	mov    %ebx,%esi
46ef45:	89 9d 78 fd ff ff    	mov    %ebx,-0x288(%ebp)
46ef4b:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
46ef4f:	8d bd 38 fd ff ff    	lea    -0x2c8(%ebp),%edi
46ef55:	33 c0                	xor    %eax,%eax
46ef57:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
46ef5d:	ab                   	stos   %eax,%es:(%edi)
46ef5e:	68 04 01 00 00       	push   $0x104
46ef63:	51                   	push   %ecx
46ef64:	8b 8d 84 fd ff ff    	mov    -0x27c(%ebp),%ecx
46ef6a:	ab                   	stos   %eax,%es:(%edi)
46ef6b:	ab                   	stos   %eax,%es:(%edi)
46ef6c:	ab                   	stos   %eax,%es:(%edi)
46ef6d:	8b 85 64 fd ff ff    	mov    -0x29c(%ebp),%eax
46ef73:	ff 34 88             	push   (%eax,%ecx,4)
46ef76:	ff 15 58 70 4a 00    	call   *0x4a7058
46ef7c:	8d 95 38 fd ff ff    	lea    -0x2c8(%ebp),%edx
46ef82:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
46ef88:	e8 c4 70 fb ff       	call   0x426051
46ef8d:	8d 85 38 fd ff ff    	lea    -0x2c8(%ebp),%eax
46ef93:	8b ce                	mov    %esi,%ecx
46ef95:	50                   	push   %eax
46ef96:	68 d0 f5 40 00       	push   $0x40f5d0
46ef9b:	e8 aa 05 00 00       	call   0x46f54a
46efa0:	8d 85 38 fd ff ff    	lea    -0x2c8(%ebp),%eax
46efa6:	50                   	push   %eax
46efa7:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46efad:	8b 8d 84 fd ff ff    	mov    -0x27c(%ebp),%ecx
46efb3:	8d bd 28 fd ff ff    	lea    -0x2d8(%ebp),%edi
46efb9:	33 c0                	xor    %eax,%eax
46efbb:	8d 95 28 fd ff ff    	lea    -0x2d8(%ebp),%edx
46efc1:	ab                   	stos   %eax,%es:(%edi)
46efc2:	ab                   	stos   %eax,%es:(%edi)
46efc3:	ab                   	stos   %eax,%es:(%edi)
46efc4:	ab                   	stos   %eax,%es:(%edi)
46efc5:	8b 85 64 fd ff ff    	mov    -0x29c(%ebp),%eax
46efcb:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
46efce:	e8 7e 70 fb ff       	call   0x426051
46efd3:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
46efd9:	8b ce                	mov    %esi,%ecx
46efdb:	50                   	push   %eax
46efdc:	68 a4 f6 40 00       	push   $0x40f6a4
46efe1:	e8 64 05 00 00       	call   0x46f54a
46efe6:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
46efec:	50                   	push   %eax
46efed:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46eff3:	33 c0                	xor    %eax,%eax
46eff5:	8d bd 48 fd ff ff    	lea    -0x2b8(%ebp),%edi
46effb:	ab                   	stos   %eax,%es:(%edi)
46effc:	8b ce                	mov    %esi,%ecx
46effe:	6a 0b                	push   $0xb
46f000:	ab                   	stos   %eax,%es:(%edi)
46f001:	ab                   	stos   %eax,%es:(%edi)
46f002:	ab                   	stos   %eax,%es:(%edi)
46f003:	58                   	pop    %eax
46f004:	66 89 85 48 fd ff ff 	mov    %ax,-0x2b8(%ebp)
46f00b:	33 c0                	xor    %eax,%eax
46f00d:	66 89 85 50 fd ff ff 	mov    %ax,-0x2b0(%ebp)
46f014:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
46f01a:	50                   	push   %eax
46f01b:	68 38 f9 40 00       	push   $0x40f938
46f020:	e8 25 05 00 00       	call   0x46f54a
46f025:	8d 85 48 fd ff ff    	lea    -0x2b8(%ebp),%eax
46f02b:	50                   	push   %eax
46f02c:	ff 15 64 7e 4a 00    	call   *0x4a7e64
46f032:	89 9d 88 fd ff ff    	mov    %ebx,-0x278(%ebp)
46f038:	8d 46 2c             	lea    0x2c(%esi),%eax
46f03b:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
46f03f:	8b 30                	mov    (%eax),%esi
46f041:	8d 8d 88 fd ff ff    	lea    -0x278(%ebp),%ecx