5bb615:	f7 e9                	imul   %ecx
5bb617:	c1 fa 03             	sar    $0x3,%edx
5bb61a:	8b c2                	mov    %edx,%eax
5bb61c:	c1 e8 1f             	shr    $0x1f,%eax
5bb61f:	03 c2                	add    %edx,%eax
5bb621:	89 45 dc             	mov    %eax,-0x24(%ebp)
5bb624:	3d 55 55 55 05       	cmp    $0x5555555,%eax
5bb629:	0f 84 86 01 00 00    	je     0x5bb7b5
5bb62f:	8b 4f 08             	mov    0x8(%edi),%ecx
5bb632:	8d 58 01             	lea    0x1(%eax),%ebx
5bb635:	2b ce                	sub    %esi,%ecx
5bb637:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5bb63c:	f7 e9                	imul   %ecx
5bb63e:	b8 55 55 55 05       	mov    $0x5555555,%eax
5bb643:	c1 fa 03             	sar    $0x3,%edx
5bb646:	8b ca                	mov    %edx,%ecx
5bb648:	c1 e9 1f             	shr    $0x1f,%ecx
5bb64b:	03 ca                	add    %edx,%ecx
5bb64d:	8b d1                	mov    %ecx,%edx
5bb64f:	d1 ea                	shr    $1,%edx
5bb651:	2b c2                	sub    %edx,%eax
5bb653:	3b c8                	cmp    %eax,%ecx
5bb655:	76 07                	jbe    0x5bb65e
5bb657:	8b c3                	mov    %ebx,%eax
5bb659:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5bb65c:	eb 0b                	jmp    0x5bb669
5bb65e:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5bb661:	3b c3                	cmp    %ebx,%eax
5bb663:	0f 42 c3             	cmovb  %ebx,%eax
5bb666:	89 45 e0             	mov    %eax,-0x20(%ebp)
5bb669:	3d 55 55 55 05       	cmp    $0x5555555,%eax
5bb66e:	0f 87 3c 01 00 00    	ja     0x5bb7b0
5bb674:	8d 1c 40             	lea    (%eax,%eax,2),%ebx
5bb677:	c1 e3 04             	shl    $0x4,%ebx
5bb67a:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
5bb680:	72 27                	jb     0x5bb6a9
5bb682:	8d 43 23             	lea    0x23(%ebx),%eax
5bb685:	3b c3                	cmp    %ebx,%eax
5bb687:	0f 86 23 01 00 00    	jbe    0x5bb7b0
5bb68d:	50                   	push   %eax
5bb68e:	e8 af 59 02 00       	call   0x5e1042
5bb693:	83 c4 04             	add    $0x4,%esp
5bb696:	85 c0                	test   %eax,%eax
5bb698:	0f 84 1c 01 00 00    	je     0x5bb7ba
5bb69e:	8d 70 23             	lea    0x23(%eax),%esi
5bb6a1:	83 e6 e0             	and    $0xffffffe0,%esi
5bb6a4:	89 46 fc             	mov    %eax,-0x4(%esi)
5bb6a7:	eb 16                	jmp    0x5bb6bf
5bb6a9:	85 db                	test   %ebx,%ebx
5bb6ab:	74 10                	je     0x5bb6bd
5bb6ad:	53                   	push   %ebx
5bb6ae:	e8 8f 59 02 00       	call   0x5e1042
5bb6b3:	83 c4 04             	add    $0x4,%esp
5bb6b6:	89 45 ec             	mov    %eax,-0x14(%ebp)
5bb6b9:	8b f0                	mov    %eax,%esi
5bb6bb:	eb 05                	jmp    0x5bb6c2
5bb6bd:	33 f6                	xor    %esi,%esi
5bb6bf:	89 75 ec             	mov    %esi,-0x14(%ebp)
5bb6c2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5bb6c5:	ff 75 0c             	push   0xc(%ebp)
5bb6c8:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5bb6cf:	8d 04 40             	lea    (%eax,%eax,2),%eax
5bb6d2:	c1 e0 04             	shl    $0x4,%eax
5bb6d5:	03 c6                	add    %esi,%eax
5bb6d7:	89 45 e8             	mov    %eax,-0x18(%ebp)
5bb6da:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5bb6dd:	8d 48 30             	lea    0x30(%eax),%ecx
5bb6e0:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5bb6e3:	8b c8                	mov    %eax,%ecx
5bb6e5:	e8 b6 16 e8 ff       	call   0x43cda0
5bb6ea:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5bb6ed:	ff 75 10             	push   0x10(%ebp)
5bb6f0:	83 c1 18             	add    $0x18,%ecx
5bb6f3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5bb6f7:	e8 a4 16 e8 ff       	call   0x43cda0
5bb6fc:	8b 47 04             	mov    0x4(%edi),%eax
5bb6ff:	8b 55 08             	mov    0x8(%ebp),%edx
5bb702:	8b 0f                	mov    (%edi),%ecx
5bb704:	3b d0                	cmp    %eax,%edx
5bb706:	75 04                	jne    0x5bb70c
5bb708:	8b d6                	mov    %esi,%edx
5bb70a:	eb 15                	jmp    0x5bb721
5bb70c:	57                   	push   %edi
5bb70d:	56                   	push   %esi
5bb70e:	52                   	push   %edx
5bb70f:	51                   	push   %ecx
5bb710:	e8 0b 0a ef ff       	call   0x4ac120
5bb715:	8b 4d 08             	mov    0x8(%ebp),%ecx
5bb718:	83 c4 10             	add    $0x10,%esp
5bb71b:	8b 47 04             	mov    0x4(%edi),%eax
5bb71e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5bb721:	57                   	push   %edi
5bb722:	52                   	push   %edx
5bb723:	50                   	push   %eax
5bb724:	51                   	push   %ecx
5bb725:	e8 f6 09 ef ff       	call   0x4ac120
5bb72a:	8b 0f                	mov    (%edi),%ecx
5bb72c:	83 c4 10             	add    $0x10,%esp
5bb72f:	85 c9                	test   %ecx,%ecx
5bb731:	74 4f                	je     0x5bb782
5bb733:	57                   	push   %edi
5bb734:	ff 77 04             	push   0x4(%edi)
5bb737:	51                   	push   %ecx
5bb738:	e8 93 fe ed ff       	call   0x49b5d0
5bb73d:	8b 4f 08             	mov    0x8(%edi),%ecx
5bb740:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5bb745:	2b 0f                	sub    (%edi),%ecx
5bb747:	83 c4 0c             	add    $0xc,%esp
5bb74a:	f7 e9                	imul   %ecx
5bb74c:	c1 fa 03             	sar    $0x3,%edx
5bb74f:	8b c2                	mov    %edx,%eax
5bb751:	c1 e8 1f             	shr    $0x1f,%eax
5bb754:	03 c2                	add    %edx,%eax
5bb756:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5bb759:	8b 07                	mov    (%edi),%eax
5bb75b:	c1 e1 04             	shl    $0x4,%ecx
5bb75e:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5bb764:	72 12                	jb     0x5bb778
5bb766:	8b 50 fc             	mov    -0x4(%eax),%edx
5bb769:	83 c1 23             	add    $0x23,%ecx
5bb76c:	2b c2                	sub    %edx,%eax
5bb76e:	83 c0 fc             	add    $0xfffffffc,%eax
5bb771:	83 f8 1f             	cmp    $0x1f,%eax
5bb774:	77 44                	ja     0x5bb7ba
5bb776:	8b c2                	mov    %edx,%eax
5bb778:	51                   	push   %ecx
5bb779:	50                   	push   %eax
5bb77a:	e8 f3 58 02 00       	call   0x5e1072
5bb77f:	83 c4 08             	add    $0x8,%esp
5bb782:	8b 45 dc             	mov    -0x24(%ebp),%eax
5bb785:	40                   	inc    %eax
5bb786:	89 37                	mov    %esi,(%edi)
5bb788:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
5bb78b:	8b 45 e8             	mov    -0x18(%ebp),%eax
5bb78e:	c1 e1 04             	shl    $0x4,%ecx
5bb791:	03 ce                	add    %esi,%ecx
5bb793:	89 4f 04             	mov    %ecx,0x4(%edi)
5bb796:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
5bb799:	89 4f 08             	mov    %ecx,0x8(%edi)
5bb79c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5bb79f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5bb7a6:	59                   	pop    %ecx
5bb7a7:	5f                   	pop    %edi
5bb7a8:	5e                   	pop    %esi
5bb7a9:	5b                   	pop    %ebx
5bb7aa:	8b e5                	mov    %ebp,%esp
5bb7ac:	5d                   	pop    %ebp
5bb7ad:	c2 0c 00             	ret    $0xc
5bb7b0:	e8 2b 97 e8 ff       	call   0x444ee0
5bb7b5:	e8 86 98 e8 ff       	call   0x445040
5bb7ba:	e8 70 17 03 00       	call   0x5ecf2f
5bb7bf:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5bb7c2:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5bb7c5:	50                   	push   %eax
5bb7c6:	50                   	push   %eax
5bb7c7:	e8 f4 09 ef ff       	call   0x4ac1c0
5bb7cc:	ff 75 e0             	push   -0x20(%ebp)
5bb7cf:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5bb7d2:	ff 75 ec             	push   -0x14(%ebp)
5bb7d5:	e8 16 0a ef ff       	call   0x4ac1f0
5bb7da:	6a 00                	push   $0x0
5bb7dc:	6a 00                	push   $0x0
5bb7de:	e8 4f 72 02 00       	call   0x5e2a32
5bb7e3:	cc                   	int3
5bb7e4:	cc                   	int3
5bb7e5:	cc                   	int3
5bb7e6:	cc                   	int3
5bb7e7:	cc                   	int3
5bb7e8:	cc                   	int3
5bb7e9:	cc                   	int3
5bb7ea:	cc                   	int3
5bb7eb:	cc                   	int3
5bb7ec:	cc                   	int3
5bb7ed:	cc                   	int3
5bb7ee:	cc                   	int3
5bb7ef:	cc                   	int3
5bb7f0:	55                   	push   %ebp
5bb7f1:	8b ec                	mov    %esp,%ebp
5bb7f3:	6a ff                	push   $0xffffffff
5bb7f5:	68 ef ea 65 00       	push   $0x65eaef
5bb7fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5bb800:	50                   	push   %eax
5bb801:	83 ec 08             	sub    $0x8,%esp
5bb804:	56                   	push   %esi
5bb805:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5bb80a:	33 c5                	xor    %ebp,%eax
5bb80c:	50                   	push   %eax
5bb80d:	8d 45 f4             	lea    -0xc(%ebp),%eax
5bb810:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5bb816:	8b f1                	mov    %ecx,%esi
5bb818:	89 75 f0             	mov    %esi,-0x10(%ebp)
5bb81b:	89 75 ec             	mov    %esi,-0x14(%ebp)
5bb81e:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
5bb824:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5bb82b:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
5bb832:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5bb839:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
5bb840:	c7 46 20 0f 00 00 00 	movl   $0xf,0x20(%esi)
5bb847:	c6 46 0c 00          	movb   $0x0,0xc(%esi)
5bb84b:	c7 46 34 00 00 00 00 	movl   $0x0,0x34(%esi)
5bb852:	c7 46 38 0f 00 00 00 	movl   $0xf,0x38(%esi)
5bb859:	c6 46 24 00          	movb   $0x0,0x24(%esi)
5bb85d:	c7 46 4c 00 00 00 00 	movl   $0x0,0x4c(%esi)
5bb864:	c7 46 50 0f 00 00 00 	movl   $0xf,0x50(%esi)
5bb86b:	c6 46 3c 00          	movb   $0x0,0x3c(%esi)
5bb86f:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
5bb876:	c7 46 68 0f 00 00 00 	movl   $0xf,0x68(%esi)
5bb87d:	c6 46 54 00          	movb   $0x0,0x54(%esi)
5bb881:	c7 46 6c 00 00 00 00 	movl   $0x0,0x6c(%esi)
5bb888:	c7 46 70 00 00 00 00 	movl   $0x0,0x70(%esi)
5bb88f:	c7 46 74 00 00 00 00 	movl   $0x0,0x74(%esi)
5bb896:	8d 45 08             	lea    0x8(%ebp),%eax
5bb899:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5bb89d:	50                   	push   %eax
5bb89e:	c6 46 78 00          	movb   $0x0,0x78(%esi)
5bb8a2:	e8 e9 05 00 00       	call   0x5bbe90
5bb8a7:	8b 55 1c             	mov    0x1c(%ebp),%edx
5bb8aa:	83 fa 10             	cmp    $0x10,%edx
5bb8ad:	72 28                	jb     0x5bb8d7
5bb8af:	8b 4d 08             	mov    0x8(%ebp),%ecx
5bb8b2:	42                   	inc    %edx
5bb8b3:	8b c1                	mov    %ecx,%eax
5bb8b5:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5bb8bb:	72 10                	jb     0x5bb8cd
5bb8bd:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5bb8c0:	83 c2 23             	add    $0x23,%edx
5bb8c3:	2b c1                	sub    %ecx,%eax
5bb8c5:	83 c0 fc             	add    $0xfffffffc,%eax
5bb8c8:	83 f8 1f             	cmp    $0x1f,%eax
5bb8cb:	77 1e                	ja     0x5bb8eb
5bb8cd:	52                   	push   %edx
5bb8ce:	51                   	push   %ecx
5bb8cf:	e8 9e 57 02 00       	call   0x5e1072
5bb8d4:	83 c4 08             	add    $0x8,%esp
5bb8d7:	8b c6                	mov    %esi,%eax
5bb8d9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5bb8dc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5bb8e3:	59                   	pop    %ecx
5bb8e4:	5e                   	pop    %esi
5bb8e5:	8b e5                	mov    %ebp,%esp
5bb8e7:	5d                   	pop    %ebp
5bb8e8:	c2 18 00             	ret    $0x18
5bb8eb:	e8 3f 16 03 00       	call   0x5ecf2f
5bb8f0:	cc                   	int3
5bb8f1:	cc                   	int3
5bb8f2:	cc                   	int3
5bb8f3:	cc                   	int3
5bb8f4:	cc                   	int3
5bb8f5:	cc                   	int3
5bb8f6:	cc                   	int3
5bb8f7:	cc                   	int3
5bb8f8:	cc                   	int3
5bb8f9:	cc                   	int3
5bb8fa:	cc                   	int3
5bb8fb:	cc                   	int3
5bb8fc:	cc                   	int3
5bb8fd:	cc                   	int3
5bb8fe:	cc                   	int3
5bb8ff:	cc                   	int3
5bb900:	0f 57 c0             	xorps  %xmm0,%xmm0
5bb903:	c7 01 30 aa 68 00    	movl   $0x68aa30,(%ecx)
5bb909:	66 0f d6 41 04       	movq   %xmm0,0x4(%ecx)
5bb90e:	8b c1                	mov    %ecx,%eax
5bb910:	c3                   	ret
5bb911:	cc                   	int3
5bb912:	cc                   	int3
5bb913:	cc                   	int3
5bb914:	cc                   	int3
5bb915:	cc                   	int3
5bb916:	cc                   	int3
5bb917:	cc                   	int3
5bb918:	cc                   	int3
5bb919:	cc                   	int3
5bb91a:	cc                   	int3
5bb91b:	cc                   	int3
5bb91c:	cc                   	int3
5bb91d:	cc                   	int3
5bb91e:	cc                   	int3
5bb91f:	cc                   	int3
5bb920:	55                   	push   %ebp
5bb921:	8b ec                	mov    %esp,%ebp
5bb923:	6a ff                	push   $0xffffffff
5bb925:	68 8b eb 65 00       	push   $0x65eb8b
5bb92a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5bb930:	50                   	push   %eax
5bb931:	81 ec e4 00 00 00    	sub    $0xe4,%esp
5bb937:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5bb93c:	33 c5                	xor    %ebp,%eax
5bb93e:	89 45 ec             	mov    %eax,-0x14(%ebp)
5bb941:	53                   	push   %ebx
5bb942:	56                   	push   %esi
5bb943:	57                   	push   %edi
5bb944:	50                   	push   %eax
5bb945:	8d 45 f4             	lea    -0xc(%ebp),%eax
5bb948:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5bb94e:	89 65 f0             	mov    %esp,-0x10(%ebp)
5bb951:	8b d9                	mov    %ecx,%ebx
5bb953:	80 7b 78 00          	cmpb   $0x0,0x78(%ebx)
5bb957:	8b 45 08             	mov    0x8(%ebp),%eax
5bb95a:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
5bb960:	75 07                	jne    0x5bb969
5bb962:	32 c0                	xor    %al,%al
5bb964:	e9 85 04 00 00       	jmp    0x5bbdee
5bb969:	6a 00                	push   $0x0
5bb96b:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
5bb971:	c6 85 6b ff ff ff 01 	movb   $0x1,-0x95(%ebp)
5bb978:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5bb97f:	e8 3c 44 fc ff       	call   0x57fdc0
5bb984:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
5bb98a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5bb98e:	e8 2d a6 fc ff       	call   0x585fc0
5bb993:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5bb99a:	c7 45 b8 0f 00 00 00 	movl   $0xf,-0x48(%ebp)
5bb9a1:	c6 45 a4 00          	movb   $0x0,-0x5c(%ebp)
5bb9a5:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
5bb9ac:	c7 45 d0 0f 00 00 00 	movl   $0xf,-0x30(%ebp)
5bb9b3:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
5bb9b7:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
5bb9be:	c7 45 e8 0f 00 00 00 	movl   $0xf,-0x18(%ebp)
5bb9c5:	c6 45 d4 00          	movb   $0x0,-0x2c(%ebp)
5bb9c9:	8b 43 08             	mov    0x8(%ebx),%eax
5bb9cc:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
5bb9d0:	83 e8 00             	sub    $0x0,%eax
5bb9d3:	74 20                	je     0x5bb9f5
5bb9d5:	83 e8 01             	sub    $0x1,%eax
5bb9d8:	74 12                	je     0x5bb9ec
5bb9da:	83 e8 01             	sub    $0x1,%eax
5bb9dd:	0f 85 36 04 00 00    	jne    0x5bbe19
5bb9e3:	6a 03                	push   $0x3
5bb9e5:	68 bc e2 6c 00       	push   $0x6ce2bc
5bb9ea:	eb 10                	jmp    0x5bb9fc
5bb9ec:	6a 03                	push   $0x3
5bb9ee:	68 b8 e2 6c 00       	push   $0x6ce2b8
5bb9f3:	eb 07                	jmp    0x5bb9fc
5bb9f5:	6a 03                	push   $0x3
5bb9f7:	68 c0 e2 6c 00       	push   $0x6ce2c0
5bb9fc:	8d 4d bc             	lea    -0x44(%ebp),%ecx
5bb9ff:	e8 3c 98 e8 ff       	call   0x445240
5bba04:	8b 43 04             	mov    0x4(%ebx),%eax
5bba07:	83 e8 00             	sub    $0x0,%eax
5bba0a:	74 20                	je     0x5bba2c
5bba0c:	83 e8 01             	sub    $0x1,%eax
5bba0f:	74 12                	je     0x5bba23
5bba11:	83 e8 01             	sub    $0x1,%eax
5bba14:	0f 85 1b 04 00 00    	jne    0x5bbe35
5bba1a:	6a 03                	push   $0x3
5bba1c:	68 b4 e2 6c 00       	push   $0x6ce2b4
5bba21:	eb 10                	jmp    0x5bba33
5bba23:	6a 03                	push   $0x3
5bba25:	68 ac e2 6c 00       	push   $0x6ce2ac