4029bf:	83 f9 03             	cmp    $0x3,%ecx
4029c2:	75 05                	jne    0x4029c9
4029c4:	33 c0                	xor    %eax,%eax
4029c6:	40                   	inc    %eax
4029c7:	5d                   	pop    %ebp
4029c8:	c3                   	ret
4029c9:	8b 45 08             	mov    0x8(%ebp),%eax
4029cc:	5d                   	pop    %ebp
4029cd:	c3                   	ret
4029ce:	ff 25 08 41 40 00    	jmp    *0x404108
4029d4:	cc                   	int3
4029d5:	cc                   	int3
4029d6:	cc                   	int3
4029d7:	cc                   	int3
4029d8:	cc                   	int3
4029d9:	cc                   	int3
4029da:	cc                   	int3
4029db:	cc                   	int3
4029dc:	cc                   	int3
4029dd:	cc                   	int3
4029de:	cc                   	int3
4029df:	cc                   	int3
4029e0:	33 c0                	xor    %eax,%eax
4029e2:	c3                   	ret
4029e3:	cc                   	int3
4029e4:	cc                   	int3
4029e5:	cc                   	int3
4029e6:	cc                   	int3
4029e7:	cc                   	int3
4029e8:	cc                   	int3
4029e9:	cc                   	int3
4029ea:	cc                   	int3
4029eb:	cc                   	int3
4029ec:	cc                   	int3
4029ed:	cc                   	int3
4029ee:	cc                   	int3
4029ef:	cc                   	int3
4029f0:	8b ff                	mov    %edi,%edi
4029f2:	55                   	push   %ebp
4029f3:	8b ec                	mov    %esp,%ebp
4029f5:	8b 45 08             	mov    0x8(%ebp),%eax
4029f8:	33 d2                	xor    %edx,%edx
4029fa:	53                   	push   %ebx
4029fb:	56                   	push   %esi
4029fc:	57                   	push   %edi
4029fd:	8b 48 3c             	mov    0x3c(%eax),%ecx
402a00:	03 c8                	add    %eax,%ecx
402a02:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
402a06:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
402a0a:	83 c0 18             	add    $0x18,%eax
402a0d:	03 c1                	add    %ecx,%eax
402a0f:	85 db                	test   %ebx,%ebx
402a11:	74 1b                	je     0x402a2e
402a13:	8b 7d 0c             	mov    0xc(%ebp),%edi
402a16:	8b 70 0c             	mov    0xc(%eax),%esi
402a19:	3b fe                	cmp    %esi,%edi
402a1b:	72 09                	jb     0x402a26
402a1d:	8b 48 08             	mov    0x8(%eax),%ecx
402a20:	03 ce                	add    %esi,%ecx
402a22:	3b f9                	cmp    %ecx,%edi
402a24:	72 0a                	jb     0x402a30
402a26:	42                   	inc    %edx
402a27:	83 c0 28             	add    $0x28,%eax
402a2a:	3b d3                	cmp    %ebx,%edx
402a2c:	72 e8                	jb     0x402a16
402a2e:	33 c0                	xor    %eax,%eax
402a30:	5f                   	pop    %edi
402a31:	5e                   	pop    %esi
402a32:	5b                   	pop    %ebx
402a33:	5d                   	pop    %ebp
402a34:	c3                   	ret
402a35:	cc                   	int3
402a36:	cc                   	int3
402a37:	cc                   	int3
402a38:	cc                   	int3
402a39:	cc                   	int3
402a3a:	cc                   	int3
402a3b:	cc                   	int3
402a3c:	cc                   	int3
402a3d:	cc                   	int3
402a3e:	cc                   	int3
402a3f:	cc                   	int3
402a40:	8b ff                	mov    %edi,%edi
402a42:	55                   	push   %ebp
402a43:	8b ec                	mov    %esp,%ebp
402a45:	6a fe                	push   $0xfffffffe
402a47:	68 28 2e 40 00       	push   $0x402e28
402a4c:	68 50 2c 40 00       	push   $0x402c50
402a51:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402a57:	50                   	push   %eax
402a58:	83 ec 08             	sub    $0x8,%esp
402a5b:	53                   	push   %ebx
402a5c:	56                   	push   %esi
402a5d:	57                   	push   %edi
402a5e:	a1 04 30 40 00       	mov    0x403004,%eax
402a63:	31 45 f8             	xor    %eax,-0x8(%ebp)
402a66:	33 c5                	xor    %ebp,%eax
402a68:	50                   	push   %eax
402a69:	8d 45 f0             	lea    -0x10(%ebp),%eax
402a6c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402a72:	89 65 e8             	mov    %esp,-0x18(%ebp)
402a75:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402a7c:	68 00 00 40 00       	push   $0x400000
402a81:	e8 7a 00 00 00       	call   0x402b00
402a86:	83 c4 04             	add    $0x4,%esp
402a89:	85 c0                	test   %eax,%eax
402a8b:	74 54                	je     0x402ae1
402a8d:	8b 45 08             	mov    0x8(%ebp),%eax
402a90:	2d 00 00 40 00       	sub    $0x400000,%eax
402a95:	50                   	push   %eax
402a96:	68 00 00 40 00       	push   $0x400000
402a9b:	e8 50 ff ff ff       	call   0x4029f0
402aa0:	83 c4 08             	add    $0x8,%esp
402aa3:	85 c0                	test   %eax,%eax
402aa5:	74 3a                	je     0x402ae1
402aa7:	8b 40 24             	mov    0x24(%eax),%eax
402aaa:	c1 e8 1f             	shr    $0x1f,%eax
402aad:	f7 d0                	not    %eax
402aaf:	83 e0 01             	and    $0x1,%eax
402ab2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402ab9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402abc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402ac3:	59                   	pop    %ecx
402ac4:	5f                   	pop    %edi
402ac5:	5e                   	pop    %esi
402ac6:	5b                   	pop    %ebx
402ac7:	8b e5                	mov    %ebp,%esp
402ac9:	5d                   	pop    %ebp
402aca:	c3                   	ret
402acb:	8b 45 ec             	mov    -0x14(%ebp),%eax
402ace:	8b 00                	mov    (%eax),%eax
402ad0:	33 c9                	xor    %ecx,%ecx
402ad2:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
402ad8:	0f 94 c1             	sete   %cl
402adb:	8b c1                	mov    %ecx,%eax
402add:	c3                   	ret
402ade:	8b 65 e8             	mov    -0x18(%ebp),%esp
402ae1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402ae8:	33 c0                	xor    %eax,%eax
402aea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402aed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402af4:	59                   	pop    %ecx
402af5:	5f                   	pop    %edi
402af6:	5e                   	pop    %esi
402af7:	5b                   	pop    %ebx
402af8:	8b e5                	mov    %ebp,%esp
402afa:	5d                   	pop    %ebp
402afb:	c3                   	ret
402afc:	cc                   	int3
402afd:	cc                   	int3
402afe:	cc                   	int3
402aff:	cc                   	int3
402b00:	8b ff                	mov    %edi,%edi
402b02:	55                   	push   %ebp
402b03:	8b ec                	mov    %esp,%ebp
402b05:	8b 4d 08             	mov    0x8(%ebp),%ecx
402b08:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
402b0d:	66 39 01             	cmp    %ax,(%ecx)
402b10:	75 1f                	jne    0x402b31
402b12:	8b 41 3c             	mov    0x3c(%ecx),%eax
402b15:	03 c1                	add    %ecx,%eax
402b17:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
402b1d:	75 12                	jne    0x402b31
402b1f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
402b24:	66 39 48 18          	cmp    %cx,0x18(%eax)
402b28:	75 07                	jne    0x402b31
402b2a:	b8 01 00 00 00       	mov    $0x1,%eax
402b2f:	5d                   	pop    %ebp
402b30:	c3                   	ret
402b31:	33 c0                	xor    %eax,%eax
402b33:	5d                   	pop    %ebp
402b34:	c3                   	ret
402b35:	8b ff                	mov    %edi,%edi
402b37:	55                   	push   %ebp
402b38:	8b ec                	mov    %esp,%ebp
402b3a:	83 ec 14             	sub    $0x14,%esp
402b3d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
402b41:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
402b45:	a1 04 30 40 00       	mov    0x403004,%eax
402b4a:	56                   	push   %esi
402b4b:	57                   	push   %edi
402b4c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
402b51:	be 00 00 ff ff       	mov    $0xffff0000,%esi
402b56:	3b c7                	cmp    %edi,%eax
402b58:	74 04                	je     0x402b5e
402b5a:	85 c6                	test   %eax,%esi
402b5c:	75 64                	jne    0x402bc2
402b5e:	8d 45 f4             	lea    -0xc(%ebp),%eax
402b61:	50                   	push   %eax
402b62:	ff 15 70 40 40 00    	call   *0x404070
402b68:	8b 45 f8             	mov    -0x8(%ebp),%eax
402b6b:	33 45 f4             	xor    -0xc(%ebp),%eax
402b6e:	89 45 fc             	mov    %eax,-0x4(%ebp)
402b71:	ff 15 78 40 40 00    	call   *0x404078
402b77:	31 45 fc             	xor    %eax,-0x4(%ebp)
402b7a:	ff 15 74 40 40 00    	call   *0x404074
402b80:	31 45 fc             	xor    %eax,-0x4(%ebp)
402b83:	ff 15 6c 40 40 00    	call   *0x40406c
402b89:	33 45 fc             	xor    -0x4(%ebp),%eax
402b8c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
402b8f:	33 c1                	xor    %ecx,%eax
402b91:	89 45 fc             	mov    %eax,-0x4(%ebp)
402b94:	8d 45 ec             	lea    -0x14(%ebp),%eax
402b97:	50                   	push   %eax
402b98:	ff 15 7c 40 40 00    	call   *0x40407c
402b9e:	8b 45 f0             	mov    -0x10(%ebp),%eax
402ba1:	33 45 ec             	xor    -0x14(%ebp),%eax
402ba4:	33 45 fc             	xor    -0x4(%ebp),%eax
402ba7:	8b c8                	mov    %eax,%ecx
402ba9:	3b c7                	cmp    %edi,%eax
402bab:	74 08                	je     0x402bb5
402bad:	85 35 04 30 40 00    	test   %esi,0x403004
402bb3:	75 07                	jne    0x402bbc
402bb5:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
402bba:	8b c8                	mov    %eax,%ecx
402bbc:	89 0d 04 30 40 00    	mov    %ecx,0x403004
402bc2:	f7 d0                	not    %eax
402bc4:	5f                   	pop    %edi
402bc5:	a3 08 30 40 00       	mov    %eax,0x403008
402bca:	5e                   	pop    %esi
402bcb:	c9                   	leave
402bcc:	c3                   	ret
402bcd:	68 00 00 03 00       	push   $0x30000
402bd2:	68 00 00 01 00       	push   $0x10000
402bd7:	ff 15 dc 40 40 00    	call   *0x4040dc
402bdd:	59                   	pop    %ecx
402bde:	59                   	pop    %ecx
402bdf:	c3                   	ret
402be0:	ff 25 e8 40 40 00    	jmp    *0x4040e8
402be6:	cc                   	int3
402be7:	cc                   	int3
402be8:	68 50 2c 40 00       	push   $0x402c50
402bed:	64 ff 35 00 00 00 00 	push   %fs:0x0
402bf4:	8b 44 24 10          	mov    0x10(%esp),%eax
402bf8:	89 6c 24 10          	mov    %ebp,0x10(%esp)
402bfc:	8d 6c 24 10          	lea    0x10(%esp),%ebp
402c00:	2b e0                	sub    %eax,%esp
402c02:	53                   	push   %ebx
402c03:	56                   	push   %esi
402c04:	57                   	push   %edi
402c05:	a1 04 30 40 00       	mov    0x403004,%eax
402c0a:	31 45 fc             	xor    %eax,-0x4(%ebp)
402c0d:	33 c5                	xor    %ebp,%eax
402c0f:	50                   	push   %eax
402c10:	89 65 e8             	mov    %esp,-0x18(%ebp)
402c13:	ff 75 f8             	push   -0x8(%ebp)
402c16:	8b 45 fc             	mov    -0x4(%ebp),%eax
402c19:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402c20:	89 45 f8             	mov    %eax,-0x8(%ebp)
402c23:	8d 45 f0             	lea    -0x10(%ebp),%eax
402c26:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402c2c:	c3                   	ret
402c2d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402c30:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402c37:	59                   	pop    %ecx
402c38:	5f                   	pop    %edi
402c39:	5f                   	pop    %edi
402c3a:	5e                   	pop    %esi
402c3b:	5b                   	pop    %ebx
402c3c:	8b e5                	mov    %ebp,%esp
402c3e:	5d                   	pop    %ebp
402c3f:	51                   	push   %ecx
402c40:	c3                   	ret
402c41:	cc                   	int3
402c42:	cc                   	int3
402c43:	cc                   	int3
402c44:	cc                   	int3
402c45:	cc                   	int3
402c46:	cc                   	int3
402c47:	cc                   	int3
402c48:	cc                   	int3
402c49:	cc                   	int3
402c4a:	cc                   	int3
402c4b:	cc                   	int3
402c4c:	cc                   	int3
402c4d:	cc                   	int3
402c4e:	cc                   	int3
402c4f:	cc                   	int3
402c50:	8b ff                	mov    %edi,%edi
402c52:	55                   	push   %ebp
402c53:	8b ec                	mov    %esp,%ebp
402c55:	ff 75 14             	push   0x14(%ebp)
402c58:	ff 75 10             	push   0x10(%ebp)
402c5b:	ff 75 0c             	push   0xc(%ebp)
402c5e:	ff 75 08             	push   0x8(%ebp)
402c61:	68 b0 28 40 00       	push   $0x4028b0
402c66:	68 04 30 40 00       	push   $0x403004
402c6b:	e8 4b 01 00 00       	call   0x402dbb
402c70:	83 c4 18             	add    $0x18,%esp
402c73:	5d                   	pop    %ebp
402c74:	c3                   	ret
402c75:	cc                   	int3
402c76:	cc                   	int3
402c77:	cc                   	int3
402c78:	cc                   	int3
402c79:	cc                   	int3
402c7a:	cc                   	int3
402c7b:	cc                   	int3
402c7c:	cc                   	int3
402c7d:	cc                   	int3
402c7e:	cc                   	int3
402c7f:	cc                   	int3
402c80:	c2 00 00             	ret    $0x0
402c83:	8b ff                	mov    %edi,%edi
402c85:	55                   	push   %ebp
402c86:	8b ec                	mov    %esp,%ebp
402c88:	6a 00                	push   $0x0
402c8a:	ff 15 80 40 40 00    	call   *0x404080
402c90:	ff 75 08             	push   0x8(%ebp)
402c93:	ff 15 68 40 40 00    	call   *0x404068
402c99:	68 09 04 00 c0       	push   $0xc0000409
402c9e:	ff 15 18 40 40 00    	call   *0x404018
402ca4:	50                   	push   %eax
402ca5:	ff 15 64 40 40 00    	call   *0x404064
402cab:	5d                   	pop    %ebp
402cac:	c3                   	ret
402cad:	8b ff                	mov    %edi,%edi
402caf:	55                   	push   %ebp
402cb0:	8b ec                	mov    %esp,%ebp
402cb2:	81 ec 24 03 00 00    	sub    $0x324,%esp
402cb8:	a3 48 31 40 00       	mov    %eax,0x403148
402cbd:	89 0d 44 31 40 00    	mov    %ecx,0x403144
402cc3:	89 15 40 31 40 00    	mov    %edx,0x403140
402cc9:	89 1d 3c 31 40 00    	mov    %ebx,0x40313c
402ccf:	89 35 38 31 40 00    	mov    %esi,0x403138
402cd5:	89 3d 34 31 40 00    	mov    %edi,0x403134
402cdb:	66 8c 15 60 31 40 00 	data16 mov %ss,0x403160
402ce2:	66 8c 0d 54 31 40 00 	data16 mov %cs,0x403154
402ce9:	66 8c 1d 30 31 40 00 	data16 mov %ds,0x403130
402cf0:	66 8c 05 2c 31 40 00 	data16 mov %es,0x40312c
402cf7:	66 8c 25 28 31 40 00 	data16 mov %fs,0x403128
402cfe:	66 8c 2d 24 31 40 00 	data16 mov %gs,0x403124
402d05:	9c                   	pushf
402d06:	8f 05 58 31 40 00    	pop    0x403158
402d0c:	8b 45 00             	mov    0x0(%ebp),%eax
402d0f:	a3 4c 31 40 00       	mov    %eax,0x40314c
402d14:	8b 45 04             	mov    0x4(%ebp),%eax
402d17:	a3 50 31 40 00       	mov    %eax,0x403150
402d1c:	8d 45 08             	lea    0x8(%ebp),%eax
402d1f:	a3 5c 31 40 00       	mov    %eax,0x40315c
402d24:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
402d2a:	c7 05 98 30 40 00 01 	movl   $0x10001,0x403098
402d31:	00 01 00
402d34:	a1 50 31 40 00       	mov    0x403150,%eax
402d39:	a3 54 30 40 00       	mov    %eax,0x403054
402d3e:	c7 05 48 30 40 00 09 	movl   $0xc0000409,0x403048
402d45:	04 00 c0
402d48:	c7 05 4c 30 40 00 01 	movl   $0x1,0x40304c
402d4f:	00 00 00
402d52:	c7 05 58 30 40 00 03 	movl   $0x3,0x403058