401b6a:	53                   	push   %ebx
401b6b:	56                   	push   %esi
401b6c:	bb 14 13 40 00       	mov    $0x401314,%ebx
401b71:	53                   	push   %ebx
401b72:	50                   	push   %eax
401b73:	ff 15 44 40 40 00    	call   *0x404044
401b79:	8b f0                	mov    %eax,%esi
401b7b:	85 f6                	test   %esi,%esi
401b7d:	75 7c                	jne    0x401bfb
401b7f:	57                   	push   %edi
401b80:	66 89 85 c4 f5 ff ff 	mov    %ax,-0xa3c(%ebp)
401b87:	bf 05 01 00 00       	mov    $0x105,%edi
401b8c:	66 89 85 f0 fd ff ff 	mov    %ax,-0x210(%ebp)
401b93:	66 89 85 e4 fb ff ff 	mov    %ax,-0x41c(%ebp)
401b9a:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
401ba0:	57                   	push   %edi
401ba1:	50                   	push   %eax
401ba2:	ff 35 5c 33 40 00    	push   0x40335c
401ba8:	ff 15 00 40 40 00    	call   *0x404000
401bae:	57                   	push   %edi
401baf:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
401bb5:	50                   	push   %eax
401bb6:	56                   	push   %esi
401bb7:	ff 15 00 40 40 00    	call   *0x404000
401bbd:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
401bc3:	50                   	push   %eax
401bc4:	53                   	push   %ebx
401bc5:	8d 85 e4 fb ff ff    	lea    -0x41c(%ebp),%eax
401bcb:	50                   	push   %eax
401bcc:	68 68 13 40 00       	push   $0x401368
401bd1:	8d 85 c4 f5 ff ff    	lea    -0xa3c(%ebp),%eax
401bd7:	68 0f 03 00 00       	push   $0x30f
401bdc:	50                   	push   %eax
401bdd:	e8 d4 fe ff ff       	call   0x401ab6
401be2:	83 c4 18             	add    $0x18,%esp
401be5:	8d 85 c4 f5 ff ff    	lea    -0xa3c(%ebp),%eax
401beb:	6a 40                	push   $0x40
401bed:	68 3c 13 40 00       	push   $0x40133c
401bf2:	50                   	push   %eax
401bf3:	56                   	push   %esi
401bf4:	ff 15 78 40 40 00    	call   *0x404078
401bfa:	5f                   	pop    %edi
401bfb:	8b c6                	mov    %esi,%eax
401bfd:	5e                   	pop    %esi
401bfe:	5b                   	pop    %ebx
401bff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401c02:	33 cd                	xor    %ebp,%ecx
401c04:	e8 37 03 00 00       	call   0x401f40
401c09:	c9                   	leave
401c0a:	c3                   	ret
401c0b:	cc                   	int3
401c0c:	cc                   	int3
401c0d:	cc                   	int3
401c0e:	cc                   	int3
401c0f:	cc                   	int3
401c10:	e8 c5 02 00 00       	call   0x401eda
401c15:	6a 02                	push   $0x2
401c17:	a3 28 30 40 00       	mov    %eax,0x403028
401c1c:	e8 47 05 00 00       	call   0x402168
401c21:	50                   	push   %eax
401c22:	ff 15 c0 40 40 00    	call   *0x4040c0
401c28:	83 0d 60 33 40 00 ff 	orl    $0xffffffff,0x403360
401c2f:	83 0d 64 33 40 00 ff 	orl    $0xffffffff,0x403364
401c36:	59                   	pop    %ecx
401c37:	59                   	pop    %ecx
401c38:	ff 15 b0 40 40 00    	call   *0x4040b0
401c3e:	8b 0d 58 33 40 00    	mov    0x403358,%ecx
401c44:	89 08                	mov    %ecx,(%eax)
401c46:	ff 15 c8 40 40 00    	call   *0x4040c8
401c4c:	8b 0d 4c 33 40 00    	mov    0x40334c,%ecx
401c52:	89 08                	mov    %ecx,(%eax)
401c54:	e8 57 05 00 00       	call   0x4021b0
401c59:	83 3d 00 30 40 00 00 	cmpl   $0x0,0x403000
401c60:	75 0c                	jne    0x401c6e
401c62:	68 b0 21 40 00       	push   $0x4021b0
401c67:	ff 15 9c 40 40 00    	call   *0x40409c
401c6d:	59                   	pop    %ecx
401c6e:	e8 2a 07 00 00       	call   0x40239d
401c73:	33 c0                	xor    %eax,%eax
401c75:	c3                   	ret
401c76:	cc                   	int3
401c77:	cc                   	int3
401c78:	cc                   	int3
401c79:	cc                   	int3
401c7a:	cc                   	int3
401c7b:	cc                   	int3
401c7c:	cc                   	int3
401c7d:	cc                   	int3
401c7e:	cc                   	int3
401c7f:	cc                   	int3
401c80:	a1 54 33 40 00       	mov    0x403354,%eax
401c85:	68 2c 30 40 00       	push   $0x40302c
401c8a:	ff 35 50 33 40 00    	push   0x403350
401c90:	a3 2c 30 40 00       	mov    %eax,0x40302c
401c95:	68 20 30 40 00       	push   $0x403020
401c9a:	68 1c 30 40 00       	push   $0x40301c
401c9f:	68 18 30 40 00       	push   $0x403018
401ca4:	ff 15 e0 40 40 00    	call   *0x4040e0
401caa:	83 c4 14             	add    $0x14,%esp
401cad:	a3 24 30 40 00       	mov    %eax,0x403024
401cb2:	c3                   	ret
401cb3:	cc                   	int3
401cb4:	cc                   	int3
401cb5:	cc                   	int3
401cb6:	cc                   	int3
401cb7:	cc                   	int3
401cb8:	cc                   	int3
401cb9:	cc                   	int3
401cba:	cc                   	int3
401cbb:	cc                   	int3
401cbc:	cc                   	int3
401cbd:	cc                   	int3
401cbe:	cc                   	int3
401cbf:	cc                   	int3
401cc0:	e8 40 06 00 00       	call   0x402305
401cc5:	e9 00 00 00 00       	jmp    0x401cca
401cca:	6a 58                	push   $0x58
401ccc:	68 60 24 40 00       	push   $0x402460
401cd1:	e8 e2 06 00 00       	call   0x4023b8
401cd6:	33 db                	xor    %ebx,%ebx
401cd8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
401cdb:	8d 45 98             	lea    -0x68(%ebp),%eax
401cde:	50                   	push   %eax
401cdf:	ff 15 3c 40 40 00    	call   *0x40403c
401ce5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401ce8:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
401cee:	8b 70 04             	mov    0x4(%eax),%esi
401cf1:	8b fb                	mov    %ebx,%edi
401cf3:	ba 68 33 40 00       	mov    $0x403368,%edx
401cf8:	8b ce                	mov    %esi,%ecx
401cfa:	33 c0                	xor    %eax,%eax
401cfc:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
401d00:	85 c0                	test   %eax,%eax
401d02:	74 18                	je     0x401d1c
401d04:	3b c6                	cmp    %esi,%eax
401d06:	75 07                	jne    0x401d0f
401d08:	33 f6                	xor    %esi,%esi
401d0a:	46                   	inc    %esi
401d0b:	8b fe                	mov    %esi,%edi
401d0d:	eb 10                	jmp    0x401d1f
401d0f:	68 e8 03 00 00       	push   $0x3e8
401d14:	ff 15 40 40 40 00    	call   *0x404040
401d1a:	eb d7                	jmp    0x401cf3
401d1c:	33 f6                	xor    %esi,%esi
401d1e:	46                   	inc    %esi
401d1f:	39 35 6c 33 40 00    	cmp    %esi,0x40336c
401d25:	75 0a                	jne    0x401d31
401d27:	6a 1f                	push   $0x1f
401d29:	e8 70 04 00 00       	call   0x40219e
401d2e:	59                   	pop    %ecx
401d2f:	eb 3a                	jmp    0x401d6b
401d31:	39 1d 6c 33 40 00    	cmp    %ebx,0x40336c
401d37:	75 2c                	jne    0x401d65
401d39:	89 35 6c 33 40 00    	mov    %esi,0x40336c
401d3f:	68 cc 10 40 00       	push   $0x4010cc
401d44:	68 c0 10 40 00       	push   $0x4010c0
401d49:	e8 5b 01 00 00       	call   0x401ea9
401d4e:	59                   	pop    %ecx
401d4f:	59                   	pop    %ecx
401d50:	85 c0                	test   %eax,%eax
401d52:	74 17                	je     0x401d6b
401d54:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401d5b:	b8 ff 00 00 00       	mov    $0xff,%eax
401d60:	e9 34 01 00 00       	jmp    0x401e99
401d65:	89 35 14 30 40 00    	mov    %esi,0x403014
401d6b:	39 35 6c 33 40 00    	cmp    %esi,0x40336c
401d71:	75 1b                	jne    0x401d8e
401d73:	68 bc 10 40 00       	push   $0x4010bc
401d78:	68 b4 10 40 00       	push   $0x4010b4
401d7d:	e8 2e 06 00 00       	call   0x4023b0
401d82:	59                   	pop    %ecx
401d83:	59                   	pop    %ecx
401d84:	c7 05 6c 33 40 00 02 	movl   $0x2,0x40336c
401d8b:	00 00 00
401d8e:	85 ff                	test   %edi,%edi
401d90:	75 09                	jne    0x401d9b
401d92:	33 c0                	xor    %eax,%eax
401d94:	b9 68 33 40 00       	mov    $0x403368,%ecx
401d99:	87 01                	xchg   %eax,(%ecx)
401d9b:	83 3d 70 33 40 00 00 	cmpl   $0x0,0x403370
401da2:	74 23                	je     0x401dc7
401da4:	68 70 33 40 00       	push   $0x403370
401da9:	e8 62 04 00 00       	call   0x402210
401dae:	59                   	pop    %ecx
401daf:	85 c0                	test   %eax,%eax
401db1:	74 14                	je     0x401dc7
401db3:	53                   	push   %ebx
401db4:	6a 02                	push   $0x2
401db6:	53                   	push   %ebx
401db7:	8b 35 70 33 40 00    	mov    0x403370,%esi
401dbd:	8b ce                	mov    %esi,%ecx
401dbf:	ff 15 ec 40 40 00    	call   *0x4040ec
401dc5:	ff d6                	call   *%esi
401dc7:	a1 dc 40 40 00       	mov    0x4040dc,%eax
401dcc:	8b 30                	mov    (%eax),%esi
401dce:	89 75 e4             	mov    %esi,-0x1c(%ebp)
401dd1:	8b 7d e0             	mov    -0x20(%ebp),%edi
401dd4:	8a 0e                	mov    (%esi),%cl
401dd6:	80 f9 20             	cmp    $0x20,%cl
401dd9:	77 4a                	ja     0x401e25
401ddb:	84 c9                	test   %cl,%cl
401ddd:	74 15                	je     0x401df4
401ddf:	85 ff                	test   %edi,%edi
401de1:	75 42                	jne    0x401e25
401de3:	84 c9                	test   %cl,%cl
401de5:	74 0d                	je     0x401df4
401de7:	80 f9 20             	cmp    $0x20,%cl
401dea:	77 08                	ja     0x401df4
401dec:	46                   	inc    %esi
401ded:	89 75 e4             	mov    %esi,-0x1c(%ebp)
401df0:	8a 0e                	mov    (%esi),%cl
401df2:	eb ef                	jmp    0x401de3
401df4:	f6 45 c4 01          	testb  $0x1,-0x3c(%ebp)
401df8:	74 06                	je     0x401e00
401dfa:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
401dfe:	eb 03                	jmp    0x401e03
401e00:	6a 0a                	push   $0xa
401e02:	58                   	pop    %eax
401e03:	50                   	push   %eax
401e04:	56                   	push   %esi
401e05:	53                   	push   %ebx
401e06:	68 00 00 40 00       	push   $0x400000
401e0b:	e8 c0 f9 ff ff       	call   0x4017d0
401e10:	a3 10 30 40 00       	mov    %eax,0x403010
401e15:	83 3d 28 30 40 00 00 	cmpl   $0x0,0x403028
401e1c:	75 60                	jne    0x401e7e
401e1e:	50                   	push   %eax
401e1f:	ff 15 bc 40 40 00    	call   *0x4040bc
401e25:	80 f9 22             	cmp    $0x22,%cl
401e28:	75 0c                	jne    0x401e36
401e2a:	33 c0                	xor    %eax,%eax
401e2c:	85 ff                	test   %edi,%edi
401e2e:	0f 94 c0             	sete   %al
401e31:	8b f8                	mov    %eax,%edi
401e33:	89 7d e0             	mov    %edi,-0x20(%ebp)
401e36:	0f b6 c1             	movzbl %cl,%eax
401e39:	50                   	push   %eax
401e3a:	ff 15 ac 40 40 00    	call   *0x4040ac
401e40:	59                   	pop    %ecx
401e41:	85 c0                	test   %eax,%eax
401e43:	74 04                	je     0x401e49
401e45:	46                   	inc    %esi
401e46:	89 75 e4             	mov    %esi,-0x1c(%ebp)
401e49:	46                   	inc    %esi
401e4a:	89 75 e4             	mov    %esi,-0x1c(%ebp)
401e4d:	eb 85                	jmp    0x401dd4
401e4f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
401e52:	8b 01                	mov    (%ecx),%eax
401e54:	8b 00                	mov    (%eax),%eax
401e56:	89 45 dc             	mov    %eax,-0x24(%ebp)
401e59:	51                   	push   %ecx
401e5a:	50                   	push   %eax
401e5b:	e8 8e 02 00 00       	call   0x4020ee
401e60:	59                   	pop    %ecx
401e61:	59                   	pop    %ecx
401e62:	c3                   	ret
401e63:	8b 65 e8             	mov    -0x18(%ebp),%esp
401e66:	8b 45 dc             	mov    -0x24(%ebp),%eax
401e69:	a3 10 30 40 00       	mov    %eax,0x403010
401e6e:	83 3d 28 30 40 00 00 	cmpl   $0x0,0x403028
401e75:	75 07                	jne    0x401e7e
401e77:	50                   	push   %eax
401e78:	ff 15 b8 40 40 00    	call   *0x4040b8
401e7e:	83 3d 14 30 40 00 00 	cmpl   $0x0,0x403014
401e85:	75 0b                	jne    0x401e92
401e87:	ff 15 b4 40 40 00    	call   *0x4040b4
401e8d:	a1 10 30 40 00       	mov    0x403010,%eax
401e92:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401e99:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401e9c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401ea3:	59                   	pop    %ecx
401ea4:	5f                   	pop    %edi
401ea5:	5e                   	pop    %esi
401ea6:	5b                   	pop    %ebx
401ea7:	c9                   	leave
401ea8:	c3                   	ret
401ea9:	8b ff                	mov    %edi,%edi
401eab:	55                   	push   %ebp
401eac:	8b ec                	mov    %esp,%ebp
401eae:	56                   	push   %esi
401eaf:	8b 75 08             	mov    0x8(%ebp),%esi
401eb2:	33 c0                	xor    %eax,%eax
401eb4:	3b 75 0c             	cmp    0xc(%ebp),%esi
401eb7:	73 1e                	jae    0x401ed7
401eb9:	57                   	push   %edi
401eba:	85 c0                	test   %eax,%eax
401ebc:	75 18                	jne    0x401ed6
401ebe:	8b 3e                	mov    (%esi),%edi
401ec0:	85 ff                	test   %edi,%edi
401ec2:	74 0a                	je     0x401ece
401ec4:	8b cf                	mov    %edi,%ecx
401ec6:	ff 15 ec 40 40 00    	call   *0x4040ec
401ecc:	ff d7                	call   *%edi
401ece:	83 c6 04             	add    $0x4,%esi
401ed1:	3b 75 0c             	cmp    0xc(%ebp),%esi
401ed4:	72 e4                	jb     0x401eba
401ed6:	5f                   	pop    %edi
401ed7:	5e                   	pop    %esi
401ed8:	5d                   	pop    %ebp
401ed9:	c3                   	ret
401eda:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
401edf:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
401ee6:	75 55                	jne    0x401f3d
401ee8:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
401eee:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
401ef5:	45 00 00
401ef8:	75 43                	jne    0x401f3d
401efa:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
401f01:	ba 0b 01 00 00       	mov    $0x10b,%edx
401f06:	66 3b c2             	cmp    %dx,%ax
401f09:	74 1f                	je     0x401f2a
401f0b:	ba 0b 02 00 00       	mov    $0x20b,%edx
401f10:	66 3b c2             	cmp    %dx,%ax
401f13:	75 28                	jne    0x401f3d
401f15:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
401f1c:	76 1f                	jbe    0x401f3d
401f1e:	33 c0                	xor    %eax,%eax
401f20:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
401f26:	0f 95 c0             	setne  %al
401f29:	c3                   	ret
401f2a:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
401f31:	76 0a                	jbe    0x401f3d
401f33:	33 c0                	xor    %eax,%eax
401f35:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
401f3b:	eb e9                	jmp    0x401f26
401f3d:	33 c0                	xor    %eax,%eax
401f3f:	c3                   	ret
401f40:	3b 0d 04 30 40 00    	cmp    0x403004,%ecx
401f46:	75 03                	jne    0x401f4b
401f48:	c2 00 00             	ret    $0x0
401f4b:	e9 2a 00 00 00       	jmp    0x401f7a
401f50:	8b ff                	mov    %edi,%edi
401f52:	55                   	push   %ebp
401f53:	8b ec                	mov    %esp,%ebp
401f55:	6a 00                	push   $0x0
401f57:	ff 15 34 40 40 00    	call   *0x404034
401f5d:	ff 75 08             	push   0x8(%ebp)
401f60:	ff 15 38 40 40 00    	call   *0x404038
401f66:	68 09 04 00 c0       	push   $0xc0000409
401f6b:	ff 15 30 40 40 00    	call   *0x404030
401f71:	50                   	push   %eax
401f72:	ff 15 2c 40 40 00    	call   *0x40402c
401f78:	5d                   	pop    %ebp
401f79:	c3                   	ret
401f7a:	8b ff                	mov    %edi,%edi
401f7c:	55                   	push   %ebp
401f7d:	8b ec                	mov    %esp,%ebp
401f7f:	81 ec 24 03 00 00    	sub    $0x324,%esp
401f85:	a3 30 31 40 00       	mov    %eax,0x403130
401f8a:	89 0d 2c 31 40 00    	mov    %ecx,0x40312c