408a9e:	cc                   	int3
408a9f:	cc                   	int3
408aa0:	8b ff                	mov    %edi,%edi
408aa2:	55                   	push   %ebp
408aa3:	8b ec                	mov    %esp,%ebp
408aa5:	ff 75 14             	push   0x14(%ebp)
408aa8:	ff 75 10             	push   0x10(%ebp)
408aab:	ff 75 0c             	push   0xc(%ebp)
408aae:	ff 75 08             	push   0x8(%ebp)
408ab1:	68 d0 8a 40 00       	push   $0x408ad0
408ab6:	68 04 a0 40 00       	push   $0x40a004
408abb:	e8 b3 05 00 00       	call   0x409073
408ac0:	83 c4 18             	add    $0x18,%esp
408ac3:	5d                   	pop    %ebp
408ac4:	c3                   	ret
408ac5:	cc                   	int3
408ac6:	cc                   	int3
408ac7:	cc                   	int3
408ac8:	cc                   	int3
408ac9:	cc                   	int3
408aca:	cc                   	int3
408acb:	cc                   	int3
408acc:	cc                   	int3
408acd:	cc                   	int3
408ace:	cc                   	int3
408acf:	cc                   	int3
408ad0:	3b 0d 04 a0 40 00    	cmp    0x40a004,%ecx
408ad6:	75 03                	jne    0x408adb
408ad8:	c2 00 00             	ret    $0x0
408adb:	e9 2a 00 00 00       	jmp    0x408b0a
408ae0:	8b ff                	mov    %edi,%edi
408ae2:	55                   	push   %ebp
408ae3:	8b ec                	mov    %esp,%ebp
408ae5:	6a 00                	push   $0x0
408ae7:	ff 15 dc f0 40 00    	call   *0x40f0dc
408aed:	ff 75 08             	push   0x8(%ebp)
408af0:	ff 15 e4 f0 40 00    	call   *0x40f0e4
408af6:	68 09 04 00 c0       	push   $0xc0000409
408afb:	ff 15 44 f1 40 00    	call   *0x40f144
408b01:	50                   	push   %eax
408b02:	ff 15 4c f1 40 00    	call   *0x40f14c
408b08:	5d                   	pop    %ebp
408b09:	c3                   	ret
408b0a:	8b ff                	mov    %edi,%edi
408b0c:	55                   	push   %ebp
408b0d:	8b ec                	mov    %esp,%ebp
408b0f:	81 ec 24 03 00 00    	sub    $0x324,%esp
408b15:	a3 40 a1 40 00       	mov    %eax,0x40a140
408b1a:	89 0d 3c a1 40 00    	mov    %ecx,0x40a13c
408b20:	89 15 38 a1 40 00    	mov    %edx,0x40a138
408b26:	89 1d 34 a1 40 00    	mov    %ebx,0x40a134
408b2c:	89 35 30 a1 40 00    	mov    %esi,0x40a130
408b32:	89 3d 2c a1 40 00    	mov    %edi,0x40a12c
408b38:	66 8c 15 58 a1 40 00 	data16 mov %ss,0x40a158
408b3f:	66 8c 0d 4c a1 40 00 	data16 mov %cs,0x40a14c
408b46:	66 8c 1d 28 a1 40 00 	data16 mov %ds,0x40a128
408b4d:	66 8c 05 24 a1 40 00 	data16 mov %es,0x40a124
408b54:	66 8c 25 20 a1 40 00 	data16 mov %fs,0x40a120
408b5b:	66 8c 2d 1c a1 40 00 	data16 mov %gs,0x40a11c
408b62:	9c                   	pushf
408b63:	8f 05 50 a1 40 00    	pop    0x40a150
408b69:	8b 45 00             	mov    0x0(%ebp),%eax
408b6c:	a3 44 a1 40 00       	mov    %eax,0x40a144
408b71:	8b 45 04             	mov    0x4(%ebp),%eax
408b74:	a3 48 a1 40 00       	mov    %eax,0x40a148
408b79:	8d 45 08             	lea    0x8(%ebp),%eax
408b7c:	a3 54 a1 40 00       	mov    %eax,0x40a154
408b81:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
408b87:	c7 05 90 a0 40 00 01 	movl   $0x10001,0x40a090
408b8e:	00 01 00
408b91:	a1 48 a1 40 00       	mov    0x40a148,%eax
408b96:	a3 4c a0 40 00       	mov    %eax,0x40a04c
408b9b:	c7 05 40 a0 40 00 09 	movl   $0xc0000409,0x40a040
408ba2:	04 00 c0
408ba5:	c7 05 44 a0 40 00 01 	movl   $0x1,0x40a044
408bac:	00 00 00
408baf:	c7 05 50 a0 40 00 03 	movl   $0x3,0x40a050
408bb6:	00 00 00
408bb9:	6a 04                	push   $0x4
408bbb:	58                   	pop    %eax
408bbc:	6b c0 00             	imul   $0x0,%eax,%eax
408bbf:	c7 80 54 a0 40 00 02 	movl   $0x2,0x40a054(%eax)
408bc6:	00 00 00
408bc9:	6a 04                	push   $0x4
408bcb:	58                   	pop    %eax
408bcc:	c1 e0 00             	shl    $0x0,%eax
408bcf:	8b 0d 04 a0 40 00    	mov    0x40a004,%ecx
408bd5:	89 88 54 a0 40 00    	mov    %ecx,0x40a054(%eax)
408bdb:	6a 04                	push   $0x4
408bdd:	58                   	pop    %eax
408bde:	d1 e0                	shl    $1,%eax
408be0:	8b 0d 08 a0 40 00    	mov    0x40a008,%ecx
408be6:	89 88 54 a0 40 00    	mov    %ecx,0x40a054(%eax)
408bec:	6a 04                	push   $0x4
408bee:	58                   	pop    %eax
408bef:	6b c0 00             	imul   $0x0,%eax,%eax
408bf2:	8b 0d 04 a0 40 00    	mov    0x40a004,%ecx
408bf8:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
408bfc:	6a 04                	push   $0x4
408bfe:	58                   	pop    %eax
408bff:	c1 e0 00             	shl    $0x0,%eax
408c02:	8b 0d 08 a0 40 00    	mov    0x40a008,%ecx
408c08:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
408c0c:	68 00 10 40 00       	push   $0x401000
408c11:	e8 ca fe ff ff       	call   0x408ae0
408c16:	c9                   	leave
408c17:	c3                   	ret
408c18:	8b ff                	mov    %edi,%edi
408c1a:	55                   	push   %ebp
408c1b:	8b ec                	mov    %esp,%ebp
408c1d:	a3 40 a1 40 00       	mov    %eax,0x40a140
408c22:	89 0d 3c a1 40 00    	mov    %ecx,0x40a13c
408c28:	89 15 38 a1 40 00    	mov    %edx,0x40a138
408c2e:	89 1d 34 a1 40 00    	mov    %ebx,0x40a134
408c34:	89 35 30 a1 40 00    	mov    %esi,0x40a130
408c3a:	89 3d 2c a1 40 00    	mov    %edi,0x40a12c
408c40:	66 8c 15 58 a1 40 00 	data16 mov %ss,0x40a158
408c47:	66 8c 0d 4c a1 40 00 	data16 mov %cs,0x40a14c
408c4e:	66 8c 1d 28 a1 40 00 	data16 mov %ds,0x40a128
408c55:	66 8c 05 24 a1 40 00 	data16 mov %es,0x40a124
408c5c:	66 8c 25 20 a1 40 00 	data16 mov %fs,0x40a120
408c63:	66 8c 2d 1c a1 40 00 	data16 mov %gs,0x40a11c
408c6a:	9c                   	pushf
408c6b:	8f 05 50 a1 40 00    	pop    0x40a150
408c71:	c7 05 90 a0 40 00 01 	movl   $0x10001,0x40a090
408c78:	00 01 00
408c7b:	8b 45 04             	mov    0x4(%ebp),%eax
408c7e:	a3 48 a1 40 00       	mov    %eax,0x40a148
408c83:	8d 45 04             	lea    0x4(%ebp),%eax
408c86:	83 c0 04             	add    $0x4,%eax
408c89:	a3 54 a1 40 00       	mov    %eax,0x40a154
408c8e:	a1 48 a1 40 00       	mov    0x40a148,%eax
408c93:	a3 4c a0 40 00       	mov    %eax,0x40a04c
408c98:	c7 05 40 a0 40 00 09 	movl   $0xc0000409,0x40a040
408c9f:	04 00 c0
408ca2:	c7 05 44 a0 40 00 01 	movl   $0x1,0x40a044
408ca9:	00 00 00
408cac:	c7 05 50 a0 40 00 01 	movl   $0x1,0x40a050
408cb3:	00 00 00
408cb6:	6a 04                	push   $0x4
408cb8:	58                   	pop    %eax
408cb9:	6b c0 00             	imul   $0x0,%eax,%eax
408cbc:	c7 80 54 a0 40 00 08 	movl   $0x8,0x40a054(%eax)
408cc3:	00 00 00
408cc6:	68 00 10 40 00       	push   $0x401000
408ccb:	e8 10 fe ff ff       	call   0x408ae0
408cd0:	5d                   	pop    %ebp
408cd1:	c3                   	ret
408cd2:	cc                   	int3
408cd3:	cc                   	int3
408cd4:	cc                   	int3
408cd5:	cc                   	int3
408cd6:	cc                   	int3
408cd7:	cc                   	int3
408cd8:	cc                   	int3
408cd9:	cc                   	int3
408cda:	cc                   	int3
408cdb:	cc                   	int3
408cdc:	cc                   	int3
408cdd:	cc                   	int3
408cde:	cc                   	int3
408cdf:	cc                   	int3
408ce0:	8b ff                	mov    %edi,%edi
408ce2:	55                   	push   %ebp
408ce3:	8b ec                	mov    %esp,%ebp
408ce5:	8b 45 08             	mov    0x8(%ebp),%eax
408ce8:	8b 00                	mov    (%eax),%eax
408cea:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
408cf0:	75 2b                	jne    0x408d1d
408cf2:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
408cf6:	75 25                	jne    0x408d1d
408cf8:	8b 40 14             	mov    0x14(%eax),%eax
408cfb:	3d 20 05 93 19       	cmp    $0x19930520,%eax
408d00:	74 15                	je     0x408d17
408d02:	3d 21 05 93 19       	cmp    $0x19930521,%eax
408d07:	74 0e                	je     0x408d17
408d09:	3d 22 05 93 19       	cmp    $0x19930522,%eax
408d0e:	74 07                	je     0x408d17
408d10:	3d 00 40 99 01       	cmp    $0x1994000,%eax
408d15:	75 06                	jne    0x408d1d
408d17:	ff 15 d0 f1 40 00    	call   *0x40f1d0
408d1d:	33 c0                	xor    %eax,%eax
408d1f:	5d                   	pop    %ebp
408d20:	c2 04 00             	ret    $0x4
408d23:	cc                   	int3
408d24:	cc                   	int3
408d25:	cc                   	int3
408d26:	cc                   	int3
408d27:	cc                   	int3
408d28:	cc                   	int3
408d29:	cc                   	int3
408d2a:	cc                   	int3
408d2b:	cc                   	int3
408d2c:	cc                   	int3
408d2d:	cc                   	int3
408d2e:	cc                   	int3
408d2f:	cc                   	int3
408d30:	68 e0 8c 40 00       	push   $0x408ce0
408d35:	ff 15 dc f0 40 00    	call   *0x40f0dc
408d3b:	33 c0                	xor    %eax,%eax
408d3d:	c3                   	ret
408d3e:	ff 25 a0 f1 40 00    	jmp    *0x40f1a0
408d44:	6a 0c                	push   $0xc
408d46:	68 30 91 40 00       	push   $0x409130
408d4b:	e8 b8 02 00 00       	call   0x409008
408d50:	33 c9                	xor    %ecx,%ecx
408d52:	8b 45 08             	mov    0x8(%ebp),%eax
408d55:	85 c0                	test   %eax,%eax
408d57:	74 4b                	je     0x408da4
408d59:	83 f8 ff             	cmp    $0xffffffff,%eax
408d5c:	74 46                	je     0x408da4
408d5e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
408d61:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
408d66:	66 39 10             	cmp    %dx,(%eax)
408d69:	75 32                	jne    0x408d9d
408d6b:	8b 50 3c             	mov    0x3c(%eax),%edx
408d6e:	85 d2                	test   %edx,%edx
408d70:	78 2b                	js     0x408d9d
408d72:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
408d78:	73 23                	jae    0x408d9d
408d7a:	03 c2                	add    %edx,%eax
408d7c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
408d7f:	8b 08                	mov    (%eax),%ecx
408d81:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
408d87:	f7 d9                	neg    %ecx
408d89:	1b c9                	sbb    %ecx,%ecx
408d8b:	f7 d1                	not    %ecx
408d8d:	23 c8                	and    %eax,%ecx
408d8f:	eb 09                	jmp    0x408d9a
408d91:	33 c0                	xor    %eax,%eax
408d93:	40                   	inc    %eax
408d94:	c3                   	ret
408d95:	8b 65 e8             	mov    -0x18(%ebp),%esp
408d98:	33 c9                	xor    %ecx,%ecx
408d9a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
408d9d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
408da4:	8b c1                	mov    %ecx,%eax
408da6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408da9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408db0:	59                   	pop    %ecx
408db1:	5f                   	pop    %edi
408db2:	5e                   	pop    %esi
408db3:	5b                   	pop    %ebx
408db4:	c9                   	leave
408db5:	c2 04 00             	ret    $0x4
408db8:	8b ff                	mov    %edi,%edi
408dba:	55                   	push   %ebp
408dbb:	8b ec                	mov    %esp,%ebp
408dbd:	6a 00                	push   $0x0
408dbf:	ff 15 24 f1 40 00    	call   *0x40f124
408dc5:	85 c0                	test   %eax,%eax
408dc7:	74 20                	je     0x408de9
408dc9:	50                   	push   %eax
408dca:	e8 75 ff ff ff       	call   0x408d44
408dcf:	85 c0                	test   %eax,%eax
408dd1:	74 16                	je     0x408de9
408dd3:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
408dd7:	6a 02                	push   $0x2
408dd9:	58                   	pop    %eax
408dda:	66 3b c8             	cmp    %ax,%cx
408ddd:	74 0d                	je     0x408dec
408ddf:	83 f9 03             	cmp    $0x3,%ecx
408de2:	75 05                	jne    0x408de9
408de4:	33 c0                	xor    %eax,%eax
408de6:	40                   	inc    %eax
408de7:	5d                   	pop    %ebp
408de8:	c3                   	ret
408de9:	8b 45 08             	mov    0x8(%ebp),%eax
408dec:	5d                   	pop    %ebp
408ded:	c3                   	ret
408dee:	ff 25 a8 f1 40 00    	jmp    *0x40f1a8
408df4:	cc                   	int3
408df5:	cc                   	int3
408df6:	cc                   	int3
408df7:	cc                   	int3
408df8:	cc                   	int3
408df9:	cc                   	int3
408dfa:	cc                   	int3
408dfb:	cc                   	int3
408dfc:	cc                   	int3
408dfd:	cc                   	int3
408dfe:	cc                   	int3
408dff:	cc                   	int3
408e00:	33 c0                	xor    %eax,%eax
408e02:	c3                   	ret
408e03:	cc                   	int3
408e04:	cc                   	int3
408e05:	cc                   	int3
408e06:	cc                   	int3
408e07:	cc                   	int3
408e08:	cc                   	int3
408e09:	cc                   	int3
408e0a:	cc                   	int3
408e0b:	cc                   	int3
408e0c:	cc                   	int3
408e0d:	cc                   	int3
408e0e:	cc                   	int3
408e0f:	cc                   	int3
408e10:	8b ff                	mov    %edi,%edi
408e12:	55                   	push   %ebp
408e13:	8b ec                	mov    %esp,%ebp
408e15:	8b 45 08             	mov    0x8(%ebp),%eax
408e18:	33 d2                	xor    %edx,%edx
408e1a:	53                   	push   %ebx
408e1b:	56                   	push   %esi
408e1c:	57                   	push   %edi
408e1d:	8b 48 3c             	mov    0x3c(%eax),%ecx
408e20:	03 c8                	add    %eax,%ecx
408e22:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
408e26:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
408e2a:	83 c0 18             	add    $0x18,%eax
408e2d:	03 c1                	add    %ecx,%eax
408e2f:	85 db                	test   %ebx,%ebx
408e31:	74 1b                	je     0x408e4e
408e33:	8b 7d 0c             	mov    0xc(%ebp),%edi
408e36:	8b 70 0c             	mov    0xc(%eax),%esi
408e39:	3b fe                	cmp    %esi,%edi
408e3b:	72 09                	jb     0x408e46
408e3d:	8b 48 08             	mov    0x8(%eax),%ecx
408e40:	03 ce                	add    %esi,%ecx
408e42:	3b f9                	cmp    %ecx,%edi
408e44:	72 0a                	jb     0x408e50
408e46:	42                   	inc    %edx
408e47:	83 c0 28             	add    $0x28,%eax
408e4a:	3b d3                	cmp    %ebx,%edx
408e4c:	72 e8                	jb     0x408e36
408e4e:	33 c0                	xor    %eax,%eax
408e50:	5f                   	pop    %edi
408e51:	5e                   	pop    %esi
408e52:	5b                   	pop    %ebx
408e53:	5d                   	pop    %ebp
408e54:	c3                   	ret
408e55:	cc                   	int3
408e56:	cc                   	int3
408e57:	cc                   	int3
408e58:	cc                   	int3
408e59:	cc                   	int3
408e5a:	cc                   	int3
408e5b:	cc                   	int3
408e5c:	cc                   	int3
408e5d:	cc                   	int3
408e5e:	cc                   	int3
408e5f:	cc                   	int3
408e60:	8b ff                	mov    %edi,%edi
408e62:	55                   	push   %ebp
408e63:	8b ec                	mov    %esp,%ebp
408e65:	6a fe                	push   $0xfffffffe
408e67:	68 50 91 40 00       	push   $0x409150
408e6c:	68 a0 8a 40 00       	push   $0x408aa0
408e71:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax