40eb3f:	68 c4 10 40 00       	push   $0x4010c4
40eb44:	68 bc 10 40 00       	push   $0x4010bc
40eb49:	e8 e2 06 00 00       	call   0x40f230
40eb4e:	59                   	pop    %ecx
40eb4f:	59                   	pop    %ecx
40eb50:	c7 05 c8 14 41 00 02 	movl   $0x2,0x4114c8
40eb57:	00 00 00
40eb5a:	85 ff                	test   %edi,%edi
40eb5c:	75 09                	jne    0x40eb67
40eb5e:	33 c0                	xor    %eax,%eax
40eb60:	b9 c4 14 41 00       	mov    $0x4114c4,%ecx
40eb65:	87 01                	xchg   %eax,(%ecx)
40eb67:	83 3d cc 14 41 00 00 	cmpl   $0x0,0x4114cc
40eb6e:	74 23                	je     0x40eb93
40eb70:	68 cc 14 41 00       	push   $0x4114cc
40eb75:	e8 16 05 00 00       	call   0x40f090
40eb7a:	59                   	pop    %ecx
40eb7b:	85 c0                	test   %eax,%eax
40eb7d:	74 14                	je     0x40eb93
40eb7f:	53                   	push   %ebx
40eb80:	6a 02                	push   $0x2
40eb82:	53                   	push   %ebx
40eb83:	8b 35 cc 14 41 00    	mov    0x4114cc,%esi
40eb89:	8b ce                	mov    %esi,%ecx
40eb8b:	ff 15 20 23 41 00    	call   *0x412320
40eb91:	ff d6                	call   *%esi
40eb93:	ff 35 60 10 41 00    	push   0x411060
40eb99:	ff 35 5c 10 41 00    	push   0x41105c
40eb9f:	ff 35 58 10 41 00    	push   0x411058
40eba5:	e8 7a 6e ff ff       	call   0x405a24
40ebaa:	83 c4 0c             	add    $0xc,%esp
40ebad:	a3 50 10 41 00       	mov    %eax,0x411050
40ebb2:	83 3d 68 10 41 00 00 	cmpl   $0x0,0x411068
40ebb9:	75 36                	jne    0x40ebf1
40ebbb:	50                   	push   %eax
40ebbc:	ff 15 98 22 41 00    	call   *0x412298
40ebc2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40ebc5:	8b 01                	mov    (%ecx),%eax
40ebc7:	8b 00                	mov    (%eax),%eax
40ebc9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40ebcc:	51                   	push   %ecx
40ebcd:	50                   	push   %eax
40ebce:	e8 9b 03 00 00       	call   0x40ef6e
40ebd3:	59                   	pop    %ecx
40ebd4:	59                   	pop    %ecx
40ebd5:	c3                   	ret
40ebd6:	8b 65 e8             	mov    -0x18(%ebp),%esp
40ebd9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40ebdc:	a3 50 10 41 00       	mov    %eax,0x411050
40ebe1:	83 3d 68 10 41 00 00 	cmpl   $0x0,0x411068
40ebe8:	75 07                	jne    0x40ebf1
40ebea:	50                   	push   %eax
40ebeb:	ff 15 94 22 41 00    	call   *0x412294
40ebf1:	83 3d 54 10 41 00 00 	cmpl   $0x0,0x411054
40ebf8:	75 0b                	jne    0x40ec05
40ebfa:	ff 15 90 22 41 00    	call   *0x412290
40ec00:	a1 50 10 41 00       	mov    0x411050,%eax
40ec05:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40ec0c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40ec0f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ec16:	59                   	pop    %ecx
40ec17:	5f                   	pop    %edi
40ec18:	5e                   	pop    %esi
40ec19:	5b                   	pop    %ebx
40ec1a:	c9                   	leave
40ec1b:	c3                   	ret
40ec1c:	8b ff                	mov    %edi,%edi
40ec1e:	55                   	push   %ebp
40ec1f:	8b ec                	mov    %esp,%ebp
40ec21:	56                   	push   %esi
40ec22:	8b 75 08             	mov    0x8(%ebp),%esi
40ec25:	33 c0                	xor    %eax,%eax
40ec27:	3b 75 0c             	cmp    0xc(%ebp),%esi
40ec2a:	73 1e                	jae    0x40ec4a
40ec2c:	57                   	push   %edi
40ec2d:	85 c0                	test   %eax,%eax
40ec2f:	75 18                	jne    0x40ec49
40ec31:	8b 3e                	mov    (%esi),%edi
40ec33:	85 ff                	test   %edi,%edi
40ec35:	74 0a                	je     0x40ec41
40ec37:	8b cf                	mov    %edi,%ecx
40ec39:	ff 15 20 23 41 00    	call   *0x412320
40ec3f:	ff d7                	call   *%edi
40ec41:	83 c6 04             	add    $0x4,%esi
40ec44:	3b 75 0c             	cmp    0xc(%ebp),%esi
40ec47:	72 e4                	jb     0x40ec2d
40ec49:	5f                   	pop    %edi
40ec4a:	5e                   	pop    %esi
40ec4b:	5d                   	pop    %ebp
40ec4c:	c3                   	ret
40ec4d:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40ec52:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
40ec59:	75 55                	jne    0x40ecb0
40ec5b:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
40ec61:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
40ec68:	45 00 00
40ec6b:	75 43                	jne    0x40ecb0
40ec6d:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
40ec74:	ba 0b 01 00 00       	mov    $0x10b,%edx
40ec79:	66 3b c2             	cmp    %dx,%ax
40ec7c:	74 1f                	je     0x40ec9d
40ec7e:	ba 0b 02 00 00       	mov    $0x20b,%edx
40ec83:	66 3b c2             	cmp    %dx,%ax
40ec86:	75 28                	jne    0x40ecb0
40ec88:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
40ec8f:	76 1f                	jbe    0x40ecb0
40ec91:	33 c0                	xor    %eax,%eax
40ec93:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
40ec99:	0f 95 c0             	setne  %al
40ec9c:	c3                   	ret
40ec9d:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
40eca4:	76 0a                	jbe    0x40ecb0
40eca6:	33 c0                	xor    %eax,%eax
40eca8:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
40ecae:	eb e9                	jmp    0x40ec99
40ecb0:	33 c0                	xor    %eax,%eax
40ecb2:	c3                   	ret
40ecb3:	cc                   	int3
40ecb4:	cc                   	int3
40ecb5:	cc                   	int3
40ecb6:	cc                   	int3
40ecb7:	cc                   	int3
40ecb8:	cc                   	int3
40ecb9:	cc                   	int3
40ecba:	cc                   	int3
40ecbb:	cc                   	int3
40ecbc:	cc                   	int3
40ecbd:	cc                   	int3
40ecbe:	cc                   	int3
40ecbf:	cc                   	int3
40ecc0:	e8 c0 04 00 00       	call   0x40f185
40ecc5:	e9 d9 fd ff ff       	jmp    0x40eaa3
40ecca:	ff 25 54 22 41 00    	jmp    *0x412254
40ecd0:	3b 0d 44 10 41 00    	cmp    0x411044,%ecx
40ecd6:	75 03                	jne    0x40ecdb
40ecd8:	c2 00 00             	ret    $0x0
40ecdb:	e9 5e 00 00 00       	jmp    0x40ed3e
40ece0:	8b ff                	mov    %edi,%edi
40ece2:	55                   	push   %ebp
40ece3:	8b ec                	mov    %esp,%ebp
40ece5:	56                   	push   %esi
40ece6:	8b f1                	mov    %ecx,%esi
40ece8:	ff 15 80 22 41 00    	call   *0x412280
40ecee:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40ecf2:	74 07                	je     0x40ecfb
40ecf4:	56                   	push   %esi
40ecf5:	e8 d3 fc ff ff       	call   0x40e9cd
40ecfa:	59                   	pop    %ecx
40ecfb:	8b c6                	mov    %esi,%eax
40ecfd:	5e                   	pop    %esi
40ecfe:	5d                   	pop    %ebp
40ecff:	c2 04 00             	ret    $0x4
40ed02:	ff 25 c8 22 41 00    	jmp    *0x4122c8
40ed08:	ff 25 b4 22 41 00    	jmp    *0x4122b4
40ed0e:	ff 25 b0 22 41 00    	jmp    *0x4122b0
40ed14:	8b ff                	mov    %edi,%edi
40ed16:	55                   	push   %ebp
40ed17:	8b ec                	mov    %esp,%ebp
40ed19:	6a 00                	push   $0x0
40ed1b:	ff 15 f8 20 41 00    	call   *0x4120f8
40ed21:	ff 75 08             	push   0x8(%ebp)
40ed24:	ff 15 f4 20 41 00    	call   *0x4120f4
40ed2a:	68 09 04 00 c0       	push   $0xc0000409
40ed2f:	ff 15 38 20 41 00    	call   *0x412038
40ed35:	50                   	push   %eax
40ed36:	ff 15 64 20 41 00    	call   *0x412064
40ed3c:	5d                   	pop    %ebp
40ed3d:	c3                   	ret
40ed3e:	8b ff                	mov    %edi,%edi
40ed40:	55                   	push   %ebp
40ed41:	8b ec                	mov    %esp,%ebp
40ed43:	81 ec 24 03 00 00    	sub    $0x324,%esp
40ed49:	a3 70 11 41 00       	mov    %eax,0x411170
40ed4e:	89 0d 6c 11 41 00    	mov    %ecx,0x41116c
40ed54:	89 15 68 11 41 00    	mov    %edx,0x411168
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