4c56b0:	8b 4c b3 04          	mov    0x4(%ebx,%esi,4),%ecx
4c56b4:	e8 a7 ff ff ff       	call   0x4c5660
4c56b9:	46                   	inc    %esi
4c56ba:	3b f7                	cmp    %edi,%esi
4c56bc:	7c f2                	jl     0x4c56b0
4c56be:	8b 7d f8             	mov    -0x8(%ebp),%edi
4c56c1:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
4c56c8:	8b 47 34             	mov    0x34(%edi),%eax
4c56cb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c56ce:	85 c0                	test   %eax,%eax
4c56d0:	7e 26                	jle    0x4c56f8
4c56d2:	8b 5f 3c             	mov    0x3c(%edi),%ebx
4c56d5:	33 f6                	xor    %esi,%esi
4c56d7:	8b f8                	mov    %eax,%edi
4c56d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4c56e0:	8b 4c b3 04          	mov    0x4(%ebx,%esi,4),%ecx
4c56e4:	e8 c7 4c ff ff       	call   0x4ba3b0
4c56e9:	46                   	inc    %esi
4c56ea:	3b f7                	cmp    %edi,%esi
4c56ec:	7c f2                	jl     0x4c56e0
4c56ee:	8b 7d f8             	mov    -0x8(%ebp),%edi
4c56f1:	c7 47 34 00 00 00 00 	movl   $0x0,0x34(%edi)
4c56f8:	8b 47 44             	mov    0x44(%edi),%eax
4c56fb:	89 45 e0             	mov    %eax,-0x20(%ebp)
4c56fe:	85 c0                	test   %eax,%eax
4c5700:	0f 8e a6 00 00 00    	jle    0x4c57ac
4c5706:	8b 47 4c             	mov    0x4c(%edi),%eax
4c5709:	83 c0 04             	add    $0x4,%eax
4c570c:	33 f6                	xor    %esi,%esi
4c570e:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c5711:	89 75 fc             	mov    %esi,-0x4(%ebp)
4c5714:	8b 1c b0             	mov    (%eax,%esi,4),%ebx
4c5717:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4c571a:	8b 43 08             	mov    0x8(%ebx),%eax
4c571d:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c5720:	a8 01                	test   $0x1,%al
4c5722:	74 4e                	je     0x4c5772
4c5724:	8b 7b 10             	mov    0x10(%ebx),%edi
4c5727:	89 7d e8             	mov    %edi,-0x18(%ebp)
4c572a:	8d 4f 08             	lea    0x8(%edi),%ecx
4c572d:	e8 5e 21 fe ff       	call   0x4a7890
4c5732:	8b 47 18             	mov    0x18(%edi),%eax
4c5735:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c5738:	85 c0                	test   %eax,%eax
4c573a:	7e 25                	jle    0x4c5761
4c573c:	8b 7f 20             	mov    0x20(%edi),%edi
4c573f:	33 f6                	xor    %esi,%esi
4c5741:	8b d8                	mov    %eax,%ebx
4c5743:	8b 4c b7 04          	mov    0x4(%edi,%esi,4),%ecx
4c5747:	e8 24 ba ff ff       	call   0x4c1170
4c574c:	46                   	inc    %esi
4c574d:	3b f3                	cmp    %ebx,%esi
4c574f:	7c f2                	jl     0x4c5743
4c5751:	8b 7d e8             	mov    -0x18(%ebp),%edi
4c5754:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4c5757:	8b 75 fc             	mov    -0x4(%ebp),%esi
4c575a:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
4c5761:	f6 47 04 01          	testb  $0x1,0x4(%edi)
4c5765:	8d 4f 04             	lea    0x4(%edi),%ecx
4c5768:	74 05                	je     0x4c576f
4c576a:	e8 41 af f8 ff       	call   0x4506b0
4c576f:	8b 45 f0             	mov    -0x10(%ebp),%eax
4c5772:	a8 06                	test   $0x6,%al
4c5774:	74 08                	je     0x4c577e
4c5776:	0f 57 c0             	xorps  %xmm0,%xmm0
4c5779:	66 0f d6 43 14       	movq   %xmm0,0x14(%ebx)
4c577e:	8d 4b 04             	lea    0x4(%ebx),%ecx
4c5781:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
4c5788:	f6 01 01             	testb  $0x1,(%ecx)
4c578b:	74 05                	je     0x4c5792
4c578d:	e8 1e af f8 ff       	call   0x4506b0
4c5792:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c5795:	46                   	inc    %esi
4c5796:	89 75 fc             	mov    %esi,-0x4(%ebp)
4c5799:	3b 75 e0             	cmp    -0x20(%ebp),%esi
4c579c:	0f 8c 72 ff ff ff    	jl     0x4c5714
4c57a2:	8b 7d f8             	mov    -0x8(%ebp),%edi
4c57a5:	c7 47 44 00 00 00 00 	movl   $0x0,0x44(%edi)
4c57ac:	8b 47 54             	mov    0x54(%edi),%eax
4c57af:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c57b2:	85 c0                	test   %eax,%eax
4c57b4:	7e 22                	jle    0x4c57d8
4c57b6:	8b 5f 5c             	mov    0x5c(%edi),%ebx
4c57b9:	33 f6                	xor    %esi,%esi
4c57bb:	8b f8                	mov    %eax,%edi
4c57bd:	0f 1f 00             	nopl   (%eax)
4c57c0:	8b 4c b3 04          	mov    0x4(%ebx,%esi,4),%ecx
4c57c4:	e8 d7 33 ff ff       	call   0x4b8ba0
4c57c9:	46                   	inc    %esi
4c57ca:	3b f7                	cmp    %edi,%esi
4c57cc:	7c f2                	jl     0x4c57c0
4c57ce:	8b 7d f8             	mov    -0x8(%ebp),%edi
4c57d1:	c7 47 54 00 00 00 00 	movl   $0x0,0x54(%edi)
4c57d8:	8b 47 64             	mov    0x64(%edi),%eax
4c57db:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c57de:	85 c0                	test   %eax,%eax
4c57e0:	0f 8e b7 00 00 00    	jle    0x4c589d
4c57e6:	8b 47 6c             	mov    0x6c(%edi),%eax
4c57e9:	83 c0 04             	add    $0x4,%eax
4c57ec:	33 f6                	xor    %esi,%esi
4c57ee:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c57f1:	89 75 f0             	mov    %esi,-0x10(%ebp)
4c57f4:	8b 1c b0             	mov    (%eax,%esi,4),%ebx
4c57f7:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4c57fa:	8b 4b 08             	mov    0x8(%ebx),%ecx
4c57fd:	f6 c1 03             	test   $0x3,%cl
4c5800:	74 6d                	je     0x4c586f
4c5802:	f6 c1 01             	test   $0x1,%cl
4c5805:	74 18                	je     0x4c581f
4c5807:	8b 43 10             	mov    0x10(%ebx),%eax
4c580a:	83 e0 fe             	and    $0xfffffffe,%eax
4c580d:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4c5814:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4c5818:	72 02                	jb     0x4c581c
4c581a:	8b 00                	mov    (%eax),%eax
4c581c:	c6 00 00             	movb   $0x0,(%eax)
4c581f:	f6 c1 02             	test   $0x2,%cl
4c5822:	74 4b                	je     0x4c586f
4c5824:	8b 73 14             	mov    0x14(%ebx),%esi
4c5827:	89 75 e0             	mov    %esi,-0x20(%ebp)
4c582a:	8d 4e 08             	lea    0x8(%esi),%ecx
4c582d:	e8 5e 20 fe ff       	call   0x4a7890
4c5832:	8b 46 18             	mov    0x18(%esi),%eax
4c5835:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c5838:	85 c0                	test   %eax,%eax
4c583a:	7e 22                	jle    0x4c585e
4c583c:	8b 5e 20             	mov    0x20(%esi),%ebx
4c583f:	8b f8                	mov    %eax,%edi
4c5841:	33 f6                	xor    %esi,%esi
4c5843:	8b 4c b3 04          	mov    0x4(%ebx,%esi,4),%ecx
4c5847:	e8 24 b9 ff ff       	call   0x4c1170
4c584c:	46                   	inc    %esi
4c584d:	3b f7                	cmp    %edi,%esi
4c584f:	7c f2                	jl     0x4c5843
4c5851:	8b 75 e0             	mov    -0x20(%ebp),%esi
4c5854:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4c5857:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
4c585e:	f6 46 04 01          	testb  $0x1,0x4(%esi)
4c5862:	8d 4e 04             	lea    0x4(%esi),%ecx
4c5865:	74 05                	je     0x4c586c
4c5867:	e8 44 ae f8 ff       	call   0x4506b0
4c586c:	8b 75 f0             	mov    -0x10(%ebp),%esi
4c586f:	8d 4b 04             	lea    0x4(%ebx),%ecx
4c5872:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
4c5879:	f6 01 01             	testb  $0x1,(%ecx)
4c587c:	74 05                	je     0x4c5883
4c587e:	e8 2d ae f8 ff       	call   0x4506b0
4c5883:	8b 45 ec             	mov    -0x14(%ebp),%eax
4c5886:	46                   	inc    %esi
4c5887:	89 75 f0             	mov    %esi,-0x10(%ebp)
4c588a:	3b 75 e8             	cmp    -0x18(%ebp),%esi
4c588d:	0f 8c 61 ff ff ff    	jl     0x4c57f4
4c5893:	8b 7d f8             	mov    -0x8(%ebp),%edi
4c5896:	c7 47 64 00 00 00 00 	movl   $0x0,0x64(%edi)
4c589d:	8b 5f 74             	mov    0x74(%edi),%ebx
4c58a0:	85 db                	test   %ebx,%ebx
4c58a2:	7e 41                	jle    0x4c58e5
4c58a4:	8b 47 7c             	mov    0x7c(%edi),%eax
4c58a7:	33 f6                	xor    %esi,%esi
4c58a9:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c58ac:	8b f8                	mov    %eax,%edi
4c58ae:	66 90                	xchg   %ax,%ax
4c58b0:	8b 44 b7 04          	mov    0x4(%edi,%esi,4),%eax
4c58b4:	f6 40 08 03          	testb  $0x3,0x8(%eax)
4c58b8:	74 08                	je     0x4c58c2
4c58ba:	0f 57 c0             	xorps  %xmm0,%xmm0
4c58bd:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
4c58c2:	8d 48 04             	lea    0x4(%eax),%ecx
4c58c5:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
4c58cc:	f6 01 01             	testb  $0x1,(%ecx)
4c58cf:	74 05                	je     0x4c58d6
4c58d1:	e8 da ad f8 ff       	call   0x4506b0
4c58d6:	46                   	inc    %esi
4c58d7:	3b f3                	cmp    %ebx,%esi
4c58d9:	7c d5                	jl     0x4c58b0
4c58db:	8b 7d f8             	mov    -0x8(%ebp),%edi
4c58de:	c7 47 74 00 00 00 00 	movl   $0x0,0x74(%edi)
4c58e5:	8d 8f 80 00 00 00    	lea    0x80(%edi),%ecx
4c58eb:	e8 80 79 f9 ff       	call   0x45d270
4c58f0:	8b 4f 08             	mov    0x8(%edi),%ecx
4c58f3:	f6 c1 03             	test   $0x3,%cl
4c58f6:	74 30                	je     0x4c5928
4c58f8:	f6 c1 01             	test   $0x1,%cl
4c58fb:	74 1b                	je     0x4c5918
4c58fd:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
4c5903:	83 e0 fe             	and    $0xfffffffe,%eax
4c5906:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4c590d:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4c5911:	72 02                	jb     0x4c5915
4c5913:	8b 00                	mov    (%eax),%eax
4c5915:	c6 00 00             	movb   $0x0,(%eax)
4c5918:	f6 c1 02             	test   $0x2,%cl
4c591b:	74 0b                	je     0x4c5928
4c591d:	8b 8f 94 00 00 00    	mov    0x94(%edi),%ecx
4c5923:	e8 78 85 ff ff       	call   0x4bdea0
4c5928:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4c592f:	8d 4f 04             	lea    0x4(%edi),%ecx
4c5932:	f6 01 01             	testb  $0x1,(%ecx)
4c5935:	5f                   	pop    %edi
4c5936:	5e                   	pop    %esi
4c5937:	5b                   	pop    %ebx
4c5938:	74 05                	je     0x4c593f
4c593a:	e8 71 ad f8 ff       	call   0x4506b0
4c593f:	8b e5                	mov    %ebp,%esp
4c5941:	5d                   	pop    %ebp
4c5942:	c3                   	ret
4c5943:	cc                   	int3
4c5944:	cc                   	int3
4c5945:	cc                   	int3
4c5946:	cc                   	int3
4c5947:	cc                   	int3
4c5948:	cc                   	int3
4c5949:	cc                   	int3
4c594a:	cc                   	int3
4c594b:	cc                   	int3
4c594c:	cc                   	int3
4c594d:	cc                   	int3
4c594e:	cc                   	int3
4c594f:	cc                   	int3
4c5950:	53                   	push   %ebx
4c5951:	56                   	push   %esi
4c5952:	57                   	push   %edi
4c5953:	8b f9                	mov    %ecx,%edi
4c5955:	8d 47 10             	lea    0x10(%edi),%eax
4c5958:	50                   	push   %eax
4c5959:	e8 82 12 00 00       	call   0x4c6be0
4c595e:	83 c4 04             	add    $0x4,%esp
4c5961:	84 c0                	test   %al,%al
4c5963:	0f 84 ed 00 00 00    	je     0x4c5a56
4c5969:	8d 47 20             	lea    0x20(%edi),%eax
4c596c:	50                   	push   %eax
4c596d:	e8 6e 10 00 00       	call   0x4c69e0
4c5972:	83 c4 04             	add    $0x4,%esp
4c5975:	84 c0                	test   %al,%al
4c5977:	0f 84 d9 00 00 00    	je     0x4c5a56
4c597d:	8d 47 30             	lea    0x30(%edi),%eax
4c5980:	50                   	push   %eax
4c5981:	e8 aa 11 00 00       	call   0x4c6b30
4c5986:	83 c4 04             	add    $0x4,%esp
4c5989:	84 c0                	test   %al,%al
4c598b:	0f 84 c5 00 00 00    	je     0x4c5a56
4c5991:	8b 77 44             	mov    0x44(%edi),%esi
4c5994:	83 ee 01             	sub    $0x1,%esi
4c5997:	78 40                	js     0x4c59d9
4c5999:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4c59a0:	8b 47 4c             	mov    0x4c(%edi),%eax
4c59a3:	8b 44 b0 04          	mov    0x4(%eax,%esi,4),%eax
4c59a7:	f6 40 08 01          	testb  $0x1,0x8(%eax)
4c59ab:	74 27                	je     0x4c59d4
4c59ad:	8b 58 10             	mov    0x10(%eax),%ebx
4c59b0:	8d 4b 08             	lea    0x8(%ebx),%ecx
4c59b3:	e8 58 49 fe ff       	call   0x4aa310
4c59b8:	84 c0                	test   %al,%al
4c59ba:	0f 84 96 00 00 00    	je     0x4c5a56
4c59c0:	8d 43 14             	lea    0x14(%ebx),%eax
4c59c3:	50                   	push   %eax
4c59c4:	e8 c7 13 00 00       	call   0x4c6d90
4c59c9:	83 c4 04             	add    $0x4,%esp
4c59cc:	84 c0                	test   %al,%al
4c59ce:	0f 84 82 00 00 00    	je     0x4c5a56
4c59d4:	83 ee 01             	sub    $0x1,%esi
4c59d7:	79 c7                	jns    0x4c59a0
4c59d9:	8d 47 50             	lea    0x50(%edi),%eax
4c59dc:	50                   	push   %eax
4c59dd:	e8 fe 11 00 00       	call   0x4c6be0
4c59e2:	83 c4 04             	add    $0x4,%esp
4c59e5:	84 c0                	test   %al,%al
4c59e7:	74 6d                	je     0x4c5a56
4c59e9:	8b 77 64             	mov    0x64(%edi),%esi
4c59ec:	83 ee 01             	sub    $0x1,%esi
4c59ef:	78 34                	js     0x4c5a25
4c59f1:	8b 47 6c             	mov    0x6c(%edi),%eax
4c59f4:	8b 4c b0 04          	mov    0x4(%eax,%esi,4),%ecx
4c59f8:	8b 41 08             	mov    0x8(%ecx),%eax
4c59fb:	d1 e8                	shr    $1,%eax
4c59fd:	a8 01                	test   $0x1,%al
4c59ff:	74 1f                	je     0x4c5a20
4c5a01:	8b 59 14             	mov    0x14(%ecx),%ebx
4c5a04:	8d 4b 08             	lea    0x8(%ebx),%ecx
4c5a07:	e8 04 49 fe ff       	call   0x4aa310
4c5a0c:	84 c0                	test   %al,%al
4c5a0e:	74 46                	je     0x4c5a56
4c5a10:	8d 43 14             	lea    0x14(%ebx),%eax
4c5a13:	50                   	push   %eax
4c5a14:	e8 77 13 00 00       	call   0x4c6d90
4c5a19:	83 c4 04             	add    $0x4,%esp
4c5a1c:	84 c0                	test   %al,%al
4c5a1e:	74 36                	je     0x4c5a56
4c5a20:	83 ee 01             	sub    $0x1,%esi
4c5a23:	79 cc                	jns    0x4c59f1
4c5a25:	8b 47 08             	mov    0x8(%edi),%eax
4c5a28:	d1 e8                	shr    $1,%eax
4c5a2a:	a8 01                	test   $0x1,%al
4c5a2c:	74 22                	je     0x4c5a50
4c5a2e:	8b b7 94 00 00 00    	mov    0x94(%edi),%esi
4c5a34:	8d 4e 08             	lea    0x8(%esi),%ecx
4c5a37:	e8 d4 48 fe ff       	call   0x4aa310
4c5a3c:	84 c0                	test   %al,%al
4c5a3e:	74 16                	je     0x4c5a56
4c5a40:	8d 46 1c             	lea    0x1c(%esi),%eax
4c5a43:	50                   	push   %eax
4c5a44:	e8 47 13 00 00       	call   0x4c6d90
4c5a49:	83 c4 04             	add    $0x4,%esp
4c5a4c:	84 c0                	test   %al,%al
4c5a4e:	74 06                	je     0x4c5a56
4c5a50:	5f                   	pop    %edi
4c5a51:	5e                   	pop    %esi
4c5a52:	b0 01                	mov    $0x1,%al
4c5a54:	5b                   	pop    %ebx
4c5a55:	c3                   	ret
4c5a56:	5f                   	pop    %edi
4c5a57:	5e                   	pop    %esi
4c5a58:	32 c0                	xor    %al,%al
4c5a5a:	5b                   	pop    %ebx
4c5a5b:	c3                   	ret
4c5a5c:	cc                   	int3
4c5a5d:	cc                   	int3
4c5a5e:	cc                   	int3
4c5a5f:	cc                   	int3
4c5a60:	55                   	push   %ebp
4c5a61:	8b ec                	mov    %esp,%ebp
4c5a63:	83 ec 2c             	sub    $0x2c,%esp
4c5a66:	8b c1                	mov    %ecx,%eax
4c5a68:	53                   	push   %ebx
4c5a69:	56                   	push   %esi
4c5a6a:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c5a6d:	8b 48 1c             	mov    0x1c(%eax),%ecx
4c5a70:	8b 58 14             	mov    0x14(%eax),%ebx
4c5a73:	85 c9                	test   %ecx,%ecx
4c5a75:	74 09                	je     0x4c5a80
4c5a77:	83 c1 04             	add    $0x4,%ecx
4c5a7a:	8b d1                	mov    %ecx,%edx
4c5a7c:	8b f1                	mov    %ecx,%esi
4c5a7e:	eb 06                	jmp    0x4c5a86
4c5a80:	33 c9                	xor    %ecx,%ecx
4c5a82:	33 d2                	xor    %edx,%edx
4c5a84:	33 f6                	xor    %esi,%esi
4c5a86:	57                   	push   %edi
4c5a87:	8d 3c 99             	lea    (%ecx,%ebx,4),%edi
4c5a8a:	3b d7                	cmp    %edi,%edx
4c5a8c:	74 2b                	je     0x4c5ab9
4c5a8e:	66 90                	xchg   %ax,%ax
4c5a90:	8b 0e                	mov    (%esi),%ecx
4c5a92:	e8 39 32 ff ff       	call   0x4b8cd0
4c5a97:	8b c8                	mov    %eax,%ecx
4c5a99:	83 c6 04             	add    $0x4,%esi
4c5a9c:	83 c8 01             	or     $0x1,%eax
4c5a9f:	0f bd c0             	bsr    %eax,%eax
4c5aa2:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c5aa5:	8d 04 c0             	lea    (%eax,%eax,8),%eax