409ebc:	cc                   	int3
409ebd:	cc                   	int3
409ebe:	cc                   	int3
409ebf:	cc                   	int3
409ec0:	c2 00 00             	ret    $0x0
409ec3:	cc                   	int3
409ec4:	cc                   	int3
409ec5:	cc                   	int3
409ec6:	cc                   	int3
409ec7:	cc                   	int3
409ec8:	cc                   	int3
409ec9:	cc                   	int3
409eca:	cc                   	int3
409ecb:	cc                   	int3
409ecc:	cc                   	int3
409ecd:	cc                   	int3
409ece:	cc                   	int3
409ecf:	cc                   	int3
409ed0:	8b ff                	mov    %edi,%edi
409ed2:	55                   	push   %ebp
409ed3:	8b ec                	mov    %esp,%ebp
409ed5:	8b 45 08             	mov    0x8(%ebp),%eax
409ed8:	8b 00                	mov    (%eax),%eax
409eda:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
409ee0:	75 2b                	jne    0x409f0d
409ee2:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
409ee6:	75 25                	jne    0x409f0d
409ee8:	8b 40 14             	mov    0x14(%eax),%eax
409eeb:	3d 20 05 93 19       	cmp    $0x19930520,%eax
409ef0:	74 15                	je     0x409f07
409ef2:	3d 21 05 93 19       	cmp    $0x19930521,%eax
409ef7:	74 0e                	je     0x409f07
409ef9:	3d 22 05 93 19       	cmp    $0x19930522,%eax
409efe:	74 07                	je     0x409f07
409f00:	3d 00 40 99 01       	cmp    $0x1994000,%eax
409f05:	75 06                	jne    0x409f0d
409f07:	ff 15 88 f1 40 00    	call   *0x40f188
409f0d:	33 c0                	xor    %eax,%eax
409f0f:	5d                   	pop    %ebp
409f10:	c2 04 00             	ret    $0x4
409f13:	cc                   	int3
409f14:	cc                   	int3
409f15:	cc                   	int3
409f16:	cc                   	int3
409f17:	cc                   	int3
409f18:	cc                   	int3
409f19:	cc                   	int3
409f1a:	cc                   	int3
409f1b:	cc                   	int3
409f1c:	cc                   	int3
409f1d:	cc                   	int3
409f1e:	cc                   	int3
409f1f:	cc                   	int3
409f20:	68 d0 9e 40 00       	push   $0x409ed0
409f25:	ff 15 3c f1 40 00    	call   *0x40f13c
409f2b:	33 c0                	xor    %eax,%eax
409f2d:	c3                   	ret
409f2e:	ff 25 b8 f1 40 00    	jmp    *0x40f1b8
409f34:	6a 0c                	push   $0xc
409f36:	68 10 af 40 00       	push   $0x40af10
409f3b:	e8 a8 02 00 00       	call   0x40a1e8
409f40:	33 c9                	xor    %ecx,%ecx
409f42:	8b 45 08             	mov    0x8(%ebp),%eax
409f45:	85 c0                	test   %eax,%eax
409f47:	74 4b                	je     0x409f94
409f49:	83 f8 ff             	cmp    $0xffffffff,%eax
409f4c:	74 46                	je     0x409f94
409f4e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
409f51:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
409f56:	66 39 10             	cmp    %dx,(%eax)
409f59:	75 32                	jne    0x409f8d
409f5b:	8b 50 3c             	mov    0x3c(%eax),%edx
409f5e:	85 d2                	test   %edx,%edx
409f60:	78 2b                	js     0x409f8d
409f62:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
409f68:	73 23                	jae    0x409f8d
409f6a:	03 c2                	add    %edx,%eax
409f6c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
409f6f:	8b 08                	mov    (%eax),%ecx
409f71:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
409f77:	f7 d9                	neg    %ecx
409f79:	1b c9                	sbb    %ecx,%ecx
409f7b:	f7 d1                	not    %ecx
409f7d:	23 c8                	and    %eax,%ecx
409f7f:	eb 09                	jmp    0x409f8a
409f81:	33 c0                	xor    %eax,%eax
409f83:	40                   	inc    %eax
409f84:	c3                   	ret
409f85:	8b 65 e8             	mov    -0x18(%ebp),%esp
409f88:	33 c9                	xor    %ecx,%ecx
409f8a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
409f8d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409f94:	8b c1                	mov    %ecx,%eax
409f96:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409f99:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409fa0:	59                   	pop    %ecx
409fa1:	5f                   	pop    %edi
409fa2:	5e                   	pop    %esi
409fa3:	5b                   	pop    %ebx
409fa4:	c9                   	leave
409fa5:	c2 04 00             	ret    $0x4
409fa8:	8b ff                	mov    %edi,%edi
409faa:	55                   	push   %ebp
409fab:	8b ec                	mov    %esp,%ebp
409fad:	6a 00                	push   $0x0
409faf:	ff 15 88 f0 40 00    	call   *0x40f088
409fb5:	85 c0                	test   %eax,%eax
409fb7:	74 20                	je     0x409fd9
409fb9:	50                   	push   %eax
409fba:	e8 75 ff ff ff       	call   0x409f34
409fbf:	85 c0                	test   %eax,%eax
409fc1:	74 16                	je     0x409fd9
409fc3:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
409fc7:	6a 02                	push   $0x2
409fc9:	58                   	pop    %eax
409fca:	66 3b c8             	cmp    %ax,%cx
409fcd:	74 0d                	je     0x409fdc
409fcf:	83 f9 03             	cmp    $0x3,%ecx
409fd2:	75 05                	jne    0x409fd9
409fd4:	33 c0                	xor    %eax,%eax
409fd6:	40                   	inc    %eax
409fd7:	5d                   	pop    %ebp
409fd8:	c3                   	ret
409fd9:	8b 45 08             	mov    0x8(%ebp),%eax
409fdc:	5d                   	pop    %ebp
409fdd:	c3                   	ret
409fde:	ff 25 b0 f1 40 00    	jmp    *0x40f1b0
409fe4:	cc                   	int3
409fe5:	cc                   	int3
409fe6:	cc                   	int3
409fe7:	cc                   	int3
409fe8:	cc                   	int3
409fe9:	cc                   	int3
409fea:	cc                   	int3
409feb:	cc                   	int3
409fec:	cc                   	int3
409fed:	cc                   	int3
409fee:	cc                   	int3
409fef:	cc                   	int3
409ff0:	8b ff                	mov    %edi,%edi
409ff2:	55                   	push   %ebp
409ff3:	8b ec                	mov    %esp,%ebp
409ff5:	8b 45 08             	mov    0x8(%ebp),%eax
409ff8:	33 d2                	xor    %edx,%edx
409ffa:	53                   	push   %ebx
409ffb:	56                   	push   %esi
409ffc:	57                   	push   %edi
409ffd:	8b 48 3c             	mov    0x3c(%eax),%ecx
40a000:	03 c8                	add    %eax,%ecx
40a002:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40a006:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
40a00a:	83 c0 18             	add    $0x18,%eax
40a00d:	03 c1                	add    %ecx,%eax
40a00f:	85 db                	test   %ebx,%ebx
40a011:	74 1b                	je     0x40a02e
40a013:	8b 7d 0c             	mov    0xc(%ebp),%edi
40a016:	8b 70 0c             	mov    0xc(%eax),%esi
40a019:	3b fe                	cmp    %esi,%edi
40a01b:	72 09                	jb     0x40a026
40a01d:	8b 48 08             	mov    0x8(%eax),%ecx
40a020:	03 ce                	add    %esi,%ecx
40a022:	3b f9                	cmp    %ecx,%edi
40a024:	72 0a                	jb     0x40a030
40a026:	42                   	inc    %edx
40a027:	83 c0 28             	add    $0x28,%eax
40a02a:	3b d3                	cmp    %ebx,%edx
40a02c:	72 e8                	jb     0x40a016
40a02e:	33 c0                	xor    %eax,%eax
40a030:	5f                   	pop    %edi
40a031:	5e                   	pop    %esi
40a032:	5b                   	pop    %ebx
40a033:	5d                   	pop    %ebp
40a034:	c3                   	ret
40a035:	cc                   	int3
40a036:	cc                   	int3
40a037:	cc                   	int3
40a038:	cc                   	int3
40a039:	cc                   	int3
40a03a:	cc                   	int3
40a03b:	cc                   	int3
40a03c:	cc                   	int3
40a03d:	cc                   	int3
40a03e:	cc                   	int3
40a03f:	cc                   	int3
40a040:	8b ff                	mov    %edi,%edi
40a042:	55                   	push   %ebp
40a043:	8b ec                	mov    %esp,%ebp
40a045:	6a fe                	push   $0xfffffffe
40a047:	68 30 af 40 00       	push   $0x40af30
40a04c:	68 80 99 40 00       	push   $0x409980
40a051:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40a057:	50                   	push   %eax
40a058:	83 ec 08             	sub    $0x8,%esp
40a05b:	53                   	push   %ebx
40a05c:	56                   	push   %esi
40a05d:	57                   	push   %edi
40a05e:	a1 e4 c1 40 00       	mov    0x40c1e4,%eax
40a063:	31 45 f8             	xor    %eax,-0x8(%ebp)
40a066:	33 c5                	xor    %ebp,%eax
40a068:	50                   	push   %eax
40a069:	8d 45 f0             	lea    -0x10(%ebp),%eax
40a06c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40a072:	89 65 e8             	mov    %esp,-0x18(%ebp)
40a075:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40a07c:	68 00 00 40 00       	push   $0x400000
40a081:	e8 7a 00 00 00       	call   0x40a100
40a086:	83 c4 04             	add    $0x4,%esp
40a089:	85 c0                	test   %eax,%eax
40a08b:	74 54                	je     0x40a0e1
40a08d:	8b 45 08             	mov    0x8(%ebp),%eax
40a090:	2d 00 00 40 00       	sub    $0x400000,%eax
40a095:	50                   	push   %eax
40a096:	68 00 00 40 00       	push   $0x400000
40a09b:	e8 50 ff ff ff       	call   0x409ff0
40a0a0:	83 c4 08             	add    $0x8,%esp
40a0a3:	85 c0                	test   %eax,%eax
40a0a5:	74 3a                	je     0x40a0e1
40a0a7:	8b 40 24             	mov    0x24(%eax),%eax
40a0aa:	c1 e8 1f             	shr    $0x1f,%eax
40a0ad:	f7 d0                	not    %eax
40a0af:	83 e0 01             	and    $0x1,%eax
40a0b2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40a0b9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40a0bc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40a0c3:	59                   	pop    %ecx
40a0c4:	5f                   	pop    %edi
40a0c5:	5e                   	pop    %esi
40a0c6:	5b                   	pop    %ebx
40a0c7:	8b e5                	mov    %ebp,%esp
40a0c9:	5d                   	pop    %ebp
40a0ca:	c3                   	ret
40a0cb:	8b 45 ec             	mov    -0x14(%ebp),%eax
40a0ce:	8b 00                	mov    (%eax),%eax
40a0d0:	33 c9                	xor    %ecx,%ecx
40a0d2:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
40a0d8:	0f 94 c1             	sete   %cl
40a0db:	8b c1                	mov    %ecx,%eax
40a0dd:	c3                   	ret
40a0de:	8b 65 e8             	mov    -0x18(%ebp),%esp
40a0e1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40a0e8:	33 c0                	xor    %eax,%eax
40a0ea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40a0ed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40a0f4:	59                   	pop    %ecx
40a0f5:	5f                   	pop    %edi
40a0f6:	5e                   	pop    %esi
40a0f7:	5b                   	pop    %ebx
40a0f8:	8b e5                	mov    %ebp,%esp
40a0fa:	5d                   	pop    %ebp
40a0fb:	c3                   	ret
40a0fc:	cc                   	int3
40a0fd:	cc                   	int3
40a0fe:	cc                   	int3
40a0ff:	cc                   	int3
40a100:	8b ff                	mov    %edi,%edi
40a102:	55                   	push   %ebp
40a103:	8b ec                	mov    %esp,%ebp
40a105:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a108:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40a10d:	66 39 01             	cmp    %ax,(%ecx)
40a110:	75 1f                	jne    0x40a131
40a112:	8b 41 3c             	mov    0x3c(%ecx),%eax
40a115:	03 c1                	add    %ecx,%eax
40a117:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
40a11d:	75 12                	jne    0x40a131
40a11f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
40a124:	66 39 48 18          	cmp    %cx,0x18(%eax)
40a128:	75 07                	jne    0x40a131
40a12a:	b8 01 00 00 00       	mov    $0x1,%eax
40a12f:	5d                   	pop    %ebp
40a130:	c3                   	ret
40a131:	33 c0                	xor    %eax,%eax
40a133:	5d                   	pop    %ebp
40a134:	c3                   	ret
40a135:	8b ff                	mov    %edi,%edi
40a137:	55                   	push   %ebp
40a138:	8b ec                	mov    %esp,%ebp
40a13a:	83 ec 14             	sub    $0x14,%esp
40a13d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40a141:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40a145:	a1 e4 c1 40 00       	mov    0x40c1e4,%eax
40a14a:	56                   	push   %esi
40a14b:	57                   	push   %edi
40a14c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
40a151:	be 00 00 ff ff       	mov    $0xffff0000,%esi
40a156:	3b c7                	cmp    %edi,%eax
40a158:	74 04                	je     0x40a15e
40a15a:	85 c6                	test   %eax,%esi
40a15c:	75 64                	jne    0x40a1c2
40a15e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a161:	50                   	push   %eax
40a162:	ff 15 60 f1 40 00    	call   *0x40f160
40a168:	8b 45 f8             	mov    -0x8(%ebp),%eax
40a16b:	33 45 f4             	xor    -0xc(%ebp),%eax
40a16e:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a171:	ff 15 48 f1 40 00    	call   *0x40f148
40a177:	31 45 fc             	xor    %eax,-0x4(%ebp)
40a17a:	ff 15 54 f0 40 00    	call   *0x40f054
40a180:	31 45 fc             	xor    %eax,-0x4(%ebp)
40a183:	ff 15 64 f1 40 00    	call   *0x40f164
40a189:	33 45 fc             	xor    -0x4(%ebp),%eax
40a18c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40a18f:	33 c1                	xor    %ecx,%eax
40a191:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a194:	8d 45 ec             	lea    -0x14(%ebp),%eax
40a197:	50                   	push   %eax
40a198:	ff 15 58 f1 40 00    	call   *0x40f158
40a19e:	8b 45 f0             	mov    -0x10(%ebp),%eax
40a1a1:	33 45 ec             	xor    -0x14(%ebp),%eax
40a1a4:	33 45 fc             	xor    -0x4(%ebp),%eax
40a1a7:	8b c8                	mov    %eax,%ecx
40a1a9:	3b c7                	cmp    %edi,%eax
40a1ab:	74 08                	je     0x40a1b5
40a1ad:	85 35 e4 c1 40 00    	test   %esi,0x40c1e4
40a1b3:	75 07                	jne    0x40a1bc
40a1b5:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
40a1ba:	8b c8                	mov    %eax,%ecx
40a1bc:	89 0d e4 c1 40 00    	mov    %ecx,0x40c1e4
40a1c2:	f7 d0                	not    %eax
40a1c4:	5f                   	pop    %edi
40a1c5:	a3 e8 c1 40 00       	mov    %eax,0x40c1e8
40a1ca:	5e                   	pop    %esi
40a1cb:	c9                   	leave
40a1cc:	c3                   	ret
40a1cd:	68 00 00 03 00       	push   $0x30000
40a1d2:	68 00 00 01 00       	push   $0x10000
40a1d7:	ff 15 80 f1 40 00    	call   *0x40f180
40a1dd:	59                   	pop    %ecx
40a1de:	59                   	pop    %ecx
40a1df:	c3                   	ret
40a1e0:	ff 25 78 f1 40 00    	jmp    *0x40f178
40a1e6:	cc                   	int3
40a1e7:	cc                   	int3
40a1e8:	68 80 99 40 00       	push   $0x409980
40a1ed:	64 ff 35 00 00 00 00 	push   %fs:0x0
40a1f4:	8b 44 24 10          	mov    0x10(%esp),%eax
40a1f8:	89 6c 24 10          	mov    %ebp,0x10(%esp)
40a1fc:	8d 6c 24 10          	lea    0x10(%esp),%ebp
40a200:	2b e0                	sub    %eax,%esp
40a202:	53                   	push   %ebx
40a203:	56                   	push   %esi
40a204:	57                   	push   %edi
40a205:	a1 e4 c1 40 00       	mov    0x40c1e4,%eax
40a20a:	31 45 fc             	xor    %eax,-0x4(%ebp)
40a20d:	33 c5                	xor    %ebp,%eax
40a20f:	50                   	push   %eax
40a210:	89 65 e8             	mov    %esp,-0x18(%ebp)
40a213:	ff 75 f8             	push   -0x8(%ebp)
40a216:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a219:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)