4ff602:	80 3e 00             	cmpb   $0x0,(%esi)
4ff605:	75 14                	jne    0x4ff61b
4ff607:	6a 01                	push   $0x1
4ff609:	56                   	push   %esi
4ff60a:	e8 41 1c fe ff       	call   0x4e1250
4ff60f:	83 c4 08             	add    $0x8,%esp
4ff612:	85 c0                	test   %eax,%eax
4ff614:	7e 27                	jle    0x4ff63d
4ff616:	80 3e 00             	cmpb   $0x0,(%esi)
4ff619:	74 ec                	je     0x4ff607
4ff61b:	47                   	inc    %edi
4ff61c:	46                   	inc    %esi
4ff61d:	3b fb                	cmp    %ebx,%edi
4ff61f:	7c e1                	jl     0x4ff602
4ff621:	55                   	push   %ebp
4ff622:	ff 74 24 20          	push   0x20(%esp)
4ff626:	c6 06 00             	movb   $0x0,(%esi)
4ff629:	46                   	inc    %esi
4ff62a:	56                   	push   %esi
4ff62b:	e8 a0 37 0d 00       	call   0x5d2dd0
4ff630:	83 c4 0c             	add    $0xc,%esp
4ff633:	b8 01 00 00 00       	mov    $0x1,%eax
4ff638:	5f                   	pop    %edi
4ff639:	5e                   	pop    %esi
4ff63a:	5d                   	pop    %ebp
4ff63b:	5b                   	pop    %ebx
4ff63c:	c3                   	ret
4ff63d:	5f                   	pop    %edi
4ff63e:	5e                   	pop    %esi
4ff63f:	5d                   	pop    %ebp
4ff640:	33 c0                	xor    %eax,%eax
4ff642:	5b                   	pop    %ebx
4ff643:	c3                   	ret
4ff644:	cc                   	int3
4ff645:	cc                   	int3
4ff646:	cc                   	int3
4ff647:	cc                   	int3
4ff648:	cc                   	int3
4ff649:	cc                   	int3
4ff64a:	cc                   	int3
4ff64b:	cc                   	int3
4ff64c:	cc                   	int3
4ff64d:	cc                   	int3
4ff64e:	cc                   	int3
4ff64f:	cc                   	int3
4ff650:	8b 54 24 14          	mov    0x14(%esp),%edx
4ff654:	8b 44 24 0c          	mov    0xc(%esp),%eax
4ff658:	8b c8                	mov    %eax,%ecx
4ff65a:	83 fa 0b             	cmp    $0xb,%edx
4ff65d:	7d 04                	jge    0x4ff663
4ff65f:	83 c8 ff             	or     $0xffffffff,%eax
4ff662:	c3                   	ret
4ff663:	56                   	push   %esi
4ff664:	8b 74 24 14          	mov    0x14(%esp),%esi
4ff668:	3b d6                	cmp    %esi,%edx
4ff66a:	75 26                	jne    0x4ff692
4ff66c:	80 38 00             	cmpb   $0x0,(%eax)
4ff66f:	8d 48 01             	lea    0x1(%eax),%ecx
4ff672:	74 1d                	je     0x4ff691
4ff674:	6a 43                	push   $0x43
4ff676:	68 40 9c 62 00       	push   $0x629c40
4ff67b:	68 8a 00 00 00       	push   $0x8a
4ff680:	6a 70                	push   $0x70
4ff682:	6a 04                	push   $0x4
4ff684:	e8 f7 98 fd ff       	call   0x4d8f80
4ff689:	83 c4 14             	add    $0x14,%esp
4ff68c:	83 c8 ff             	or     $0xffffffff,%eax
4ff68f:	5e                   	pop    %esi
4ff690:	c3                   	ret
4ff691:	4e                   	dec    %esi
4ff692:	8d 46 01             	lea    0x1(%esi),%eax
4ff695:	3b d0                	cmp    %eax,%edx
4ff697:	0f 85 b4 00 00 00    	jne    0x4ff751
4ff69d:	8a 01                	mov    (%ecx),%al
4ff69f:	41                   	inc    %ecx
4ff6a0:	3c 01                	cmp    $0x1,%al
4ff6a2:	0f 85 a9 00 00 00    	jne    0x4ff751
4ff6a8:	4e                   	dec    %esi
4ff6a9:	33 d2                	xor    %edx,%edx
4ff6ab:	85 f6                	test   %esi,%esi
4ff6ad:	7e 0d                	jle    0x4ff6bc
4ff6af:	90                   	nop
4ff6b0:	8a 01                	mov    (%ecx),%al
4ff6b2:	3c ff                	cmp    $0xff,%al
4ff6b4:	75 24                	jne    0x4ff6da
4ff6b6:	42                   	inc    %edx
4ff6b7:	41                   	inc    %ecx
4ff6b8:	3b d6                	cmp    %esi,%edx
4ff6ba:	7c f4                	jl     0x4ff6b0
4ff6bc:	3b d6                	cmp    %esi,%edx
4ff6be:	75 1f                	jne    0x4ff6df
4ff6c0:	6a 61                	push   $0x61
4ff6c2:	68 40 9c 62 00       	push   $0x629c40
4ff6c7:	6a 71                	push   $0x71
4ff6c9:	6a 70                	push   $0x70
4ff6cb:	6a 04                	push   $0x4
4ff6cd:	e8 ae 98 fd ff       	call   0x4d8f80
4ff6d2:	83 c4 14             	add    $0x14,%esp
4ff6d5:	83 c8 ff             	or     $0xffffffff,%eax
4ff6d8:	5e                   	pop    %esi
4ff6d9:	c3                   	ret
4ff6da:	84 c0                	test   %al,%al
4ff6dc:	75 20                	jne    0x4ff6fe
4ff6de:	41                   	inc    %ecx
4ff6df:	83 fa 08             	cmp    $0x8,%edx
4ff6e2:	7d 34                	jge    0x4ff718
4ff6e4:	6a 67                	push   $0x67
4ff6e6:	68 40 9c 62 00       	push   $0x629c40
4ff6eb:	6a 67                	push   $0x67
4ff6ed:	6a 70                	push   $0x70
4ff6ef:	6a 04                	push   $0x4
4ff6f1:	e8 8a 98 fd ff       	call   0x4d8f80
4ff6f6:	83 c4 14             	add    $0x14,%esp
4ff6f9:	83 c8 ff             	or     $0xffffffff,%eax
4ff6fc:	5e                   	pop    %esi
4ff6fd:	c3                   	ret
4ff6fe:	6a 58                	push   $0x58
4ff700:	68 40 9c 62 00       	push   $0x629c40
4ff705:	6a 66                	push   $0x66
4ff707:	6a 70                	push   $0x70
4ff709:	6a 04                	push   $0x4
4ff70b:	e8 70 98 fd ff       	call   0x4d8f80
4ff710:	83 c4 14             	add    $0x14,%esp
4ff713:	83 c8 ff             	or     $0xffffffff,%eax
4ff716:	5e                   	pop    %esi
4ff717:	c3                   	ret
4ff718:	83 c8 ff             	or     $0xffffffff,%eax
4ff71b:	2b c2                	sub    %edx,%eax
4ff71d:	03 f0                	add    %eax,%esi
4ff71f:	3b 74 24 0c          	cmp    0xc(%esp),%esi
4ff723:	7e 1a                	jle    0x4ff73f
4ff725:	6a 6d                	push   $0x6d
4ff727:	68 40 9c 62 00       	push   $0x629c40
4ff72c:	6a 6d                	push   $0x6d
4ff72e:	6a 70                	push   $0x70
4ff730:	6a 04                	push   $0x4
4ff732:	e8 49 98 fd ff       	call   0x4d8f80
4ff737:	83 c4 14             	add    $0x14,%esp
4ff73a:	83 c8 ff             	or     $0xffffffff,%eax
4ff73d:	5e                   	pop    %esi
4ff73e:	c3                   	ret
4ff73f:	56                   	push   %esi
4ff740:	51                   	push   %ecx
4ff741:	ff 74 24 10          	push   0x10(%esp)
4ff745:	e8 86 36 0d 00       	call   0x5d2dd0
4ff74a:	83 c4 0c             	add    $0xc,%esp
4ff74d:	8b c6                	mov    %esi,%eax
4ff74f:	5e                   	pop    %esi
4ff750:	c3                   	ret
4ff751:	6a 4b                	push   $0x4b
4ff753:	68 40 9c 62 00       	push   $0x629c40
4ff758:	6a 6a                	push   $0x6a
4ff75a:	6a 70                	push   $0x70
4ff75c:	6a 04                	push   $0x4
4ff75e:	e8 1d 98 fd ff       	call   0x4d8f80
4ff763:	83 c4 14             	add    $0x14,%esp
4ff766:	83 c8 ff             	or     $0xffffffff,%eax
4ff769:	5e                   	pop    %esi
4ff76a:	c3                   	ret
4ff76b:	cc                   	int3
4ff76c:	cc                   	int3
4ff76d:	cc                   	int3
4ff76e:	cc                   	int3
4ff76f:	cc                   	int3
4ff770:	b8 18 00 00 00       	mov    $0x18,%eax
4ff775:	e8 36 20 0d 00       	call   0x5d17b0
4ff77a:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
4ff77f:	56                   	push   %esi
4ff780:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
4ff787:	00
4ff788:	0f 8e d2 02 00 00    	jle    0x4ffa60
4ff78e:	8b 74 24 2c          	mov    0x2c(%esp),%esi
4ff792:	85 f6                	test   %esi,%esi
4ff794:	0f 8e c6 02 00 00    	jle    0x4ffa60
4ff79a:	55                   	push   %ebp
4ff79b:	8b 6c 24 34          	mov    0x34(%esp),%ebp
4ff79f:	3b f5                	cmp    %ebp,%esi
4ff7a1:	0f 8f 95 02 00 00    	jg     0x4ffa3c
4ff7a7:	83 fd 0b             	cmp    $0xb,%ebp
4ff7aa:	0f 8c 8c 02 00 00    	jl     0x4ffa3c
4ff7b0:	53                   	push   %ebx
4ff7b1:	68 b2 00 00 00       	push   $0xb2
4ff7b6:	68 40 9c 62 00       	push   $0x629c40
4ff7bb:	55                   	push   %ebp
4ff7bc:	e8 8f 0f fe ff       	call   0x4e0750
4ff7c1:	8b d8                	mov    %eax,%ebx
4ff7c3:	83 c4 0c             	add    $0xc,%esp
4ff7c6:	85 db                	test   %ebx,%ebx
4ff7c8:	75 22                	jne    0x4ff7ec
4ff7ca:	68 b4 00 00 00       	push   $0xb4
4ff7cf:	68 40 9c 62 00       	push   $0x629c40
4ff7d4:	6a 41                	push   $0x41
4ff7d6:	6a 71                	push   $0x71
4ff7d8:	6a 04                	push   $0x4
4ff7da:	e8 a1 97 fd ff       	call   0x4d8f80
4ff7df:	83 c4 14             	add    $0x14,%esp
4ff7e2:	83 c8 ff             	or     $0xffffffff,%eax
4ff7e5:	5b                   	pop    %ebx
4ff7e6:	5d                   	pop    %ebp
4ff7e7:	5e                   	pop    %esi
4ff7e8:	83 c4 18             	add    $0x18,%esp
4ff7eb:	c3                   	ret
4ff7ec:	8b 54 24 30          	mov    0x30(%esp),%edx
4ff7f0:	57                   	push   %edi
4ff7f1:	03 d6                	add    %esi,%edx
4ff7f3:	8b fd                	mov    %ebp,%edi
4ff7f5:	03 dd                	add    %ebp,%ebx
4ff7f7:	8b c6                	mov    %esi,%eax
4ff7f9:	89 5c 24 1c          	mov    %ebx,0x1c(%esp)
4ff7fd:	f7 d0                	not    %eax
4ff7ff:	8d 4e ff             	lea    -0x1(%esi),%ecx
4ff802:	c1 e8 1f             	shr    $0x1f,%eax
4ff805:	4b                   	dec    %ebx
4ff806:	c1 e9 1f             	shr    $0x1f,%ecx
4ff809:	23 c8                	and    %eax,%ecx
4ff80b:	49                   	dec    %ecx
4ff80c:	8b c1                	mov    %ecx,%eax
4ff80e:	83 e0 01             	and    $0x1,%eax
4ff811:	2b d0                	sub    %eax,%edx
4ff813:	2b f0                	sub    %eax,%esi
4ff815:	8a 02                	mov    (%edx),%al
4ff817:	22 c1                	and    %cl,%al
4ff819:	88 03                	mov    %al,(%ebx)
4ff81b:	83 ef 01             	sub    $0x1,%edi
4ff81e:	75 d7                	jne    0x4ff7f7
4ff820:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4ff824:	be 02 00 00 00       	mov    $0x2,%esi
4ff829:	89 5c 24 18          	mov    %ebx,0x18(%esp)
4ff82d:	0f b6 08             	movzbl (%eax),%ecx
4ff830:	0f b6 03             	movzbl (%ebx),%eax
4ff833:	83 f1 02             	xor    $0x2,%ecx
4ff836:	49                   	dec    %ecx
4ff837:	48                   	dec    %eax
4ff838:	c1 e9 1f             	shr    $0x1f,%ecx
4ff83b:	c1 e8 1f             	shr    $0x1f,%eax
4ff83e:	f7 d9                	neg    %ecx
4ff840:	f7 d8                	neg    %eax
4ff842:	23 c8                	and    %eax,%ecx
4ff844:	89 4c 24 10          	mov    %ecx,0x10(%esp)
4ff848:	0f b6 14 33          	movzbl (%ebx,%esi,1),%edx
4ff84c:	8b c7                	mov    %edi,%eax
4ff84e:	4a                   	dec    %edx
4ff84f:	f7 d0                	not    %eax
4ff851:	c1 ea 1f             	shr    $0x1f,%edx
4ff854:	f7 da                	neg    %edx
4ff856:	23 c2                	and    %edx,%eax
4ff858:	0b fa                	or     %edx,%edi
4ff85a:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4ff85e:	f7 d0                	not    %eax
4ff860:	89 44 24 20          	mov    %eax,0x20(%esp)
4ff864:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4ff868:	8b 44 24 20          	mov    0x20(%esp),%eax
4ff86c:	23 ce                	and    %esi,%ecx
4ff86e:	23 44 24 14          	and    0x14(%esp),%eax
4ff872:	46                   	inc    %esi
4ff873:	0b c1                	or     %ecx,%eax
4ff875:	89 44 24 14          	mov    %eax,0x14(%esp)
4ff879:	3b f5                	cmp    %ebp,%esi
4ff87b:	7c cb                	jl     0x4ff848
4ff87d:	8b 74 24 30          	mov    0x30(%esp),%esi
4ff881:	8b fd                	mov    %ebp,%edi
4ff883:	8b 54 24 14          	mov    0x14(%esp),%edx
4ff887:	2b f8                	sub    %eax,%edi
4ff889:	4f                   	dec    %edi
4ff88a:	8b ce                	mov    %esi,%ecx
4ff88c:	2b cf                	sub    %edi,%ecx
4ff88e:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
4ff892:	33 cf                	xor    %edi,%ecx
4ff894:	8b c7                	mov    %edi,%eax
4ff896:	33 c6                	xor    %esi,%eax
4ff898:	0b c8                	or     %eax,%ecx
4ff89a:	8d 42 f6             	lea    -0xa(%edx),%eax
4ff89d:	0b c2                	or     %edx,%eax
4ff89f:	33 ce                	xor    %esi,%ecx
4ff8a1:	33 c2                	xor    %edx,%eax
4ff8a3:	c1 e9 1f             	shr    $0x1f,%ecx
4ff8a6:	c1 e8 1f             	shr    $0x1f,%eax
4ff8a9:	49                   	dec    %ecx
4ff8aa:	48                   	dec    %eax
4ff8ab:	23 c8                	and    %eax,%ecx
4ff8ad:	21 4c 24 10          	and    %ecx,0x10(%esp)
4ff8b1:	8d 4d f5             	lea    -0xb(%ebp),%ecx
4ff8b4:	8b d1                	mov    %ecx,%edx
4ff8b6:	8b c1                	mov    %ecx,%eax
4ff8b8:	2b d6                	sub    %esi,%edx
4ff8ba:	33 c6                	xor    %esi,%eax
4ff8bc:	33 d6                	xor    %esi,%edx
4ff8be:	0b d0                	or     %eax,%edx
4ff8c0:	33 d1                	xor    %ecx,%edx
4ff8c2:	8d 4d f5             	lea    -0xb(%ebp),%ecx
4ff8c5:	c1 ea 1f             	shr    $0x1f,%edx
4ff8c8:	f7 da                	neg    %edx
4ff8ca:	89 54 24 30          	mov    %edx,0x30(%esp)
4ff8ce:	f7 d2                	not    %edx
4ff8d0:	89 54 24 20          	mov    %edx,0x20(%esp)
4ff8d4:	8b 44 24 30          	mov    0x30(%esp),%eax
4ff8d8:	8b 54 24 20          	mov    0x20(%esp),%edx
4ff8dc:	23 c1                	and    %ecx,%eax
4ff8de:	23 d6                	and    %esi,%edx
4ff8e0:	be 01 00 00 00       	mov    $0x1,%esi
4ff8e5:	0b d0                	or     %eax,%edx
4ff8e7:	89 54 24 30          	mov    %edx,0x30(%esp)
4ff8eb:	3b ce                	cmp    %esi,%ecx
4ff8ed:	0f 8e 80 00 00 00    	jle    0x4ff973
4ff8f3:	8b c5                	mov    %ebp,%eax
4ff8f5:	2b c7                	sub    %edi,%eax
4ff8f7:	83 c0 f5             	add    $0xfffffff5,%eax
4ff8fa:	89 44 24 24          	mov    %eax,0x24(%esp)
4ff8fe:	66 90                	xchg   %ax,%ax
4ff900:	23 c6                	and    %esi,%eax
4ff902:	8b fd                	mov    %ebp,%edi
4ff904:	2b fe                	sub    %esi,%edi
4ff906:	8d 48 ff             	lea    -0x1(%eax),%ecx
4ff909:	f7 d0                	not    %eax
4ff90b:	c1 e9 1f             	shr    $0x1f,%ecx
4ff90e:	c1 e8 1f             	shr    $0x1f,%eax
4ff911:	23 c8                	and    %eax,%ecx
4ff913:	49                   	dec    %ecx
4ff914:	83 ff 0b             	cmp    $0xb,%edi
4ff917:	7e 45                	jle    0x4ff95e
4ff919:	0f b6 e9             	movzbl %cl,%ebp
4ff91c:	8d 43 0b             	lea    0xb(%ebx),%eax
4ff91f:	89 6c 24 20          	mov    %ebp,0x20(%esp)
4ff923:	83 c7 f5             	add    $0xfffffff5,%edi
4ff926:	8b 5c 24 20          	mov    0x20(%esp),%ebx
4ff92a:	f7 d5                	not    %ebp
4ff92c:	0f 1f 40 00          	nopl   0x0(%eax)
4ff930:	89 5c 24 20          	mov    %ebx,0x20(%esp)
4ff934:	8d 40 01             	lea    0x1(%eax),%eax
4ff937:	89 6c 24 14          	mov    %ebp,0x14(%esp)
4ff93b:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4ff93f:	8a 54 30 ff          	mov    -0x1(%eax,%esi,1),%dl
4ff943:	22 d1                	and    %cl,%dl
4ff945:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4ff949:	22 48 ff             	and    -0x1(%eax),%cl
4ff94c:	0a ca                	or     %dl,%cl
4ff94e:	88 48 ff             	mov    %cl,-0x1(%eax)
4ff951:	83 ef 01             	sub    $0x1,%edi
4ff954:	75 da                	jne    0x4ff930
4ff956:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4ff95a:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
4ff95e:	8d 45 f5             	lea    -0xb(%ebp),%eax
4ff961:	03 f6                	add    %esi,%esi
4ff963:	3b f0                	cmp    %eax,%esi
4ff965:	8b 44 24 24          	mov    0x24(%esp),%eax
4ff969:	7c 95                	jl     0x4ff900
4ff96b:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4ff96f:	8b 54 24 30          	mov    0x30(%esp),%edx
4ff973:	33 f6                	xor    %esi,%esi
4ff975:	85 d2                	test   %edx,%edx