417bd6:	8b 4c 24 54          	mov    0x54(%esp),%ecx
417bda:	5f                   	pop    %edi
417bdb:	5e                   	pop    %esi
417bdc:	33 cc                	xor    %esp,%ecx
417bde:	e8 dd 2b 00 00       	call   0x41a7c0
417be3:	8b e5                	mov    %ebp,%esp
417be5:	5d                   	pop    %ebp
417be6:	c3                   	ret
417be7:	8b ff                	mov    %edi,%edi
417be9:	55                   	push   %ebp
417bea:	8b ec                	mov    %esp,%ebp
417bec:	51                   	push   %ecx
417bed:	51                   	push   %ecx
417bee:	56                   	push   %esi
417bef:	57                   	push   %edi
417bf0:	8d 45 fc             	lea    -0x4(%ebp),%eax
417bf3:	8b f1                	mov    %ecx,%esi
417bf5:	50                   	push   %eax
417bf6:	e8 2c 01 00 00       	call   0x417d27
417bfb:	8b 76 18             	mov    0x18(%esi),%esi
417bfe:	e8 12 3e 00 00       	call   0x41ba15
417c03:	8b 48 04             	mov    0x4(%eax),%ecx
417c06:	83 39 05             	cmpl   $0x5,(%ecx)
417c09:	76 1e                	jbe    0x417c29
417c0b:	68 00 40 00 00       	push   $0x4000
417c10:	6a 00                	push   $0x0
417c12:	e8 e5 00 00 00       	call   0x417cfc
417c17:	84 c0                	test   %al,%al
417c19:	74 0e                	je     0x417c29
417c1b:	8d 46 08             	lea    0x8(%esi),%eax
417c1e:	50                   	push   %eax
417c1f:	6a 03                	push   $0x3
417c21:	ff 15 74 a3 43 00    	call   *0x43a374
417c27:	eb 09                	jmp    0x417c32
417c29:	33 c0                	xor    %eax,%eax
417c2b:	8d 7e 08             	lea    0x8(%esi),%edi
417c2e:	ab                   	stos   %eax,%es:(%edi)
417c2f:	ab                   	stos   %eax,%es:(%edi)
417c30:	ab                   	stos   %eax,%es:(%edi)
417c31:	ab                   	stos   %eax,%es:(%edi)
417c32:	8b 45 fc             	mov    -0x4(%ebp),%eax
417c35:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
417c3b:	85 c0                	test   %eax,%eax
417c3d:	74 16                	je     0x417c55
417c3f:	89 45 fc             	mov    %eax,-0x4(%ebp)
417c42:	8d 55 fc             	lea    -0x4(%ebp),%edx
417c45:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
417c4a:	8d 4d f8             	lea    -0x8(%ebp),%ecx
417c4d:	89 45 f8             	mov    %eax,-0x8(%ebp)
417c50:	e8 0f 3a 00 00       	call   0x41b664
417c55:	5f                   	pop    %edi
417c56:	5e                   	pop    %esi
417c57:	c9                   	leave
417c58:	c3                   	ret
417c59:	8b ff                	mov    %edi,%edi
417c5b:	55                   	push   %ebp
417c5c:	8b ec                	mov    %esp,%ebp
417c5e:	83 ec 18             	sub    $0x18,%esp
417c61:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
417c65:	8d 45 f8             	lea    -0x8(%ebp),%eax
417c68:	57                   	push   %edi
417c69:	50                   	push   %eax
417c6a:	8d 45 f4             	lea    -0xc(%ebp),%eax
417c6d:	bf f8 8a 43 00       	mov    $0x438af8,%edi
417c72:	50                   	push   %eax
417c73:	6a 00                	push   $0x0
417c75:	57                   	push   %edi
417c76:	ff 15 e4 a2 43 00    	call   *0x43a2e4
417c7c:	85 c0                	test   %eax,%eax
417c7e:	74 39                	je     0x417cb9
417c80:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
417c84:	74 33                	je     0x417cb9
417c86:	89 7d ec             	mov    %edi,-0x14(%ebp)
417c89:	c7 45 f8 fc 8a 43 00 	movl   $0x438afc,-0x8(%ebp)
417c90:	c7 05 fc 8a 43 00 50 	movl   $0x401250,0x438afc
417c97:	12 40 00
417c9a:	ff 75 08             	push   0x8(%ebp)
417c9d:	c7 05 0c 8b 43 00 d0 	movl   $0x4384d0,0x438b0c
417ca4:	84 43 00
417ca7:	e8 c2 2f 00 00       	call   0x41ac6e
417cac:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
417cb0:	59                   	pop    %ecx
417cb1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
417cb4:	e8 08 00 00 00       	call   0x417cc1
417cb9:	8b 45 f8             	mov    -0x8(%ebp),%eax
417cbc:	5f                   	pop    %edi
417cbd:	c9                   	leave
417cbe:	c2 04 00             	ret    $0x4
417cc1:	8b ff                	mov    %edi,%edi
417cc3:	57                   	push   %edi
417cc4:	8b f9                	mov    %ecx,%edi
417cc6:	8b 57 04             	mov    0x4(%edi),%edx
417cc9:	85 d2                	test   %edx,%edx
417ccb:	75 1f                	jne    0x417cec
417ccd:	56                   	push   %esi
417cce:	8b 37                	mov    (%edi),%esi
417cd0:	8b 4e 14             	mov    0x14(%esi),%ecx
417cd3:	51                   	push   %ecx
417cd4:	89 4e 08             	mov    %ecx,0x8(%esi)
417cd7:	c6 46 0c 01          	movb   $0x1,0xc(%esi)
417cdb:	e8 e4 fa ff ff       	call   0x4177c4
417ce0:	8d 4e 04             	lea    0x4(%esi),%ecx
417ce3:	e8 98 20 00 00       	call   0x419d80
417ce8:	8b 57 04             	mov    0x4(%edi),%edx
417ceb:	5e                   	pop    %esi
417cec:	8b 0f                	mov    (%edi),%ecx
417cee:	8d 41 04             	lea    0x4(%ecx),%eax
417cf1:	50                   	push   %eax
417cf2:	52                   	push   %edx
417cf3:	51                   	push   %ecx
417cf4:	ff 15 e0 a2 43 00    	call   *0x43a2e0
417cfa:	5f                   	pop    %edi
417cfb:	c3                   	ret
417cfc:	8b ff                	mov    %edi,%edi
417cfe:	55                   	push   %ebp
417cff:	8b ec                	mov    %esp,%ebp
417d01:	8b 45 08             	mov    0x8(%ebp),%eax
417d04:	0b 45 0c             	or     0xc(%ebp),%eax
417d07:	74 1a                	je     0x417d23
417d09:	8b 51 08             	mov    0x8(%ecx),%edx
417d0c:	8b 41 0c             	mov    0xc(%ecx),%eax
417d0f:	23 55 08             	and    0x8(%ebp),%edx
417d12:	23 45 0c             	and    0xc(%ebp),%eax
417d15:	0b d0                	or     %eax,%edx
417d17:	0f 85 fd af 00 00    	jne    0x422d1a
417d1d:	32 c0                	xor    %al,%al
417d1f:	5d                   	pop    %ebp
417d20:	c2 08 00             	ret    $0x8
417d23:	b0 01                	mov    $0x1,%al
417d25:	eb f8                	jmp    0x417d1f
417d27:	8b ff                	mov    %edi,%edi
417d29:	55                   	push   %ebp
417d2a:	8b ec                	mov    %esp,%ebp
417d2c:	83 ec 0c             	sub    $0xc,%esp
417d2f:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
417d33:	53                   	push   %ebx
417d34:	56                   	push   %esi
417d35:	8b b1 b8 00 00 00    	mov    0xb8(%ecx),%esi
417d3b:	57                   	push   %edi
417d3c:	85 f6                	test   %esi,%esi
417d3e:	74 15                	je     0x417d55
417d40:	81 c6 9c 00 00 00    	add    $0x9c,%esi
417d46:	56                   	push   %esi
417d47:	ff 15 88 a2 43 00    	call   *0x43a288
417d4d:	33 db                	xor    %ebx,%ebx
417d4f:	8d 45 f4             	lea    -0xc(%ebp),%eax
417d52:	43                   	inc    %ebx
417d53:	eb 08                	jmp    0x417d5d
417d55:	6a 02                	push   $0x2
417d57:	8d 45 fc             	lea    -0x4(%ebp),%eax
417d5a:	33 f6                	xor    %esi,%esi
417d5c:	5b                   	pop    %ebx
417d5d:	8b 7d 08             	mov    0x8(%ebp),%edi
417d60:	83 20 00             	andl   $0x0,(%eax)
417d63:	89 37                	mov    %esi,(%edi)
417d65:	8b 35 a0 a2 43 00    	mov    0x43a2a0,%esi
417d6b:	f6 c3 02             	test   $0x2,%bl
417d6e:	74 1b                	je     0x417d8b
417d70:	8b 45 fc             	mov    -0x4(%ebp),%eax
417d73:	83 e3 fd             	and    $0xfffffffd,%ebx
417d76:	85 c0                	test   %eax,%eax
417d78:	74 11                	je     0x417d8b
417d7a:	8d 55 fc             	lea    -0x4(%ebp),%edx
417d7d:	89 45 fc             	mov    %eax,-0x4(%ebp)
417d80:	8d 4d f8             	lea    -0x8(%ebp),%ecx
417d83:	89 75 f8             	mov    %esi,-0x8(%ebp)
417d86:	e8 d9 38 00 00       	call   0x41b664
417d8b:	f6 c3 01             	test   $0x1,%bl
417d8e:	74 18                	je     0x417da8
417d90:	8b 4d f4             	mov    -0xc(%ebp),%ecx
417d93:	85 c9                	test   %ecx,%ecx
417d95:	74 11                	je     0x417da8
417d97:	89 4d f4             	mov    %ecx,-0xc(%ebp)
417d9a:	8d 55 f4             	lea    -0xc(%ebp),%edx
417d9d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
417da0:	89 75 f8             	mov    %esi,-0x8(%ebp)
417da3:	e8 bc 38 00 00       	call   0x41b664
417da8:	8b c7                	mov    %edi,%eax
417daa:	5f                   	pop    %edi
417dab:	5e                   	pop    %esi
417dac:	5b                   	pop    %ebx
417dad:	c9                   	leave
417dae:	c2 04 00             	ret    $0x4
417db1:	8b ff                	mov    %edi,%edi
417db3:	55                   	push   %ebp
417db4:	8b ec                	mov    %esp,%ebp
417db6:	83 e4 f8             	and    $0xfffffff8,%esp
417db9:	83 ec 54             	sub    $0x54,%esp
417dbc:	33 d2                	xor    %edx,%edx
417dbe:	56                   	push   %esi
417dbf:	8b f1                	mov    %ecx,%esi
417dc1:	39 56 0c             	cmp    %edx,0xc(%esi)
417dc4:	0f 85 73 af 00 00    	jne    0x422d3d
417dca:	39 15 f0 89 43 00    	cmp    %edx,0x4389f0
417dd0:	74 09                	je     0x417ddb
417dd2:	6a 01                	push   $0x1
417dd4:	e8 1d 00 00 00       	call   0x417df6
417dd9:	8b d0                	mov    %eax,%edx
417ddb:	89 16                	mov    %edx,(%esi)
417ddd:	85 d2                	test   %edx,%edx
417ddf:	74 10                	je     0x417df1
417de1:	8b 02                	mov    (%edx),%eax
417de3:	89 46 08             	mov    %eax,0x8(%esi)
417de6:	89 32                	mov    %esi,(%edx)
417de8:	ff 15 f8 a1 43 00    	call   *0x43a1f8
417dee:	89 46 0c             	mov    %eax,0xc(%esi)
417df1:	5e                   	pop    %esi
417df2:	8b e5                	mov    %ebp,%esp
417df4:	5d                   	pop    %ebp
417df5:	c3                   	ret
417df6:	8b ff                	mov    %edi,%edi
417df8:	55                   	push   %ebp
417df9:	8b ec                	mov    %esp,%ebp
417dfb:	51                   	push   %ecx
417dfc:	53                   	push   %ebx
417dfd:	56                   	push   %esi
417dfe:	8b 35 f0 89 43 00    	mov    0x4389f0,%esi
417e04:	57                   	push   %edi
417e05:	ff 15 f8 a1 43 00    	call   *0x43a1f8
417e0b:	6a 0a                	push   $0xa
417e0d:	8b f8                	mov    %eax,%edi
417e0f:	33 d2                	xor    %edx,%edx
417e11:	59                   	pop    %ecx
417e12:	f7 f1                	div    %ecx
417e14:	8d 1c 96             	lea    (%esi,%edx,4),%ebx
417e17:	8b 03                	mov    (%ebx),%eax
417e19:	eb 07                	jmp    0x417e22
417e1b:	39 38                	cmp    %edi,(%eax)
417e1d:	74 3c                	je     0x417e5b
417e1f:	8b 40 04             	mov    0x4(%eax),%eax
417e22:	85 c0                	test   %eax,%eax
417e24:	75 f5                	jne    0x417e1b
417e26:	38 45 08             	cmp    %al,0x8(%ebp)
417e29:	74 35                	je     0x417e60
417e2b:	6a 0c                	push   $0xc
417e2d:	5a                   	pop    %edx
417e2e:	33 c9                	xor    %ecx,%ecx
417e30:	e8 c5 3c 00 00       	call   0x41bafa
417e35:	8b f0                	mov    %eax,%esi
417e37:	85 f6                	test   %esi,%esi
417e39:	74 25                	je     0x417e60
417e3b:	83 66 04 00          	andl   $0x0,0x4(%esi)
417e3f:	83 66 08 00          	andl   $0x0,0x8(%esi)
417e43:	89 3e                	mov    %edi,(%esi)
417e45:	8b 13                	mov    (%ebx),%edx
417e47:	8b ce                	mov    %esi,%ecx
417e49:	89 56 04             	mov    %edx,0x4(%esi)
417e4c:	8b c2                	mov    %edx,%eax
417e4e:	f0 0f b1 0b          	lock cmpxchg %ecx,(%ebx)
417e52:	3b c2                	cmp    %edx,%eax
417e54:	75 ef                	jne    0x417e45
417e56:	8d 46 08             	lea    0x8(%esi),%eax
417e59:	eb 07                	jmp    0x417e62
417e5b:	83 c0 08             	add    $0x8,%eax
417e5e:	eb 02                	jmp    0x417e62
417e60:	33 c0                	xor    %eax,%eax
417e62:	5f                   	pop    %edi
417e63:	5e                   	pop    %esi
417e64:	5b                   	pop    %ebx
417e65:	c9                   	leave
417e66:	c2 04 00             	ret    $0x4
417e69:	8b ff                	mov    %edi,%edi
417e6b:	53                   	push   %ebx
417e6c:	33 db                	xor    %ebx,%ebx
417e6e:	56                   	push   %esi
417e6f:	8b f1                	mov    %ecx,%esi
417e71:	6a 50                	push   $0x50
417e73:	53                   	push   %ebx
417e74:	8d 46 40             	lea    0x40(%esi),%eax
417e77:	89 1e                	mov    %ebx,(%esi)
417e79:	88 5e 04             	mov    %bl,0x4(%esi)
417e7c:	88 5e 34             	mov    %bl,0x34(%esi)
417e7f:	89 5e 28             	mov    %ebx,0x28(%esi)
417e82:	c7 46 2c 70 42 40 00 	movl   $0x404270,0x2c(%esi)
417e89:	89 5e 30             	mov    %ebx,0x30(%esi)
417e8c:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
417e93:	89 5e 3c             	mov    %ebx,0x3c(%esi)
417e96:	50                   	push   %eax
417e97:	89 58 50             	mov    %ebx,0x50(%eax)
417e9a:	89 58 54             	mov    %ebx,0x54(%eax)
417e9d:	e8 bf 61 00 00       	call   0x41e061
417ea2:	83 c4 0c             	add    $0xc,%esp
417ea5:	89 9e 98 00 00 00    	mov    %ebx,0x98(%esi)
417eab:	8b c6                	mov    %esi,%eax
417ead:	5e                   	pop    %esi
417eae:	5b                   	pop    %ebx
417eaf:	c2 04 00             	ret    $0x4
417eb2:	33 c0                	xor    %eax,%eax
417eb4:	56                   	push   %esi
417eb5:	8b f1                	mov    %ecx,%esi
417eb7:	50                   	push   %eax
417eb8:	50                   	push   %eax
417eb9:	50                   	push   %eax
417eba:	50                   	push   %eax
417ebb:	89 46 04             	mov    %eax,0x4(%esi)
417ebe:	c7 06 60 12 40 00    	movl   $0x401260,(%esi)
417ec4:	89 46 08             	mov    %eax,0x8(%esi)
417ec7:	89 46 10             	mov    %eax,0x10(%esi)
417eca:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
417ed1:	89 46 18             	mov    %eax,0x18(%esi)
417ed4:	ff 15 ac a2 43 00    	call   *0x43a2ac
417eda:	89 46 0c             	mov    %eax,0xc(%esi)
417edd:	8b c6                	mov    %esi,%eax
417edf:	5e                   	pop    %esi
417ee0:	c3                   	ret
417ee1:	8b ff                	mov    %edi,%edi
417ee3:	56                   	push   %esi
417ee4:	8b f1                	mov    %ecx,%esi
417ee6:	33 c9                	xor    %ecx,%ecx
417ee8:	39 4e 08             	cmp    %ecx,0x8(%esi)
417eeb:	75 21                	jne    0x417f0e
417eed:	8d 46 1c             	lea    0x1c(%esi),%eax
417ef0:	89 4e 14             	mov    %ecx,0x14(%esi)
417ef3:	50                   	push   %eax
417ef4:	51                   	push   %ecx
417ef5:	56                   	push   %esi
417ef6:	68 70 fe 40 00       	push   $0x40fe70
417efb:	51                   	push   %ecx
417efc:	51                   	push   %ecx
417efd:	ff 15 e0 a1 43 00    	call   *0x43a1e0
417f03:	89 46 08             	mov    %eax,0x8(%esi)
417f06:	85 c0                	test   %eax,%eax
417f08:	0f 84 49 ae 00 00    	je     0x422d57
417f0e:	33 c0                	xor    %eax,%eax
417f10:	5e                   	pop    %esi
417f11:	c2 04 00             	ret    $0x4
417f14:	8b ff                	mov    %edi,%edi
417f16:	56                   	push   %esi
417f17:	57                   	push   %edi
417f18:	33 ff                	xor    %edi,%edi
417f1a:	8b f1                	mov    %ecx,%esi
417f1c:	39 3d 1c 85 43 00    	cmp    %edi,0x43851c
417f22:	74 37                	je     0x417f5b
417f24:	e8 39 00 00 00       	call   0x417f62
417f29:	a3 18 85 43 00       	mov    %eax,0x438518
417f2e:	89 3d 1c 85 43 00    	mov    %edi,0x43851c
417f34:	85 c0                	test   %eax,%eax
417f36:	74 1c                	je     0x417f54
417f38:	68 00 00 10 00       	push   $0x100000
417f3d:	ff 15 e8 a1 43 00    	call   *0x43a1e8
417f43:	50                   	push   %eax
417f44:	ff 15 f4 a1 43 00    	call   *0x43a1f4
417f4a:	33 ff                	xor    %edi,%edi
417f4c:	c7 46 04 00 00 20 00 	movl   $0x200000,0x4(%esi)
417f53:	47                   	inc    %edi
417f54:	89 3e                	mov    %edi,(%esi)
417f56:	8b c6                	mov    %esi,%eax
417f58:	5f                   	pop    %edi
417f59:	5e                   	pop    %esi
417f5a:	c3                   	ret