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
40ffaa:	cc                   	int3
40ffab:	cc                   	int3
40ffac:	cc                   	int3
40ffad:	cc                   	int3
40ffae:	cc                   	int3
40ffaf:	cc                   	int3
40ffb0:	55                   	push   %ebp
40ffb1:	8b ec                	mov    %esp,%ebp
40ffb3:	51                   	push   %ecx
40ffb4:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40ffbb:	eb 09                	jmp    0x40ffc6
40ffbd:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ffc0:	83 c0 01             	add    $0x1,%eax
40ffc3:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ffc6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40ffc9:	3b 4d 10             	cmp    0x10(%ebp),%ecx
40ffcc:	73 62                	jae    0x410030
40ffce:	8b 55 08             	mov    0x8(%ebp),%edx
40ffd1:	8b 42 40             	mov    0x40(%edx),%eax
40ffd4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ffd7:	03 4d fc             	add    -0x4(%ebp),%ecx
40ffda:	8b 55 08             	mov    0x8(%ebp),%edx
40ffdd:	8a 09                	mov    (%ecx),%cl
40ffdf:	88 0c 02             	mov    %cl,(%edx,%eax,1)
40ffe2:	8b 55 08             	mov    0x8(%ebp),%edx
40ffe5:	8b 42 40             	mov    0x40(%edx),%eax
40ffe8:	83 c0 01             	add    $0x1,%eax
40ffeb:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ffee:	89 41 40             	mov    %eax,0x40(%ecx)
40fff1:	8b 55 08             	mov    0x8(%ebp),%edx
40fff4:	83 7a 40 40          	cmpl   $0x40,0x40(%edx)
40fff8:	75 34                	jne    0x41002e
40fffa:	8b 45 08             	mov    0x8(%ebp),%eax
40fffd:	50                   	push   %eax
40fffe:	8b 4d 08             	mov    0x8(%ebp),%ecx
410001:	51                   	push   %ecx
410002:	e8 b9 05 00 00       	call   0x4105c0
410007:	83 c4 08             	add    $0x8,%esp
41000a:	8b 55 08             	mov    0x8(%ebp),%edx
41000d:	8b 42 48             	mov    0x48(%edx),%eax
410010:	05 00 02 00 00       	add    $0x200,%eax
410015:	8b 4a 4c             	mov    0x4c(%edx),%ecx
410018:	83 d1 00             	adc    $0x0,%ecx
41001b:	8b 55 08             	mov    0x8(%ebp),%edx
41001e:	89 42 48             	mov    %eax,0x48(%edx)
410021:	89 4a 4c             	mov    %ecx,0x4c(%edx)
410024:	8b 45 08             	mov    0x8(%ebp),%eax
410027:	c7 40 40 00 00 00 00 	movl   $0x0,0x40(%eax)
41002e:	eb 8d                	jmp    0x40ffbd
410030:	8b e5                	mov    %ebp,%esp
410032:	5d                   	pop    %ebp
410033:	c3                   	ret
410034:	cc                   	int3
410035:	cc                   	int3
410036:	cc                   	int3
410037:	cc                   	int3
410038:	cc                   	int3
410039:	cc                   	int3
41003a:	cc                   	int3
41003b:	cc                   	int3
41003c:	cc                   	int3
41003d:	cc                   	int3
41003e:	cc                   	int3
41003f:	cc                   	int3
410040:	55                   	push   %ebp
410041:	8b ec                	mov    %esp,%ebp
410043:	51                   	push   %ecx
410044:	8b 45 08             	mov    0x8(%ebp),%eax
410047:	8b 48 40             	mov    0x40(%eax),%ecx
41004a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41004d:	8b 55 08             	mov    0x8(%ebp),%edx
410050:	83 7a 40 38          	cmpl   $0x38,0x40(%edx)
410054:	73 2e                	jae    0x410084
410056:	8b 45 08             	mov    0x8(%ebp),%eax
410059:	03 45 fc             	add    -0x4(%ebp),%eax
41005c:	c6 00 80             	movb   $0x80,(%eax)
41005f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410062:	83 c1 01             	add    $0x1,%ecx
410065:	89 4d fc             	mov    %ecx,-0x4(%ebp)
410068:	83 7d fc 38          	cmpl   $0x38,-0x4(%ebp)
41006c:	73 14                	jae    0x410082
41006e:	8b 55 08             	mov    0x8(%ebp),%edx
410071:	03 55 fc             	add    -0x4(%ebp),%edx
410074:	c6 02 00             	movb   $0x0,(%edx)
410077:	8b 45 fc             	mov    -0x4(%ebp),%eax
41007a:	83 c0 01             	add    $0x1,%eax
41007d:	89 45 fc             	mov    %eax,-0x4(%ebp)
410080:	eb e6                	jmp    0x410068
410082:	eb 4c                	jmp    0x4100d0
410084:	8b 4d 08             	mov    0x8(%ebp),%ecx
410087:	03 4d fc             	add    -0x4(%ebp),%ecx
41008a:	c6 01 80             	movb   $0x80,(%ecx)
41008d:	8b 55 fc             	mov    -0x4(%ebp),%edx
410090:	83 c2 01             	add    $0x1,%edx
410093:	89 55 fc             	mov    %edx,-0x4(%ebp)
410096:	83 7d fc 40          	cmpl   $0x40,-0x4(%ebp)
41009a:	73 14                	jae    0x4100b0
41009c:	8b 45 08             	mov    0x8(%ebp),%eax
41009f:	03 45 fc             	add    -0x4(%ebp),%eax
4100a2:	c6 00 00             	movb   $0x0,(%eax)
4100a5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4100a8:	83 c1 01             	add    $0x1,%ecx
4100ab:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4100ae:	eb e6                	jmp    0x410096
4100b0:	8b 55 08             	mov    0x8(%ebp),%edx
4100b3:	52                   	push   %edx
4100b4:	8b 45 08             	mov    0x8(%ebp),%eax
4100b7:	50                   	push   %eax
4100b8:	e8 03 05 00 00       	call   0x4105c0
4100bd:	83 c4 08             	add    $0x8,%esp
4100c0:	6a 38                	push   $0x38
4100c2:	6a 00                	push   $0x0
4100c4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4100c7:	51                   	push   %ecx
4100c8:	e8 b3 68 ff ff       	call   0x406980
4100cd:	83 c4 0c             	add    $0xc,%esp
4100d0:	8b 55 08             	mov    0x8(%ebp),%edx
4100d3:	8b 42 40             	mov    0x40(%edx),%eax
4100d6:	c1 e0 03             	shl    $0x3,%eax
4100d9:	33 c9                	xor    %ecx,%ecx
4100db:	8b 55 08             	mov    0x8(%ebp),%edx
4100de:	03 42 48             	add    0x48(%edx),%eax
4100e1:	13 4a 4c             	adc    0x4c(%edx),%ecx
4100e4:	8b 55 08             	mov    0x8(%ebp),%edx
4100e7:	89 42 48             	mov    %eax,0x48(%edx)
4100ea:	89 4a 4c             	mov    %ecx,0x4c(%edx)
4100ed:	8b 45 08             	mov    0x8(%ebp),%eax
4100f0:	8a 48 48             	mov    0x48(%eax),%cl
4100f3:	ba 01 00 00 00       	mov    $0x1,%edx
4100f8:	6b c2 3f             	imul   $0x3f,%edx,%eax
4100fb:	8b 55 08             	mov    0x8(%ebp),%edx
4100fe:	88 0c 02             	mov    %cl,(%edx,%eax,1)
410101:	8b 4d 08             	mov    0x8(%ebp),%ecx
410104:	8b 41 48             	mov    0x48(%ecx),%eax
410107:	8b 51 4c             	mov    0x4c(%ecx),%edx
41010a:	b1 08                	mov    $0x8,%cl
41010c:	e8 2f b2 ff ff       	call   0x40b340
410111:	ba 01 00 00 00       	mov    $0x1,%edx
410116:	6b ca 3e             	imul   $0x3e,%edx,%ecx
410119:	8b 55 08             	mov    0x8(%ebp),%edx
41011c:	88 04 0a             	mov    %al,(%edx,%ecx,1)
41011f:	8b 4d 08             	mov    0x8(%ebp),%ecx
410122:	8b 41 48             	mov    0x48(%ecx),%eax
410125:	8b 51 4c             	mov    0x4c(%ecx),%edx
410128:	b1 10                	mov    $0x10,%cl
41012a:	e8 11 b2 ff ff       	call   0x40b340
41012f:	ba 01 00 00 00       	mov    $0x1,%edx
410134:	6b ca 3d             	imul   $0x3d,%edx,%ecx
410137:	8b 55 08             	mov    0x8(%ebp),%edx
41013a:	88 04 0a             	mov    %al,(%edx,%ecx,1)
41013d:	8b 4d 08             	mov    0x8(%ebp),%ecx
410140:	8b 41 48             	mov    0x48(%ecx),%eax
410143:	8b 51 4c             	mov    0x4c(%ecx),%edx
410146:	b1 18                	mov    $0x18,%cl
410148:	e8 f3 b1 ff ff       	call   0x40b340
41014d:	ba 01 00 00 00       	mov    $0x1,%edx
410152:	6b ca 3c             	imul   $0x3c,%edx,%ecx
410155:	8b 55 08             	mov    0x8(%ebp),%edx
410158:	88 04 0a             	mov    %al,(%edx,%ecx,1)
41015b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41015e:	8b 41 48             	mov    0x48(%ecx),%eax
410161:	8b 51 4c             	mov    0x4c(%ecx),%edx
410164:	b1 20                	mov    $0x20,%cl
410166:	e8 d5 b1 ff ff       	call   0x40b340
41016b:	ba 01 00 00 00       	mov    $0x1,%edx
410170:	6b ca 3b             	imul   $0x3b,%edx,%ecx
410173:	8b 55 08             	mov    0x8(%ebp),%edx
410176:	88 04 0a             	mov    %al,(%edx,%ecx,1)
410179:	8b 4d 08             	mov    0x8(%ebp),%ecx
41017c:	8b 41 48             	mov    0x48(%ecx),%eax
41017f:	8b 51 4c             	mov    0x4c(%ecx),%edx
410182:	b1 28                	mov    $0x28,%cl
410184:	e8 b7 b1 ff ff       	call   0x40b340
410189:	ba 01 00 00 00       	mov    $0x1,%edx
41018e:	6b ca 3a             	imul   $0x3a,%edx,%ecx