53f718:	41                   	inc    %ecx
53f719:	8b 6c 24 5c          	mov    0x5c(%esp),%ebp
53f71d:	ba 08 00 00 00       	mov    $0x8,%edx
53f722:	2b d1                	sub    %ecx,%edx
53f724:	89 4c 24 24          	mov    %ecx,0x24(%esp)
53f728:	8b 4c 24 18          	mov    0x18(%esp),%ecx
53f72c:	89 54 24 1c          	mov    %edx,0x1c(%esp)
53f730:	ff 74 24 30          	push   0x30(%esp)
53f734:	2b c7                	sub    %edi,%eax
53f736:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
53f73a:	ff 74 24 38          	push   0x38(%esp)
53f73e:	89 44 24 70          	mov    %eax,0x70(%esp)
53f742:	8d 44 24 30          	lea    0x30(%esp),%eax
53f746:	ff 74 24 40          	push   0x40(%esp)
53f74a:	89 5c 24 38          	mov    %ebx,0x38(%esp)
53f74e:	50                   	push   %eax
53f74f:	e8 8c 5a ed ff       	call   0x4151e0
53f754:	33 d2                	xor    %edx,%edx
53f756:	8d 4f ff             	lea    -0x1(%edi),%ecx
53f759:	83 c4 10             	add    $0x10,%esp
53f75c:	89 54 24 14          	mov    %edx,0x14(%esp)
53f760:	03 ef                	add    %edi,%ebp
53f762:	83 f9 07             	cmp    $0x7,%ecx
53f765:	77 6b                	ja     0x53f7d2
53f767:	ff 24 8d c4 fd 53 00 	jmp    *0x53fdc4(,%ecx,4)
53f76e:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
53f772:	4d                   	dec    %ebp
53f773:	c1 e2 18             	shl    $0x18,%edx
53f776:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f77a:	4d                   	dec    %ebp
53f77b:	c1 e0 10             	shl    $0x10,%eax
53f77e:	0b d0                	or     %eax,%edx
53f780:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f784:	4d                   	dec    %ebp
53f785:	c1 e0 08             	shl    $0x8,%eax
53f788:	0b d0                	or     %eax,%edx
53f78a:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f78e:	4d                   	dec    %ebp
53f78f:	0b d0                	or     %eax,%edx
53f791:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f795:	4d                   	dec    %ebp
53f796:	c1 e0 18             	shl    $0x18,%eax
53f799:	89 44 24 14          	mov    %eax,0x14(%esp)
53f79d:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f7a1:	4d                   	dec    %ebp
53f7a2:	c1 e0 10             	shl    $0x10,%eax
53f7a5:	09 44 24 14          	or     %eax,0x14(%esp)
53f7a9:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f7ad:	4d                   	dec    %ebp
53f7ae:	c1 e0 08             	shl    $0x8,%eax
53f7b1:	09 44 24 14          	or     %eax,0x14(%esp)
53f7b5:	8a 45 ff             	mov    -0x1(%ebp),%al
53f7b8:	4d                   	dec    %ebp
53f7b9:	33 54 24 2c          	xor    0x2c(%esp),%edx
53f7bd:	03 ef                	add    %edi,%ebp
53f7bf:	0f b6 c0             	movzbl %al,%eax
53f7c2:	0b 44 24 14          	or     0x14(%esp),%eax
53f7c6:	33 44 24 28          	xor    0x28(%esp),%eax
53f7ca:	03 f7                	add    %edi,%esi
53f7cc:	89 44 24 14          	mov    %eax,0x14(%esp)
53f7d0:	eb 15                	jmp    0x53f7e7
53f7d2:	8b 44 24 28          	mov    0x28(%esp),%eax
53f7d6:	03 ef                	add    %edi,%ebp
53f7d8:	8b 54 24 2c          	mov    0x2c(%esp),%edx
53f7dc:	03 f7                	add    %edi,%esi
53f7de:	89 44 24 14          	mov    %eax,0x14(%esp)
53f7e2:	83 f9 07             	cmp    $0x7,%ecx
53f7e5:	77 59                	ja     0x53f840
53f7e7:	ff 24 8d e4 fd 53 00 	jmp    *0x53fde4(,%ecx,4)
53f7ee:	4e                   	dec    %esi
53f7ef:	8b c2                	mov    %edx,%eax
53f7f1:	c1 e8 18             	shr    $0x18,%eax
53f7f4:	88 06                	mov    %al,(%esi)
53f7f6:	4e                   	dec    %esi
53f7f7:	8b c2                	mov    %edx,%eax
53f7f9:	c1 e8 10             	shr    $0x10,%eax
53f7fc:	88 06                	mov    %al,(%esi)
53f7fe:	4e                   	dec    %esi
53f7ff:	8b c2                	mov    %edx,%eax
53f801:	c1 e8 08             	shr    $0x8,%eax
53f804:	88 06                	mov    %al,(%esi)
53f806:	4e                   	dec    %esi
53f807:	88 16                	mov    %dl,(%esi)
53f809:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f80d:	4e                   	dec    %esi
53f80e:	8b c1                	mov    %ecx,%eax
53f810:	c1 e8 18             	shr    $0x18,%eax
53f813:	88 06                	mov    %al,(%esi)
53f815:	4e                   	dec    %esi
53f816:	8b c1                	mov    %ecx,%eax
53f818:	c1 e8 10             	shr    $0x10,%eax
53f81b:	88 06                	mov    %al,(%esi)
53f81d:	eb 12                	jmp    0x53f831
53f81f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f823:	4e                   	dec    %esi
53f824:	8b c1                	mov    %ecx,%eax
53f826:	c1 e8 10             	shr    $0x10,%eax
53f829:	88 06                	mov    %al,(%esi)
53f82b:	eb 04                	jmp    0x53f831
53f82d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f831:	4e                   	dec    %esi
53f832:	8b c1                	mov    %ecx,%eax
53f834:	c1 e8 08             	shr    $0x8,%eax
53f837:	88 06                	mov    %al,(%esi)
53f839:	8b 44 24 14          	mov    0x14(%esp),%eax
53f83d:	4e                   	dec    %esi
53f83e:	88 06                	mov    %al,(%esi)
53f840:	8b 4c 24 64          	mov    0x64(%esp),%ecx
53f844:	03 f7                	add    %edi,%esi
53f846:	83 f9 20             	cmp    $0x20,%ecx
53f849:	75 09                	jne    0x53f854
53f84b:	8b cb                	mov    %ebx,%ecx
53f84d:	8b d8                	mov    %eax,%ebx
53f84f:	e9 df 01 00 00       	jmp    0x53fa33
53f854:	83 f9 40             	cmp    $0x40,%ecx
53f857:	75 09                	jne    0x53f862
53f859:	8b c8                	mov    %eax,%ecx
53f85b:	8b da                	mov    %edx,%ebx
53f85d:	e9 d1 01 00 00       	jmp    0x53fa33
53f862:	8b 4c 24 18          	mov    0x18(%esp),%ecx
53f866:	8b c1                	mov    %ecx,%eax
53f868:	c1 e8 08             	shr    $0x8,%eax
53f86b:	88 44 24 45          	mov    %al,0x45(%esp)
53f86f:	8b c1                	mov    %ecx,%eax
53f871:	c1 e8 10             	shr    $0x10,%eax
53f874:	88 44 24 46          	mov    %al,0x46(%esp)
53f878:	8b c3                	mov    %ebx,%eax
53f87a:	c1 e8 08             	shr    $0x8,%eax
53f87d:	88 44 24 49          	mov    %al,0x49(%esp)
53f881:	8b c3                	mov    %ebx,%eax
53f883:	c1 e8 10             	shr    $0x10,%eax
53f886:	88 44 24 4a          	mov    %al,0x4a(%esp)
53f88a:	88 4c 24 44          	mov    %cl,0x44(%esp)
53f88e:	c1 e9 18             	shr    $0x18,%ecx
53f891:	88 4c 24 47          	mov    %cl,0x47(%esp)
53f895:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f899:	8b c1                	mov    %ecx,%eax
53f89b:	c1 e8 08             	shr    $0x8,%eax
53f89e:	88 44 24 4d          	mov    %al,0x4d(%esp)
53f8a2:	8b c1                	mov    %ecx,%eax
53f8a4:	c1 e8 10             	shr    $0x10,%eax
53f8a7:	88 44 24 4e          	mov    %al,0x4e(%esp)
53f8ab:	8b c2                	mov    %edx,%eax
53f8ad:	c1 e8 08             	shr    $0x8,%eax
53f8b0:	88 44 24 51          	mov    %al,0x51(%esp)
53f8b4:	8b c2                	mov    %edx,%eax
53f8b6:	c1 e8 10             	shr    $0x10,%eax
53f8b9:	88 5c 24 48          	mov    %bl,0x48(%esp)
53f8bd:	c1 eb 18             	shr    $0x18,%ebx
53f8c0:	88 44 24 52          	mov    %al,0x52(%esp)
53f8c4:	33 c0                	xor    %eax,%eax
53f8c6:	88 5c 24 4b          	mov    %bl,0x4b(%esp)
53f8ca:	8b 5c 24 24          	mov    0x24(%esp),%ebx
53f8ce:	88 4c 24 4c          	mov    %cl,0x4c(%esp)
53f8d2:	c1 e9 18             	shr    $0x18,%ecx
53f8d5:	88 54 24 50          	mov    %dl,0x50(%esp)
53f8d9:	c1 ea 18             	shr    $0x18,%edx
53f8dc:	85 db                	test   %ebx,%ebx
53f8de:	88 4c 24 4f          	mov    %cl,0x4f(%esp)
53f8e2:	0f 95 c0             	setne  %al
53f8e5:	88 54 24 53          	mov    %dl,0x53(%esp)
53f8e9:	83 c0 08             	add    $0x8,%eax
53f8ec:	50                   	push   %eax
53f8ed:	8b 44 24 68          	mov    0x68(%esp),%eax
53f8f1:	8b c0                	mov    %eax,%eax
53f8f3:	85 c0                	test   %eax,%eax
53f8f5:	79 03                	jns    0x53f8fa
53f8f7:	83 c0 07             	add    $0x7,%eax
53f8fa:	c1 f8 03             	sar    $0x3,%eax
53f8fd:	8d 4c 24 48          	lea    0x48(%esp),%ecx
53f901:	03 c1                	add    %ecx,%eax
53f903:	50                   	push   %eax
53f904:	8b c1                	mov    %ecx,%eax
53f906:	50                   	push   %eax
53f907:	e8 c4 34 09 00       	call   0x5d2dd0
53f90c:	83 c4 0c             	add    $0xc,%esp
53f90f:	85 db                	test   %ebx,%ebx
53f911:	0f 84 ba 00 00 00    	je     0x53f9d1
53f917:	8a 54 24 45          	mov    0x45(%esp),%dl
53f91b:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
53f91f:	8a e2                	mov    %dl,%ah
53f921:	8a 44 24 44          	mov    0x44(%esp),%al
53f925:	d2 ec                	shr    %cl,%ah
53f927:	8a cb                	mov    %bl,%cl
53f929:	d2 e0                	shl    %cl,%al
53f92b:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
53f92f:	0a e0                	or     %al,%ah
53f931:	8a 44 24 46          	mov    0x46(%esp),%al
53f935:	88 64 24 21          	mov    %ah,0x21(%esp)
53f939:	8a e0                	mov    %al,%ah
53f93b:	d2 ec                	shr    %cl,%ah
53f93d:	8a cb                	mov    %bl,%cl
53f93f:	d2 e2                	shl    %cl,%dl
53f941:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
53f945:	0a e2                	or     %dl,%ah
53f947:	8a 54 24 47          	mov    0x47(%esp),%dl
53f94b:	88 64 24 22          	mov    %ah,0x22(%esp)
53f94f:	8a e2                	mov    %dl,%ah
53f951:	d2 ec                	shr    %cl,%ah
53f953:	8a cb                	mov    %bl,%cl
53f955:	d2 e0                	shl    %cl,%al
53f957:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
53f95b:	0a e0                	or     %al,%ah
53f95d:	8a 44 24 48          	mov    0x48(%esp),%al
53f961:	8a e8                	mov    %al,%ch
53f963:	d2 ed                	shr    %cl,%ch
53f965:	8a cb                	mov    %bl,%cl
53f967:	d2 e2                	shl    %cl,%dl
53f969:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
53f96d:	0a ea                	or     %dl,%ch
53f96f:	8a 54 24 49          	mov    0x49(%esp),%dl
53f973:	8a f2                	mov    %dl,%dh
53f975:	d2 ee                	shr    %cl,%dh
53f977:	8a cb                	mov    %bl,%cl
53f979:	8a 5c 24 4a          	mov    0x4a(%esp),%bl
53f97d:	d2 e0                	shl    %cl,%al
53f97f:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
53f983:	0a f0                	or     %al,%dh
53f985:	8a c3                	mov    %bl,%al
53f987:	88 74 24 23          	mov    %dh,0x23(%esp)
53f98b:	d2 e8                	shr    %cl,%al
53f98d:	8a 4c 24 24          	mov    0x24(%esp),%cl
53f991:	d2 e2                	shl    %cl,%dl
53f993:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
53f997:	0a c2                	or     %dl,%al
53f999:	8b 54 24 24          	mov    0x24(%esp),%edx
53f99d:	8a 74 24 23          	mov    0x23(%esp),%dh
53f9a1:	88 44 24 13          	mov    %al,0x13(%esp)
53f9a5:	8a 44 24 4b          	mov    0x4b(%esp),%al
53f9a9:	8a f8                	mov    %al,%bh
53f9ab:	d2 ef                	shr    %cl,%bh
53f9ad:	8a ca                	mov    %dl,%cl
53f9af:	d2 e3                	shl    %cl,%bl
53f9b1:	8a 4c 24 1c          	mov    0x1c(%esp),%cl
53f9b5:	0a fb                	or     %bl,%bh
53f9b7:	8a 5c 24 22          	mov    0x22(%esp),%bl
53f9bb:	88 7c 24 12          	mov    %bh,0x12(%esp)
53f9bf:	8a 7c 24 4c          	mov    0x4c(%esp),%bh
53f9c3:	d2 ef                	shr    %cl,%bh
53f9c5:	8a ca                	mov    %dl,%cl
53f9c7:	8a 54 24 21          	mov    0x21(%esp),%dl
53f9cb:	d2 e0                	shl    %cl,%al
53f9cd:	0a f8                	or     %al,%bh
53f9cf:	eb 28                	jmp    0x53f9f9
53f9d1:	8a 44 24 4a          	mov    0x4a(%esp),%al
53f9d5:	8a 7c 24 4b          	mov    0x4b(%esp),%bh
53f9d9:	8a 74 24 48          	mov    0x48(%esp),%dh
53f9dd:	8a 6c 24 47          	mov    0x47(%esp),%ch
53f9e1:	8a 64 24 46          	mov    0x46(%esp),%ah
53f9e5:	8a 5c 24 45          	mov    0x45(%esp),%bl
53f9e9:	8a 54 24 44          	mov    0x44(%esp),%dl
53f9ed:	88 44 24 12          	mov    %al,0x12(%esp)
53f9f1:	8a 44 24 49          	mov    0x49(%esp),%al
53f9f5:	88 44 24 13          	mov    %al,0x13(%esp)
53f9f9:	0f b6 cd             	movzbl %ch,%ecx
53f9fc:	c1 e1 08             	shl    $0x8,%ecx
53f9ff:	0f b6 c4             	movzbl %ah,%eax
53fa02:	0b c8                	or     %eax,%ecx
53fa04:	0f b6 c3             	movzbl %bl,%eax
53fa07:	c1 e1 08             	shl    $0x8,%ecx
53fa0a:	0b c8                	or     %eax,%ecx
53fa0c:	0f b6 df             	movzbl %bh,%ebx
53fa0f:	c1 e1 08             	shl    $0x8,%ecx
53fa12:	0f b6 c2             	movzbl %dl,%eax
53fa15:	0b c8                	or     %eax,%ecx
53fa17:	c1 e3 08             	shl    $0x8,%ebx
53fa1a:	0f b6 44 24 12       	movzbl 0x12(%esp),%eax
53fa1f:	0b d8                	or     %eax,%ebx
53fa21:	0f b6 44 24 13       	movzbl 0x13(%esp),%eax
53fa26:	c1 e3 08             	shl    $0x8,%ebx
53fa29:	0b d8                	or     %eax,%ebx
53fa2b:	0f b6 c6             	movzbl %dh,%eax
53fa2e:	c1 e3 08             	shl    $0x8,%ebx
53fa31:	0b d8                	or     %eax,%ebx
53fa33:	8b 44 24 68          	mov    0x68(%esp),%eax
53fa37:	89 4c 24 18          	mov    %ecx,0x18(%esp)
53fa3b:	3b c7                	cmp    %edi,%eax
53fa3d:	0f 83 ed fc ff ff    	jae    0x53f730
53fa43:	e9 2f 03 00 00       	jmp    0x53fd77
53fa48:	81 e1 07 00 00 80    	and    $0x80000007,%ecx
53fa4e:	79 05                	jns    0x53fa55
53fa50:	49                   	dec    %ecx
53fa51:	83 c9 f8             	or     $0xfffffff8,%ecx
53fa54:	41                   	inc    %ecx
53fa55:	8b 6c 24 5c          	mov    0x5c(%esp),%ebp
53fa59:	ba 08 00 00 00       	mov    $0x8,%edx
53fa5e:	2b d1                	sub    %ecx,%edx
53fa60:	89 4c 24 24          	mov    %ecx,0x24(%esp)
53fa64:	8b 4c 24 18          	mov    0x18(%esp),%ecx
53fa68:	89 54 24 14          	mov    %edx,0x14(%esp)
53fa6c:	0f 1f 40 00          	nopl   0x0(%eax)
53fa70:	ff 74 24 30          	push   0x30(%esp)
53fa74:	2b c7                	sub    %edi,%eax
53fa76:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
53fa7a:	ff 74 24 38          	push   0x38(%esp)
53fa7e:	89 44 24 70          	mov    %eax,0x70(%esp)
53fa82:	8d 44 24 30          	lea    0x30(%esp),%eax
53fa86:	ff 74 24 40          	push   0x40(%esp)
53fa8a:	89 5c 24 38          	mov    %ebx,0x38(%esp)
53fa8e:	50                   	push   %eax
53fa8f:	e8 4c 57 ed ff       	call   0x4151e0
53fa94:	33 c9                	xor    %ecx,%ecx
53fa96:	8d 47 ff             	lea    -0x1(%edi),%eax
53fa99:	33 d2                	xor    %edx,%edx
53fa9b:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
53fa9f:	83 c4 10             	add    $0x10,%esp
53faa2:	89 54 24 3c          	mov    %edx,0x3c(%esp)
53faa6:	03 ef                	add    %edi,%ebp
53faa8:	83 f8 07             	cmp    $0x7,%eax
53faab:	77 55                	ja     0x53fb02
53faad:	ff 24 85 04 fe 53 00 	jmp    *0x53fe04(,%eax,4)
53fab4:	0f b6 4d ff          	movzbl -0x1(%ebp),%ecx
53fab8:	4d                   	dec    %ebp
53fab9:	c1 e1 18             	shl    $0x18,%ecx
53fabc:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53fac0:	4d                   	dec    %ebp
53fac1:	c1 e0 10             	shl    $0x10,%eax
53fac4:	0b c8                	or     %eax,%ecx
53fac6:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53faca:	4d                   	dec    %ebp
53facb:	c1 e0 08             	shl    $0x8,%eax
53face:	0b c8                	or     %eax,%ecx
53fad0:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53fad4:	4d                   	dec    %ebp
53fad5:	0b c8                	or     %eax,%ecx
53fad7:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53fadb:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
53fadf:	4d                   	dec    %ebp
53fae0:	c1 e2 18             	shl    $0x18,%edx
53fae3:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53fae7:	4d                   	dec    %ebp
53fae8:	c1 e0 10             	shl    $0x10,%eax
53faeb:	0b d0                	or     %eax,%edx
53faed:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53faf1:	4d                   	dec    %ebp
53faf2:	c1 e0 08             	shl    $0x8,%eax
53faf5:	0b d0                	or     %eax,%edx
53faf7:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53fafb:	4d                   	dec    %ebp
53fafc:	0b d0                	or     %eax,%edx
53fafe:	89 54 24 3c          	mov    %edx,0x3c(%esp)
53fb02:	8b 44 24 64          	mov    0x64(%esp),%eax
53fb06:	03 ef                	add    %edi,%ebp
53fb08:	83 f8 20             	cmp    $0x20,%eax
53fb0b:	75 09                	jne    0x53fb16
53fb0d:	8b cb                	mov    %ebx,%ecx
53fb0f:	8b da                	mov    %edx,%ebx
53fb11:	e9 eb 01 00 00       	jmp    0x53fd01
53fb16:	83 f8 40             	cmp    $0x40,%eax
53fb19:	75 0d                	jne    0x53fb28