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)
403e86:	33 c5                	xor    %ebp,%eax
403e88:	50                   	push   %eax
403e89:	8d 45 f0             	lea    -0x10(%ebp),%eax
403e8c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403e92:	89 65 e8             	mov    %esp,-0x18(%ebp)
403e95:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
403e9c:	68 00 00 40 00       	push   $0x400000
403ea1:	e8 2a ff ff ff       	call   0x403dd0
403ea6:	83 c4 04             	add    $0x4,%esp
403ea9:	85 c0                	test   %eax,%eax
403eab:	74 55                	je     0x403f02
403ead:	8b 45 08             	mov    0x8(%ebp),%eax
403eb0:	2d 00 00 40 00       	sub    $0x400000,%eax
403eb5:	50                   	push   %eax
403eb6:	68 00 00 40 00       	push   $0x400000
403ebb:	e8 50 ff ff ff       	call   0x403e10
403ec0:	83 c4 08             	add    $0x8,%esp
403ec3:	85 c0                	test   %eax,%eax
403ec5:	74 3b                	je     0x403f02
403ec7:	8b 40 24             	mov    0x24(%eax),%eax
403eca:	c1 e8 1f             	shr    $0x1f,%eax
403ecd:	f7 d0                	not    %eax
403ecf:	83 e0 01             	and    $0x1,%eax
403ed2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403ed9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403edc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403ee3:	59                   	pop    %ecx
403ee4:	5f                   	pop    %edi
403ee5:	5e                   	pop    %esi
403ee6:	5b                   	pop    %ebx
403ee7:	8b e5                	mov    %ebp,%esp
403ee9:	5d                   	pop    %ebp
403eea:	c3                   	ret
403eeb:	8b 45 ec             	mov    -0x14(%ebp),%eax
403eee:	8b 08                	mov    (%eax),%ecx
403ef0:	8b 01                	mov    (%ecx),%eax
403ef2:	33 d2                	xor    %edx,%edx
403ef4:	3d 05 00 00 c0       	cmp    $0xc0000005,%eax
403ef9:	0f 94 c2             	sete   %dl
403efc:	8b c2                	mov    %edx,%eax
403efe:	c3                   	ret
403eff:	8b 65 e8             	mov    -0x18(%ebp),%esp
403f02:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403f09:	33 c0                	xor    %eax,%eax
403f0b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403f0e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403f15:	59                   	pop    %ecx
403f16:	5f                   	pop    %edi
403f17:	5e                   	pop    %esi
403f18:	5b                   	pop    %ebx
403f19:	8b e5                	mov    %ebp,%esp
403f1b:	5d                   	pop    %ebp
403f1c:	c3                   	ret
403f1d:	8b ff                	mov    %edi,%edi
403f1f:	55                   	push   %ebp
403f20:	8b ec                	mov    %esp,%ebp
403f22:	8b 45 08             	mov    0x8(%ebp),%eax
403f25:	a3 8c 0f 43 00       	mov    %eax,0x430f8c
403f2a:	a3 90 0f 43 00       	mov    %eax,0x430f90
403f2f:	a3 94 0f 43 00       	mov    %eax,0x430f94
403f34:	a3 98 0f 43 00       	mov    %eax,0x430f98
403f39:	5d                   	pop    %ebp
403f3a:	c3                   	ret
403f3b:	8b ff                	mov    %edi,%edi
403f3d:	55                   	push   %ebp
403f3e:	8b ec                	mov    %esp,%ebp
403f40:	8b 45 08             	mov    0x8(%ebp),%eax
403f43:	8b 0d dc f0 41 00    	mov    0x41f0dc,%ecx
403f49:	56                   	push   %esi
403f4a:	39 50 04             	cmp    %edx,0x4(%eax)
403f4d:	74 0f                	je     0x403f5e
403f4f:	8b f1                	mov    %ecx,%esi
403f51:	6b f6 0c             	imul   $0xc,%esi,%esi
403f54:	03 75 08             	add    0x8(%ebp),%esi
403f57:	83 c0 0c             	add    $0xc,%eax
403f5a:	3b c6                	cmp    %esi,%eax
403f5c:	72 ec                	jb     0x403f4a
403f5e:	6b c9 0c             	imul   $0xc,%ecx,%ecx
403f61:	03 4d 08             	add    0x8(%ebp),%ecx
403f64:	5e                   	pop    %esi
403f65:	3b c1                	cmp    %ecx,%eax
403f67:	73 05                	jae    0x403f6e
403f69:	39 50 04             	cmp    %edx,0x4(%eax)
403f6c:	74 02                	je     0x403f70
403f6e:	33 c0                	xor    %eax,%eax
403f70:	5d                   	pop    %ebp
403f71:	c3                   	ret
403f72:	ff 35 94 0f 43 00    	push   0x430f94
403f78:	e8 b1 e6 ff ff       	call   0x40262e
403f7d:	59                   	pop    %ecx
403f7e:	c3                   	ret
403f7f:	6a 20                	push   $0x20
403f81:	68 68 e7 41 00       	push   $0x41e768
403f86:	e8 f5 eb ff ff       	call   0x402b80
403f8b:	33 ff                	xor    %edi,%edi
403f8d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
403f90:	89 7d d8             	mov    %edi,-0x28(%ebp)
403f93:	8b 5d 08             	mov    0x8(%ebp),%ebx
403f96:	83 fb 0b             	cmp    $0xb,%ebx
403f99:	7f 4c                	jg     0x403fe7
403f9b:	74 15                	je     0x403fb2
403f9d:	8b c3                	mov    %ebx,%eax
403f9f:	6a 02                	push   $0x2
403fa1:	59                   	pop    %ecx
403fa2:	2b c1                	sub    %ecx,%eax
403fa4:	74 22                	je     0x403fc8
403fa6:	2b c1                	sub    %ecx,%eax
403fa8:	74 08                	je     0x403fb2
403faa:	2b c1                	sub    %ecx,%eax
403fac:	74 64                	je     0x404012
403fae:	2b c1                	sub    %ecx,%eax
403fb0:	75 44                	jne    0x403ff6
403fb2:	e8 4a e8 ff ff       	call   0x402801
403fb7:	8b f8                	mov    %eax,%edi
403fb9:	89 7d d8             	mov    %edi,-0x28(%ebp)
403fbc:	85 ff                	test   %edi,%edi
403fbe:	75 14                	jne    0x403fd4
403fc0:	83 c8 ff             	or     $0xffffffff,%eax
403fc3:	e9 61 01 00 00       	jmp    0x404129
403fc8:	be 8c 0f 43 00       	mov    $0x430f8c,%esi
403fcd:	a1 8c 0f 43 00       	mov    0x430f8c,%eax
403fd2:	eb 60                	jmp    0x404034
403fd4:	ff 77 5c             	push   0x5c(%edi)
403fd7:	8b d3                	mov    %ebx,%edx
403fd9:	e8 5d ff ff ff       	call   0x403f3b
403fde:	8b f0                	mov    %eax,%esi
403fe0:	83 c6 08             	add    $0x8,%esi
403fe3:	8b 06                	mov    (%esi),%eax
403fe5:	eb 5a                	jmp    0x404041
403fe7:	8b c3                	mov    %ebx,%eax
403fe9:	83 e8 0f             	sub    $0xf,%eax
403fec:	74 3c                	je     0x40402a
403fee:	83 e8 06             	sub    $0x6,%eax
403ff1:	74 2b                	je     0x40401e
403ff3:	48                   	dec    %eax
403ff4:	74 1c                	je     0x404012
403ff6:	e8 51 ee ff ff       	call   0x402e4c
403ffb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
404001:	33 c0                	xor    %eax,%eax
404003:	50                   	push   %eax
404004:	50                   	push   %eax
404005:	50                   	push   %eax
404006:	50                   	push   %eax
404007:	50                   	push   %eax
404008:	e8 34 fc ff ff       	call   0x403c41
40400d:	83 c4 14             	add    $0x14,%esp
404010:	eb ae                	jmp    0x403fc0
404012:	be 94 0f 43 00       	mov    $0x430f94,%esi
404017:	a1 94 0f 43 00       	mov    0x430f94,%eax
40401c:	eb 16                	jmp    0x404034
40401e:	be 90 0f 43 00       	mov    $0x430f90,%esi
404023:	a1 90 0f 43 00       	mov    0x430f90,%eax
404028:	eb 0a                	jmp    0x404034
40402a:	be 98 0f 43 00       	mov    $0x430f98,%esi
40402f:	a1 98 0f 43 00       	mov    0x430f98,%eax
404034:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
40403b:	50                   	push   %eax
40403c:	e8 ed e5 ff ff       	call   0x40262e
404041:	89 45 e0             	mov    %eax,-0x20(%ebp)
404044:	59                   	pop    %ecx
404045:	33 c0                	xor    %eax,%eax
404047:	83 7d e0 01          	cmpl   $0x1,-0x20(%ebp)
40404b:	0f 84 d8 00 00 00    	je     0x404129
404051:	39 45 e0             	cmp    %eax,-0x20(%ebp)
404054:	75 07                	jne    0x40405d
404056:	6a 03                	push   $0x3
404058:	e8 26 da ff ff       	call   0x401a83
40405d:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
404060:	74 07                	je     0x404069
404062:	50                   	push   %eax
404063:	e8 6f fa ff ff       	call   0x403ad7
404068:	59                   	pop    %ecx
404069:	33 c0                	xor    %eax,%eax
40406b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40406e:	83 fb 08             	cmp    $0x8,%ebx