59b48a:	33 f6                	xor    %esi,%esi
59b48c:	53                   	push   %ebx
59b48d:	45                   	inc    %ebp
59b48e:	e8 7d 31 f1 ff       	call   0x4ae610
59b493:	8b 7c 24 14          	mov    0x14(%esp),%edi
59b497:	83 c4 04             	add    $0x4,%esp
59b49a:	3b e8                	cmp    %eax,%ebp
59b49c:	0f 8c 30 ff ff ff    	jl     0x59b3d2
59b4a2:	8b c7                	mov    %edi,%eax
59b4a4:	5f                   	pop    %edi
59b4a5:	5e                   	pop    %esi
59b4a6:	5d                   	pop    %ebp
59b4a7:	5b                   	pop    %ebx
59b4a8:	83 c4 10             	add    $0x10,%esp
59b4ab:	c3                   	ret
59b4ac:	68 82 00 00 00       	push   $0x82
59b4b1:	68 2c a4 6c 00       	push   $0x6ca42c
59b4b6:	68 8f 00 00 00       	push   $0x8f
59b4bb:	eb 0c                	jmp    0x59b4c9
59b4bd:	68 95 00 00 00       	push   $0x95
59b4c2:	68 2c a4 6c 00       	push   $0x6ca42c
59b4c7:	6a 41                	push   $0x41
59b4c9:	68 93 00 00 00       	push   $0x93
59b4ce:	6a 22                	push   $0x22
59b4d0:	e8 cb 5f f0 ff       	call   0x4a14a0
59b4d5:	83 c4 14             	add    $0x14,%esp
59b4d8:	8b 44 24 10          	mov    0x10(%esp),%eax
59b4dc:	85 c0                	test   %eax,%eax
59b4de:	74 0e                	je     0x59b4ee
59b4e0:	68 34 a3 6c 00       	push   $0x6ca334
59b4e5:	50                   	push   %eax
59b4e6:	e8 a5 69 f1 ff       	call   0x4b1e90
59b4eb:	83 c4 08             	add    $0x8,%esp
59b4ee:	85 f6                	test   %esi,%esi
59b4f0:	74 0e                	je     0x59b500
59b4f2:	68 f0 a2 6c 00       	push   $0x6ca2f0
59b4f7:	56                   	push   %esi
59b4f8:	e8 93 69 f1 ff       	call   0x4b1e90
59b4fd:	83 c4 08             	add    $0x8,%esp
59b500:	5f                   	pop    %edi
59b501:	5e                   	pop    %esi
59b502:	5d                   	pop    %ebp
59b503:	33 c0                	xor    %eax,%eax
59b505:	5b                   	pop    %ebx
59b506:	83 c4 10             	add    $0x10,%esp
59b509:	c3                   	ret
59b50a:	cc                   	int3
59b50b:	cc                   	int3
59b50c:	cc                   	int3
59b50d:	cc                   	int3
59b50e:	cc                   	int3
59b50f:	cc                   	int3
59b510:	57                   	push   %edi
59b511:	8b 7c 24 0c          	mov    0xc(%esp),%edi
59b515:	68 48 a4 6c 00       	push   $0x6ca448
59b51a:	ff 74 24 18          	push   0x18(%esp)
59b51e:	ff 74 24 18          	push   0x18(%esp)
59b522:	ff 37                	push   (%edi)
59b524:	ff 74 24 18          	push   0x18(%esp)
59b528:	e8 43 00 00 00       	call   0x59b570
59b52d:	68 54 a4 6c 00       	push   $0x6ca454
59b532:	ff 74 24 2c          	push   0x2c(%esp)
59b536:	ff 74 24 2c          	push   0x2c(%esp)
59b53a:	ff 77 04             	push   0x4(%edi)
59b53d:	ff 74 24 2c          	push   0x2c(%esp)
59b541:	e8 2a 00 00 00       	call   0x59b570
59b546:	83 c4 28             	add    $0x28,%esp
59b549:	b8 01 00 00 00       	mov    $0x1,%eax
59b54e:	5f                   	pop    %edi
59b54f:	c3                   	ret
59b550:	68 34 a3 6c 00       	push   $0x6ca334
59b555:	ff 74 24 08          	push   0x8(%esp)
59b559:	e8 32 69 f1 ff       	call   0x4b1e90
59b55e:	83 c4 08             	add    $0x8,%esp
59b561:	c3                   	ret
59b562:	cc                   	int3
59b563:	cc                   	int3
59b564:	cc                   	int3
59b565:	cc                   	int3
59b566:	cc                   	int3
59b567:	cc                   	int3
59b568:	cc                   	int3
59b569:	cc                   	int3
59b56a:	cc                   	int3
59b56b:	cc                   	int3
59b56c:	cc                   	int3
59b56d:	cc                   	int3
59b56e:	cc                   	int3
59b56f:	cc                   	int3
59b570:	b8 04 00 00 00       	mov    $0x4,%eax
59b575:	e8 76 5f 04 00       	call   0x5e14f0
59b57a:	53                   	push   %ebx
59b57b:	55                   	push   %ebp
59b57c:	56                   	push   %esi
59b57d:	57                   	push   %edi
59b57e:	ff 74 24 1c          	push   0x1c(%esp)
59b582:	e8 89 30 f1 ff       	call   0x4ae610
59b587:	8b 74 24 28          	mov    0x28(%esp),%esi
59b58b:	83 c4 04             	add    $0x4,%esp
59b58e:	8b 7c 24 20          	mov    0x20(%esp),%edi
59b592:	85 c0                	test   %eax,%eax
59b594:	7e 18                	jle    0x59b5ae
59b596:	ff 74 24 28          	push   0x28(%esp)
59b59a:	68 ad 57 6e 00       	push   $0x6e57ad
59b59f:	56                   	push   %esi
59b5a0:	68 ac 80 6c 00       	push   $0x6c80ac
59b5a5:	57                   	push   %edi
59b5a6:	e8 25 39 f1 ff       	call   0x4aeed0
59b5ab:	83 c4 14             	add    $0x14,%esp
59b5ae:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
59b5b2:	33 ed                	xor    %ebp,%ebp
59b5b4:	53                   	push   %ebx
59b5b5:	e8 56 30 f1 ff       	call   0x4ae610
59b5ba:	83 c4 04             	add    $0x4,%esp
59b5bd:	85 c0                	test   %eax,%eax
59b5bf:	0f 8e 0f 01 00 00    	jle    0x59b6d4
59b5c5:	8d 46 02             	lea    0x2(%esi),%eax
59b5c8:	89 44 24 10          	mov    %eax,0x10(%esp)
59b5cc:	0f 1f 40 00          	nopl   0x0(%eax)
59b5d0:	55                   	push   %ebp
59b5d1:	53                   	push   %ebx
59b5d2:	e8 59 31 f1 ff       	call   0x4ae730
59b5d7:	68 ad 57 6e 00       	push   $0x6e57ad
59b5dc:	ff 74 24 1c          	push   0x1c(%esp)
59b5e0:	8b f0                	mov    %eax,%esi
59b5e2:	68 9c 80 6c 00       	push   $0x6c809c
59b5e7:	57                   	push   %edi
59b5e8:	e8 e3 38 f1 ff       	call   0x4aeed0
59b5ed:	8b 06                	mov    (%esi),%eax
59b5ef:	83 c4 18             	add    $0x18,%esp
59b5f2:	83 38 07             	cmpl   $0x7,(%eax)
59b5f5:	0f 85 ab 00 00 00    	jne    0x59b6a6
59b5fb:	8b 40 04             	mov    0x4(%eax),%eax
59b5fe:	68 60 a4 6c 00       	push   $0x6ca460
59b603:	57                   	push   %edi
59b604:	8b 58 08             	mov    0x8(%eax),%ebx
59b607:	8b 30                	mov    (%eax),%esi
59b609:	e8 02 73 f1 ff       	call   0x4b2910
59b60e:	83 c4 08             	add    $0x8,%esp
59b611:	83 fe 08             	cmp    $0x8,%esi
59b614:	75 37                	jne    0x59b64d
59b616:	0f b6 43 07          	movzbl 0x7(%ebx),%eax
59b61a:	50                   	push   %eax
59b61b:	0f b6 43 06          	movzbl 0x6(%ebx),%eax
59b61f:	50                   	push   %eax
59b620:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
59b624:	50                   	push   %eax
59b625:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
59b629:	50                   	push   %eax
59b62a:	0f b6 43 03          	movzbl 0x3(%ebx),%eax
59b62e:	50                   	push   %eax
59b62f:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
59b633:	50                   	push   %eax
59b634:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
59b638:	50                   	push   %eax
59b639:	0f b6 03             	movzbl (%ebx),%eax
59b63c:	50                   	push   %eax
59b63d:	68 64 a4 6c 00       	push   $0x6ca464
59b642:	57                   	push   %edi
59b643:	e8 88 38 f1 ff       	call   0x4aeed0
59b648:	83 c4 28             	add    $0x28,%esp
59b64b:	eb 63                	jmp    0x59b6b0
59b64d:	83 fe 20             	cmp    $0x20,%esi
59b650:	75 47                	jne    0x59b699
59b652:	33 f6                	xor    %esi,%esi
59b654:	0f b6 0b             	movzbl (%ebx),%ecx
59b657:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
59b65b:	c1 e1 08             	shl    $0x8,%ecx
59b65e:	0b c8                	or     %eax,%ecx
59b660:	51                   	push   %ecx
59b661:	68 50 8a 6c 00       	push   $0x6c8a50
59b666:	57                   	push   %edi
59b667:	e8 64 38 f1 ff       	call   0x4aeed0
59b66c:	83 c4 0c             	add    $0xc,%esp
59b66f:	8d 5b 02             	lea    0x2(%ebx),%ebx
59b672:	83 fe 07             	cmp    $0x7,%esi
59b675:	75 07                	jne    0x59b67e
59b677:	68 cc 69 6c 00       	push   $0x6c69cc
59b67c:	eb 0a                	jmp    0x59b688
59b67e:	83 fe 0f             	cmp    $0xf,%esi
59b681:	74 0e                	je     0x59b691
59b683:	68 40 d1 6b 00       	push   $0x6bd140
59b688:	57                   	push   %edi
59b689:	e8 82 72 f1 ff       	call   0x4b2910
59b68e:	83 c4 08             	add    $0x8,%esp
59b691:	46                   	inc    %esi
59b692:	83 fe 10             	cmp    $0x10,%esi
59b695:	7c bd                	jl     0x59b654
59b697:	eb 17                	jmp    0x59b6b0
59b699:	68 0c 8b 6c 00       	push   $0x6c8b0c
59b69e:	57                   	push   %edi
59b69f:	e8 2c 38 f1 ff       	call   0x4aeed0
59b6a4:	eb 07                	jmp    0x59b6ad
59b6a6:	50                   	push   %eax
59b6a7:	57                   	push   %edi
59b6a8:	e8 33 b6 ff ff       	call   0x596ce0
59b6ad:	83 c4 08             	add    $0x8,%esp
59b6b0:	68 b8 82 6b 00       	push   $0x6b82b8
59b6b5:	57                   	push   %edi
59b6b6:	e8 55 72 f1 ff       	call   0x4b2910
59b6bb:	ff 74 24 24          	push   0x24(%esp)
59b6bf:	45                   	inc    %ebp
59b6c0:	e8 4b 2f f1 ff       	call   0x4ae610
59b6c5:	8b 5c 24 28          	mov    0x28(%esp),%ebx
59b6c9:	83 c4 0c             	add    $0xc,%esp
59b6cc:	3b e8                	cmp    %eax,%ebp
59b6ce:	0f 8c fc fe ff ff    	jl     0x59b5d0
59b6d4:	5f                   	pop    %edi
59b6d5:	5e                   	pop    %esi
59b6d6:	5d                   	pop    %ebp
59b6d7:	b8 01 00 00 00       	mov    $0x1,%eax
59b6dc:	5b                   	pop    %ebx
59b6dd:	59                   	pop    %ecx
59b6de:	c3                   	ret
59b6df:	cc                   	int3
59b6e0:	68 70 bb 59 00       	push   $0x59bb70
59b6e5:	ff 74 24 08          	push   0x8(%esp)
59b6e9:	e8 52 2f f1 ff       	call   0x4ae640
59b6ee:	83 c4 08             	add    $0x8,%esp
59b6f1:	c3                   	ret
59b6f2:	cc                   	int3
59b6f3:	cc                   	int3
59b6f4:	cc                   	int3
59b6f5:	cc                   	int3
59b6f6:	cc                   	int3
59b6f7:	cc                   	int3
59b6f8:	cc                   	int3
59b6f9:	cc                   	int3
59b6fa:	cc                   	int3
59b6fb:	cc                   	int3
59b6fc:	cc                   	int3
59b6fd:	cc                   	int3
59b6fe:	cc                   	int3
59b6ff:	cc                   	int3
59b700:	b8 10 00 00 00       	mov    $0x10,%eax
59b705:	e8 e6 5d 04 00       	call   0x5e14f0
59b70a:	8b 44 24 18          	mov    0x18(%esp),%eax
59b70e:	ff 74 24 1c          	push   0x1c(%esp)
59b712:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
59b719:	00
59b71a:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
59b721:	00
59b722:	8b 00                	mov    (%eax),%eax
59b724:	89 44 24 10          	mov    %eax,0x10(%esp)
59b728:	8d 44 24 10          	lea    0x10(%esp),%eax
59b72c:	50                   	push   %eax
59b72d:	8d 44 24 0c          	lea    0xc(%esp),%eax
59b731:	50                   	push   %eax
59b732:	e8 09 86 f1 ff       	call   0x4b3d40
59b737:	83 c4 0c             	add    $0xc,%esp
59b73a:	85 c0                	test   %eax,%eax
59b73c:	75 04                	jne    0x59b742
59b73e:	83 c4 10             	add    $0x10,%esp
59b741:	c3                   	ret
59b742:	55                   	push   %ebp
59b743:	8b 6c 24 08          	mov    0x8(%esp),%ebp
59b747:	8b 55 00             	mov    0x0(%ebp),%edx
59b74a:	83 fa 02             	cmp    $0x2,%edx
59b74d:	0f 8c 09 02 00 00    	jl     0x59b95c
59b753:	8b 6d 08             	mov    0x8(%ebp),%ebp
59b756:	53                   	push   %ebx
59b757:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
59b75b:	0f b6 4d 01          	movzbl 0x1(%ebp),%ecx
59b75f:	83 c5 02             	add    $0x2,%ebp
59b762:	66 c1 e0 08          	shl    $0x8,%ax
59b766:	66 0b c8             	or     %ax,%cx
59b769:	0f b7 d9             	movzwl %cx,%ebx
59b76c:	8d 4a fe             	lea    -0x2(%edx),%ecx
59b76f:	3b d9                	cmp    %ecx,%ebx
59b771:	0f 85 e4 01 00 00    	jne    0x59b95b
59b777:	e8 84 2e f1 ff       	call   0x4ae600
59b77c:	89 44 24 08          	mov    %eax,0x8(%esp)
59b780:	85 c0                	test   %eax,%eax
59b782:	0f 84 d3 01 00 00    	je     0x59b95b
59b788:	66 85 db             	test   %bx,%bx
59b78b:	0f 84 ca 01 00 00    	je     0x59b95b
59b791:	56                   	push   %esi
59b792:	57                   	push   %edi
59b793:	66 83 fb 02          	cmp    $0x2,%bx
59b797:	0f 82 a2 01 00 00    	jb     0x59b93f
59b79d:	0f b6 45 00          	movzbl 0x0(%ebp),%eax
59b7a1:	81 c3 fe ff 00 00    	add    $0xfffe,%ebx
59b7a7:	0f b6 4d 01          	movzbl 0x1(%ebp),%ecx
59b7ab:	83 c5 02             	add    $0x2,%ebp
59b7ae:	66 c1 e0 08          	shl    $0x8,%ax
59b7b2:	66 0b c8             	or     %ax,%cx
59b7b5:	0f b7 f9             	movzwl %cx,%edi
59b7b8:	83 ff 01             	cmp    $0x1,%edi
59b7bb:	0f 82 7e 01 00 00    	jb     0x59b93f
59b7c1:	66 3b fb             	cmp    %bx,%di
59b7c4:	0f 87 75 01 00 00    	ja     0x59b93f
59b7ca:	68 d9 00 00 00       	push   $0xd9
59b7cf:	68 08 a5 6c 00       	push   $0x6ca508
59b7d4:	6a 28                	push   $0x28
59b7d6:	2b df                	sub    %edi,%ebx
59b7d8:	e8 d3 49 f0 ff       	call   0x4a01b0
59b7dd:	8b f0                	mov    %eax,%esi
59b7df:	83 c4 0c             	add    $0xc,%esp
59b7e2:	85 f6                	test   %esi,%esi
59b7e4:	0f 84 55 01 00 00    	je     0x59b93f
59b7ea:	56                   	push   %esi
59b7eb:	ff 74 24 14          	push   0x14(%esp)
59b7ef:	e8 9c 2e f1 ff       	call   0x4ae690
59b7f4:	83 c4 08             	add    $0x8,%esp
59b7f7:	85 c0                	test   %eax,%eax
59b7f9:	0f 84 37 01 00 00    	je     0x59b936
59b7ff:	68 e1 00 00 00       	push   $0xe1
59b804:	8b c7                	mov    %edi,%eax
59b806:	68 08 a5 6c 00       	push   $0x6ca508
59b80b:	50                   	push   %eax
59b80c:	89 44 24 24          	mov    %eax,0x24(%esp)
59b810:	e8 9b 49 f0 ff       	call   0x4a01b0
59b815:	83 c4 0c             	add    $0xc,%esp
59b818:	89 06                	mov    %eax,(%esi)
59b81a:	85 c0                	test   %eax,%eax
59b81c:	0f 84 1d 01 00 00    	je     0x59b93f
59b822:	57                   	push   %edi
59b823:	55                   	push   %ebp
59b824:	50                   	push   %eax
59b825:	e8 d6 76 04 00       	call   0x5e2f00
59b82a:	8b 0e                	mov    (%esi),%ecx
59b82c:	83 c4 0c             	add    $0xc,%esp
59b82f:	66 89 7e 04          	mov    %di,0x4(%esi)
59b833:	03 ef                	add    %edi,%ebp
59b835:	8a 01                	mov    (%ecx),%al
59b837:	41                   	inc    %ecx
59b838:	88 46 06             	mov    %al,0x6(%esi)
59b83b:	84 c0                	test   %al,%al
59b83d:	0f 85 e8 00 00 00    	jne    0x59b92b
59b843:	83 ff 2b             	cmp    $0x2b,%edi
59b846:	0f 82 f3 00 00 00    	jb     0x59b93f
59b84c:	89 4e 08             	mov    %ecx,0x8(%esi)
59b84f:	b8 20 00 00 00       	mov    $0x20,%eax
59b854:	66 89 46 0c          	mov    %ax,0xc(%esi)
59b858:	81 c7 d5 ff 00 00    	add    $0xffd5,%edi
59b85e:	0f b6 41 20          	movzbl 0x20(%ecx),%eax
59b862:	99                   	cltd
59b863:	c1 e0 18             	shl    $0x18,%eax
59b866:	89 46 14             	mov    %eax,0x14(%esi)
59b869:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
59b870:	0f b6 41 21          	movzbl 0x21(%ecx),%eax
59b874:	99                   	cltd
59b875:	c1 e0 10             	shl    $0x10,%eax
59b878:	09 46 14             	or     %eax,0x14(%esi)
59b87b:	0f b6 41 22          	movzbl 0x22(%ecx),%eax
59b87f:	99                   	cltd
59b880:	c1 e0 08             	shl    $0x8,%eax
59b883:	09 46 14             	or     %eax,0x14(%esi)
59b886:	0f b6 41 23          	movzbl 0x23(%ecx),%eax
59b88a:	99                   	cltd