5b9495:	2b c1                	sub    %ecx,%eax
5b9497:	83 e8 30             	sub    $0x30,%eax
5b949a:	83 f8 18             	cmp    $0x18,%eax
5b949d:	0f 83 a4 03 00 00    	jae    0x5b9847
5b94a3:	83 79 2c 10          	cmpl   $0x10,0x2c(%ecx)
5b94a7:	8d 41 18             	lea    0x18(%ecx),%eax
5b94aa:	72 02                	jb     0x5b94ae
5b94ac:	8b 00                	mov    (%eax),%eax
5b94ae:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b94b2:	72 02                	jb     0x5b94b6
5b94b4:	8b 09                	mov    (%ecx),%ecx
5b94b6:	6a 01                	push   $0x1
5b94b8:	50                   	push   %eax
5b94b9:	51                   	push   %ecx
5b94ba:	e8 11 7f ff ff       	call   0x5b13d0
5b94bf:	83 c4 0c             	add    $0xc,%esp
5b94c2:	89 07                	mov    %eax,(%edi)
5b94c4:	e9 e2 0d 00 00       	jmp    0x5ba2ab
5b94c9:	8b 46 04             	mov    0x4(%esi),%eax
5b94cc:	8b 16                	mov    (%esi),%edx
5b94ce:	2b c2                	sub    %edx,%eax
5b94d0:	83 e8 0c             	sub    $0xc,%eax
5b94d3:	83 f8 0c             	cmp    $0xc,%eax
5b94d6:	0f 83 6b 03 00 00    	jae    0x5b9847
5b94dc:	8b 42 04             	mov    0x4(%edx),%eax
5b94df:	8b 0a                	mov    (%edx),%ecx
5b94e1:	2b c1                	sub    %ecx,%eax
5b94e3:	83 e8 18             	sub    $0x18,%eax
5b94e6:	83 f8 18             	cmp    $0x18,%eax
5b94e9:	0f 83 58 03 00 00    	jae    0x5b9847
5b94ef:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b94f3:	72 02                	jb     0x5b94f7
5b94f5:	8b 09                	mov    (%ecx),%ecx
5b94f7:	6a 01                	push   $0x1
5b94f9:	51                   	push   %ecx
5b94fa:	e8 31 7a ff ff       	call   0x5b0f30
5b94ff:	83 c4 08             	add    $0x8,%esp
5b9502:	89 07                	mov    %eax,(%edi)
5b9504:	e9 a2 0d 00 00       	jmp    0x5ba2ab
5b9509:	c7 85 e8 fe ff ff 00 	movl   $0x0,-0x118(%ebp)
5b9510:	00 00 00
5b9513:	c7 85 ec fe ff ff 00 	movl   $0x0,-0x114(%ebp)
5b951a:	00 00 00
5b951d:	c7 85 f0 fe ff ff 00 	movl   $0x0,-0x110(%ebp)
5b9524:	00 00 00
5b9527:	8b 4e 04             	mov    0x4(%esi),%ecx
5b952a:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b952f:	2b 0e                	sub    (%esi),%ecx
5b9531:	f7 e9                	imul   %ecx
5b9533:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
5b953a:	d1 fa                	sar    $1,%edx
5b953c:	8b c2                	mov    %edx,%eax
5b953e:	c1 e8 1f             	shr    $0x1f,%eax
5b9541:	03 c2                	add    %edx,%eax
5b9543:	83 f8 01             	cmp    $0x1,%eax
5b9546:	0f 85 fb 02 00 00    	jne    0x5b9847
5b954c:	8b 0e                	mov    (%esi),%ecx
5b954e:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b9553:	8b 31                	mov    (%ecx),%esi
5b9555:	8b 49 04             	mov    0x4(%ecx),%ecx
5b9558:	2b ce                	sub    %esi,%ecx
5b955a:	f7 e9                	imul   %ecx
5b955c:	c1 fa 02             	sar    $0x2,%edx
5b955f:	8b c2                	mov    %edx,%eax
5b9561:	c1 e8 1f             	shr    $0x1f,%eax
5b9564:	03 c2                	add    %edx,%eax
5b9566:	83 f8 01             	cmp    $0x1,%eax
5b9569:	0f 85 d8 02 00 00    	jne    0x5b9847
5b956f:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
5b9573:	72 02                	jb     0x5b9577
5b9575:	8b 36                	mov    (%esi),%esi
5b9577:	6a 01                	push   $0x1
5b9579:	8d 85 e8 fe ff ff    	lea    -0x118(%ebp),%eax
5b957f:	56                   	push   %esi
5b9580:	50                   	push   %eax
5b9581:	e8 0a 6b ff ff       	call   0x5b0090
5b9586:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
5b958c:	33 c9                	xor    %ecx,%ecx
5b958e:	89 07                	mov    %eax,(%edi)
5b9590:	83 c4 0c             	add    $0xc,%esp
5b9593:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
5b9599:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b959e:	89 8d e4 fe ff ff    	mov    %ecx,-0x11c(%ebp)
5b95a4:	8b cf                	mov    %edi,%ecx
5b95a6:	2b ce                	sub    %esi,%ecx
5b95a8:	f7 e9                	imul   %ecx
5b95aa:	c1 fa 02             	sar    $0x2,%edx
5b95ad:	8b c2                	mov    %edx,%eax
5b95af:	c1 e8 1f             	shr    $0x1f,%eax
5b95b2:	03 c2                	add    %edx,%eax
5b95b4:	0f 84 e7 01 00 00    	je     0x5b97a1
5b95ba:	33 c0                	xor    %eax,%eax
5b95bc:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
5b95c2:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
5b95c9:	00 00 00
5b95cc:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b95d3:	00 00 00
5b95d6:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5b95dd:	00 00 00
5b95e0:	03 c6                	add    %esi,%eax
5b95e2:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
5b95e6:	50                   	push   %eax
5b95e7:	6a 00                	push   $0x0
5b95e9:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b95ef:	e8 fc 0e e9 ff       	call   0x44a4f0
5b95f4:	8b 7b 04             	mov    0x4(%ebx),%edi
5b95f7:	89 bd d4 fe ff ff    	mov    %edi,-0x12c(%ebp)
5b95fd:	3b 7b 08             	cmp    0x8(%ebx),%edi
5b9600:	0f 84 c3 00 00 00    	je     0x5b96c9
5b9606:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
5b960c:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
5b9612:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5b9618:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
5b961f:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5b9626:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
5b962c:	3b f0                	cmp    %eax,%esi
5b962e:	0f 84 8f 00 00 00    	je     0x5b96c3
5b9634:	8b c8                	mov    %eax,%ecx
5b9636:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b963b:	2b ce                	sub    %esi,%ecx
5b963d:	f7 e9                	imul   %ecx
5b963f:	8b cf                	mov    %edi,%ecx
5b9641:	c1 fa 02             	sar    $0x2,%edx
5b9644:	8b f2                	mov    %edx,%esi
5b9646:	c1 ee 1f             	shr    $0x1f,%esi
5b9649:	03 f2                	add    %edx,%esi
5b964b:	56                   	push   %esi
5b964c:	e8 0f ba e8 ff       	call   0x445060
5b9651:	8b f8                	mov    %eax,%edi
5b9653:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5b9656:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
5b965c:	89 85 cc fe ff ff    	mov    %eax,-0x134(%ebp)
5b9662:	8d 0c cf             	lea    (%edi,%ecx,8),%ecx
5b9665:	89 38                	mov    %edi,(%eax)
5b9667:	89 78 04             	mov    %edi,0x4(%eax)
5b966a:	89 48 08             	mov    %ecx,0x8(%eax)
5b966d:	8b b5 d8 fe ff ff    	mov    -0x128(%ebp),%esi
5b9673:	89 bd 4c ff ff ff    	mov    %edi,-0xb4(%ebp)
5b9679:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
5b967f:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
5b9685:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b968b:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
5b968f:	90                   	nop
5b9690:	56                   	push   %esi
5b9691:	8b cf                	mov    %edi,%ecx
5b9693:	e8 08 37 e8 ff       	call   0x43cda0
5b9698:	83 c7 18             	add    $0x18,%edi
5b969b:	83 c6 18             	add    $0x18,%esi
5b969e:	89 bd 50 ff ff ff    	mov    %edi,-0xb0(%ebp)
5b96a4:	3b f3                	cmp    %ebx,%esi
5b96a6:	75 e8                	jne    0x5b9690
5b96a8:	8b 85 d4 fe ff ff    	mov    -0x12c(%ebp),%eax
5b96ae:	8b 9d e0 fe ff ff    	mov    -0x120(%ebp),%ebx
5b96b4:	8b b5 d8 fe ff ff    	mov    -0x128(%ebp),%esi
5b96ba:	89 bd 4c ff ff ff    	mov    %edi,-0xb4(%ebp)
5b96c0:	89 78 04             	mov    %edi,0x4(%eax)
5b96c3:	83 43 04 0c          	addl   $0xc,0x4(%ebx)
5b96c7:	eb 15                	jmp    0x5b96de
5b96c9:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5b96cf:	8b cb                	mov    %ebx,%ecx
5b96d1:	50                   	push   %eax
5b96d2:	57                   	push   %edi
5b96d3:	e8 48 ac e8 ff       	call   0x444320
5b96d8:	8b b5 64 ff ff ff    	mov    -0x9c(%ebp),%esi
5b96de:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
5b96e2:	85 f6                	test   %esi,%esi
5b96e4:	74 7b                	je     0x5b9761
5b96e6:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5b96ec:	50                   	push   %eax
5b96ed:	ff b5 68 ff ff ff    	push   -0x98(%ebp)
5b96f3:	56                   	push   %esi
5b96f4:	e8 b7 ab e8 ff       	call   0x4442b0
5b96f9:	8b 8d 6c ff ff ff    	mov    -0x94(%ebp),%ecx
5b96ff:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b9704:	2b ce                	sub    %esi,%ecx
5b9706:	83 c4 0c             	add    $0xc,%esp
5b9709:	f7 e9                	imul   %ecx
5b970b:	c1 fa 02             	sar    $0x2,%edx
5b970e:	8b c2                	mov    %edx,%eax
5b9710:	c1 e8 1f             	shr    $0x1f,%eax
5b9713:	03 c2                	add    %edx,%eax
5b9715:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5b9718:	8b c6                	mov    %esi,%eax
5b971a:	c1 e1 03             	shl    $0x3,%ecx
5b971d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b9723:	72 14                	jb     0x5b9739
5b9725:	8b 76 fc             	mov    -0x4(%esi),%esi
5b9728:	83 c1 23             	add    $0x23,%ecx
5b972b:	2b c6                	sub    %esi,%eax
5b972d:	83 c0 fc             	add    $0xfffffffc,%eax
5b9730:	83 f8 1f             	cmp    $0x1f,%eax
5b9733:	0f 87 98 0b 00 00    	ja     0x5ba2d1
5b9739:	51                   	push   %ecx
5b973a:	56                   	push   %esi
5b973b:	e8 32 79 02 00       	call   0x5e1072
5b9740:	83 c4 08             	add    $0x8,%esp
5b9743:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
5b974a:	00 00 00
5b974d:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b9754:	00 00 00
5b9757:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5b975e:	00 00 00
5b9761:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
5b9767:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b976c:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
5b9772:	8b cf                	mov    %edi,%ecx
5b9774:	ff 85 e4 fe ff ff    	incl   -0x11c(%ebp)
5b977a:	2b ce                	sub    %esi,%ecx
5b977c:	83 85 f4 fe ff ff 18 	addl   $0x18,-0x10c(%ebp)
5b9783:	f7 e9                	imul   %ecx
5b9785:	c1 fa 02             	sar    $0x2,%edx
5b9788:	8b c2                	mov    %edx,%eax
5b978a:	c1 e8 1f             	shr    $0x1f,%eax
5b978d:	03 c2                	add    %edx,%eax
5b978f:	39 85 e4 fe ff ff    	cmp    %eax,-0x11c(%ebp)
5b9795:	8b 85 f4 fe ff ff    	mov    -0x10c(%ebp),%eax
5b979b:	0f 82 21 fe ff ff    	jb     0x5b95c2
5b97a1:	85 f6                	test   %esi,%esi
5b97a3:	0f 84 02 0b 00 00    	je     0x5ba2ab
5b97a9:	3b f7                	cmp    %edi,%esi
5b97ab:	74 54                	je     0x5b9801
5b97ad:	0f 1f 00             	nopl   (%eax)
5b97b0:	8b 4e 14             	mov    0x14(%esi),%ecx
5b97b3:	83 f9 10             	cmp    $0x10,%ecx
5b97b6:	72 2b                	jb     0x5b97e3
5b97b8:	8b 06                	mov    (%esi),%eax
5b97ba:	41                   	inc    %ecx
5b97bb:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b97c1:	72 16                	jb     0x5b97d9
5b97c3:	8b 50 fc             	mov    -0x4(%eax),%edx
5b97c6:	83 c1 23             	add    $0x23,%ecx
5b97c9:	2b c2                	sub    %edx,%eax
5b97cb:	83 c0 fc             	add    $0xfffffffc,%eax
5b97ce:	83 f8 1f             	cmp    $0x1f,%eax
5b97d1:	0f 87 fa 0a 00 00    	ja     0x5ba2d1
5b97d7:	8b c2                	mov    %edx,%eax
5b97d9:	51                   	push   %ecx
5b97da:	50                   	push   %eax
5b97db:	e8 92 78 02 00       	call   0x5e1072
5b97e0:	83 c4 08             	add    $0x8,%esp
5b97e3:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5b97ea:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
5b97f1:	c6 06 00             	movb   $0x0,(%esi)
5b97f4:	83 c6 18             	add    $0x18,%esi
5b97f7:	3b f7                	cmp    %edi,%esi
5b97f9:	75 b5                	jne    0x5b97b0
5b97fb:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
5b9801:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
5b9807:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b980c:	2b ce                	sub    %esi,%ecx
5b980e:	f7 e9                	imul   %ecx
5b9810:	c1 fa 02             	sar    $0x2,%edx
5b9813:	8b c2                	mov    %edx,%eax
5b9815:	c1 e8 1f             	shr    $0x1f,%eax
5b9818:	03 c2                	add    %edx,%eax
5b981a:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5b981d:	8b c6                	mov    %esi,%eax
5b981f:	c1 e1 03             	shl    $0x3,%ecx
5b9822:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b9828:	0f 82 40 fc ff ff    	jb     0x5b946e
5b982e:	8b 76 fc             	mov    -0x4(%esi),%esi
5b9831:	83 c1 23             	add    $0x23,%ecx
5b9834:	2b c6                	sub    %esi,%eax
5b9836:	83 c0 fc             	add    $0xfffffffc,%eax
5b9839:	83 f8 1f             	cmp    $0x1f,%eax
5b983c:	0f 87 8f 0a 00 00    	ja     0x5ba2d1
5b9842:	e9 27 fc ff ff       	jmp    0x5b946e
5b9847:	c7 07 0a 00 00 00    	movl   $0xa,(%edi)
5b984d:	e9 59 0a 00 00       	jmp    0x5ba2ab
5b9852:	6a 01                	push   $0x1
5b9854:	e8 27 93 ff ff       	call   0x5b2b80
5b9859:	83 c4 04             	add    $0x4,%esp
5b985c:	89 07                	mov    %eax,(%edi)
5b985e:	e9 48 0a 00 00       	jmp    0x5ba2ab
5b9863:	6a 50                	push   $0x50
5b9865:	c7 85 d0 fe ff ff 00 	movl   $0x0,-0x130(%ebp)
5b986c:	00 00 00
5b986f:	c7 85 d4 fe ff ff 00 	movl   $0x0,-0x12c(%ebp)
5b9876:	00 00 00
5b9879:	e8 c4 77 02 00       	call   0x5e1042
5b987e:	89 00                	mov    %eax,(%eax)
5b9880:	89 40 04             	mov    %eax,0x4(%eax)
5b9883:	89 85 d0 fe ff ff    	mov    %eax,-0x130(%ebp)
5b9889:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
5b988f:	c7 45 fc 0c 00 00 00 	movl   $0xc,-0x4(%ebp)
5b9896:	6a 01                	push   $0x1
5b9898:	50                   	push   %eax
5b9899:	e8 12 9c ff ff       	call   0x5b34b0
5b989e:	8b 9d d0 fe ff ff    	mov    -0x130(%ebp),%ebx
5b98a4:	83 c4 0c             	add    $0xc,%esp
5b98a7:	89 07                	mov    %eax,(%edi)
5b98a9:	8b 33                	mov    (%ebx),%esi
5b98ab:	89 b5 d8 fe ff ff    	mov    %esi,-0x128(%ebp)
5b98b1:	3b f3                	cmp    %ebx,%esi
5b98b3:	0f 84 fe 01 00 00    	je     0x5b9ab7
5b98b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5b98c0:	c7 85 64 ff ff ff 00 	movl   $0x0,-0x9c(%ebp)
5b98c7:	00 00 00
5b98ca:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
5b98d1:	00 00 00
5b98d4:	c7 85 6c ff ff ff 00 	movl   $0x0,-0x94(%ebp)
5b98db:	00 00 00
5b98de:	8d 46 08             	lea    0x8(%esi),%eax
5b98e1:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
5b98e5:	50                   	push   %eax
5b98e6:	6a 00                	push   $0x0
5b98e8:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b98ee:	e8 fd 0b e9 ff       	call   0x44a4f0
5b98f3:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b98f9:	8d 46 20             	lea    0x20(%esi),%eax
5b98fc:	50                   	push   %eax
5b98fd:	3b 9d 6c ff ff ff    	cmp    -0x94(%ebp),%ebx
5b9903:	74 12                	je     0x5b9917
5b9905:	8b cb                	mov    %ebx,%ecx
5b9907:	e8 94 34 e8 ff       	call   0x43cda0
5b990c:	83 c3 18             	add    $0x18,%ebx
5b990f:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
5b9915:	eb 12                	jmp    0x5b9929
5b9917:	53                   	push   %ebx
5b9918:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b991e:	e8 cd 0b e9 ff       	call   0x44a4f0
5b9923:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b9929:	8d 46 38             	lea    0x38(%esi),%eax
5b992c:	50                   	push   %eax
5b992d:	3b 9d 6c ff ff ff    	cmp    -0x94(%ebp),%ebx
5b9933:	74 12                	je     0x5b9947
5b9935:	8b cb                	mov    %ebx,%ecx
5b9937:	e8 64 34 e8 ff       	call   0x43cda0
5b993c:	83 c3 18             	add    $0x18,%ebx
5b993f:	89 9d 68 ff ff ff    	mov    %ebx,-0x98(%ebp)
5b9945:	eb 12                	jmp    0x5b9959
5b9947:	53                   	push   %ebx
5b9948:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5b994e:	e8 9d 0b e9 ff       	call   0x44a4f0
5b9953:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
5b9959:	8b 85 e0 fe ff ff    	mov    -0x120(%ebp),%eax
5b995f:	8b 48 04             	mov    0x4(%eax),%ecx
5b9962:	89 8d e4 fe ff ff    	mov    %ecx,-0x11c(%ebp)
5b9968:	3b 48 08             	cmp    0x8(%eax),%ecx
5b996b:	0f 84 b8 00 00 00    	je     0x5b9a29
5b9971:	8b 95 64 ff ff ff    	mov    -0x9c(%ebp),%edx
5b9977:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5b997d:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
5b9984:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
5b998b:	3b d3                	cmp    %ebx,%edx
5b998d:	0f 84 90 00 00 00    	je     0x5b9a23
5b9993:	8b cb                	mov    %ebx,%ecx
5b9995:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b999a:	2b ca                	sub    %edx,%ecx
5b999c:	f7 e9                	imul   %ecx