402aff:	e8 49 ff ff ff       	call   0x402a4d
402b04:	c7 06 b4 f1 40 00    	movl   $0x40f1b4,(%esi)
402b0a:	8b c6                	mov    %esi,%eax
402b0c:	5e                   	pop    %esi
402b0d:	c9                   	leave
402b0e:	c2 04 00             	ret    $0x4
402b11:	55                   	push   %ebp
402b12:	8b ec                	mov    %esp,%ebp
402b14:	56                   	push   %esi
402b15:	8b f1                	mov    %ecx,%esi
402b17:	8d 46 04             	lea    0x4(%esi),%eax
402b1a:	c7 06 74 f1 40 00    	movl   $0x40f174,(%esi)
402b20:	50                   	push   %eax
402b21:	e8 16 12 00 00       	call   0x403d3c
402b26:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
402b2a:	59                   	pop    %ecx
402b2b:	74 0a                	je     0x402b37
402b2d:	6a 0c                	push   $0xc
402b2f:	56                   	push   %esi
402b30:	e8 49 00 00 00       	call   0x402b7e
402b35:	59                   	pop    %ecx
402b36:	59                   	pop    %ecx
402b37:	8b c6                	mov    %esi,%eax
402b39:	5e                   	pop    %esi
402b3a:	5d                   	pop    %ebp
402b3b:	c2 04 00             	ret    $0x4
402b3e:	55                   	push   %ebp
402b3f:	8b ec                	mov    %esp,%ebp
402b41:	83 ec 0c             	sub    $0xc,%esp
402b44:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402b47:	ff 75 08             	push   0x8(%ebp)
402b4a:	e8 4e ff ff ff       	call   0x402a9d
402b4f:	68 94 47 41 00       	push   $0x414794
402b54:	8d 45 f4             	lea    -0xc(%ebp),%eax
402b57:	50                   	push   %eax
402b58:	e8 fe 11 00 00       	call   0x403d5b
402b5d:	cc                   	int3
402b5e:	55                   	push   %ebp
402b5f:	8b ec                	mov    %esp,%ebp
402b61:	83 ec 0c             	sub    $0xc,%esp
402b64:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402b67:	ff 75 08             	push   0x8(%ebp)
402b6a:	e8 83 ff ff ff       	call   0x402af2
402b6f:	68 d0 47 41 00       	push   $0x4147d0
402b74:	8d 45 f4             	lea    -0xc(%ebp),%eax
402b77:	50                   	push   %eax
402b78:	e8 de 11 00 00       	call   0x403d5b
402b7d:	cc                   	int3
402b7e:	55                   	push   %ebp
402b7f:	8b ec                	mov    %esp,%ebp
402b81:	ff 75 08             	push   0x8(%ebp)
402b84:	e8 56 00 00 00       	call   0x402bdf
402b89:	59                   	pop    %ecx
402b8a:	5d                   	pop    %ebp
402b8b:	c3                   	ret
402b8c:	55                   	push   %ebp
402b8d:	8b ec                	mov    %esp,%ebp
402b8f:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
402b93:	56                   	push   %esi
402b94:	8b f1                	mov    %ecx,%esi
402b96:	c7 06 c0 f1 40 00    	movl   $0x40f1c0,(%esi)
402b9c:	74 0a                	je     0x402ba8
402b9e:	6a 0c                	push   $0xc
402ba0:	56                   	push   %esi
402ba1:	e8 d8 ff ff ff       	call   0x402b7e
402ba6:	59                   	pop    %ecx
402ba7:	59                   	pop    %ecx
402ba8:	8b c6                	mov    %esi,%eax
402baa:	5e                   	pop    %esi
402bab:	5d                   	pop    %ebp
402bac:	c2 04 00             	ret    $0x4
402baf:	55                   	push   %ebp
402bb0:	8b ec                	mov    %esp,%ebp
402bb2:	eb 0d                	jmp    0x402bc1
402bb4:	ff 75 08             	push   0x8(%ebp)
402bb7:	e8 eb 31 00 00       	call   0x405da7
402bbc:	59                   	pop    %ecx
402bbd:	85 c0                	test   %eax,%eax
402bbf:	74 0f                	je     0x402bd0
402bc1:	ff 75 08             	push   0x8(%ebp)
402bc4:	e8 61 32 00 00       	call   0x405e2a
402bc9:	59                   	pop    %ecx
402bca:	85 c0                	test   %eax,%eax
402bcc:	74 e6                	je     0x402bb4
402bce:	5d                   	pop    %ebp
402bcf:	c3                   	ret
402bd0:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
402bd4:	0f 84 d6 e4 ff ff    	je     0x4010b0
402bda:	e9 50 02 00 00       	jmp    0x402e2f
402bdf:	e9 51 32 00 00       	jmp    0x405e35
402be4:	56                   	push   %esi
402be5:	6a 02                	push   $0x2
402be7:	e8 b0 33 00 00       	call   0x405f9c
402bec:	e8 4b 05 00 00       	call   0x40313c
402bf1:	50                   	push   %eax
402bf2:	e8 12 3d 00 00       	call   0x406909
402bf7:	e8 39 05 00 00       	call   0x403135
402bfc:	8b f0                	mov    %eax,%esi
402bfe:	e8 7b 3e 00 00       	call   0x406a7e
402c03:	6a 01                	push   $0x1
402c05:	89 30                	mov    %esi,(%eax)
402c07:	e8 ef 02 00 00       	call   0x402efb
402c0c:	83 c4 0c             	add    $0xc,%esp
402c0f:	5e                   	pop    %esi
402c10:	84 c0                	test   %al,%al
402c12:	74 73                	je     0x402c87
402c14:	db e2                	fnclex
402c16:	e8 98 07 00 00       	call   0x4033b3
402c1b:	68 df 33 40 00       	push   $0x4033df
402c20:	e8 63 04 00 00       	call   0x403088
402c25:	e8 0e 05 00 00       	call   0x403138
402c2a:	50                   	push   %eax
402c2b:	e8 14 37 00 00       	call   0x406344
402c30:	59                   	pop    %ecx
402c31:	59                   	pop    %ecx
402c32:	85 c0                	test   %eax,%eax
402c34:	75 51                	jne    0x402c87
402c36:	e8 07 05 00 00       	call   0x403142
402c3b:	e8 5e 05 00 00       	call   0x40319e
402c40:	85 c0                	test   %eax,%eax
402c42:	74 0b                	je     0x402c4f
402c44:	68 35 31 40 00       	push   $0x403135
402c49:	e8 e1 33 00 00       	call   0x40602f
402c4e:	59                   	pop    %ecx
402c4f:	e8 1e 05 00 00       	call   0x403172
402c54:	e8 19 05 00 00       	call   0x403172
402c59:	e8 f3 04 00 00       	call   0x403151
402c5e:	e8 d2 04 00 00       	call   0x403135
402c63:	50                   	push   %eax
402c64:	e8 7d 3d 00 00       	call   0x4069e6
402c69:	59                   	pop    %ecx
402c6a:	e8 df 04 00 00       	call   0x40314e
402c6f:	84 c0                	test   %al,%al
402c71:	74 05                	je     0x402c78
402c73:	e8 c9 38 00 00       	call   0x406541
402c78:	e8 b8 04 00 00       	call   0x403135
402c7d:	e8 80 06 00 00       	call   0x403302
402c82:	85 c0                	test   %eax,%eax
402c84:	75 01                	jne    0x402c87
402c86:	c3                   	ret
402c87:	6a 07                	push   $0x7
402c89:	e8 28 05 00 00       	call   0x4031b6
402c8e:	cc                   	int3
402c8f:	e8 ed 04 00 00       	call   0x403181
402c94:	33 c0                	xor    %eax,%eax
402c96:	c3                   	ret
402c97:	e8 ad 06 00 00       	call   0x403349
402c9c:	e8 94 04 00 00       	call   0x403135
402ca1:	50                   	push   %eax
402ca2:	e8 a8 3d 00 00       	call   0x406a4f
402ca7:	59                   	pop    %ecx
402ca8:	c3                   	ret
402ca9:	6a 14                	push   $0x14
402cab:	68 10 48 41 00       	push   $0x414810
402cb0:	e8 5b 07 00 00       	call   0x403410
402cb5:	6a 01                	push   $0x1
402cb7:	e8 06 02 00 00       	call   0x402ec2
402cbc:	59                   	pop    %ecx
402cbd:	84 c0                	test   %al,%al
402cbf:	0f 84 4a 01 00 00    	je     0x402e0f
402cc5:	32 db                	xor    %bl,%bl
402cc7:	88 5d e7             	mov    %bl,-0x19(%ebp)
402cca:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
402cce:	e8 bd 01 00 00       	call   0x402e90
402cd3:	88 45 dc             	mov    %al,-0x24(%ebp)
402cd6:	a1 78 69 41 00       	mov    0x416978,%eax
402cdb:	33 c9                	xor    %ecx,%ecx
402cdd:	41                   	inc    %ecx
402cde:	3b c1                	cmp    %ecx,%eax
402ce0:	0f 84 29 01 00 00    	je     0x402e0f
402ce6:	85 c0                	test   %eax,%eax
402ce8:	75 49                	jne    0x402d33
402cea:	89 0d 78 69 41 00    	mov    %ecx,0x416978
402cf0:	68 48 f1 40 00       	push   $0x40f148
402cf5:	68 2c f1 40 00       	push   $0x40f12c
402cfa:	e8 c5 38 00 00       	call   0x4065c4
402cff:	59                   	pop    %ecx
402d00:	59                   	pop    %ecx
402d01:	85 c0                	test   %eax,%eax
402d03:	74 11                	je     0x402d16
402d05:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402d0c:	b8 ff 00 00 00       	mov    $0xff,%eax
402d11:	e9 e9 00 00 00       	jmp    0x402dff
402d16:	68 28 f1 40 00       	push   $0x40f128
402d1b:	68 20 f1 40 00       	push   $0x40f120
402d20:	e8 74 38 00 00       	call   0x406599
402d25:	59                   	pop    %ecx
402d26:	59                   	pop    %ecx
402d27:	c7 05 78 69 41 00 02 	movl   $0x2,0x416978
402d2e:	00 00 00
402d31:	eb 05                	jmp    0x402d38
402d33:	8a d9                	mov    %cl,%bl
402d35:	88 5d e7             	mov    %bl,-0x19(%ebp)
402d38:	ff 75 dc             	push   -0x24(%ebp)
402d3b:	e8 d6 02 00 00       	call   0x403016
402d40:	59                   	pop    %ecx
402d41:	e8 64 04 00 00       	call   0x4031aa
402d46:	8b f0                	mov    %eax,%esi
402d48:	33 ff                	xor    %edi,%edi
402d4a:	39 3e                	cmp    %edi,(%esi)
402d4c:	74 1b                	je     0x402d69
402d4e:	56                   	push   %esi
402d4f:	e8 2e 02 00 00       	call   0x402f82
402d54:	59                   	pop    %ecx
402d55:	84 c0                	test   %al,%al
402d57:	74 10                	je     0x402d69
402d59:	8b 36                	mov    (%esi),%esi
402d5b:	57                   	push   %edi
402d5c:	6a 02                	push   $0x2
402d5e:	57                   	push   %edi
402d5f:	8b ce                	mov    %esi,%ecx
402d61:	ff 15 18 f1 40 00    	call   *0x40f118
402d67:	ff d6                	call   *%esi
402d69:	e8 42 04 00 00       	call   0x4031b0
402d6e:	8b f0                	mov    %eax,%esi
402d70:	39 3e                	cmp    %edi,(%esi)
402d72:	74 13                	je     0x402d87
402d74:	56                   	push   %esi
402d75:	e8 08 02 00 00       	call   0x402f82
402d7a:	59                   	pop    %ecx
402d7b:	84 c0                	test   %al,%al
402d7d:	74 08                	je     0x402d87
402d7f:	ff 36                	push   (%esi)
402d81:	e8 47 3b 00 00       	call   0x4068cd
402d86:	59                   	pop    %ecx
402d87:	e8 45 05 00 00       	call   0x4032d1
402d8c:	0f b7 f0             	movzwl %ax,%esi
402d8f:	e8 b2 37 00 00       	call   0x406546
402d94:	56                   	push   %esi
402d95:	50                   	push   %eax
402d96:	57                   	push   %edi
402d97:	68 00 00 40 00       	push   $0x400000
402d9c:	e8 bf eb ff ff       	call   0x401960
402da1:	8b f0                	mov    %eax,%esi
402da3:	e8 5f 05 00 00       	call   0x403307
402da8:	84 c0                	test   %al,%al
402daa:	74 6a                	je     0x402e16
402dac:	84 db                	test   %bl,%bl
402dae:	75 05                	jne    0x402db5
402db0:	e8 f3 3a 00 00       	call   0x4068a8
402db5:	57                   	push   %edi
402db6:	6a 01                	push   $0x1
402db8:	e8 76 02 00 00       	call   0x403033
402dbd:	59                   	pop    %ecx
402dbe:	59                   	pop    %ecx
402dbf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402dc6:	8b c6                	mov    %esi,%eax
402dc8:	eb 35                	jmp    0x402dff
402dca:	8b 4d ec             	mov    -0x14(%ebp),%ecx
402dcd:	8b 01                	mov    (%ecx),%eax
402dcf:	8b 00                	mov    (%eax),%eax
402dd1:	89 45 e0             	mov    %eax,-0x20(%ebp)
402dd4:	51                   	push   %ecx
402dd5:	50                   	push   %eax
402dd6:	e8 75 30 00 00       	call   0x405e50
402ddb:	59                   	pop    %ecx
402ddc:	59                   	pop    %ecx
402ddd:	c3                   	ret
402dde:	8b 65 e8             	mov    -0x18(%ebp),%esp
402de1:	e8 21 05 00 00       	call   0x403307
402de6:	84 c0                	test   %al,%al
402de8:	74 32                	je     0x402e1c
402dea:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
402dee:	75 05                	jne    0x402df5
402df0:	e8 a4 3a 00 00       	call   0x406899
402df5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402dfc:	8b 45 e0             	mov    -0x20(%ebp),%eax
402dff:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402e02:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402e09:	59                   	pop    %ecx
402e0a:	5f                   	pop    %edi
402e0b:	5e                   	pop    %esi
402e0c:	5b                   	pop    %ebx
402e0d:	c9                   	leave
402e0e:	c3                   	ret
402e0f:	6a 07                	push   $0x7
402e11:	e8 a0 03 00 00       	call   0x4031b6
402e16:	56                   	push   %esi
402e17:	e8 d7 3a 00 00       	call   0x4068f3
402e1c:	ff 75 e0             	push   -0x20(%ebp)
402e1f:	e8 93 3a 00 00       	call   0x4068b7
402e24:	cc                   	int3
402e25:	e8 c0 02 00 00       	call   0x4030ea
402e2a:	e9 7a fe ff ff       	jmp    0x402ca9
402e2f:	55                   	push   %ebp
402e30:	8b ec                	mov    %esp,%ebp
402e32:	83 ec 0c             	sub    $0xc,%esp
402e35:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402e38:	e8 f8 fb ff ff       	call   0x402a35
402e3d:	68 5c 47 41 00       	push   $0x41475c
402e42:	8d 45 f4             	lea    -0xc(%ebp),%eax
402e45:	50                   	push   %eax
402e46:	e8 10 0f 00 00       	call   0x403d5b
402e4b:	cc                   	int3
402e4c:	55                   	push   %ebp
402e4d:	8b ec                	mov    %esp,%ebp
402e4f:	8b 45 08             	mov    0x8(%ebp),%eax
402e52:	56                   	push   %esi
402e53:	8b 48 3c             	mov    0x3c(%eax),%ecx
402e56:	03 c8                	add    %eax,%ecx
402e58:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
402e5c:	8d 51 18             	lea    0x18(%ecx),%edx
402e5f:	03 d0                	add    %eax,%edx
402e61:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
402e65:	6b f0 28             	imul   $0x28,%eax,%esi
402e68:	03 f2                	add    %edx,%esi
402e6a:	3b d6                	cmp    %esi,%edx
402e6c:	74 19                	je     0x402e87
402e6e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
402e71:	3b 4a 0c             	cmp    0xc(%edx),%ecx
402e74:	72 0a                	jb     0x402e80
402e76:	8b 42 08             	mov    0x8(%edx),%eax
402e79:	03 42 0c             	add    0xc(%edx),%eax
402e7c:	3b c8                	cmp    %eax,%ecx
402e7e:	72 0c                	jb     0x402e8c
402e80:	83 c2 28             	add    $0x28,%edx
402e83:	3b d6                	cmp    %esi,%edx
402e85:	75 ea                	jne    0x402e71
402e87:	33 c0                	xor    %eax,%eax
402e89:	5e                   	pop    %esi
402e8a:	5d                   	pop    %ebp
402e8b:	c3                   	ret
402e8c:	8b c2                	mov    %edx,%eax
402e8e:	eb f9                	jmp    0x402e89
402e90:	56                   	push   %esi
402e91:	e8 93 07 00 00       	call   0x403629
402e96:	85 c0                	test   %eax,%eax
402e98:	74 20                	je     0x402eba
402e9a:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
402ea0:	be 7c 69 41 00       	mov    $0x41697c,%esi
402ea5:	8b 50 04             	mov    0x4(%eax),%edx
402ea8:	eb 04                	jmp    0x402eae
402eaa:	3b d0                	cmp    %eax,%edx
402eac:	74 10                	je     0x402ebe
402eae:	33 c0                	xor    %eax,%eax
402eb0:	8b ca                	mov    %edx,%ecx
402eb2:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
402eb6:	85 c0                	test   %eax,%eax
402eb8:	75 f0                	jne    0x402eaa
402eba:	32 c0                	xor    %al,%al
402ebc:	5e                   	pop    %esi
402ebd:	c3                   	ret
402ebe:	b0 01                	mov    $0x1,%al
402ec0:	5e                   	pop    %esi
402ec1:	c3                   	ret
402ec2:	55                   	push   %ebp
402ec3:	8b ec                	mov    %esp,%ebp
402ec5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
402ec9:	75 07                	jne    0x402ed2
402ecb:	c6 05 80 69 41 00 01 	movb   $0x1,0x416980