40ed5a:	89 1d 64 11 41 00    	mov    %ebx,0x411164
40ed60:	89 35 60 11 41 00    	mov    %esi,0x411160
40ed66:	89 3d 5c 11 41 00    	mov    %edi,0x41115c
40ed6c:	66 8c 15 88 11 41 00 	data16 mov %ss,0x411188
40ed73:	66 8c 0d 7c 11 41 00 	data16 mov %cs,0x41117c
40ed7a:	66 8c 1d 58 11 41 00 	data16 mov %ds,0x411158
40ed81:	66 8c 05 54 11 41 00 	data16 mov %es,0x411154
40ed88:	66 8c 25 50 11 41 00 	data16 mov %fs,0x411150
40ed8f:	66 8c 2d 4c 11 41 00 	data16 mov %gs,0x41114c
40ed96:	9c                   	pushf
40ed97:	8f 05 80 11 41 00    	pop    0x411180
40ed9d:	8b 45 00             	mov    0x0(%ebp),%eax
40eda0:	a3 74 11 41 00       	mov    %eax,0x411174
40eda5:	8b 45 04             	mov    0x4(%ebp),%eax
40eda8:	a3 78 11 41 00       	mov    %eax,0x411178
40edad:	8d 45 08             	lea    0x8(%ebp),%eax
40edb0:	a3 84 11 41 00       	mov    %eax,0x411184
40edb5:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
40edbb:	c7 05 c0 10 41 00 01 	movl   $0x10001,0x4110c0
40edc2:	00 01 00
40edc5:	a1 78 11 41 00       	mov    0x411178,%eax
40edca:	a3 7c 10 41 00       	mov    %eax,0x41107c
40edcf:	c7 05 70 10 41 00 09 	movl   $0xc0000409,0x411070
40edd6:	04 00 c0
40edd9:	c7 05 74 10 41 00 01 	movl   $0x1,0x411074
40ede0:	00 00 00
40ede3:	c7 05 80 10 41 00 03 	movl   $0x3,0x411080
40edea:	00 00 00
40eded:	6a 04                	push   $0x4
40edef:	58                   	pop    %eax
40edf0:	6b c0 00             	imul   $0x0,%eax,%eax
40edf3:	c7 80 84 10 41 00 02 	movl   $0x2,0x411084(%eax)
40edfa:	00 00 00
40edfd:	6a 04                	push   $0x4
40edff:	58                   	pop    %eax
40ee00:	c1 e0 00             	shl    $0x0,%eax
40ee03:	8b 0d 44 10 41 00    	mov    0x411044,%ecx
40ee09:	89 88 84 10 41 00    	mov    %ecx,0x411084(%eax)
40ee0f:	6a 04                	push   $0x4
40ee11:	58                   	pop    %eax
40ee12:	d1 e0                	shl    $1,%eax
40ee14:	8b 0d 48 10 41 00    	mov    0x411048,%ecx
40ee1a:	89 88 84 10 41 00    	mov    %ecx,0x411084(%eax)
40ee20:	6a 04                	push   $0x4
40ee22:	58                   	pop    %eax
40ee23:	6b c0 00             	imul   $0x0,%eax,%eax
40ee26:	8b 0d 44 10 41 00    	mov    0x411044,%ecx
40ee2c:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40ee30:	6a 04                	push   $0x4
40ee32:	58                   	pop    %eax
40ee33:	c1 e0 00             	shl    $0x0,%eax
40ee36:	8b 0d 48 10 41 00    	mov    0x411048,%ecx
40ee3c:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40ee40:	68 04 10 40 00       	push   $0x401004
40ee45:	e8 ca fe ff ff       	call   0x40ed14
40ee4a:	c9                   	leave
40ee4b:	c3                   	ret
40ee4c:	8b ff                	mov    %edi,%edi
40ee4e:	55                   	push   %ebp
40ee4f:	8b ec                	mov    %esp,%ebp
40ee51:	a3 70 11 41 00       	mov    %eax,0x411170
40ee56:	89 0d 6c 11 41 00    	mov    %ecx,0x41116c
40ee5c:	89 15 68 11 41 00    	mov    %edx,0x411168
40ee62:	89 1d 64 11 41 00    	mov    %ebx,0x411164
40ee68:	89 35 60 11 41 00    	mov    %esi,0x411160
40ee6e:	89 3d 5c 11 41 00    	mov    %edi,0x41115c
40ee74:	66 8c 15 88 11 41 00 	data16 mov %ss,0x411188
40ee7b:	66 8c 0d 7c 11 41 00 	data16 mov %cs,0x41117c
40ee82:	66 8c 1d 58 11 41 00 	data16 mov %ds,0x411158
40ee89:	66 8c 05 54 11 41 00 	data16 mov %es,0x411154
40ee90:	66 8c 25 50 11 41 00 	data16 mov %fs,0x411150
40ee97:	66 8c 2d 4c 11 41 00 	data16 mov %gs,0x41114c
40ee9e:	9c                   	pushf
40ee9f:	8f 05 80 11 41 00    	pop    0x411180
40eea5:	c7 05 c0 10 41 00 01 	movl   $0x10001,0x4110c0
40eeac:	00 01 00
40eeaf:	8b 45 04             	mov    0x4(%ebp),%eax
40eeb2:	a3 78 11 41 00       	mov    %eax,0x411178
40eeb7:	8d 45 04             	lea    0x4(%ebp),%eax
40eeba:	83 c0 04             	add    $0x4,%eax
40eebd:	a3 84 11 41 00       	mov    %eax,0x411184
40eec2:	a1 78 11 41 00       	mov    0x411178,%eax
40eec7:	a3 7c 10 41 00       	mov    %eax,0x41107c
40eecc:	c7 05 70 10 41 00 09 	movl   $0xc0000409,0x411070
40eed3:	04 00 c0
40eed6:	c7 05 74 10 41 00 01 	movl   $0x1,0x411074
40eedd:	00 00 00
40eee0:	c7 05 80 10 41 00 01 	movl   $0x1,0x411080
40eee7:	00 00 00
40eeea:	6a 04                	push   $0x4
40eeec:	58                   	pop    %eax
40eeed:	6b c0 00             	imul   $0x0,%eax,%eax
40eef0:	c7 80 84 10 41 00 08 	movl   $0x8,0x411084(%eax)
40eef7:	00 00 00
40eefa:	68 04 10 40 00       	push   $0x401004
40eeff:	e8 10 fe ff ff       	call   0x40ed14
40ef04:	5d                   	pop    %ebp
40ef05:	c3                   	ret
40ef06:	cc                   	int3
40ef07:	cc                   	int3
40ef08:	cc                   	int3
40ef09:	cc                   	int3
40ef0a:	cc                   	int3
40ef0b:	cc                   	int3
40ef0c:	cc                   	int3
40ef0d:	cc                   	int3
40ef0e:	cc                   	int3
40ef0f:	cc                   	int3
40ef10:	8b ff                	mov    %edi,%edi
40ef12:	55                   	push   %ebp
40ef13:	8b ec                	mov    %esp,%ebp
40ef15:	8b 45 08             	mov    0x8(%ebp),%eax
40ef18:	8b 00                	mov    (%eax),%eax
40ef1a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40ef20:	75 2b                	jne    0x40ef4d
40ef22:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
40ef26:	75 25                	jne    0x40ef4d
40ef28:	8b 40 14             	mov    0x14(%eax),%eax
40ef2b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
40ef30:	74 15                	je     0x40ef47
40ef32:	3d 21 05 93 19       	cmp    $0x19930521,%eax
40ef37:	74 0e                	je     0x40ef47
40ef39:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40ef3e:	74 07                	je     0x40ef47
40ef40:	3d 00 40 99 01       	cmp    $0x1994000,%eax
40ef45:	75 06                	jne    0x40ef4d
40ef47:	ff 15 7c 22 41 00    	call   *0x41227c
40ef4d:	33 c0                	xor    %eax,%eax
40ef4f:	5d                   	pop    %ebp
40ef50:	c2 04 00             	ret    $0x4
40ef53:	cc                   	int3
40ef54:	cc                   	int3
40ef55:	cc                   	int3
40ef56:	cc                   	int3
40ef57:	cc                   	int3
40ef58:	cc                   	int3
40ef59:	cc                   	int3
40ef5a:	cc                   	int3
40ef5b:	cc                   	int3
40ef5c:	cc                   	int3
40ef5d:	cc                   	int3
40ef5e:	cc                   	int3
40ef5f:	cc                   	int3
40ef60:	68 10 ef 40 00       	push   $0x40ef10
40ef65:	ff 15 f8 20 41 00    	call   *0x4120f8
40ef6b:	33 c0                	xor    %eax,%eax
40ef6d:	c3                   	ret
40ef6e:	ff 25 ac 22 41 00    	jmp    *0x4122ac
40ef74:	6a 0c                	push   $0xc
40ef76:	68 20 0e 41 00       	push   $0x410e20
40ef7b:	e8 b8 02 00 00       	call   0x40f238
40ef80:	33 c9                	xor    %ecx,%ecx
40ef82:	8b 45 08             	mov    0x8(%ebp),%eax
40ef85:	85 c0                	test   %eax,%eax
40ef87:	74 4b                	je     0x40efd4
40ef89:	83 f8 ff             	cmp    $0xffffffff,%eax
40ef8c:	74 46                	je     0x40efd4
40ef8e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40ef91:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
40ef96:	66 39 10             	cmp    %dx,(%eax)
40ef99:	75 32                	jne    0x40efcd
40ef9b:	8b 50 3c             	mov    0x3c(%eax),%edx
40ef9e:	85 d2                	test   %edx,%edx
40efa0:	78 2b                	js     0x40efcd
40efa2:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
40efa8:	73 23                	jae    0x40efcd
40efaa:	03 c2                	add    %edx,%eax
40efac:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40efaf:	8b 08                	mov    (%eax),%ecx
40efb1:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
40efb7:	f7 d9                	neg    %ecx
40efb9:	1b c9                	sbb    %ecx,%ecx
40efbb:	f7 d1                	not    %ecx
40efbd:	23 c8                	and    %eax,%ecx
40efbf:	eb 09                	jmp    0x40efca
40efc1:	33 c0                	xor    %eax,%eax
40efc3:	40                   	inc    %eax
40efc4:	c3                   	ret
40efc5:	8b 65 e8             	mov    -0x18(%ebp),%esp
40efc8:	33 c9                	xor    %ecx,%ecx
40efca:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40efcd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40efd4:	8b c1                	mov    %ecx,%eax
40efd6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40efd9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40efe0:	59                   	pop    %ecx
40efe1:	5f                   	pop    %edi
40efe2:	5e                   	pop    %esi
40efe3:	5b                   	pop    %ebx
40efe4:	c9                   	leave
40efe5:	c2 04 00             	ret    $0x4
40efe8:	8b ff                	mov    %edi,%edi
40efea:	55                   	push   %ebp
40efeb:	8b ec                	mov    %esp,%ebp
40efed:	6a 00                	push   $0x0
40efef:	ff 15 68 20 41 00    	call   *0x412068
40eff5:	85 c0                	test   %eax,%eax
40eff7:	74 20                	je     0x40f019
40eff9:	50                   	push   %eax
40effa:	e8 75 ff ff ff       	call   0x40ef74
40efff:	85 c0                	test   %eax,%eax
40f001:	74 16                	je     0x40f019
40f003:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
40f007:	6a 02                	push   $0x2
40f009:	58                   	pop    %eax
40f00a:	66 3b c8             	cmp    %ax,%cx
40f00d:	74 0d                	je     0x40f01c
40f00f:	83 f9 03             	cmp    $0x3,%ecx
40f012:	75 05                	jne    0x40f019
40f014:	33 c0                	xor    %eax,%eax
40f016:	40                   	inc    %eax
40f017:	5d                   	pop    %ebp
40f018:	c3                   	ret
40f019:	8b 45 08             	mov    0x8(%ebp),%eax
40f01c:	5d                   	pop    %ebp
40f01d:	c3                   	ret
40f01e:	ff 25 a4 22 41 00    	jmp    *0x4122a4
40f024:	cc                   	int3
40f025:	cc                   	int3
40f026:	cc                   	int3
40f027:	cc                   	int3
40f028:	cc                   	int3
40f029:	cc                   	int3
40f02a:	cc                   	int3
40f02b:	cc                   	int3
40f02c:	cc                   	int3
40f02d:	cc                   	int3
40f02e:	cc                   	int3
40f02f:	cc                   	int3
40f030:	33 c0                	xor    %eax,%eax
40f032:	c3                   	ret
40f033:	cc                   	int3
40f034:	cc                   	int3
40f035:	cc                   	int3
40f036:	cc                   	int3
40f037:	cc                   	int3
40f038:	cc                   	int3
40f039:	cc                   	int3
40f03a:	cc                   	int3
40f03b:	cc                   	int3
40f03c:	cc                   	int3
40f03d:	cc                   	int3
40f03e:	cc                   	int3
40f03f:	cc                   	int3
40f040:	8b ff                	mov    %edi,%edi
40f042:	55                   	push   %ebp
40f043:	8b ec                	mov    %esp,%ebp
40f045:	8b 45 08             	mov    0x8(%ebp),%eax
40f048:	33 d2                	xor    %edx,%edx
40f04a:	53                   	push   %ebx
40f04b:	56                   	push   %esi
40f04c:	57                   	push   %edi
40f04d:	8b 48 3c             	mov    0x3c(%eax),%ecx
40f050:	03 c8                	add    %eax,%ecx
40f052:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40f056:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
40f05a:	83 c0 18             	add    $0x18,%eax
40f05d:	03 c1                	add    %ecx,%eax
40f05f:	85 db                	test   %ebx,%ebx
40f061:	74 1b                	je     0x40f07e
40f063:	8b 7d 0c             	mov    0xc(%ebp),%edi
40f066:	8b 70 0c             	mov    0xc(%eax),%esi
40f069:	3b fe                	cmp    %esi,%edi
40f06b:	72 09                	jb     0x40f076
40f06d:	8b 48 08             	mov    0x8(%eax),%ecx
40f070:	03 ce                	add    %esi,%ecx
40f072:	3b f9                	cmp    %ecx,%edi
40f074:	72 0a                	jb     0x40f080
40f076:	42                   	inc    %edx
40f077:	83 c0 28             	add    $0x28,%eax
40f07a:	3b d3                	cmp    %ebx,%edx
40f07c:	72 e8                	jb     0x40f066
40f07e:	33 c0                	xor    %eax,%eax
40f080:	5f                   	pop    %edi
40f081:	5e                   	pop    %esi
40f082:	5b                   	pop    %ebx
40f083:	5d                   	pop    %ebp
40f084:	c3                   	ret
40f085:	cc                   	int3
40f086:	cc                   	int3
40f087:	cc                   	int3
40f088:	cc                   	int3
40f089:	cc                   	int3
40f08a:	cc                   	int3
40f08b:	cc                   	int3
40f08c:	cc                   	int3
40f08d:	cc                   	int3
40f08e:	cc                   	int3
40f08f:	cc                   	int3
40f090:	8b ff                	mov    %edi,%edi
40f092:	55                   	push   %ebp
40f093:	8b ec                	mov    %esp,%ebp
40f095:	6a fe                	push   $0xfffffffe
40f097:	68 40 0e 41 00       	push   $0x410e40
40f09c:	68 a0 f2 40 00       	push   $0x40f2a0
40f0a1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40f0a7:	50                   	push   %eax
40f0a8:	83 ec 08             	sub    $0x8,%esp
40f0ab:	53                   	push   %ebx
40f0ac:	56                   	push   %esi
40f0ad:	57                   	push   %edi
40f0ae:	a1 44 10 41 00       	mov    0x411044,%eax
40f0b3:	31 45 f8             	xor    %eax,-0x8(%ebp)
40f0b6:	33 c5                	xor    %ebp,%eax
40f0b8:	50                   	push   %eax
40f0b9:	8d 45 f0             	lea    -0x10(%ebp),%eax
40f0bc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40f0c2:	89 65 e8             	mov    %esp,-0x18(%ebp)
40f0c5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40f0cc:	68 00 00 40 00       	push   $0x400000
40f0d1:	e8 7a 00 00 00       	call   0x40f150
40f0d6:	83 c4 04             	add    $0x4,%esp
40f0d9:	85 c0                	test   %eax,%eax
40f0db:	74 54                	je     0x40f131
40f0dd:	8b 45 08             	mov    0x8(%ebp),%eax
40f0e0:	2d 00 00 40 00       	sub    $0x400000,%eax
40f0e5:	50                   	push   %eax
40f0e6:	68 00 00 40 00       	push   $0x400000
40f0eb:	e8 50 ff ff ff       	call   0x40f040
40f0f0:	83 c4 08             	add    $0x8,%esp
40f0f3:	85 c0                	test   %eax,%eax
40f0f5:	74 3a                	je     0x40f131
40f0f7:	8b 40 24             	mov    0x24(%eax),%eax
40f0fa:	c1 e8 1f             	shr    $0x1f,%eax
40f0fd:	f7 d0                	not    %eax
40f0ff:	83 e0 01             	and    $0x1,%eax
40f102:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40f109:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f10c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f113:	59                   	pop    %ecx
40f114:	5f                   	pop    %edi
40f115:	5e                   	pop    %esi
40f116:	5b                   	pop    %ebx
40f117:	8b e5                	mov    %ebp,%esp
40f119:	5d                   	pop    %ebp
40f11a:	c3                   	ret
40f11b:	8b 45 ec             	mov    -0x14(%ebp),%eax
40f11e:	8b 00                	mov    (%eax),%eax
40f120:	33 c9                	xor    %ecx,%ecx
40f122:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
40f128:	0f 94 c1             	sete   %cl
40f12b:	8b c1                	mov    %ecx,%eax
40f12d:	c3                   	ret
40f12e:	8b 65 e8             	mov    -0x18(%ebp),%esp
40f131:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40f138:	33 c0                	xor    %eax,%eax
40f13a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40f13d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40f144:	59                   	pop    %ecx
40f145:	5f                   	pop    %edi