4096d4:	74 08                	je     0x4096de
4096d6:	8b 45 14             	mov    0x14(%ebp),%eax
4096d9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4096dc:	89 08                	mov    %ecx,(%eax)
4096de:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
4096e5:	8b 45 e8             	mov    -0x18(%ebp),%eax
4096e8:	8b e5                	mov    %ebp,%esp
4096ea:	5d                   	pop    %ebp
4096eb:	c3                   	ret
4096ec:	cc                   	int3
4096ed:	cc                   	int3
4096ee:	cc                   	int3
4096ef:	cc                   	int3
4096f0:	55                   	push   %ebp
4096f1:	8b ec                	mov    %esp,%ebp
4096f3:	83 ec 20             	sub    $0x20,%esp
4096f6:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4096fd:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
409701:	74 14                	je     0x409717
409703:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
409707:	74 0e                	je     0x409717
409709:	8b 45 0c             	mov    0xc(%ebp),%eax
40970c:	83 e0 03             	and    $0x3,%eax
40970f:	75 06                	jne    0x409717
409711:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
409715:	75 08                	jne    0x40971f
409717:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40971a:	e9 b1 01 00 00       	jmp    0x4098d0
40971f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409722:	c1 e9 02             	shr    $0x2,%ecx
409725:	6b d1 03             	imul   $0x3,%ecx,%edx
409728:	89 55 e0             	mov    %edx,-0x20(%ebp)
40972b:	8b 45 e0             	mov    -0x20(%ebp),%eax
40972e:	50                   	push   %eax
40972f:	e8 4c d1 ff ff       	call   0x406880
409734:	83 c4 04             	add    $0x4,%esp
409737:	89 45 f4             	mov    %eax,-0xc(%ebp)
40973a:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40973e:	0f 84 89 01 00 00    	je     0x4098cd
409744:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40974b:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
409752:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
409759:	eb 09                	jmp    0x409764
40975b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40975e:	83 c1 01             	add    $0x1,%ecx
409761:	89 4d f0             	mov    %ecx,-0x10(%ebp)
409764:	8b 55 f0             	mov    -0x10(%ebp),%edx
409767:	3b 55 0c             	cmp    0xc(%ebp),%edx
40976a:	0f 83 2c 01 00 00    	jae    0x40989c
409770:	8b 45 08             	mov    0x8(%ebp),%eax
409773:	03 45 f0             	add    -0x10(%ebp),%eax
409776:	0f be 08             	movsbl (%eax),%ecx
409779:	0f be 15 8a 71 41 00 	movsbl 0x41718a,%edx
409780:	3b ca                	cmp    %edx,%ecx
409782:	75 05                	jne    0x409789
409784:	e9 13 01 00 00       	jmp    0x40989c
409789:	8b 45 08             	mov    0x8(%ebp),%eax
40978c:	03 45 f0             	add    -0x10(%ebp),%eax
40978f:	0f be 08             	movsbl (%eax),%ecx
409792:	85 c9                	test   %ecx,%ecx
409794:	7d 0c                	jge    0x4097a2
409796:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40979d:	e9 fa 00 00 00       	jmp    0x40989c
4097a2:	8b 55 08             	mov    0x8(%ebp),%edx
4097a5:	03 55 f0             	add    -0x10(%ebp),%edx
4097a8:	0f b6 02             	movzbl (%edx),%eax
4097ab:	8a 88 c0 60 41 00    	mov    0x4160c0(%eax),%cl
4097b1:	88 4d ff             	mov    %cl,-0x1(%ebp)
4097b4:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
4097b8:	81 fa ff 00 00 00    	cmp    $0xff,%edx
4097be:	75 0c                	jne    0x4097cc
4097c0:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
4097c7:	e9 d0 00 00 00       	jmp    0x40989c
4097cc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4097cf:	83 e0 03             	and    $0x3,%eax
4097d2:	89 45 ec             	mov    %eax,-0x14(%ebp)
4097d5:	75 1a                	jne    0x4097f1
4097d7:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
4097db:	c1 e1 02             	shl    $0x2,%ecx
4097de:	81 e1 ff 00 00 00    	and    $0xff,%ecx
4097e4:	8b 55 f4             	mov    -0xc(%ebp),%edx
4097e7:	03 55 f8             	add    -0x8(%ebp),%edx
4097ea:	88 0a                	mov    %cl,(%edx)
4097ec:	e9 a6 00 00 00       	jmp    0x409897
4097f1:	83 7d ec 01          	cmpl   $0x1,-0x14(%ebp)
4097f5:	75 3a                	jne    0x409831
4097f7:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
4097fb:	c1 f8 04             	sar    $0x4,%eax
4097fe:	83 e0 03             	and    $0x3,%eax
409801:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409804:	03 4d f8             	add    -0x8(%ebp),%ecx
409807:	0f b6 11             	movzbl (%ecx),%edx
40980a:	0b d0                	or     %eax,%edx
40980c:	8b 45 f4             	mov    -0xc(%ebp),%eax
40980f:	03 45 f8             	add    -0x8(%ebp),%eax
409812:	88 10                	mov    %dl,(%eax)
409814:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409817:	83 c1 01             	add    $0x1,%ecx
40981a:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40981d:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
409821:	83 e2 0f             	and    $0xf,%edx
409824:	c1 e2 04             	shl    $0x4,%edx
409827:	8b 45 f4             	mov    -0xc(%ebp),%eax
40982a:	03 45 f8             	add    -0x8(%ebp),%eax
40982d:	88 10                	mov    %dl,(%eax)
40982f:	eb 66                	jmp    0x409897
409831:	83 7d ec 02          	cmpl   $0x2,-0x14(%ebp)
409835:	75 3a                	jne    0x409871
409837:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
40983b:	c1 f9 02             	sar    $0x2,%ecx
40983e:	83 e1 0f             	and    $0xf,%ecx
409841:	8b 55 f4             	mov    -0xc(%ebp),%edx
409844:	03 55 f8             	add    -0x8(%ebp),%edx
409847:	0f b6 02             	movzbl (%edx),%eax
40984a:	0b c1                	or     %ecx,%eax
40984c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40984f:	03 4d f8             	add    -0x8(%ebp),%ecx
409852:	88 01                	mov    %al,(%ecx)
409854:	8b 55 f8             	mov    -0x8(%ebp),%edx
409857:	83 c2 01             	add    $0x1,%edx
40985a:	89 55 f8             	mov    %edx,-0x8(%ebp)
40985d:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
409861:	83 e0 03             	and    $0x3,%eax
409864:	c1 e0 06             	shl    $0x6,%eax
409867:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40986a:	03 4d f8             	add    -0x8(%ebp),%ecx
40986d:	88 01                	mov    %al,(%ecx)
40986f:	eb 26                	jmp    0x409897
409871:	83 7d ec 03          	cmpl   $0x3,-0x14(%ebp)
409875:	75 20                	jne    0x409897
409877:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
40987b:	8b 45 f4             	mov    -0xc(%ebp),%eax
40987e:	03 45 f8             	add    -0x8(%ebp),%eax
409881:	0f b6 08             	movzbl (%eax),%ecx
409884:	0b ca                	or     %edx,%ecx
409886:	8b 55 f4             	mov    -0xc(%ebp),%edx
409889:	03 55 f8             	add    -0x8(%ebp),%edx
40988c:	88 0a                	mov    %cl,(%edx)
40988e:	8b 45 f8             	mov    -0x8(%ebp),%eax
409891:	83 c0 01             	add    $0x1,%eax
409894:	89 45 f8             	mov    %eax,-0x8(%ebp)
409897:	e9 bf fe ff ff       	jmp    0x40975b
40989c:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4098a0:	75 1f                	jne    0x4098c1
4098a2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4098a5:	8b 55 f4             	mov    -0xc(%ebp),%edx
4098a8:	89 11                	mov    %edx,(%ecx)
4098aa:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4098ae:	74 08                	je     0x4098b8
4098b0:	8b 45 14             	mov    0x14(%ebp),%eax
4098b3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4098b6:	89 08                	mov    %ecx,(%eax)
4098b8:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
4098bf:	eb 0c                	jmp    0x4098cd
4098c1:	8b 55 f4             	mov    -0xc(%ebp),%edx
4098c4:	52                   	push   %edx
4098c5:	e8 e6 cf ff ff       	call   0x4068b0
4098ca:	83 c4 04             	add    $0x4,%esp
4098cd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4098d0:	8b e5                	mov    %ebp,%esp
4098d2:	5d                   	pop    %ebp
4098d3:	c3                   	ret
4098d4:	cc                   	int3
4098d5:	cc                   	int3
4098d6:	cc                   	int3
4098d7:	cc                   	int3
4098d8:	cc                   	int3
4098d9:	cc                   	int3
4098da:	cc                   	int3
4098db:	cc                   	int3
4098dc:	cc                   	int3
4098dd:	cc                   	int3
4098de:	cc                   	int3
4098df:	cc                   	int3
4098e0:	55                   	push   %ebp
4098e1:	8b ec                	mov    %esp,%ebp
4098e3:	83 ec 2c             	sub    $0x2c,%esp
4098e6:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4098ed:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4098f1:	74 0c                	je     0x4098ff
4098f3:	83 7d 0c 64          	cmpl   $0x64,0xc(%ebp)
4098f7:	72 06                	jb     0x4098ff
4098f9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4098fd:	75 08                	jne    0x409907
4098ff:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409902:	e9 31 01 00 00       	jmp    0x409a38
409907:	c7 45 e0 32 00 00 00 	movl   $0x32,-0x20(%ebp)
40990e:	8b 45 0c             	mov    0xc(%ebp),%eax
409911:	33 d2                	xor    %edx,%edx
409913:	b9 32 00 00 00       	mov    $0x32,%ecx
409918:	f7 f1                	div    %ecx
40991a:	83 e8 01             	sub    $0x1,%eax
40991d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
409920:	8b 55 d4             	mov    -0x2c(%ebp),%edx
409923:	8b 45 0c             	mov    0xc(%ebp),%eax
409926:	8d 0c 90             	lea    (%eax,%edx,4),%ecx
409929:	51                   	push   %ecx
40992a:	e8 b1 d0 ff ff       	call   0x4069e0
40992f:	83 c4 04             	add    $0x4,%esp
409932:	89 45 ec             	mov    %eax,-0x14(%ebp)
409935:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
409939:	0f 84 f6 00 00 00    	je     0x409a35
40993f:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
409946:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40994d:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
409951:	c6 45 fd 0a          	movb   $0xa,-0x3(%ebp)
409955:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
409959:	8b 55 f8             	mov    -0x8(%ebp),%edx
40995c:	3b 55 0c             	cmp    0xc(%ebp),%edx
40995f:	0f 84 aa 00 00 00    	je     0x409a0f
409965:	8b 45 0c             	mov    0xc(%ebp),%eax
409968:	2b 45 f8             	sub    -0x8(%ebp),%eax
40996b:	39 45 e0             	cmp    %eax,-0x20(%ebp)
40996e:	73 08                	jae    0x409978
409970:	8b 4d e0             	mov    -0x20(%ebp),%ecx
409973:	89 4d dc             	mov    %ecx,-0x24(%ebp)
409976:	eb 09                	jmp    0x409981
409978:	8b 55 0c             	mov    0xc(%ebp),%edx
40997b:	2b 55 f8             	sub    -0x8(%ebp),%edx
40997e:	89 55 dc             	mov    %edx,-0x24(%ebp)
409981:	8b 45 dc             	mov    -0x24(%ebp),%eax
409984:	89 45 f0             	mov    %eax,-0x10(%ebp)
409987:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40998e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409991:	03 4d f0             	add    -0x10(%ebp),%ecx
409994:	8b 55 0c             	mov    0xc(%ebp),%edx
409997:	2b d1                	sub    %ecx,%edx
409999:	89 55 e8             	mov    %edx,-0x18(%ebp)
40999c:	74 0c                	je     0x4099aa
40999e:	83 7d e8 01          	cmpl   $0x1,-0x18(%ebp)
4099a2:	7e 16                	jle    0x4099ba
4099a4:	83 7d e8 0a          	cmpl   $0xa,-0x18(%ebp)
4099a8:	7d 10                	jge    0x4099ba
4099aa:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
4099b1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4099b4:	03 45 e8             	add    -0x18(%ebp),%eax
4099b7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4099ba:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4099bd:	51                   	push   %ecx
4099be:	8b 55 08             	mov    0x8(%ebp),%edx
4099c1:	03 55 f8             	add    -0x8(%ebp),%edx
4099c4:	52                   	push   %edx
4099c5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4099c8:	03 45 f4             	add    -0xc(%ebp),%eax
4099cb:	50                   	push   %eax
4099cc:	e8 cf cf ff ff       	call   0x4069a0
4099d1:	83 c4 0c             	add    $0xc,%esp
4099d4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4099d7:	03 4d f0             	add    -0x10(%ebp),%ecx
4099da:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4099dd:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
4099e1:	75 1e                	jne    0x409a01
4099e3:	6a 02                	push   $0x2
4099e5:	8d 55 fc             	lea    -0x4(%ebp),%edx
4099e8:	52                   	push   %edx
4099e9:	8b 45 ec             	mov    -0x14(%ebp),%eax
4099ec:	03 45 f4             	add    -0xc(%ebp),%eax
4099ef:	50                   	push   %eax
4099f0:	e8 ab cf ff ff       	call   0x4069a0
4099f5:	83 c4 0c             	add    $0xc,%esp
4099f8:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4099fb:	83 c1 02             	add    $0x2,%ecx
4099fe:	89 4d f4             	mov    %ecx,-0xc(%ebp)
409a01:	8b 55 f8             	mov    -0x8(%ebp),%edx
409a04:	03 55 f0             	add    -0x10(%ebp),%edx
409a07:	89 55 f8             	mov    %edx,-0x8(%ebp)
409a0a:	e9 4a ff ff ff       	jmp    0x409959
409a0f:	8b 45 10             	mov    0x10(%ebp),%eax
409a12:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409a15:	89 08                	mov    %ecx,(%eax)
409a17:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
409a1b:	74 11                	je     0x409a2e
409a1d:	8b 55 ec             	mov    -0x14(%ebp),%edx
409a20:	52                   	push   %edx
409a21:	e8 fa cf ff ff       	call   0x406a20
409a26:	83 c4 04             	add    $0x4,%esp
409a29:	8b 4d 14             	mov    0x14(%ebp),%ecx
409a2c:	89 01                	mov    %eax,(%ecx)
409a2e:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
409a35:	8b 45 e4             	mov    -0x1c(%ebp),%eax
409a38:	8b e5                	mov    %ebp,%esp
409a3a:	5d                   	pop    %ebp
409a3b:	c3                   	ret
409a3c:	cc                   	int3
409a3d:	cc                   	int3
409a3e:	cc                   	int3
409a3f:	cc                   	int3
409a40:	55                   	push   %ebp
409a41:	8b ec                	mov    %esp,%ebp
409a43:	51                   	push   %ecx
409a44:	b8 01 00 00 00       	mov    $0x1,%eax
409a49:	6b c8 00             	imul   $0x0,%eax,%ecx
409a4c:	8b 55 0c             	mov    0xc(%ebp),%edx
409a4f:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
409a53:	b9 01 00 00 00       	mov    $0x1,%ecx
409a58:	c1 e1 00             	shl    $0x0,%ecx
409a5b:	8b 55 0c             	mov    0xc(%ebp),%edx
409a5e:	0f b6 0c 0a          	movzbl (%edx,%ecx,1),%ecx
409a62:	c1 e1 08             	shl    $0x8,%ecx
409a65:	0b c1                	or     %ecx,%eax
409a67:	ba 01 00 00 00       	mov    $0x1,%edx
409a6c:	d1 e2                	shl    $1,%edx
409a6e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409a71:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
409a75:	c1 e2 10             	shl    $0x10,%edx
409a78:	0b c2                	or     %edx,%eax
409a7a:	b9 01 00 00 00       	mov    $0x1,%ecx
409a7f:	6b d1 03             	imul   $0x3,%ecx,%edx
409a82:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409a85:	0f b6 14 11          	movzbl (%ecx,%edx,1),%edx
409a89:	c1 e2 18             	shl    $0x18,%edx
409a8c:	0b c2                	or     %edx,%eax
409a8e:	b9 04 00 00 00       	mov    $0x4,%ecx
409a93:	c1 e1 02             	shl    $0x2,%ecx
409a96:	8b 55 08             	mov    0x8(%ebp),%edx
409a99:	89 04 0a             	mov    %eax,(%edx,%ecx,1)
409a9c:	b8 01 00 00 00       	mov    $0x1,%eax
409aa1:	6b c8 00             	imul   $0x0,%eax,%ecx
409aa4:	8b 55 0c             	mov    0xc(%ebp),%edx
409aa7:	0f b6 44 0a 04       	movzbl 0x4(%edx,%ecx,1),%eax
409aac:	b9 01 00 00 00       	mov    $0x1,%ecx
409ab1:	c1 e1 00             	shl    $0x0,%ecx
409ab4:	8b 55 0c             	mov    0xc(%ebp),%edx
409ab7:	0f b6 4c 0a 04       	movzbl 0x4(%edx,%ecx,1),%ecx
409abc:	c1 e1 08             	shl    $0x8,%ecx
409abf:	0b c1                	or     %ecx,%eax
409ac1:	ba 01 00 00 00       	mov    $0x1,%edx
409ac6:	d1 e2                	shl    $1,%edx
409ac8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409acb:	0f b6 54 11 04       	movzbl 0x4(%ecx,%edx,1),%edx
409ad0:	c1 e2 10             	shl    $0x10,%edx
409ad3:	0b c2                	or     %edx,%eax
409ad5:	b9 01 00 00 00       	mov    $0x1,%ecx
409ada:	6b d1 03             	imul   $0x3,%ecx,%edx
409add:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409ae0:	0f b6 54 11 04       	movzbl 0x4(%ecx,%edx,1),%edx
409ae5:	c1 e2 18             	shl    $0x18,%edx
409ae8:	0b c2                	or     %edx,%eax
409aea:	b9 04 00 00 00       	mov    $0x4,%ecx
409aef:	6b d1 05             	imul   $0x5,%ecx,%edx
409af2:	8b 4d 08             	mov    0x8(%ebp),%ecx
409af5:	89 04 11             	mov    %eax,(%ecx,%edx,1)
409af8:	ba 01 00 00 00       	mov    $0x1,%edx
409afd:	6b c2 00             	imul   $0x0,%edx,%eax
409b00:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409b03:	0f b6 54 01 08       	movzbl 0x8(%ecx,%eax,1),%edx
409b08:	b8 01 00 00 00       	mov    $0x1,%eax
409b0d:	c1 e0 00             	shl    $0x0,%eax
409b10:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409b13:	0f b6 44 01 08       	movzbl 0x8(%ecx,%eax,1),%eax