401e0e:	eb e9                	jmp    0x401df9
401e10:	33 c0                	xor    %eax,%eax
401e12:	c3                   	ret
401e13:	cc                   	int3
401e14:	cc                   	int3
401e15:	cc                   	int3
401e16:	cc                   	int3
401e17:	cc                   	int3
401e18:	cc                   	int3
401e19:	cc                   	int3
401e1a:	cc                   	int3
401e1b:	cc                   	int3
401e1c:	cc                   	int3
401e1d:	cc                   	int3
401e1e:	cc                   	int3
401e1f:	cc                   	int3
401e20:	e8 a0 02 00 00       	call   0x4020c5
401e25:	e9 d9 fd ff ff       	jmp    0x401c03
401e2a:	ff 25 70 40 40 00    	jmp    *0x404070
401e30:	3b 0d 04 30 40 00    	cmp    0x403004,%ecx
401e36:	75 03                	jne    0x401e3b
401e38:	c2 00 00             	ret    $0x0
401e3b:	e9 fd 03 00 00       	jmp    0x40223d
401e40:	8b ff                	mov    %edi,%edi
401e42:	55                   	push   %ebp
401e43:	8b ec                	mov    %esp,%ebp
401e45:	8b 45 08             	mov    0x8(%ebp),%eax
401e48:	8b 00                	mov    (%eax),%eax
401e4a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
401e50:	75 2b                	jne    0x401e7d
401e52:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
401e56:	75 25                	jne    0x401e7d
401e58:	8b 40 14             	mov    0x14(%eax),%eax
401e5b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
401e60:	74 15                	je     0x401e77
401e62:	3d 21 05 93 19       	cmp    $0x19930521,%eax
401e67:	74 0e                	je     0x401e77
401e69:	3d 22 05 93 19       	cmp    $0x19930522,%eax
401e6e:	74 07                	je     0x401e77
401e70:	3d 00 40 99 01       	cmp    $0x1994000,%eax
401e75:	75 06                	jne    0x401e7d
401e77:	ff 15 7c 40 40 00    	call   *0x40407c
401e7d:	33 c0                	xor    %eax,%eax
401e7f:	5d                   	pop    %ebp
401e80:	c2 04 00             	ret    $0x4
401e83:	cc                   	int3
401e84:	cc                   	int3
401e85:	cc                   	int3
401e86:	cc                   	int3
401e87:	cc                   	int3
401e88:	cc                   	int3
401e89:	cc                   	int3
401e8a:	cc                   	int3
401e8b:	cc                   	int3
401e8c:	cc                   	int3
401e8d:	cc                   	int3
401e8e:	cc                   	int3
401e8f:	cc                   	int3
401e90:	68 40 1e 40 00       	push   $0x401e40
401e95:	ff 15 4c 40 40 00    	call   *0x40404c
401e9b:	33 c0                	xor    %eax,%eax
401e9d:	c3                   	ret
401e9e:	ff 25 a8 40 40 00    	jmp    *0x4040a8
401ea4:	6a 0c                	push   $0xc
401ea6:	68 30 24 40 00       	push   $0x402430
401eab:	e8 c8 02 00 00       	call   0x402178
401eb0:	33 c9                	xor    %ecx,%ecx
401eb2:	8b 45 08             	mov    0x8(%ebp),%eax
401eb5:	85 c0                	test   %eax,%eax
401eb7:	74 4b                	je     0x401f04
401eb9:	83 f8 ff             	cmp    $0xffffffff,%eax
401ebc:	74 46                	je     0x401f04
401ebe:	89 4d fc             	mov    %ecx,-0x4(%ebp)
401ec1:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
401ec6:	66 39 10             	cmp    %dx,(%eax)
401ec9:	75 32                	jne    0x401efd
401ecb:	8b 50 3c             	mov    0x3c(%eax),%edx
401ece:	85 d2                	test   %edx,%edx
401ed0:	78 2b                	js     0x401efd
401ed2:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
401ed8:	73 23                	jae    0x401efd
401eda:	03 c2                	add    %edx,%eax
401edc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
401edf:	8b 08                	mov    (%eax),%ecx
401ee1:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
401ee7:	f7 d9                	neg    %ecx
401ee9:	1b c9                	sbb    %ecx,%ecx
401eeb:	f7 d1                	not    %ecx
401eed:	23 c8                	and    %eax,%ecx
401eef:	eb 09                	jmp    0x401efa
401ef1:	33 c0                	xor    %eax,%eax
401ef3:	40                   	inc    %eax
401ef4:	c3                   	ret
401ef5:	8b 65 e8             	mov    -0x18(%ebp),%esp
401ef8:	33 c9                	xor    %ecx,%ecx
401efa:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
401efd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401f04:	8b c1                	mov    %ecx,%eax
401f06:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401f09:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401f10:	59                   	pop    %ecx
401f11:	5f                   	pop    %edi
401f12:	5e                   	pop    %esi
401f13:	5b                   	pop    %ebx
401f14:	c9                   	leave
401f15:	c2 04 00             	ret    $0x4
401f18:	8b ff                	mov    %edi,%edi
401f1a:	55                   	push   %ebp
401f1b:	8b ec                	mov    %esp,%ebp
401f1d:	6a 00                	push   $0x0
401f1f:	ff 15 48 40 40 00    	call   *0x404048
401f25:	85 c0                	test   %eax,%eax
401f27:	74 20                	je     0x401f49
401f29:	50                   	push   %eax
401f2a:	e8 75 ff ff ff       	call   0x401ea4
401f2f:	85 c0                	test   %eax,%eax
401f31:	74 16                	je     0x401f49
401f33:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
401f37:	6a 02                	push   $0x2
401f39:	58                   	pop    %eax
401f3a:	66 3b c8             	cmp    %ax,%cx
401f3d:	74 0d                	je     0x401f4c
401f3f:	83 f9 03             	cmp    $0x3,%ecx
401f42:	75 05                	jne    0x401f49
401f44:	33 c0                	xor    %eax,%eax
401f46:	40                   	inc    %eax
401f47:	5d                   	pop    %ebp
401f48:	c3                   	ret
401f49:	8b 45 08             	mov    0x8(%ebp),%eax
401f4c:	5d                   	pop    %ebp
401f4d:	c3                   	ret
401f4e:	ff 25 a0 40 40 00    	jmp    *0x4040a0
401f54:	cc                   	int3
401f55:	cc                   	int3
401f56:	cc                   	int3
401f57:	cc                   	int3
401f58:	cc                   	int3
401f59:	cc                   	int3
401f5a:	cc                   	int3
401f5b:	cc                   	int3
401f5c:	cc                   	int3
401f5d:	cc                   	int3
401f5e:	cc                   	int3
401f5f:	cc                   	int3
401f60:	33 c0                	xor    %eax,%eax
401f62:	c3                   	ret
401f63:	cc                   	int3
401f64:	cc                   	int3
401f65:	cc                   	int3
401f66:	cc                   	int3
401f67:	cc                   	int3
401f68:	cc                   	int3
401f69:	cc                   	int3
401f6a:	cc                   	int3
401f6b:	cc                   	int3
401f6c:	cc                   	int3
401f6d:	cc                   	int3
401f6e:	cc                   	int3
401f6f:	cc                   	int3
401f70:	8b ff                	mov    %edi,%edi
401f72:	55                   	push   %ebp
401f73:	8b ec                	mov    %esp,%ebp
401f75:	8b 45 08             	mov    0x8(%ebp),%eax
401f78:	33 d2                	xor    %edx,%edx
401f7a:	53                   	push   %ebx
401f7b:	56                   	push   %esi
401f7c:	57                   	push   %edi
401f7d:	8b 48 3c             	mov    0x3c(%eax),%ecx
401f80:	03 c8                	add    %eax,%ecx
401f82:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
401f86:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
401f8a:	83 c0 18             	add    $0x18,%eax
401f8d:	03 c1                	add    %ecx,%eax
401f8f:	85 db                	test   %ebx,%ebx
401f91:	74 1b                	je     0x401fae
401f93:	8b 7d 0c             	mov    0xc(%ebp),%edi
401f96:	8b 70 0c             	mov    0xc(%eax),%esi
401f99:	3b fe                	cmp    %esi,%edi
401f9b:	72 09                	jb     0x401fa6
401f9d:	8b 48 08             	mov    0x8(%eax),%ecx
401fa0:	03 ce                	add    %esi,%ecx
401fa2:	3b f9                	cmp    %ecx,%edi
401fa4:	72 0a                	jb     0x401fb0
401fa6:	42                   	inc    %edx
401fa7:	83 c0 28             	add    $0x28,%eax
401faa:	3b d3                	cmp    %ebx,%edx
401fac:	72 e8                	jb     0x401f96
401fae:	33 c0                	xor    %eax,%eax
401fb0:	5f                   	pop    %edi
401fb1:	5e                   	pop    %esi
401fb2:	5b                   	pop    %ebx
401fb3:	5d                   	pop    %ebp
401fb4:	c3                   	ret
401fb5:	cc                   	int3
401fb6:	cc                   	int3
401fb7:	cc                   	int3
401fb8:	cc                   	int3
401fb9:	cc                   	int3
401fba:	cc                   	int3
401fbb:	cc                   	int3
401fbc:	cc                   	int3
401fbd:	cc                   	int3
401fbe:	cc                   	int3
401fbf:	cc                   	int3
401fc0:	cc                   	int3
401fc1:	cc                   	int3
401fc2:	cc                   	int3
401fc3:	cc                   	int3
401fc4:	cc                   	int3
401fc5:	cc                   	int3
401fc6:	cc                   	int3
401fc7:	cc                   	int3
401fc8:	cc                   	int3
401fc9:	cc                   	int3
401fca:	cc                   	int3
401fcb:	cc                   	int3
401fcc:	cc                   	int3
401fcd:	cc                   	int3
401fce:	cc                   	int3
401fcf:	cc                   	int3
401fd0:	8b ff                	mov    %edi,%edi
401fd2:	55                   	push   %ebp
401fd3:	8b ec                	mov    %esp,%ebp
401fd5:	6a fe                	push   $0xfffffffe
401fd7:	68 50 24 40 00       	push   $0x402450
401fdc:	68 e0 21 40 00       	push   $0x4021e0
401fe1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401fe7:	50                   	push   %eax
401fe8:	83 ec 08             	sub    $0x8,%esp
401feb:	53                   	push   %ebx
401fec:	56                   	push   %esi
401fed:	57                   	push   %edi
401fee:	a1 04 30 40 00       	mov    0x403004,%eax
401ff3:	31 45 f8             	xor    %eax,-0x8(%ebp)
401ff6:	33 c5                	xor    %ebp,%eax
401ff8:	50                   	push   %eax
401ff9:	8d 45 f0             	lea    -0x10(%ebp),%eax
401ffc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402002:	89 65 e8             	mov    %esp,-0x18(%ebp)
402005:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40200c:	68 00 00 40 00       	push   $0x400000
402011:	e8 7a 00 00 00       	call   0x402090
402016:	83 c4 04             	add    $0x4,%esp
402019:	85 c0                	test   %eax,%eax
40201b:	74 54                	je     0x402071
40201d:	8b 45 08             	mov    0x8(%ebp),%eax
402020:	2d 00 00 40 00       	sub    $0x400000,%eax
402025:	50                   	push   %eax
402026:	68 00 00 40 00       	push   $0x400000
40202b:	e8 40 ff ff ff       	call   0x401f70
402030:	83 c4 08             	add    $0x8,%esp
402033:	85 c0                	test   %eax,%eax
402035:	74 3a                	je     0x402071
402037:	8b 40 24             	mov    0x24(%eax),%eax
40203a:	c1 e8 1f             	shr    $0x1f,%eax
40203d:	f7 d0                	not    %eax
40203f:	83 e0 01             	and    $0x1,%eax
402042:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402049:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40204c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402053:	59                   	pop    %ecx
402054:	5f                   	pop    %edi
402055:	5e                   	pop    %esi
402056:	5b                   	pop    %ebx
402057:	8b e5                	mov    %ebp,%esp
402059:	5d                   	pop    %ebp
40205a:	c3                   	ret
40205b:	8b 45 ec             	mov    -0x14(%ebp),%eax
40205e:	8b 00                	mov    (%eax),%eax
402060:	33 c9                	xor    %ecx,%ecx
402062:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
402068:	0f 94 c1             	sete   %cl
40206b:	8b c1                	mov    %ecx,%eax
40206d:	c3                   	ret
40206e:	8b 65 e8             	mov    -0x18(%ebp),%esp
402071:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402078:	33 c0                	xor    %eax,%eax
40207a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40207d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402084:	59                   	pop    %ecx
402085:	5f                   	pop    %edi
402086:	5e                   	pop    %esi
402087:	5b                   	pop    %ebx
402088:	8b e5                	mov    %ebp,%esp
40208a:	5d                   	pop    %ebp
40208b:	c3                   	ret
40208c:	cc                   	int3
40208d:	cc                   	int3
40208e:	cc                   	int3
40208f:	cc                   	int3
402090:	8b ff                	mov    %edi,%edi
402092:	55                   	push   %ebp
402093:	8b ec                	mov    %esp,%ebp
402095:	8b 4d 08             	mov    0x8(%ebp),%ecx
402098:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40209d:	66 39 01             	cmp    %ax,(%ecx)
4020a0:	75 1f                	jne    0x4020c1
4020a2:	8b 41 3c             	mov    0x3c(%ecx),%eax
4020a5:	03 c1                	add    %ecx,%eax
4020a7:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
4020ad:	75 12                	jne    0x4020c1
4020af:	b9 0b 01 00 00       	mov    $0x10b,%ecx
4020b4:	66 39 48 18          	cmp    %cx,0x18(%eax)
4020b8:	75 07                	jne    0x4020c1
4020ba:	b8 01 00 00 00       	mov    $0x1,%eax
4020bf:	5d                   	pop    %ebp
4020c0:	c3                   	ret
4020c1:	33 c0                	xor    %eax,%eax
4020c3:	5d                   	pop    %ebp
4020c4:	c3                   	ret
4020c5:	8b ff                	mov    %edi,%edi
4020c7:	55                   	push   %ebp
4020c8:	8b ec                	mov    %esp,%ebp
4020ca:	83 ec 14             	sub    $0x14,%esp
4020cd:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4020d1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4020d5:	a1 04 30 40 00       	mov    0x403004,%eax
4020da:	56                   	push   %esi
4020db:	57                   	push   %edi
4020dc:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
4020e1:	be 00 00 ff ff       	mov    $0xffff0000,%esi
4020e6:	3b c7                	cmp    %edi,%eax
4020e8:	74 04                	je     0x4020ee
4020ea:	85 c6                	test   %eax,%esi
4020ec:	75 64                	jne    0x402152
4020ee:	8d 45 f4             	lea    -0xc(%ebp),%eax
4020f1:	50                   	push   %eax
4020f2:	ff 15 38 40 40 00    	call   *0x404038
4020f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4020fb:	33 45 f4             	xor    -0xc(%ebp),%eax
4020fe:	89 45 fc             	mov    %eax,-0x4(%ebp)
402101:	ff 15 40 40 40 00    	call   *0x404040
402107:	31 45 fc             	xor    %eax,-0x4(%ebp)
40210a:	ff 15 3c 40 40 00    	call   *0x40403c
402110:	31 45 fc             	xor    %eax,-0x4(%ebp)
402113:	ff 15 34 40 40 00    	call   *0x404034
402119:	33 45 fc             	xor    -0x4(%ebp),%eax
40211c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40211f:	33 c1                	xor    %ecx,%eax
402121:	89 45 fc             	mov    %eax,-0x4(%ebp)
402124:	8d 45 ec             	lea    -0x14(%ebp),%eax
402127:	50                   	push   %eax
402128:	ff 15 44 40 40 00    	call   *0x404044
40212e:	8b 45 f0             	mov    -0x10(%ebp),%eax
402131:	33 45 ec             	xor    -0x14(%ebp),%eax
402134:	33 45 fc             	xor    -0x4(%ebp),%eax
402137:	8b c8                	mov    %eax,%ecx
402139:	3b c7                	cmp    %edi,%eax
40213b:	74 08                	je     0x402145
40213d:	85 35 04 30 40 00    	test   %esi,0x403004