40fb7f:	25 f8 00 00 00       	and    $0xf8,%eax
40fb84:	b9 01 00 00 00       	mov    $0x1,%ecx
40fb89:	6b d1 00             	imul   $0x0,%ecx,%edx
40fb8c:	88 44 15 dc          	mov    %al,-0x24(%ebp,%edx,1)
40fb90:	b8 01 00 00 00       	mov    $0x1,%eax
40fb95:	6b c8 1f             	imul   $0x1f,%eax,%ecx
40fb98:	0f b6 54 0d dc       	movzbl -0x24(%ebp,%ecx,1),%edx
40fb9d:	83 e2 7f             	and    $0x7f,%edx
40fba0:	b8 01 00 00 00       	mov    $0x1,%eax
40fba5:	6b c8 1f             	imul   $0x1f,%eax,%ecx
40fba8:	88 54 0d dc          	mov    %dl,-0x24(%ebp,%ecx,1)
40fbac:	ba 01 00 00 00       	mov    $0x1,%edx
40fbb1:	6b c2 1f             	imul   $0x1f,%edx,%eax
40fbb4:	0f b6 4c 05 dc       	movzbl -0x24(%ebp,%eax,1),%ecx
40fbb9:	83 c9 40             	or     $0x40,%ecx
40fbbc:	ba 01 00 00 00       	mov    $0x1,%edx
40fbc1:	6b c2 1f             	imul   $0x1f,%edx,%eax
40fbc4:	88 4c 05 dc          	mov    %cl,-0x24(%ebp,%eax,1)
40fbc8:	8b 4d 10             	mov    0x10(%ebp),%ecx
40fbcb:	51                   	push   %ecx
40fbcc:	8d 95 34 ff ff ff    	lea    -0xcc(%ebp),%edx
40fbd2:	52                   	push   %edx
40fbd3:	e8 18 e4 ff ff       	call   0x40dff0
40fbd8:	83 c4 08             	add    $0x8,%esp
40fbdb:	8d 85 34 ff ff ff    	lea    -0xcc(%ebp),%eax
40fbe1:	50                   	push   %eax
40fbe2:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40fbe5:	51                   	push   %ecx
40fbe6:	8d 55 84             	lea    -0x7c(%ebp),%edx
40fbe9:	52                   	push   %edx
40fbea:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
40fbf0:	50                   	push   %eax
40fbf1:	e8 aa f7 ff ff       	call   0x40f3a0
40fbf6:	83 c4 10             	add    $0x10,%esp
40fbf9:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
40fbfc:	51                   	push   %ecx
40fbfd:	8d 95 e4 fe ff ff    	lea    -0x11c(%ebp),%edx
40fc03:	52                   	push   %edx
40fc04:	e8 87 fa ff ff       	call   0x40f690
40fc09:	83 c4 08             	add    $0x8,%esp
40fc0c:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
40fc12:	50                   	push   %eax
40fc13:	8d 8d 94 fe ff ff    	lea    -0x16c(%ebp),%ecx
40fc19:	51                   	push   %ecx
40fc1a:	8d 55 84             	lea    -0x7c(%ebp),%edx
40fc1d:	52                   	push   %edx
40fc1e:	e8 1d d6 ff ff       	call   0x40d240
40fc23:	83 c4 0c             	add    $0xc,%esp
40fc26:	8d 45 84             	lea    -0x7c(%ebp),%eax
40fc29:	50                   	push   %eax
40fc2a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fc2d:	51                   	push   %ecx
40fc2e:	e8 9d e9 ff ff       	call   0x40e5d0
40fc33:	83 c4 08             	add    $0x8,%esp
40fc36:	33 c0                	xor    %eax,%eax
40fc38:	8b e5                	mov    %ebp,%esp
40fc3a:	5d                   	pop    %ebp
40fc3b:	c3                   	ret
40fc3c:	cc                   	int3
40fc3d:	cc                   	int3
40fc3e:	cc                   	int3
40fc3f:	cc                   	int3
40fc40:	55                   	push   %ebp
40fc41:	8b ec                	mov    %esp,%ebp
40fc43:	83 ec 24             	sub    $0x24,%esp
40fc46:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
40fc4d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40fc51:	74 0c                	je     0x40fc5f
40fc53:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40fc57:	74 06                	je     0x40fc5f
40fc59:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40fc5d:	75 08                	jne    0x40fc67
40fc5f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40fc62:	e9 28 01 00 00       	jmp    0x40fd8f
40fc67:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40fc6e:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
40fc75:	68 00 01 00 00       	push   $0x100
40fc7a:	e8 01 6c ff ff       	call   0x406880
40fc7f:	83 c4 04             	add    $0x4,%esp
40fc82:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fc85:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40fc89:	0f 84 fd 00 00 00    	je     0x40fd8c
40fc8f:	68 00 01 00 00       	push   $0x100
40fc94:	e8 e7 6b ff ff       	call   0x406880
40fc99:	83 c4 04             	add    $0x4,%esp
40fc9c:	89 45 e8             	mov    %eax,-0x18(%ebp)
40fc9f:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40fca3:	0f 84 d1 00 00 00    	je     0x40fd7a
40fca9:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40fcad:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40fcb4:	eb 09                	jmp    0x40fcbf
40fcb6:	8b 45 f4             	mov    -0xc(%ebp),%eax
40fcb9:	83 c0 01             	add    $0x1,%eax
40fcbc:	89 45 f4             	mov    %eax,-0xc(%ebp)
40fcbf:	81 7d f4 00 01 00 00 	cmpl   $0x100,-0xc(%ebp)
40fcc6:	7d 23                	jge    0x40fceb
40fcc8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fccb:	03 4d f4             	add    -0xc(%ebp),%ecx
40fcce:	8a 55 f4             	mov    -0xc(%ebp),%dl
40fcd1:	88 11                	mov    %dl,(%ecx)
40fcd3:	8b 45 f4             	mov    -0xc(%ebp),%eax
40fcd6:	33 d2                	xor    %edx,%edx
40fcd8:	f7 75 10             	divl   0x10(%ebp)
40fcdb:	8b 45 e8             	mov    -0x18(%ebp),%eax
40fcde:	03 45 f4             	add    -0xc(%ebp),%eax
40fce1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40fce4:	8a 14 11             	mov    (%ecx,%edx,1),%dl
40fce7:	88 10                	mov    %dl,(%eax)
40fce9:	eb cb                	jmp    0x40fcb6
40fceb:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40fcf2:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40fcf9:	eb 09                	jmp    0x40fd04
40fcfb:	8b 45 f0             	mov    -0x10(%ebp),%eax
40fcfe:	83 c0 01             	add    $0x1,%eax
40fd01:	89 45 f0             	mov    %eax,-0x10(%ebp)
40fd04:	81 7d f0 00 01 00 00 	cmpl   $0x100,-0x10(%ebp)
40fd0b:	7d 52                	jge    0x40fd5f
40fd0d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fd10:	03 4d f0             	add    -0x10(%ebp),%ecx
40fd13:	0f b6 11             	movzbl (%ecx),%edx
40fd16:	03 55 ec             	add    -0x14(%ebp),%edx
40fd19:	8b 45 e8             	mov    -0x18(%ebp),%eax
40fd1c:	03 45 f0             	add    -0x10(%ebp),%eax
40fd1f:	0f b6 08             	movzbl (%eax),%ecx
40fd22:	03 d1                	add    %ecx,%edx
40fd24:	81 e2 ff 00 00 80    	and    $0x800000ff,%edx
40fd2a:	79 08                	jns    0x40fd34
40fd2c:	4a                   	dec    %edx
40fd2d:	81 ca 00 ff ff ff    	or     $0xffffff00,%edx
40fd33:	42                   	inc    %edx
40fd34:	89 55 ec             	mov    %edx,-0x14(%ebp)
40fd37:	8b 55 f8             	mov    -0x8(%ebp),%edx
40fd3a:	03 55 f0             	add    -0x10(%ebp),%edx
40fd3d:	8a 02                	mov    (%edx),%al
40fd3f:	88 45 ff             	mov    %al,-0x1(%ebp)
40fd42:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fd45:	03 4d f0             	add    -0x10(%ebp),%ecx
40fd48:	8b 55 f8             	mov    -0x8(%ebp),%edx
40fd4b:	03 55 ec             	add    -0x14(%ebp),%edx
40fd4e:	8a 02                	mov    (%edx),%al
40fd50:	88 01                	mov    %al,(%ecx)
40fd52:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fd55:	03 4d ec             	add    -0x14(%ebp),%ecx
40fd58:	8a 55 ff             	mov    -0x1(%ebp),%dl
40fd5b:	88 11                	mov    %dl,(%ecx)
40fd5d:	eb 9c                	jmp    0x40fcfb
40fd5f:	8b 45 08             	mov    0x8(%ebp),%eax
40fd62:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40fd65:	89 08                	mov    %ecx,(%eax)
40fd67:	8b 55 e8             	mov    -0x18(%ebp),%edx
40fd6a:	52                   	push   %edx
40fd6b:	e8 40 6b ff ff       	call   0x4068b0
40fd70:	83 c4 04             	add    $0x4,%esp
40fd73:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
40fd7a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
40fd7e:	75 0c                	jne    0x40fd8c
40fd80:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fd83:	50                   	push   %eax
40fd84:	e8 27 6b ff ff       	call   0x4068b0
40fd89:	83 c4 04             	add    $0x4,%esp
40fd8c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40fd8f:	8b e5                	mov    %ebp,%esp
40fd91:	5d                   	pop    %ebp
40fd92:	c3                   	ret
40fd93:	cc                   	int3
40fd94:	cc                   	int3
40fd95:	cc                   	int3
40fd96:	cc                   	int3
40fd97:	cc                   	int3
40fd98:	cc                   	int3
40fd99:	cc                   	int3
40fd9a:	cc                   	int3
40fd9b:	cc                   	int3
40fd9c:	cc                   	int3
40fd9d:	cc                   	int3
40fd9e:	cc                   	int3
40fd9f:	cc                   	int3
40fda0:	55                   	push   %ebp
40fda1:	8b ec                	mov    %esp,%ebp
40fda3:	83 ec 14             	sub    $0x14,%esp
40fda6:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40fdad:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40fdb4:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40fdbb:	eb 09                	jmp    0x40fdc6
40fdbd:	8b 45 f0             	mov    -0x10(%ebp),%eax
40fdc0:	83 c0 01             	add    $0x1,%eax
40fdc3:	89 45 f0             	mov    %eax,-0x10(%ebp)
40fdc6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40fdc9:	3b 4d 10             	cmp    0x10(%ebp),%ecx
40fdcc:	0f 83 98 00 00 00    	jae    0x40fe6a
40fdd2:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fdd5:	83 c0 01             	add    $0x1,%eax
40fdd8:	33 d2                	xor    %edx,%edx
40fdda:	b9 00 01 00 00       	mov    $0x100,%ecx
40fddf:	f7 f1                	div    %ecx
40fde1:	89 55 f8             	mov    %edx,-0x8(%ebp)
40fde4:	8b 55 08             	mov    0x8(%ebp),%edx
40fde7:	03 55 f8             	add    -0x8(%ebp),%edx
40fdea:	0f b6 02             	movzbl (%edx),%eax
40fded:	03 45 f4             	add    -0xc(%ebp),%eax
40fdf0:	33 d2                	xor    %edx,%edx
40fdf2:	b9 00 01 00 00       	mov    $0x100,%ecx
40fdf7:	f7 f1                	div    %ecx
40fdf9:	89 55 f4             	mov    %edx,-0xc(%ebp)
40fdfc:	8b 55 08             	mov    0x8(%ebp),%edx
40fdff:	03 55 f8             	add    -0x8(%ebp),%edx
40fe02:	8a 02                	mov    (%edx),%al
40fe04:	88 45 ff             	mov    %al,-0x1(%ebp)
40fe07:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fe0a:	03 4d f8             	add    -0x8(%ebp),%ecx
40fe0d:	8b 55 08             	mov    0x8(%ebp),%edx
40fe10:	03 55 f4             	add    -0xc(%ebp),%edx
40fe13:	8a 02                	mov    (%edx),%al
40fe15:	88 01                	mov    %al,(%ecx)
40fe17:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fe1a:	03 4d f4             	add    -0xc(%ebp),%ecx
40fe1d:	8a 55 ff             	mov    -0x1(%ebp),%dl
40fe20:	88 11                	mov    %dl,(%ecx)
40fe22:	8b 45 08             	mov    0x8(%ebp),%eax
40fe25:	03 45 f8             	add    -0x8(%ebp),%eax
40fe28:	0f b6 08             	movzbl (%eax),%ecx
40fe2b:	8b 55 08             	mov    0x8(%ebp),%edx
40fe2e:	03 55 f4             	add    -0xc(%ebp),%edx
40fe31:	0f b6 02             	movzbl (%edx),%eax
40fe34:	03 c8                	add    %eax,%ecx
40fe36:	81 e1 ff 00 00 80    	and    $0x800000ff,%ecx
40fe3c:	79 08                	jns    0x40fe46
40fe3e:	49                   	dec    %ecx
40fe3f:	81 c9 00 ff ff ff    	or     $0xffffff00,%ecx
40fe45:	41                   	inc    %ecx
40fe46:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40fe49:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fe4c:	03 4d ec             	add    -0x14(%ebp),%ecx
40fe4f:	0f b6 11             	movzbl (%ecx),%edx
40fe52:	8b 45 0c             	mov    0xc(%ebp),%eax
40fe55:	03 45 f0             	add    -0x10(%ebp),%eax
40fe58:	0f b6 08             	movzbl (%eax),%ecx
40fe5b:	33 ca                	xor    %edx,%ecx
40fe5d:	8b 55 0c             	mov    0xc(%ebp),%edx
40fe60:	03 55 f0             	add    -0x10(%ebp),%edx
40fe63:	88 0a                	mov    %cl,(%edx)
40fe65:	e9 53 ff ff ff       	jmp    0x40fdbd
40fe6a:	8b e5                	mov    %ebp,%esp
40fe6c:	5d                   	pop    %ebp
40fe6d:	c3                   	ret
40fe6e:	cc                   	int3
40fe6f:	cc                   	int3
40fe70:	55                   	push   %ebp
40fe71:	8b ec                	mov    %esp,%ebp
40fe73:	83 ec 08             	sub    $0x8,%esp
40fe76:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40fe7d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
40fe81:	74 12                	je     0x40fe95
40fe83:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40fe87:	74 0c                	je     0x40fe95
40fe89:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40fe8d:	74 06                	je     0x40fe95
40fe8f:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
40fe93:	75 05                	jne    0x40fe9a
40fe95:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fe98:	eb 49                	jmp    0x40fee3
40fe9a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40fea1:	8b 45 0c             	mov    0xc(%ebp),%eax
40fea4:	50                   	push   %eax
40fea5:	8b 4d 08             	mov    0x8(%ebp),%ecx
40fea8:	51                   	push   %ecx
40fea9:	8d 55 fc             	lea    -0x4(%ebp),%edx
40feac:	52                   	push   %edx
40fead:	e8 8e fd ff ff       	call   0x40fc40
40feb2:	83 c4 0c             	add    $0xc,%esp
40feb5:	85 c0                	test   %eax,%eax
40feb7:	74 27                	je     0x40fee0
40feb9:	8b 45 14             	mov    0x14(%ebp),%eax
40febc:	50                   	push   %eax
40febd:	8b 4d 10             	mov    0x10(%ebp),%ecx
40fec0:	51                   	push   %ecx
40fec1:	8b 55 fc             	mov    -0x4(%ebp),%edx
40fec4:	52                   	push   %edx
40fec5:	e8 d6 fe ff ff       	call   0x40fda0
40feca:	83 c4 0c             	add    $0xc,%esp
40fecd:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fed0:	50                   	push   %eax
40fed1:	e8 da 69 ff ff       	call   0x4068b0
40fed6:	83 c4 04             	add    $0x4,%esp
40fed9:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
40fee0:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fee3:	8b e5                	mov    %ebp,%esp
40fee5:	5d                   	pop    %ebp
40fee6:	c3                   	ret
40fee7:	cc                   	int3
40fee8:	cc                   	int3
40fee9:	cc                   	int3
40feea:	cc                   	int3
40feeb:	cc                   	int3
40feec:	cc                   	int3
40feed:	cc                   	int3
40feee:	cc                   	int3
40feef:	cc                   	int3
40fef0:	55                   	push   %ebp
40fef1:	8b ec                	mov    %esp,%ebp
40fef3:	8b 45 08             	mov    0x8(%ebp),%eax
40fef6:	c7 40 40 00 00 00 00 	movl   $0x0,0x40(%eax)
40fefd:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ff00:	c7 41 48 00 00 00 00 	movl   $0x0,0x48(%ecx)
40ff07:	c7 41 4c 00 00 00 00 	movl   $0x0,0x4c(%ecx)
40ff0e:	ba 04 00 00 00       	mov    $0x4,%edx
40ff13:	6b c2 00             	imul   $0x0,%edx,%eax
40ff16:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ff19:	c7 44 01 50 67 e6 09 	movl   $0x6a09e667,0x50(%ecx,%eax,1)
40ff20:	6a
40ff21:	ba 04 00 00 00       	mov    $0x4,%edx
40ff26:	c1 e2 00             	shl    $0x0,%edx
40ff29:	8b 45 08             	mov    0x8(%ebp),%eax
40ff2c:	c7 44 10 50 85 ae 67 	movl   $0xbb67ae85,0x50(%eax,%edx,1)
40ff33:	bb
40ff34:	b9 04 00 00 00       	mov    $0x4,%ecx
40ff39:	d1 e1                	shl    $1,%ecx
40ff3b:	8b 55 08             	mov    0x8(%ebp),%edx
40ff3e:	c7 44 0a 50 72 f3 6e 	movl   $0x3c6ef372,0x50(%edx,%ecx,1)
40ff45:	3c
40ff46:	b8 04 00 00 00       	mov    $0x4,%eax
40ff4b:	6b c8 03             	imul   $0x3,%eax,%ecx
40ff4e:	8b 55 08             	mov    0x8(%ebp),%edx
40ff51:	c7 44 0a 50 3a f5 4f 	movl   $0xa54ff53a,0x50(%edx,%ecx,1)
40ff58:	a5
40ff59:	b8 04 00 00 00       	mov    $0x4,%eax
40ff5e:	c1 e0 02             	shl    $0x2,%eax
40ff61:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ff64:	c7 44 01 50 7f 52 0e 	movl   $0x510e527f,0x50(%ecx,%eax,1)
40ff6b:	51
40ff6c:	ba 04 00 00 00       	mov    $0x4,%edx
40ff71:	6b c2 05             	imul   $0x5,%edx,%eax
40ff74:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ff77:	c7 44 01 50 8c 68 05 	movl   $0x9b05688c,0x50(%ecx,%eax,1)
40ff7e:	9b
40ff7f:	ba 04 00 00 00       	mov    $0x4,%edx
40ff84:	6b c2 06             	imul   $0x6,%edx,%eax
40ff87:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ff8a:	c7 44 01 50 ab d9 83 	movl   $0x1f83d9ab,0x50(%ecx,%eax,1)
40ff91:	1f
40ff92:	ba 04 00 00 00       	mov    $0x4,%edx
40ff97:	6b c2 07             	imul   $0x7,%edx,%eax
40ff9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ff9d:	c7 44 01 50 19 cd e0 	movl   $0x5be0cd19,0x50(%ecx,%eax,1)
40ffa4:	5b
40ffa5:	5d                   	pop    %ebp
40ffa6:	c3                   	ret
40ffa7:	cc                   	int3
40ffa8:	cc                   	int3
40ffa9:	cc                   	int3