404979:	6a 08                	push   $0x8
40497b:	e8 2d 06 00 00       	call   0x404fad
404980:	59                   	pop    %ecx
404981:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404985:	a1 d0 84 40 00       	mov    0x4084d0,%eax
40498a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40498d:	a1 cc 84 40 00       	mov    0x4084cc,%eax
404992:	89 45 e0             	mov    %eax,-0x20(%ebp)
404995:	8d 45 e0             	lea    -0x20(%ebp),%eax
404998:	50                   	push   %eax
404999:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40499c:	50                   	push   %eax
40499d:	ff 75 08             	push   0x8(%ebp)
4049a0:	e8 14 06 00 00       	call   0x404fb9
4049a5:	83 c4 0c             	add    $0xc,%esp
4049a8:	8b f0                	mov    %eax,%esi
4049aa:	89 75 dc             	mov    %esi,-0x24(%ebp)
4049ad:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4049b0:	89 0d d0 84 40 00    	mov    %ecx,0x4084d0
4049b6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4049b9:	89 0d cc 84 40 00    	mov    %ecx,0x4084cc
4049bf:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4049c6:	e8 15 00 00 00       	call   0x4049e0
4049cb:	8b c6                	mov    %esi,%eax
4049cd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4049d0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4049d7:	59                   	pop    %ecx
4049d8:	5f                   	pop    %edi
4049d9:	5e                   	pop    %esi
4049da:	5b                   	pop    %ebx
4049db:	c9                   	leave
4049dc:	c3                   	ret
4049dd:	8b 75 dc             	mov    -0x24(%ebp),%esi
4049e0:	6a 08                	push   $0x8
4049e2:	e8 cc 05 00 00       	call   0x404fb3
4049e7:	59                   	pop    %ecx
4049e8:	c3                   	ret
4049e9:	8b ff                	mov    %edi,%edi
4049eb:	55                   	push   %ebp
4049ec:	8b ec                	mov    %esp,%ebp
4049ee:	ff 75 08             	push   0x8(%ebp)
4049f1:	e8 50 ff ff ff       	call   0x404946
4049f6:	f7 d8                	neg    %eax
4049f8:	59                   	pop    %ecx
4049f9:	1b c0                	sbb    %eax,%eax
4049fb:	f7 d8                	neg    %eax
4049fd:	48                   	dec    %eax
4049fe:	5d                   	pop    %ebp
4049ff:	c3                   	ret
404a00:	ff 25 34 91 40 00    	jmp    *0x409134
404a06:	ff 25 30 91 40 00    	jmp    *0x409130
404a0c:	cc                   	int3
404a0d:	cc                   	int3
404a0e:	cc                   	int3
404a0f:	cc                   	int3
404a10:	ff 25 2c 91 40 00    	jmp    *0x40912c
404a16:	ff 25 28 91 40 00    	jmp    *0x409128
404a1c:	cc                   	int3
404a1d:	cc                   	int3
404a1e:	cc                   	int3
404a1f:	cc                   	int3
404a20:	ff 25 d8 90 40 00    	jmp    *0x4090d8
404a26:	ff 25 ec 90 40 00    	jmp    *0x4090ec
404a2c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404a2f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404a36:	59                   	pop    %ecx
404a37:	5f                   	pop    %edi
404a38:	5f                   	pop    %edi
404a39:	5e                   	pop    %esi
404a3a:	5b                   	pop    %ebx
404a3b:	8b e5                	mov    %ebp,%esp
404a3d:	5d                   	pop    %ebp
404a3e:	51                   	push   %ecx
404a3f:	c3                   	ret
404a40:	50                   	push   %eax
404a41:	64 ff 35 00 00 00 00 	push   %fs:0x0
404a48:	8d 44 24 0c          	lea    0xc(%esp),%eax
404a4c:	2b 64 24 0c          	sub    0xc(%esp),%esp
404a50:	53                   	push   %ebx
404a51:	56                   	push   %esi
404a52:	57                   	push   %edi
404a53:	89 28                	mov    %ebp,(%eax)
404a55:	8b e8                	mov    %eax,%ebp
404a57:	a1 cc 80 40 00       	mov    0x4080cc,%eax
404a5c:	33 c5                	xor    %ebp,%eax
404a5e:	50                   	push   %eax
404a5f:	ff 75 fc             	push   -0x4(%ebp)
404a62:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
404a69:	8d 45 f4             	lea    -0xc(%ebp),%eax
404a6c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404a72:	c3                   	ret
404a73:	50                   	push   %eax
404a74:	64 ff 35 00 00 00 00 	push   %fs:0x0
404a7b:	8d 44 24 0c          	lea    0xc(%esp),%eax
404a7f:	2b 64 24 0c          	sub    0xc(%esp),%esp
404a83:	53                   	push   %ebx
404a84:	56                   	push   %esi
404a85:	57                   	push   %edi
404a86:	89 28                	mov    %ebp,(%eax)
404a88:	8b e8                	mov    %eax,%ebp
404a8a:	a1 cc 80 40 00       	mov    0x4080cc,%eax
404a8f:	33 c5                	xor    %ebp,%eax
404a91:	50                   	push   %eax
404a92:	89 65 f0             	mov    %esp,-0x10(%ebp)
404a95:	ff 75 fc             	push   -0x4(%ebp)
404a98:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
404a9f:	8d 45 f4             	lea    -0xc(%ebp),%eax
404aa2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404aa8:	c3                   	ret
404aa9:	ff 25 04 91 40 00    	jmp    *0x409104
404aaf:	ff 25 18 91 40 00    	jmp    *0x409118
404ab5:	cc                   	int3
404ab6:	cc                   	int3
404ab7:	cc                   	int3
404ab8:	cc                   	int3
404ab9:	cc                   	int3
404aba:	cc                   	int3
404abb:	cc                   	int3
404abc:	cc                   	int3
404abd:	cc                   	int3
404abe:	cc                   	int3
404abf:	cc                   	int3
404ac0:	8b ff                	mov    %edi,%edi
404ac2:	55                   	push   %ebp
404ac3:	8b ec                	mov    %esp,%ebp
404ac5:	8b 45 08             	mov    0x8(%ebp),%eax
404ac8:	8b 00                	mov    (%eax),%eax
404aca:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
404ad0:	75 2b                	jne    0x404afd
404ad2:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
404ad6:	75 25                	jne    0x404afd
404ad8:	8b 40 14             	mov    0x14(%eax),%eax
404adb:	3d 20 05 93 19       	cmp    $0x19930520,%eax
404ae0:	74 15                	je     0x404af7
404ae2:	3d 21 05 93 19       	cmp    $0x19930521,%eax
404ae7:	74 0e                	je     0x404af7
404ae9:	3d 22 05 93 19       	cmp    $0x19930522,%eax
404aee:	74 07                	je     0x404af7
404af0:	3d 00 40 99 01       	cmp    $0x1994000,%eax
404af5:	75 06                	jne    0x404afd
404af7:	ff 15 08 91 40 00    	call   *0x409108
404afd:	33 c0                	xor    %eax,%eax
404aff:	5d                   	pop    %ebp
404b00:	c2 04 00             	ret    $0x4
404b03:	cc                   	int3
404b04:	cc                   	int3
404b05:	cc                   	int3
404b06:	cc                   	int3
404b07:	cc                   	int3
404b08:	cc                   	int3
404b09:	cc                   	int3
404b0a:	cc                   	int3
404b0b:	cc                   	int3
404b0c:	cc                   	int3
404b0d:	cc                   	int3
404b0e:	cc                   	int3
404b0f:	cc                   	int3
404b10:	68 c0 4a 40 00       	push   $0x404ac0
404b15:	ff 15 4c 90 40 00    	call   *0x40904c
404b1b:	33 c0                	xor    %eax,%eax
404b1d:	c3                   	ret
404b1e:	ff 25 e0 90 40 00    	jmp    *0x4090e0
404b24:	6a 0c                	push   $0xc
404b26:	68 00 57 40 00       	push   $0x405700
404b2b:	e8 b8 02 00 00       	call   0x404de8
404b30:	33 c9                	xor    %ecx,%ecx
404b32:	8b 45 08             	mov    0x8(%ebp),%eax
404b35:	85 c0                	test   %eax,%eax
404b37:	74 4b                	je     0x404b84
404b39:	83 f8 ff             	cmp    $0xffffffff,%eax
404b3c:	74 46                	je     0x404b84
404b3e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
404b41:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
404b46:	66 39 10             	cmp    %dx,(%eax)
404b49:	75 32                	jne    0x404b7d
404b4b:	8b 50 3c             	mov    0x3c(%eax),%edx
404b4e:	85 d2                	test   %edx,%edx
404b50:	78 2b                	js     0x404b7d
404b52:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
404b58:	73 23                	jae    0x404b7d
404b5a:	03 c2                	add    %edx,%eax
404b5c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404b5f:	8b 08                	mov    (%eax),%ecx
404b61:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
404b67:	f7 d9                	neg    %ecx
404b69:	1b c9                	sbb    %ecx,%ecx
404b6b:	f7 d1                	not    %ecx
404b6d:	23 c8                	and    %eax,%ecx
404b6f:	eb 09                	jmp    0x404b7a
404b71:	33 c0                	xor    %eax,%eax
404b73:	40                   	inc    %eax
404b74:	c3                   	ret
404b75:	8b 65 e8             	mov    -0x18(%ebp),%esp
404b78:	33 c9                	xor    %ecx,%ecx
404b7a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
404b7d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404b84:	8b c1                	mov    %ecx,%eax
404b86:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404b89:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404b90:	59                   	pop    %ecx
404b91:	5f                   	pop    %edi
404b92:	5e                   	pop    %esi
404b93:	5b                   	pop    %ebx
404b94:	c9                   	leave
404b95:	c2 04 00             	ret    $0x4
404b98:	8b ff                	mov    %edi,%edi
404b9a:	55                   	push   %ebp
404b9b:	8b ec                	mov    %esp,%ebp
404b9d:	6a 00                	push   $0x0
404b9f:	ff 15 64 90 40 00    	call   *0x409064
404ba5:	85 c0                	test   %eax,%eax
404ba7:	74 20                	je     0x404bc9
404ba9:	50                   	push   %eax
404baa:	e8 75 ff ff ff       	call   0x404b24
404baf:	85 c0                	test   %eax,%eax
404bb1:	74 16                	je     0x404bc9
404bb3:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
404bb7:	6a 02                	push   $0x2
404bb9:	58                   	pop    %eax
404bba:	66 3b c8             	cmp    %ax,%cx
404bbd:	74 0d                	je     0x404bcc
404bbf:	83 f9 03             	cmp    $0x3,%ecx
404bc2:	75 05                	jne    0x404bc9
404bc4:	33 c0                	xor    %eax,%eax
404bc6:	40                   	inc    %eax
404bc7:	5d                   	pop    %ebp
404bc8:	c3                   	ret
404bc9:	8b 45 08             	mov    0x8(%ebp),%eax
404bcc:	5d                   	pop    %ebp
404bcd:	c3                   	ret
404bce:	ff 25 50 91 40 00    	jmp    *0x409150
404bd4:	cc                   	int3
404bd5:	cc                   	int3
404bd6:	cc                   	int3
404bd7:	cc                   	int3
404bd8:	cc                   	int3
404bd9:	cc                   	int3
404bda:	cc                   	int3
404bdb:	cc                   	int3
404bdc:	cc                   	int3
404bdd:	cc                   	int3
404bde:	cc                   	int3
404bdf:	cc                   	int3
404be0:	33 c0                	xor    %eax,%eax
404be2:	c3                   	ret
404be3:	cc                   	int3
404be4:	cc                   	int3
404be5:	cc                   	int3
404be6:	cc                   	int3
404be7:	cc                   	int3
404be8:	cc                   	int3
404be9:	cc                   	int3
404bea:	cc                   	int3
404beb:	cc                   	int3
404bec:	cc                   	int3
404bed:	cc                   	int3
404bee:	cc                   	int3
404bef:	cc                   	int3
404bf0:	8b ff                	mov    %edi,%edi
404bf2:	55                   	push   %ebp
404bf3:	8b ec                	mov    %esp,%ebp
404bf5:	8b 45 08             	mov    0x8(%ebp),%eax
404bf8:	33 d2                	xor    %edx,%edx
404bfa:	53                   	push   %ebx
404bfb:	56                   	push   %esi
404bfc:	57                   	push   %edi
404bfd:	8b 48 3c             	mov    0x3c(%eax),%ecx
404c00:	03 c8                	add    %eax,%ecx
404c02:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
404c06:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
404c0a:	83 c0 18             	add    $0x18,%eax
404c0d:	03 c1                	add    %ecx,%eax
404c0f:	85 db                	test   %ebx,%ebx
404c11:	74 1b                	je     0x404c2e
404c13:	8b 7d 0c             	mov    0xc(%ebp),%edi
404c16:	8b 70 0c             	mov    0xc(%eax),%esi
404c19:	3b fe                	cmp    %esi,%edi
404c1b:	72 09                	jb     0x404c26
404c1d:	8b 48 08             	mov    0x8(%eax),%ecx
404c20:	03 ce                	add    %esi,%ecx
404c22:	3b f9                	cmp    %ecx,%edi
404c24:	72 0a                	jb     0x404c30
404c26:	42                   	inc    %edx
404c27:	83 c0 28             	add    $0x28,%eax
404c2a:	3b d3                	cmp    %ebx,%edx
404c2c:	72 e8                	jb     0x404c16
404c2e:	33 c0                	xor    %eax,%eax
404c30:	5f                   	pop    %edi
404c31:	5e                   	pop    %esi
404c32:	5b                   	pop    %ebx
404c33:	5d                   	pop    %ebp
404c34:	c3                   	ret
404c35:	cc                   	int3
404c36:	cc                   	int3
404c37:	cc                   	int3
404c38:	cc                   	int3
404c39:	cc                   	int3
404c3a:	cc                   	int3
404c3b:	cc                   	int3
404c3c:	cc                   	int3
404c3d:	cc                   	int3
404c3e:	cc                   	int3
404c3f:	cc                   	int3
404c40:	8b ff                	mov    %edi,%edi
404c42:	55                   	push   %ebp
404c43:	8b ec                	mov    %esp,%ebp
404c45:	6a fe                	push   $0xfffffffe
404c47:	68 20 57 40 00       	push   $0x405720
404c4c:	68 50 4e 40 00       	push   $0x404e50
404c51:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404c57:	50                   	push   %eax
404c58:	83 ec 08             	sub    $0x8,%esp
404c5b:	53                   	push   %ebx
404c5c:	56                   	push   %esi
404c5d:	57                   	push   %edi
404c5e:	a1 cc 80 40 00       	mov    0x4080cc,%eax
404c63:	31 45 f8             	xor    %eax,-0x8(%ebp)
404c66:	33 c5                	xor    %ebp,%eax
404c68:	50                   	push   %eax
404c69:	8d 45 f0             	lea    -0x10(%ebp),%eax
404c6c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
404c72:	89 65 e8             	mov    %esp,-0x18(%ebp)
404c75:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
404c7c:	68 00 00 40 00       	push   $0x400000
404c81:	e8 7a 00 00 00       	call   0x404d00
404c86:	83 c4 04             	add    $0x4,%esp
404c89:	85 c0                	test   %eax,%eax
404c8b:	74 54                	je     0x404ce1
404c8d:	8b 45 08             	mov    0x8(%ebp),%eax
404c90:	2d 00 00 40 00       	sub    $0x400000,%eax
404c95:	50                   	push   %eax
404c96:	68 00 00 40 00       	push   $0x400000
404c9b:	e8 50 ff ff ff       	call   0x404bf0
404ca0:	83 c4 08             	add    $0x8,%esp
404ca3:	85 c0                	test   %eax,%eax
404ca5:	74 3a                	je     0x404ce1
404ca7:	8b 40 24             	mov    0x24(%eax),%eax
404caa:	c1 e8 1f             	shr    $0x1f,%eax
404cad:	f7 d0                	not    %eax
404caf:	83 e0 01             	and    $0x1,%eax
404cb2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404cb9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404cbc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404cc3:	59                   	pop    %ecx
404cc4:	5f                   	pop    %edi
404cc5:	5e                   	pop    %esi
404cc6:	5b                   	pop    %ebx
404cc7:	8b e5                	mov    %ebp,%esp
404cc9:	5d                   	pop    %ebp
404cca:	c3                   	ret