403ae0:	8d 34 c5 e0 f3 41 00 	lea    0x41f3e0(,%eax,8),%esi
403ae7:	83 3e 00             	cmpl   $0x0,(%esi)
403aea:	75 13                	jne    0x403aff
403aec:	50                   	push   %eax
403aed:	e8 22 ff ff ff       	call   0x403a14
403af2:	59                   	pop    %ecx
403af3:	85 c0                	test   %eax,%eax
403af5:	75 08                	jne    0x403aff
403af7:	6a 11                	push   $0x11
403af9:	e8 ff dc ff ff       	call   0x4017fd
403afe:	59                   	pop    %ecx
403aff:	ff 36                	push   (%esi)
403b01:	ff 15 e8 d0 41 00    	call   *0x41d0e8
403b07:	5e                   	pop    %esi
403b08:	5d                   	pop    %ebp
403b09:	c3                   	ret
403b0a:	8b ff                	mov    %edi,%edi
403b0c:	55                   	push   %ebp
403b0d:	8b ec                	mov    %esp,%ebp
403b0f:	8b 45 08             	mov    0x8(%ebp),%eax
403b12:	a3 88 0f 43 00       	mov    %eax,0x430f88
403b17:	5d                   	pop    %ebp
403b18:	c3                   	ret
403b19:	8b ff                	mov    %edi,%edi
403b1b:	55                   	push   %ebp
403b1c:	8b ec                	mov    %esp,%ebp
403b1e:	81 ec 28 03 00 00    	sub    $0x328,%esp
403b24:	a1 04 f0 41 00       	mov    0x41f004,%eax
403b29:	33 c5                	xor    %ebp,%eax
403b2b:	89 45 fc             	mov    %eax,-0x4(%ebp)
403b2e:	83 a5 d8 fc ff ff 00 	andl   $0x0,-0x328(%ebp)
403b35:	53                   	push   %ebx
403b36:	6a 4c                	push   $0x4c
403b38:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
403b3e:	6a 00                	push   $0x0
403b40:	50                   	push   %eax
403b41:	e8 fa 32 00 00       	call   0x406e40
403b46:	8d 85 d8 fc ff ff    	lea    -0x328(%ebp),%eax
403b4c:	89 85 28 fd ff ff    	mov    %eax,-0x2d8(%ebp)
403b52:	8d 85 30 fd ff ff    	lea    -0x2d0(%ebp),%eax
403b58:	83 c4 0c             	add    $0xc,%esp
403b5b:	89 85 2c fd ff ff    	mov    %eax,-0x2d4(%ebp)
403b61:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
403b67:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
403b6d:	89 95 d8 fd ff ff    	mov    %edx,-0x228(%ebp)
403b73:	89 9d d4 fd ff ff    	mov    %ebx,-0x22c(%ebp)
403b79:	89 b5 d0 fd ff ff    	mov    %esi,-0x230(%ebp)
403b7f:	89 bd cc fd ff ff    	mov    %edi,-0x234(%ebp)
403b85:	66 8c 95 f8 fd ff ff 	data16 mov %ss,-0x208(%ebp)
403b8c:	66 8c 8d ec fd ff ff 	data16 mov %cs,-0x214(%ebp)
403b93:	66 8c 9d c8 fd ff ff 	data16 mov %ds,-0x238(%ebp)
403b9a:	66 8c 85 c4 fd ff ff 	data16 mov %es,-0x23c(%ebp)
403ba1:	66 8c a5 c0 fd ff ff 	data16 mov %fs,-0x240(%ebp)
403ba8:	66 8c ad bc fd ff ff 	data16 mov %gs,-0x244(%ebp)
403baf:	9c                   	pushf
403bb0:	8f 85 f0 fd ff ff    	pop    -0x210(%ebp)
403bb6:	8b 45 04             	mov    0x4(%ebp),%eax
403bb9:	8d 4d 04             	lea    0x4(%ebp),%ecx
403bbc:	c7 85 30 fd ff ff 01 	movl   $0x10001,-0x2d0(%ebp)
403bc3:	00 01 00
403bc6:	89 85 e8 fd ff ff    	mov    %eax,-0x218(%ebp)
403bcc:	89 8d f4 fd ff ff    	mov    %ecx,-0x20c(%ebp)
403bd2:	8b 49 fc             	mov    -0x4(%ecx),%ecx
403bd5:	89 8d e4 fd ff ff    	mov    %ecx,-0x21c(%ebp)
403bdb:	c7 85 d8 fc ff ff 17 	movl   $0xc0000417,-0x328(%ebp)
403be2:	04 00 c0
403be5:	c7 85 dc fc ff ff 01 	movl   $0x1,-0x324(%ebp)
403bec:	00 00 00
403bef:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
403bf5:	ff 15 78 d0 41 00    	call   *0x41d078
403bfb:	6a 00                	push   $0x0
403bfd:	8b d8                	mov    %eax,%ebx
403bff:	ff 15 74 d0 41 00    	call   *0x41d074
403c05:	8d 85 28 fd ff ff    	lea    -0x2d8(%ebp),%eax
403c0b:	50                   	push   %eax
403c0c:	ff 15 70 d0 41 00    	call   *0x41d070
403c12:	85 c0                	test   %eax,%eax
403c14:	75 0c                	jne    0x403c22
403c16:	85 db                	test   %ebx,%ebx
403c18:	75 08                	jne    0x403c22
403c1a:	6a 02                	push   $0x2
403c1c:	e8 e1 f1 ff ff       	call   0x402e02
403c21:	59                   	pop    %ecx
403c22:	68 17 04 00 c0       	push   $0xc0000417
403c27:	ff 15 6c d0 41 00    	call   *0x41d06c
403c2d:	50                   	push   %eax
403c2e:	ff 15 68 d0 41 00    	call   *0x41d068
403c34:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403c37:	33 cd                	xor    %ebp,%ecx
403c39:	5b                   	pop    %ebx
403c3a:	e8 c1 d3 ff ff       	call   0x401000
403c3f:	c9                   	leave
403c40:	c3                   	ret
403c41:	8b ff                	mov    %edi,%edi
403c43:	55                   	push   %ebp
403c44:	8b ec                	mov    %esp,%ebp
403c46:	ff 35 88 0f 43 00    	push   0x430f88
403c4c:	e8 dd e9 ff ff       	call   0x40262e
403c51:	59                   	pop    %ecx
403c52:	85 c0                	test   %eax,%eax
403c54:	74 03                	je     0x403c59
403c56:	5d                   	pop    %ebp
403c57:	ff e0                	jmp    *%eax
403c59:	6a 02                	push   $0x2
403c5b:	e8 a2 f1 ff ff       	call   0x402e02
403c60:	59                   	pop    %ecx
403c61:	5d                   	pop    %ebp
403c62:	e9 b2 fe ff ff       	jmp    0x403b19
403c67:	8b ff                	mov    %edi,%edi
403c69:	55                   	push   %ebp
403c6a:	8b ec                	mov    %esp,%ebp
403c6c:	51                   	push   %ecx
403c6d:	53                   	push   %ebx
403c6e:	56                   	push   %esi
403c6f:	57                   	push   %edi
403c70:	ff 35 a8 2e de 02    	push   0x2de2ea8
403c76:	e8 b3 e9 ff ff       	call   0x40262e
403c7b:	ff 35 a4 2e de 02    	push   0x2de2ea4
403c81:	8b f8                	mov    %eax,%edi
403c83:	89 7d fc             	mov    %edi,-0x4(%ebp)
403c86:	e8 a3 e9 ff ff       	call   0x40262e
403c8b:	8b f0                	mov    %eax,%esi
403c8d:	59                   	pop    %ecx
403c8e:	59                   	pop    %ecx
403c8f:	3b f7                	cmp    %edi,%esi
403c91:	0f 82 83 00 00 00    	jb     0x403d1a
403c97:	8b de                	mov    %esi,%ebx
403c99:	2b df                	sub    %edi,%ebx
403c9b:	8d 43 04             	lea    0x4(%ebx),%eax
403c9e:	83 f8 04             	cmp    $0x4,%eax
403ca1:	72 77                	jb     0x403d1a
403ca3:	57                   	push   %edi
403ca4:	e8 11 32 00 00       	call   0x406eba
403ca9:	8b f8                	mov    %eax,%edi
403cab:	8d 43 04             	lea    0x4(%ebx),%eax
403cae:	59                   	pop    %ecx
403caf:	3b f8                	cmp    %eax,%edi
403cb1:	73 48                	jae    0x403cfb
403cb3:	b8 00 08 00 00       	mov    $0x800,%eax
403cb8:	3b f8                	cmp    %eax,%edi
403cba:	73 02                	jae    0x403cbe
403cbc:	8b c7                	mov    %edi,%eax
403cbe:	03 c7                	add    %edi,%eax
403cc0:	3b c7                	cmp    %edi,%eax
403cc2:	72 0f                	jb     0x403cd3
403cc4:	50                   	push   %eax
403cc5:	ff 75 fc             	push   -0x4(%ebp)
403cc8:	e8 f5 11 00 00       	call   0x404ec2
403ccd:	59                   	pop    %ecx
403cce:	59                   	pop    %ecx
403ccf:	85 c0                	test   %eax,%eax
403cd1:	75 16                	jne    0x403ce9
403cd3:	8d 47 10             	lea    0x10(%edi),%eax
403cd6:	3b c7                	cmp    %edi,%eax
403cd8:	72 40                	jb     0x403d1a
403cda:	50                   	push   %eax
403cdb:	ff 75 fc             	push   -0x4(%ebp)
403cde:	e8 df 11 00 00       	call   0x404ec2
403ce3:	59                   	pop    %ecx
403ce4:	59                   	pop    %ecx
403ce5:	85 c0                	test   %eax,%eax
403ce7:	74 31                	je     0x403d1a
403ce9:	c1 fb 02             	sar    $0x2,%ebx
403cec:	50                   	push   %eax
403ced:	8d 34 98             	lea    (%eax,%ebx,4),%esi
403cf0:	e8 be e8 ff ff       	call   0x4025b3
403cf5:	59                   	pop    %ecx
403cf6:	a3 a8 2e de 02       	mov    %eax,0x2de2ea8
403cfb:	ff 75 08             	push   0x8(%ebp)
403cfe:	e8 b0 e8 ff ff       	call   0x4025b3
403d03:	89 06                	mov    %eax,(%esi)
403d05:	83 c6 04             	add    $0x4,%esi
403d08:	56                   	push   %esi
403d09:	e8 a5 e8 ff ff       	call   0x4025b3
403d0e:	59                   	pop    %ecx
403d0f:	a3 a4 2e de 02       	mov    %eax,0x2de2ea4
403d14:	8b 45 08             	mov    0x8(%ebp),%eax
403d17:	59                   	pop    %ecx
403d18:	eb 02                	jmp    0x403d1c
403d1a:	33 c0                	xor    %eax,%eax
403d1c:	5f                   	pop    %edi
403d1d:	5e                   	pop    %esi
403d1e:	5b                   	pop    %ebx
403d1f:	c9                   	leave
403d20:	c3                   	ret
403d21:	8b ff                	mov    %edi,%edi
403d23:	56                   	push   %esi
403d24:	6a 04                	push   $0x4
403d26:	6a 20                	push   $0x20
403d28:	e8 49 11 00 00       	call   0x404e76
403d2d:	8b f0                	mov    %eax,%esi
403d2f:	56                   	push   %esi
403d30:	e8 7e e8 ff ff       	call   0x4025b3
403d35:	83 c4 0c             	add    $0xc,%esp
403d38:	a3 a8 2e de 02       	mov    %eax,0x2de2ea8
403d3d:	a3 a4 2e de 02       	mov    %eax,0x2de2ea4
403d42:	85 f6                	test   %esi,%esi
403d44:	75 05                	jne    0x403d4b
403d46:	6a 18                	push   $0x18
403d48:	58                   	pop    %eax
403d49:	5e                   	pop    %esi
403d4a:	c3                   	ret
403d4b:	83 26 00             	andl   $0x0,(%esi)
403d4e:	33 c0                	xor    %eax,%eax
403d50:	5e                   	pop    %esi
403d51:	c3                   	ret
403d52:	6a 0c                	push   $0xc
403d54:	68 28 e7 41 00       	push   $0x41e728
403d59:	e8 22 ee ff ff       	call   0x402b80
403d5e:	e8 06 db ff ff       	call   0x401869
403d63:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403d67:	ff 75 08             	push   0x8(%ebp)
403d6a:	e8 f8 fe ff ff       	call   0x403c67
403d6f:	59                   	pop    %ecx
403d70:	89 45 e4             	mov    %eax,-0x1c(%ebp)
403d73:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403d7a:	e8 09 00 00 00       	call   0x403d88
403d7f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
403d82:	e8 3e ee ff ff       	call   0x402bc5
403d87:	c3                   	ret
403d88:	e8 e5 da ff ff       	call   0x401872
403d8d:	c3                   	ret
403d8e:	8b ff                	mov    %edi,%edi
403d90:	55                   	push   %ebp
403d91:	8b ec                	mov    %esp,%ebp
403d93:	ff 75 08             	push   0x8(%ebp)
403d96:	e8 b7 ff ff ff       	call   0x403d52
403d9b:	f7 d8                	neg    %eax
403d9d:	1b c0                	sbb    %eax,%eax
403d9f:	f7 d8                	neg    %eax
403da1:	59                   	pop    %ecx
403da2:	48                   	dec    %eax
403da3:	5d                   	pop    %ebp
403da4:	c3                   	ret
403da5:	8b ff                	mov    %edi,%edi
403da7:	56                   	push   %esi
403da8:	57                   	push   %edi
403da9:	33 ff                	xor    %edi,%edi
403dab:	8d b7 00 f5 41 00    	lea    0x41f500(%edi),%esi
403db1:	ff 36                	push   (%esi)
403db3:	e8 fb e7 ff ff       	call   0x4025b3
403db8:	83 c7 04             	add    $0x4,%edi
403dbb:	59                   	pop    %ecx
403dbc:	89 06                	mov    %eax,(%esi)
403dbe:	83 ff 28             	cmp    $0x28,%edi
403dc1:	72 e8                	jb     0x403dab
403dc3:	5f                   	pop    %edi
403dc4:	5e                   	pop    %esi
403dc5:	c3                   	ret
403dc6:	cc                   	int3
403dc7:	cc                   	int3
403dc8:	cc                   	int3
403dc9:	cc                   	int3
403dca:	cc                   	int3
403dcb:	cc                   	int3
403dcc:	cc                   	int3
403dcd:	cc                   	int3
403dce:	cc                   	int3
403dcf:	cc                   	int3
403dd0:	8b ff                	mov    %edi,%edi
403dd2:	55                   	push   %ebp
403dd3:	8b ec                	mov    %esp,%ebp
403dd5:	8b 4d 08             	mov    0x8(%ebp),%ecx
403dd8:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
403ddd:	66 39 01             	cmp    %ax,(%ecx)
403de0:	74 04                	je     0x403de6
403de2:	33 c0                	xor    %eax,%eax
403de4:	5d                   	pop    %ebp
403de5:	c3                   	ret
403de6:	8b 41 3c             	mov    0x3c(%ecx),%eax
403de9:	03 c1                	add    %ecx,%eax
403deb:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
403df1:	75 ef                	jne    0x403de2
403df3:	33 d2                	xor    %edx,%edx
403df5:	b9 0b 01 00 00       	mov    $0x10b,%ecx
403dfa:	66 39 48 18          	cmp    %cx,0x18(%eax)
403dfe:	0f 94 c2             	sete   %dl
403e01:	8b c2                	mov    %edx,%eax
403e03:	5d                   	pop    %ebp
403e04:	c3                   	ret
403e05:	cc                   	int3
403e06:	cc                   	int3
403e07:	cc                   	int3
403e08:	cc                   	int3
403e09:	cc                   	int3
403e0a:	cc                   	int3
403e0b:	cc                   	int3
403e0c:	cc                   	int3
403e0d:	cc                   	int3
403e0e:	cc                   	int3
403e0f:	cc                   	int3
403e10:	8b ff                	mov    %edi,%edi
403e12:	55                   	push   %ebp
403e13:	8b ec                	mov    %esp,%ebp
403e15:	8b 45 08             	mov    0x8(%ebp),%eax
403e18:	8b 48 3c             	mov    0x3c(%eax),%ecx
403e1b:	03 c8                	add    %eax,%ecx
403e1d:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
403e21:	53                   	push   %ebx
403e22:	56                   	push   %esi
403e23:	0f b7 71 06          	movzwl 0x6(%ecx),%esi
403e27:	33 d2                	xor    %edx,%edx
403e29:	57                   	push   %edi
403e2a:	8d 44 08 18          	lea    0x18(%eax,%ecx,1),%eax
403e2e:	85 f6                	test   %esi,%esi
403e30:	76 1b                	jbe    0x403e4d
403e32:	8b 7d 0c             	mov    0xc(%ebp),%edi
403e35:	8b 48 0c             	mov    0xc(%eax),%ecx
403e38:	3b f9                	cmp    %ecx,%edi
403e3a:	72 09                	jb     0x403e45
403e3c:	8b 58 08             	mov    0x8(%eax),%ebx
403e3f:	03 d9                	add    %ecx,%ebx
403e41:	3b fb                	cmp    %ebx,%edi
403e43:	72 0a                	jb     0x403e4f
403e45:	42                   	inc    %edx
403e46:	83 c0 28             	add    $0x28,%eax
403e49:	3b d6                	cmp    %esi,%edx
403e4b:	72 e8                	jb     0x403e35
403e4d:	33 c0                	xor    %eax,%eax
403e4f:	5f                   	pop    %edi
403e50:	5e                   	pop    %esi
403e51:	5b                   	pop    %ebx
403e52:	5d                   	pop    %ebp
403e53:	c3                   	ret
403e54:	cc                   	int3
403e55:	cc                   	int3
403e56:	cc                   	int3
403e57:	cc                   	int3
403e58:	cc                   	int3
403e59:	cc                   	int3
403e5a:	cc                   	int3
403e5b:	cc                   	int3
403e5c:	cc                   	int3
403e5d:	cc                   	int3
403e5e:	cc                   	int3
403e5f:	cc                   	int3
403e60:	8b ff                	mov    %edi,%edi
403e62:	55                   	push   %ebp
403e63:	8b ec                	mov    %esp,%ebp
403e65:	6a fe                	push   $0xfffffffe
403e67:	68 48 e7 41 00       	push   $0x41e748
403e6c:	68 e0 2b 40 00       	push   $0x402be0
403e71:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403e77:	50                   	push   %eax
403e78:	83 ec 08             	sub    $0x8,%esp
403e7b:	53                   	push   %ebx
403e7c:	56                   	push   %esi
403e7d:	57                   	push   %edi
403e7e:	a1 04 f0 41 00       	mov    0x41f004,%eax
403e83:	31 45 f8             	xor    %eax,-0x8(%ebp)