417c6c:	83 27 00             	andl   $0x0,(%edi)
417c6f:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
417c73:	74 12                	je     0x417c87
417c75:	56                   	push   %esi
417c76:	ff 75 08             	push   0x8(%ebp)
417c79:	8d 47 04             	lea    0x4(%edi),%eax
417c7c:	56                   	push   %esi
417c7d:	50                   	push   %eax
417c7e:	ff 15 f0 80 4a 00    	call   *0x4a80f0
417c84:	83 c4 10             	add    $0x10,%esp
417c87:	8b cb                	mov    %ebx,%ecx
417c89:	e8 79 ff ff ff       	call   0x417c07
417c8e:	89 3b                	mov    %edi,(%ebx)
417c90:	89 73 04             	mov    %esi,0x4(%ebx)
417c93:	f0 ff 07             	lock incl (%edi)
417c96:	b0 01                	mov    $0x1,%al
417c98:	5f                   	pop    %edi
417c99:	5e                   	pop    %esi
417c9a:	5b                   	pop    %ebx
417c9b:	5d                   	pop    %ebp
417c9c:	c2 08 00             	ret    $0x8
417c9f:	33 c0                	xor    %eax,%eax
417ca1:	89 0d ac 46 4a 00    	mov    %ecx,0x4a46ac
417ca7:	40                   	inc    %eax
417ca8:	f0 0f c1 05 a4 46 4a 	lock xadd %eax,0x4a46a4
417caf:	00
417cb0:	40                   	inc    %eax
417cb1:	c3                   	ret
417cb2:	33 c0                	xor    %eax,%eax
417cb4:	89 0d 3c 46 4a 00    	mov    %ecx,0x4a463c
417cba:	40                   	inc    %eax
417cbb:	f0 0f c1 05 cc 46 4a 	lock xadd %eax,0x4a46cc
417cc2:	00
417cc3:	40                   	inc    %eax
417cc4:	c3                   	ret
417cc5:	33 c0                	xor    %eax,%eax
417cc7:	89 0d c8 46 4a 00    	mov    %ecx,0x4a46c8
417ccd:	40                   	inc    %eax
417cce:	f0 0f c1 05 20 47 4a 	lock xadd %eax,0x4a4720
417cd5:	00
417cd6:	40                   	inc    %eax
417cd7:	c3                   	ret
417cd8:	cc                   	int3
417cd9:	cc                   	int3
417cda:	cc                   	int3
417cdb:	cc                   	int3
417cdc:	cc                   	int3
417cdd:	cc                   	int3
417cde:	cc                   	int3
417cdf:	cc                   	int3
417ce0:	8b ff                	mov    %edi,%edi
417ce2:	55                   	push   %ebp
417ce3:	8b ec                	mov    %esp,%ebp
417ce5:	8b 45 08             	mov    0x8(%ebp),%eax
417ce8:	a3 14 47 4a 00       	mov    %eax,0x4a4714
417ced:	33 c0                	xor    %eax,%eax
417cef:	40                   	inc    %eax
417cf0:	5d                   	pop    %ebp
417cf1:	c2 04 00             	ret    $0x4
417cf4:	8b ff                	mov    %edi,%edi
417cf6:	55                   	push   %ebp
417cf7:	8b ec                	mov    %esp,%ebp
417cf9:	56                   	push   %esi
417cfa:	8b 35 98 46 4a 00    	mov    0x4a4698,%esi
417d00:	85 f6                	test   %esi,%esi
417d02:	74 10                	je     0x417d14
417d04:	ff 75 08             	push   0x8(%ebp)
417d07:	6a 00                	push   $0x0
417d09:	51                   	push   %ecx
417d0a:	8b ce                	mov    %esi,%ecx
417d0c:	ff 15 2c 81 4a 00    	call   *0x4a812c
417d12:	ff d6                	call   *%esi
417d14:	6a 07                	push   $0x7
417d16:	59                   	pop    %ecx
417d17:	cd 29                	int    $0x29
417d19:	5e                   	pop    %esi
417d1a:	5d                   	pop    %ebp
417d1b:	c2 04 00             	ret    $0x4
417d1e:	8b ff                	mov    %edi,%edi
417d20:	55                   	push   %ebp
417d21:	8b ec                	mov    %esp,%ebp
417d23:	81 ec 10 01 00 00    	sub    $0x110,%esp
417d29:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
417d2e:	33 c5                	xor    %ebp,%eax
417d30:	89 45 fc             	mov    %eax,-0x4(%ebp)
417d33:	8b 4d 10             	mov    0x10(%ebp),%ecx
417d36:	53                   	push   %ebx
417d37:	8b 5d 0c             	mov    0xc(%ebp),%ebx
417d3a:	56                   	push   %esi
417d3b:	8b 75 08             	mov    0x8(%ebp),%esi
417d3e:	57                   	push   %edi
417d3f:	33 ff                	xor    %edi,%edi
417d41:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
417d47:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
417d4d:	85 f6                	test   %esi,%esi
417d4f:	74 28                	je     0x417d79
417d51:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
417d57:	50                   	push   %eax
417d58:	56                   	push   %esi
417d59:	6a 06                	push   $0x6
417d5b:	ff 15 a4 72 4a 00    	call   *0x4a72a4
417d61:	85 c0                	test   %eax,%eax
417d63:	75 08                	jne    0x417d6d
417d65:	85 db                	test   %ebx,%ebx
417d67:	74 3b                	je     0x417da4
417d69:	89 3b                	mov    %edi,(%ebx)
417d6b:	eb 37                	jmp    0x417da4
417d6d:	8b bd f4 fe ff ff    	mov    -0x10c(%ebp),%edi
417d73:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
417d79:	85 db                	test   %ebx,%ebx
417d7b:	74 0c                	je     0x417d89
417d7d:	8b c6                	mov    %esi,%eax
417d7f:	2b c7                	sub    %edi,%eax
417d81:	f7 de                	neg    %esi
417d83:	1b f6                	sbb    %esi,%esi
417d85:	23 f0                	and    %eax,%esi
417d87:	89 33                	mov    %esi,(%ebx)
417d89:	85 c9                	test   %ecx,%ecx
417d8b:	74 57                	je     0x417de4
417d8d:	68 04 01 00 00       	push   $0x104
417d92:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
417d98:	50                   	push   %eax
417d99:	57                   	push   %edi
417d9a:	ff 15 8c 72 4a 00    	call   *0x4a728c
417da0:	85 c0                	test   %eax,%eax
417da2:	75 04                	jne    0x417da8
417da4:	32 c0                	xor    %al,%al
417da6:	eb 3e                	jmp    0x417de6
417da8:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
417dae:	8d 51 01             	lea    0x1(%ecx),%edx
417db1:	8a 01                	mov    (%ecx),%al
417db3:	41                   	inc    %ecx
417db4:	84 c0                	test   %al,%al
417db6:	75 f9                	jne    0x417db1
417db8:	2b ca                	sub    %edx,%ecx
417dba:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
417dc0:	03 c1                	add    %ecx,%eax
417dc2:	eb 07                	jmp    0x417dcb
417dc4:	80 78 ff 5c          	cmpb   $0x5c,-0x1(%eax)
417dc8:	74 0b                	je     0x417dd5
417dca:	48                   	dec    %eax
417dcb:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
417dd1:	3b c1                	cmp    %ecx,%eax
417dd3:	77 ef                	ja     0x417dc4
417dd5:	8b 55 14             	mov    0x14(%ebp),%edx
417dd8:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
417dde:	50                   	push   %eax
417ddf:	e8 5c f9 ff ff       	call   0x417740
417de4:	b0 01                	mov    $0x1,%al
417de6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
417de9:	5f                   	pop    %edi
417dea:	5e                   	pop    %esi
417deb:	33 cd                	xor    %ebp,%ecx
417ded:	5b                   	pop    %ebx
417dee:	e8 0d 81 07 00       	call   0x48ff00
417df3:	c9                   	leave
417df4:	c2 10 00             	ret    $0x10
417df7:	cc                   	int3
417df8:	cc                   	int3
417df9:	cc                   	int3
417dfa:	cc                   	int3
417dfb:	cc                   	int3
417dfc:	cc                   	int3
417dfd:	cc                   	int3
417dfe:	cc                   	int3
417dff:	cc                   	int3
417e00:	80 3d b0 46 4a 00 00 	cmpb   $0x0,0x4a46b0
417e07:	56                   	push   %esi
417e08:	be d0 46 4a 00       	mov    $0x4a46d0,%esi
417e0d:	75 16                	jne    0x417e25
417e0f:	6a 40                	push   $0x40
417e11:	56                   	push   %esi
417e12:	6a 00                	push   $0x0
417e14:	68 e0 7c 41 00       	push   $0x417ce0
417e19:	e8 00 ff ff ff       	call   0x417d1e
417e1e:	c6 05 b0 46 4a 00 01 	movb   $0x1,0x4a46b0
417e25:	8b c6                	mov    %esi,%eax
417e27:	5e                   	pop    %esi
417e28:	c3                   	ret
417e29:	cc                   	int3
417e2a:	cc                   	int3
417e2b:	cc                   	int3
417e2c:	cc                   	int3
417e2d:	cc                   	int3
417e2e:	cc                   	int3
417e2f:	cc                   	int3
417e30:	ff 25 6c 72 4a 00    	jmp    *0x4a726c
417e36:	cc                   	int3
417e37:	cc                   	int3
417e38:	cc                   	int3
417e39:	cc                   	int3
417e3a:	cc                   	int3
417e3b:	cc                   	int3
417e3c:	cc                   	int3
417e3d:	cc                   	int3
417e3e:	cc                   	int3
417e3f:	cc                   	int3
417e40:	8b ff                	mov    %edi,%edi
417e42:	55                   	push   %ebp
417e43:	8b ec                	mov    %esp,%ebp
417e45:	56                   	push   %esi
417e46:	68 fc f2 40 00       	push   $0x40f2fc
417e4b:	ff 15 70 72 4a 00    	call   *0x4a7270
417e51:	68 1c f3 40 00       	push   $0x40f31c
417e56:	50                   	push   %eax
417e57:	ff 15 80 72 4a 00    	call   *0x4a7280
417e5d:	8b f0                	mov    %eax,%esi
417e5f:	85 f6                	test   %esi,%esi
417e61:	74 13                	je     0x417e76
417e63:	ff 75 10             	push   0x10(%ebp)
417e66:	8b ce                	mov    %esi,%ecx
417e68:	ff 75 0c             	push   0xc(%ebp)
417e6b:	ff 75 08             	push   0x8(%ebp)
417e6e:	ff 15 2c 81 4a 00    	call   *0x4a812c
417e74:	ff d6                	call   *%esi
417e76:	5e                   	pop    %esi
417e77:	5d                   	pop    %ebp
417e78:	c2 0c 00             	ret    $0xc
417e7b:	8b ff                	mov    %edi,%edi
417e7d:	55                   	push   %ebp
417e7e:	8b ec                	mov    %esp,%ebp
417e80:	56                   	push   %esi
417e81:	57                   	push   %edi
417e82:	8b f2                	mov    %edx,%esi
417e84:	8b f9                	mov    %ecx,%edi
417e86:	ff 15 b8 72 4a 00    	call   *0x4a72b8
417e8c:	85 c0                	test   %eax,%eax
417e8e:	75 1d                	jne    0x417ead
417e90:	68 9c 02 07 80       	push   $0x8007029c
417e95:	6a 02                	push   $0x2
417e97:	ff 75 14             	push   0x14(%ebp)
417e9a:	8b d6                	mov    %esi,%edx
417e9c:	8b cf                	mov    %edi,%ecx
417e9e:	50                   	push   %eax
417e9f:	50                   	push   %eax
417ea0:	ff 75 08             	push   0x8(%ebp)
417ea3:	e8 f9 09 00 00       	call   0x4188a1
417ea8:	b8 9c 02 00 00       	mov    $0x29c,%eax
417ead:	5f                   	pop    %edi
417eae:	5e                   	pop    %esi
417eaf:	5d                   	pop    %ebp
417eb0:	c2 10 00             	ret    $0x10
417eb3:	8b ff                	mov    %edi,%edi
417eb5:	55                   	push   %ebp
417eb6:	8b ec                	mov    %esp,%ebp
417eb8:	ff 75 04             	push   0x4(%ebp)
417ebb:	33 d2                	xor    %edx,%edx
417ebd:	51                   	push   %ecx
417ebe:	51                   	push   %ecx
417ebf:	6a 00                	push   $0x0
417ec1:	33 c9                	xor    %ecx,%ecx
417ec3:	e8 b3 ff ff ff       	call   0x417e7b
417ec8:	85 c0                	test   %eax,%eax
417eca:	7e 08                	jle    0x417ed4
417ecc:	0f b7 c0             	movzwl %ax,%eax
417ecf:	0d 00 00 07 80       	or     $0x80070000,%eax
417ed4:	5d                   	pop    %ebp
417ed5:	c3                   	ret
417ed6:	8b ff                	mov    %edi,%edi
417ed8:	55                   	push   %ebp
417ed9:	8b ec                	mov    %esp,%ebp
417edb:	8b 45 0c             	mov    0xc(%ebp),%eax
417ede:	56                   	push   %esi
417edf:	33 f6                	xor    %esi,%esi
417ee1:	85 c0                	test   %eax,%eax
417ee3:	74 07                	je     0x417eec
417ee5:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
417eea:	76 05                	jbe    0x417ef1
417eec:	be 57 00 07 80       	mov    $0x80070057,%esi
417ef1:	85 f6                	test   %esi,%esi
417ef3:	78 36                	js     0x417f2b
417ef5:	53                   	push   %ebx
417ef6:	8b 5d 08             	mov    0x8(%ebp),%ebx
417ef9:	8d 4d 14             	lea    0x14(%ebp),%ecx
417efc:	57                   	push   %edi
417efd:	51                   	push   %ecx
417efe:	ff 75 10             	push   0x10(%ebp)
417f01:	8d 78 ff             	lea    -0x1(%eax),%edi
417f04:	33 f6                	xor    %esi,%esi
417f06:	57                   	push   %edi
417f07:	50                   	push   %eax
417f08:	53                   	push   %ebx
417f09:	ff 15 d0 80 4a 00    	call   *0x4a80d0
417f0f:	83 c4 14             	add    $0x14,%esp
417f12:	85 c0                	test   %eax,%eax
417f14:	78 08                	js     0x417f1e
417f16:	3b c7                	cmp    %edi,%eax
417f18:	77 04                	ja     0x417f1e
417f1a:	75 0b                	jne    0x417f27
417f1c:	eb 05                	jmp    0x417f23
417f1e:	be 7a 00 07 80       	mov    $0x8007007a,%esi
417f23:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
417f27:	5f                   	pop    %edi
417f28:	5b                   	pop    %ebx
417f29:	eb 0a                	jmp    0x417f35
417f2b:	85 c0                	test   %eax,%eax
417f2d:	74 06                	je     0x417f35
417f2f:	8b 4d 08             	mov    0x8(%ebp),%ecx
417f32:	c6 01 00             	movb   $0x0,(%ecx)
417f35:	8b c6                	mov    %esi,%eax
417f37:	5e                   	pop    %esi
417f38:	5d                   	pop    %ebp
417f39:	c3                   	ret
417f3a:	85 c9                	test   %ecx,%ecx
417f3c:	75 04                	jne    0x417f42
417f3e:	33 c0                	xor    %eax,%eax
417f40:	40                   	inc    %eax
417f41:	c3                   	ret
417f42:	8d 51 01             	lea    0x1(%ecx),%edx
417f45:	8a 01                	mov    (%ecx),%al
417f47:	41                   	inc    %ecx
417f48:	84 c0                	test   %al,%al
417f4a:	75 f9                	jne    0x417f45
417f4c:	2b ca                	sub    %edx,%ecx
417f4e:	8d 41 01             	lea    0x1(%ecx),%eax
417f51:	c3                   	ret
417f52:	85 c9                	test   %ecx,%ecx
417f54:	75 04                	jne    0x417f5a
417f56:	6a 02                	push   $0x2
417f58:	58                   	pop    %eax
417f59:	c3                   	ret
417f5a:	8d 51 02             	lea    0x2(%ecx),%edx
417f5d:	66 8b 01             	mov    (%ecx),%ax
417f60:	83 c1 02             	add    $0x2,%ecx
417f63:	66 85 c0             	test   %ax,%ax
417f66:	75 f5                	jne    0x417f5d
417f68:	2b ca                	sub    %edx,%ecx
417f6a:	d1 f9                	sar    $1,%ecx
417f6c:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
417f73:	c3                   	ret
417f74:	8b ff                	mov    %edi,%edi
417f76:	55                   	push   %ebp
417f77:	8b ec                	mov    %esp,%ebp
417f79:	51                   	push   %ecx
417f7a:	53                   	push   %ebx
417f7b:	8b 5d 08             	mov    0x8(%ebp),%ebx
417f7e:	8b c1                	mov    %ecx,%eax
417f80:	56                   	push   %esi
417f81:	57                   	push   %edi
417f82:	6a 14                	push   $0x14
417f84:	59                   	pop    %ecx
417f85:	8b f8                	mov    %eax,%edi
417f87:	89 45 fc             	mov    %eax,-0x4(%ebp)
417f8a:	8b f3                	mov    %ebx,%esi
417f8c:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
417f8e:	8b 4b 40             	mov    0x40(%ebx),%ecx
417f91:	e8 bc ff ff ff       	call   0x417f52
417f96:	8b 4b 34             	mov    0x34(%ebx),%ecx
417f99:	8b f0                	mov    %eax,%esi
417f9b:	e8 b2 ff ff ff       	call   0x417f52