401d07:	cc                   	int3
401d08:	cc                   	int3
401d09:	cc                   	int3
401d0a:	cc                   	int3
401d0b:	cc                   	int3
401d0c:	cc                   	int3
401d0d:	cc                   	int3
401d0e:	cc                   	int3
401d0f:	cc                   	int3
401d10:	68 c0 1c 40 00       	push   $0x401cc0
401d15:	ff 15 40 40 40 00    	call   *0x404040
401d1b:	33 c0                	xor    %eax,%eax
401d1d:	c3                   	ret
401d1e:	ff 25 68 40 40 00    	jmp    *0x404068
401d24:	6a 0c                	push   $0xc
401d26:	68 50 22 40 00       	push   $0x402250
401d2b:	e8 b8 02 00 00       	call   0x401fe8
401d30:	33 c9                	xor    %ecx,%ecx
401d32:	8b 45 08             	mov    0x8(%ebp),%eax
401d35:	85 c0                	test   %eax,%eax
401d37:	74 4b                	je     0x401d84
401d39:	83 f8 ff             	cmp    $0xffffffff,%eax
401d3c:	74 46                	je     0x401d84
401d3e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
401d41:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
401d46:	66 39 10             	cmp    %dx,(%eax)
401d49:	75 32                	jne    0x401d7d
401d4b:	8b 50 3c             	mov    0x3c(%eax),%edx
401d4e:	85 d2                	test   %edx,%edx
401d50:	78 2b                	js     0x401d7d
401d52:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
401d58:	73 23                	jae    0x401d7d
401d5a:	03 c2                	add    %edx,%eax
401d5c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
401d5f:	8b 08                	mov    (%eax),%ecx
401d61:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
401d67:	f7 d9                	neg    %ecx
401d69:	1b c9                	sbb    %ecx,%ecx
401d6b:	f7 d1                	not    %ecx
401d6d:	23 c8                	and    %eax,%ecx
401d6f:	eb 09                	jmp    0x401d7a
401d71:	33 c0                	xor    %eax,%eax
401d73:	40                   	inc    %eax
401d74:	c3                   	ret
401d75:	8b 65 e8             	mov    -0x18(%ebp),%esp
401d78:	33 c9                	xor    %ecx,%ecx
401d7a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
401d7d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401d84:	8b c1                	mov    %ecx,%eax
401d86:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401d89:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401d90:	59                   	pop    %ecx
401d91:	5f                   	pop    %edi
401d92:	5e                   	pop    %esi
401d93:	5b                   	pop    %ebx
401d94:	c9                   	leave
401d95:	c2 04 00             	ret    $0x4
401d98:	8b ff                	mov    %edi,%edi
401d9a:	55                   	push   %ebp
401d9b:	8b ec                	mov    %esp,%ebp
401d9d:	6a 00                	push   $0x0
401d9f:	ff 15 3c 40 40 00    	call   *0x40403c
401da5:	85 c0                	test   %eax,%eax
401da7:	74 20                	je     0x401dc9
401da9:	50                   	push   %eax
401daa:	e8 75 ff ff ff       	call   0x401d24
401daf:	85 c0                	test   %eax,%eax
401db1:	74 16                	je     0x401dc9
401db3:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
401db7:	6a 02                	push   $0x2
401db9:	58                   	pop    %eax
401dba:	66 3b c8             	cmp    %ax,%cx
401dbd:	74 0d                	je     0x401dcc
401dbf:	83 f9 03             	cmp    $0x3,%ecx
401dc2:	75 05                	jne    0x401dc9
401dc4:	33 c0                	xor    %eax,%eax
401dc6:	40                   	inc    %eax
401dc7:	5d                   	pop    %ebp
401dc8:	c3                   	ret
401dc9:	8b 45 08             	mov    0x8(%ebp),%eax
401dcc:	5d                   	pop    %ebp
401dcd:	c3                   	ret
401dce:	ff 25 70 40 40 00    	jmp    *0x404070
401dd4:	cc                   	int3
401dd5:	cc                   	int3
401dd6:	cc                   	int3
401dd7:	cc                   	int3
401dd8:	cc                   	int3
401dd9:	cc                   	int3
401dda:	cc                   	int3
401ddb:	cc                   	int3
401ddc:	cc                   	int3
401ddd:	cc                   	int3
401dde:	cc                   	int3
401ddf:	cc                   	int3
401de0:	33 c0                	xor    %eax,%eax
401de2:	c3                   	ret
401de3:	cc                   	int3
401de4:	cc                   	int3
401de5:	cc                   	int3
401de6:	cc                   	int3
401de7:	cc                   	int3
401de8:	cc                   	int3
401de9:	cc                   	int3
401dea:	cc                   	int3
401deb:	cc                   	int3
401dec:	cc                   	int3
401ded:	cc                   	int3
401dee:	cc                   	int3
401def:	cc                   	int3
401df0:	8b ff                	mov    %edi,%edi
401df2:	55                   	push   %ebp
401df3:	8b ec                	mov    %esp,%ebp
401df5:	8b 45 08             	mov    0x8(%ebp),%eax
401df8:	33 d2                	xor    %edx,%edx
401dfa:	53                   	push   %ebx
401dfb:	56                   	push   %esi
401dfc:	57                   	push   %edi
401dfd:	8b 48 3c             	mov    0x3c(%eax),%ecx
401e00:	03 c8                	add    %eax,%ecx
401e02:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
401e06:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
401e0a:	83 c0 18             	add    $0x18,%eax
401e0d:	03 c1                	add    %ecx,%eax
401e0f:	85 db                	test   %ebx,%ebx
401e11:	74 1b                	je     0x401e2e
401e13:	8b 7d 0c             	mov    0xc(%ebp),%edi
401e16:	8b 70 0c             	mov    0xc(%eax),%esi
401e19:	3b fe                	cmp    %esi,%edi
401e1b:	72 09                	jb     0x401e26
401e1d:	8b 48 08             	mov    0x8(%eax),%ecx
401e20:	03 ce                	add    %esi,%ecx
401e22:	3b f9                	cmp    %ecx,%edi
401e24:	72 0a                	jb     0x401e30
401e26:	42                   	inc    %edx
401e27:	83 c0 28             	add    $0x28,%eax
401e2a:	3b d3                	cmp    %ebx,%edx
401e2c:	72 e8                	jb     0x401e16
401e2e:	33 c0                	xor    %eax,%eax
401e30:	5f                   	pop    %edi
401e31:	5e                   	pop    %esi
401e32:	5b                   	pop    %ebx
401e33:	5d                   	pop    %ebp
401e34:	c3                   	ret
401e35:	cc                   	int3
401e36:	cc                   	int3
401e37:	cc                   	int3
401e38:	cc                   	int3
401e39:	cc                   	int3
401e3a:	cc                   	int3
401e3b:	cc                   	int3
401e3c:	cc                   	int3
401e3d:	cc                   	int3
401e3e:	cc                   	int3
401e3f:	cc                   	int3
401e40:	8b ff                	mov    %edi,%edi
401e42:	55                   	push   %ebp
401e43:	8b ec                	mov    %esp,%ebp
401e45:	6a fe                	push   $0xfffffffe
401e47:	68 70 22 40 00       	push   $0x402270
401e4c:	68 80 1c 40 00       	push   $0x401c80
401e51:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401e57:	50                   	push   %eax
401e58:	83 ec 08             	sub    $0x8,%esp
401e5b:	53                   	push   %ebx
401e5c:	56                   	push   %esi
401e5d:	57                   	push   %edi
401e5e:	a1 04 30 40 00       	mov    0x403004,%eax
401e63:	31 45 f8             	xor    %eax,-0x8(%ebp)
401e66:	33 c5                	xor    %ebp,%eax
401e68:	50                   	push   %eax
401e69:	8d 45 f0             	lea    -0x10(%ebp),%eax
401e6c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401e72:	89 65 e8             	mov    %esp,-0x18(%ebp)
401e75:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
401e7c:	68 00 00 40 00       	push   $0x400000
401e81:	e8 7a 00 00 00       	call   0x401f00
401e86:	83 c4 04             	add    $0x4,%esp
401e89:	85 c0                	test   %eax,%eax
401e8b:	74 54                	je     0x401ee1
401e8d:	8b 45 08             	mov    0x8(%ebp),%eax
401e90:	2d 00 00 40 00       	sub    $0x400000,%eax
401e95:	50                   	push   %eax
401e96:	68 00 00 40 00       	push   $0x400000
401e9b:	e8 50 ff ff ff       	call   0x401df0
401ea0:	83 c4 08             	add    $0x8,%esp
401ea3:	85 c0                	test   %eax,%eax
401ea5:	74 3a                	je     0x401ee1
401ea7:	8b 40 24             	mov    0x24(%eax),%eax
401eaa:	c1 e8 1f             	shr    $0x1f,%eax
401ead:	f7 d0                	not    %eax
401eaf:	83 e0 01             	and    $0x1,%eax
401eb2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401eb9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401ebc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401ec3:	59                   	pop    %ecx
401ec4:	5f                   	pop    %edi
401ec5:	5e                   	pop    %esi
401ec6:	5b                   	pop    %ebx
401ec7:	8b e5                	mov    %ebp,%esp
401ec9:	5d                   	pop    %ebp
401eca:	c3                   	ret
401ecb:	8b 45 ec             	mov    -0x14(%ebp),%eax
401ece:	8b 00                	mov    (%eax),%eax
401ed0:	33 c9                	xor    %ecx,%ecx
401ed2:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
401ed8:	0f 94 c1             	sete   %cl
401edb:	8b c1                	mov    %ecx,%eax
401edd:	c3                   	ret
401ede:	8b 65 e8             	mov    -0x18(%ebp),%esp
401ee1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401ee8:	33 c0                	xor    %eax,%eax
401eea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401eed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401ef4:	59                   	pop    %ecx
401ef5:	5f                   	pop    %edi
401ef6:	5e                   	pop    %esi
401ef7:	5b                   	pop    %ebx
401ef8:	8b e5                	mov    %ebp,%esp
401efa:	5d                   	pop    %ebp
401efb:	c3                   	ret
401efc:	cc                   	int3
401efd:	cc                   	int3
401efe:	cc                   	int3
401eff:	cc                   	int3
401f00:	8b ff                	mov    %edi,%edi
401f02:	55                   	push   %ebp
401f03:	8b ec                	mov    %esp,%ebp
401f05:	8b 4d 08             	mov    0x8(%ebp),%ecx
401f08:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
401f0d:	66 39 01             	cmp    %ax,(%ecx)
401f10:	75 1f                	jne    0x401f31
401f12:	8b 41 3c             	mov    0x3c(%ecx),%eax
401f15:	03 c1                	add    %ecx,%eax
401f17:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
401f1d:	75 12                	jne    0x401f31
401f1f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
401f24:	66 39 48 18          	cmp    %cx,0x18(%eax)
401f28:	75 07                	jne    0x401f31
401f2a:	b8 01 00 00 00       	mov    $0x1,%eax
401f2f:	5d                   	pop    %ebp
401f30:	c3                   	ret
401f31:	33 c0                	xor    %eax,%eax
401f33:	5d                   	pop    %ebp
401f34:	c3                   	ret
401f35:	8b ff                	mov    %edi,%edi
401f37:	55                   	push   %ebp
401f38:	8b ec                	mov    %esp,%ebp
401f3a:	83 ec 14             	sub    $0x14,%esp
401f3d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
401f41:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
401f45:	a1 04 30 40 00       	mov    0x403004,%eax
401f4a:	56                   	push   %esi
401f4b:	57                   	push   %edi
401f4c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
401f51:	be 00 00 ff ff       	mov    $0xffff0000,%esi
401f56:	3b c7                	cmp    %edi,%eax
401f58:	74 04                	je     0x401f5e
401f5a:	85 c6                	test   %eax,%esi
401f5c:	75 64                	jne    0x401fc2
401f5e:	8d 45 f4             	lea    -0xc(%ebp),%eax
401f61:	50                   	push   %eax
401f62:	ff 15 2c 40 40 00    	call   *0x40402c
401f68:	8b 45 f8             	mov    -0x8(%ebp),%eax
401f6b:	33 45 f4             	xor    -0xc(%ebp),%eax
401f6e:	89 45 fc             	mov    %eax,-0x4(%ebp)
401f71:	ff 15 34 40 40 00    	call   *0x404034
401f77:	31 45 fc             	xor    %eax,-0x4(%ebp)
401f7a:	ff 15 30 40 40 00    	call   *0x404030
401f80:	31 45 fc             	xor    %eax,-0x4(%ebp)
401f83:	ff 15 28 40 40 00    	call   *0x404028
401f89:	33 45 fc             	xor    -0x4(%ebp),%eax
401f8c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
401f8f:	33 c1                	xor    %ecx,%eax
401f91:	89 45 fc             	mov    %eax,-0x4(%ebp)
401f94:	8d 45 ec             	lea    -0x14(%ebp),%eax
401f97:	50                   	push   %eax
401f98:	ff 15 38 40 40 00    	call   *0x404038
401f9e:	8b 45 f0             	mov    -0x10(%ebp),%eax
401fa1:	33 45 ec             	xor    -0x14(%ebp),%eax
401fa4:	33 45 fc             	xor    -0x4(%ebp),%eax
401fa7:	8b c8                	mov    %eax,%ecx
401fa9:	3b c7                	cmp    %edi,%eax
401fab:	74 08                	je     0x401fb5
401fad:	85 35 04 30 40 00    	test   %esi,0x403004
401fb3:	75 07                	jne    0x401fbc
401fb5:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
401fba:	8b c8                	mov    %eax,%ecx
401fbc:	89 0d 04 30 40 00    	mov    %ecx,0x403004
401fc2:	f7 d0                	not    %eax
401fc4:	5f                   	pop    %edi
401fc5:	a3 08 30 40 00       	mov    %eax,0x403008
401fca:	5e                   	pop    %esi
401fcb:	c9                   	leave
401fcc:	c3                   	ret
401fcd:	68 00 00 03 00       	push   $0x30000
401fd2:	68 00 00 01 00       	push   $0x10000
401fd7:	ff 15 54 40 40 00    	call   *0x404054
401fdd:	59                   	pop    %ecx
401fde:	59                   	pop    %ecx
401fdf:	c3                   	ret
401fe0:	ff 25 78 40 40 00    	jmp    *0x404078
401fe6:	cc                   	int3
401fe7:	cc                   	int3
401fe8:	68 80 1c 40 00       	push   $0x401c80
401fed:	64 ff 35 00 00 00 00 	push   %fs:0x0
401ff4:	8b 44 24 10          	mov    0x10(%esp),%eax
401ff8:	89 6c 24 10          	mov    %ebp,0x10(%esp)
401ffc:	8d 6c 24 10          	lea    0x10(%esp),%ebp
402000:	2b e0                	sub    %eax,%esp
402002:	53                   	push   %ebx
402003:	56                   	push   %esi
402004:	57                   	push   %edi
402005:	a1 04 30 40 00       	mov    0x403004,%eax
40200a:	31 45 fc             	xor    %eax,-0x4(%ebp)
40200d:	33 c5                	xor    %ebp,%eax
40200f:	50                   	push   %eax
402010:	89 65 e8             	mov    %esp,-0x18(%ebp)
402013:	ff 75 f8             	push   -0x8(%ebp)
402016:	8b 45 fc             	mov    -0x4(%ebp),%eax
402019:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402020:	89 45 f8             	mov    %eax,-0x8(%ebp)
402023:	8d 45 f0             	lea    -0x10(%ebp),%eax
402026:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40202c:	c3                   	ret
40202d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402030:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402037:	59                   	pop    %ecx
402038:	5f                   	pop    %edi
402039:	5f                   	pop    %edi
40203a:	5e                   	pop    %esi
40203b:	5b                   	pop    %ebx
40203c:	8b e5                	mov    %ebp,%esp
40203e:	5d                   	pop    %ebp
40203f:	51                   	push   %ecx
402040:	c3                   	ret
402041:	cc                   	int3
402042:	cc                   	int3
402043:	cc                   	int3
402044:	cc                   	int3
402045:	cc                   	int3
402046:	cc                   	int3
402047:	cc                   	int3
402048:	cc                   	int3
402049:	cc                   	int3
40204a:	cc                   	int3
40204b:	cc                   	int3
40204c:	cc                   	int3
40204d:	cc                   	int3
40204e:	cc                   	int3