5c5549:	5f                   	pop    %edi
5c554a:	5e                   	pop    %esi
5c554b:	5b                   	pop    %ebx
5c554c:	5d                   	pop    %ebp
5c554d:	c2 08 00             	ret    $0x8
5c5550:	55                   	push   %ebp
5c5551:	8b ec                	mov    %esp,%ebp
5c5553:	8b 45 0c             	mov    0xc(%ebp),%eax
5c5556:	85 c0                	test   %eax,%eax
5c5558:	53                   	push   %ebx
5c5559:	bb 01 00 00 00       	mov    $0x1,%ebx
5c555e:	0f 45 d8             	cmovne %eax,%ebx
5c5561:	8b 81 b0 4c 00 00    	mov    0x4cb0(%ecx),%eax
5c5567:	56                   	push   %esi
5c5568:	8b 75 08             	mov    0x8(%ebp),%esi
5c556b:	57                   	push   %edi
5c556c:	8b fe                	mov    %esi,%edi
5c556e:	2b 78 04             	sub    0x4(%eax),%edi
5c5571:	c1 ef 10             	shr    $0x10,%edi
5c5574:	81 ff 00 80 00 00    	cmp    $0x8000,%edi
5c557a:	73 06                	jae    0x5c5582
5c557c:	8b 7c f8 0c          	mov    0xc(%eax,%edi,8),%edi
5c5580:	eb 02                	jmp    0x5c5584
5c5582:	33 ff                	xor    %edi,%edi
5c5584:	81 fb 00 40 00 00    	cmp    $0x4000,%ebx
5c558a:	77 0b                	ja     0x5c5597
5c558c:	8d 43 ff             	lea    -0x1(%ebx),%eax
5c558f:	c1 e8 02             	shr    $0x2,%eax
5c5592:	8b 04 81             	mov    (%ecx,%eax,4),%eax
5c5595:	eb 02                	jmp    0x5c5599
5c5597:	33 c0                	xor    %eax,%eax
5c5599:	3b f8                	cmp    %eax,%edi
5c559b:	75 09                	jne    0x5c55a6
5c559d:	5f                   	pop    %edi
5c559e:	8b c6                	mov    %esi,%eax
5c55a0:	5e                   	pop    %esi
5c55a1:	5b                   	pop    %ebx
5c55a2:	5d                   	pop    %ebp
5c55a3:	c2 08 00             	ret    $0x8
5c55a6:	e8 c5 15 00 00       	call   0x5c6b70
5c55ab:	53                   	push   %ebx
5c55ac:	8b 08                	mov    (%eax),%ecx
5c55ae:	8b 51 0c             	mov    0xc(%ecx),%edx
5c55b1:	8b c8                	mov    %eax,%ecx
5c55b3:	ff d2                	call   *%edx
5c55b5:	89 45 0c             	mov    %eax,0xc(%ebp)
5c55b8:	85 c0                	test   %eax,%eax
5c55ba:	74 13                	je     0x5c55cf
5c55bc:	8b 4f 10             	mov    0x10(%edi),%ecx
5c55bf:	3b d9                	cmp    %ecx,%ebx
5c55c1:	0f 42 cb             	cmovb  %ebx,%ecx
5c55c4:	51                   	push   %ecx
5c55c5:	56                   	push   %esi
5c55c6:	50                   	push   %eax
5c55c7:	e8 04 d8 00 00       	call   0x5d2dd0
5c55cc:	83 c4 0c             	add    $0xc,%esp
5c55cf:	e8 9c 15 00 00       	call   0x5c6b70
5c55d4:	8b 57 10             	mov    0x10(%edi),%edx
5c55d7:	33 c9                	xor    %ecx,%ecx
5c55d9:	f7 da                	neg    %edx
5c55db:	13 c9                	adc    %ecx,%ecx
5c55dd:	f7 d9                	neg    %ecx
5c55df:	51                   	push   %ecx
5c55e0:	52                   	push   %edx
5c55e1:	ff b0 24 59 00 00    	push   0x5924(%eax)
5c55e7:	e8 34 2d 00 00       	call   0x5c8320
5c55ec:	8b c6                	mov    %esi,%eax
5c55ee:	83 c4 0c             	add    $0xc,%esp
5c55f1:	2b 05 e4 eb 69 00    	sub    0x69ebe4,%eax
5c55f7:	c1 e8 10             	shr    $0x10,%eax
5c55fa:	3d 00 80 00 00       	cmp    $0x8000,%eax
5c55ff:	72 23                	jb     0x5c5624
5c5601:	50                   	push   %eax
5c5602:	68 00 80 00 00       	push   $0x8000
5c5607:	56                   	push   %esi
5c5608:	68 10 c3 66 00       	push   $0x66c310
5c560d:	68 fa 02 00 00       	push   $0x2fa
5c5612:	68 78 bb 66 00       	push   $0x66bb78
5c5617:	e8 54 5e ff ff       	call   0x5bb470
5c561c:	83 c4 18             	add    $0x18,%esp
5c561f:	84 c0                	test   %al,%al
5c5621:	75 01                	jne    0x5c5624
5c5623:	cc                   	int3
5c5624:	85 f6                	test   %esi,%esi
5c5626:	74 0e                	je     0x5c5636
5c5628:	f0 ff 47 30          	lock incl 0x30(%edi)
5c562c:	56                   	push   %esi
5c562d:	57                   	push   %edi
5c562e:	e8 2d 56 00 00       	call   0x5cac60
5c5633:	83 c4 08             	add    $0x8,%esp
5c5636:	8b 45 0c             	mov    0xc(%ebp),%eax
5c5639:	5f                   	pop    %edi
5c563a:	5e                   	pop    %esi
5c563b:	5b                   	pop    %ebx
5c563c:	5d                   	pop    %ebp
5c563d:	c2 08 00             	ret    $0x8
5c5640:	55                   	push   %ebp
5c5641:	8b ec                	mov    %esp,%ebp
5c5643:	53                   	push   %ebx
5c5644:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5c5647:	57                   	push   %edi
5c5648:	8b f9                	mov    %ecx,%edi
5c564a:	85 db                	test   %ebx,%ebx
5c564c:	75 16                	jne    0x5c5664
5c564e:	8b 45 08             	mov    0x8(%ebp),%eax
5c5651:	85 c0                	test   %eax,%eax
5c5653:	74 07                	je     0x5c565c
5c5655:	53                   	push   %ebx
5c5656:	50                   	push   %eax
5c5657:	e8 b4 e8 ff ff       	call   0x5c3f10
5c565c:	5f                   	pop    %edi
5c565d:	33 c0                	xor    %eax,%eax
5c565f:	5b                   	pop    %ebx
5c5660:	5d                   	pop    %ebp
5c5661:	c2 08 00             	ret    $0x8
5c5664:	56                   	push   %esi
5c5665:	8b 75 08             	mov    0x8(%ebp),%esi
5c5668:	85 f6                	test   %esi,%esi
5c566a:	0f 84 2e 01 00 00    	je     0x5c579e
5c5670:	8b 87 60 59 00 00    	mov    0x5960(%edi),%eax
5c5676:	03 c6                	add    %esi,%eax
5c5678:	3b 87 6c 59 00 00    	cmp    0x596c(%edi),%eax
5c567e:	73 5b                	jae    0x5c56db
5c5680:	3b b7 68 59 00 00    	cmp    0x5968(%edi),%esi
5c5686:	72 53                	jb     0x5c56db
5c5688:	53                   	push   %ebx
5c5689:	e8 d2 d3 ff ff       	call   0x5c2a60
5c568e:	8b 8f 60 59 00 00    	mov    0x5960(%edi),%ecx
5c5694:	8b d0                	mov    %eax,%edx
5c5696:	03 ce                	add    %esi,%ecx
5c5698:	89 55 08             	mov    %edx,0x8(%ebp)
5c569b:	3b 8f 6c 59 00 00    	cmp    0x596c(%edi),%ecx
5c56a1:	73 14                	jae    0x5c56b7
5c56a3:	3b b7 68 59 00 00    	cmp    0x5968(%edi),%esi
5c56a9:	72 0c                	jb     0x5c56b7
5c56ab:	8b 8f 64 59 00 00    	mov    0x5964(%edi),%ecx
5c56b1:	8b 44 31 04          	mov    0x4(%ecx,%esi,1),%eax
5c56b5:	eb 02                	jmp    0x5c56b9
5c56b7:	33 c0                	xor    %eax,%eax
5c56b9:	3b d8                	cmp    %eax,%ebx
5c56bb:	0f 42 c3             	cmovb  %ebx,%eax
5c56be:	50                   	push   %eax
5c56bf:	56                   	push   %esi
5c56c0:	52                   	push   %edx
5c56c1:	e8 0a d7 00 00       	call   0x5d2dd0
5c56c6:	83 c4 0c             	add    $0xc,%esp
5c56c9:	8b cf                	mov    %edi,%ecx
5c56cb:	56                   	push   %esi
5c56cc:	e8 ff e8 ff ff       	call   0x5c3fd0
5c56d1:	8b 45 08             	mov    0x8(%ebp),%eax
5c56d4:	5e                   	pop    %esi
5c56d5:	5f                   	pop    %edi
5c56d6:	5b                   	pop    %ebx
5c56d7:	5d                   	pop    %ebp
5c56d8:	c2 08 00             	ret    $0x8
5c56db:	8b 87 18 59 00 00    	mov    0x5918(%edi),%eax
5c56e1:	83 f8 01             	cmp    $0x1,%eax
5c56e4:	75 23                	jne    0x5c5709
5c56e6:	8b 87 58 0c 00 00    	mov    0xc58(%edi),%eax
5c56ec:	8d 4f 08             	lea    0x8(%edi),%ecx
5c56ef:	3b 70 04             	cmp    0x4(%eax),%esi
5c56f2:	72 40                	jb     0x5c5734
5c56f4:	3b 70 08             	cmp    0x8(%eax),%esi
5c56f7:	73 3b                	jae    0x5c5734
5c56f9:	53                   	push   %ebx
5c56fa:	56                   	push   %esi
5c56fb:	e8 60 fd ff ff       	call   0x5c5460
5c5700:	8b f0                	mov    %eax,%esi
5c5702:	5e                   	pop    %esi
5c5703:	5f                   	pop    %edi
5c5704:	5b                   	pop    %ebx
5c5705:	5d                   	pop    %ebp
5c5706:	c2 08 00             	ret    $0x8
5c5709:	83 f8 02             	cmp    $0x2,%eax
5c570c:	75 26                	jne    0x5c5734
5c570e:	8b 87 10 59 00 00    	mov    0x5910(%edi),%eax
5c5714:	8d 8f 60 0c 00 00    	lea    0xc60(%edi),%ecx
5c571a:	3b 70 04             	cmp    0x4(%eax),%esi
5c571d:	72 15                	jb     0x5c5734
5c571f:	3b 70 08             	cmp    0x8(%eax),%esi
5c5722:	73 10                	jae    0x5c5734
5c5724:	53                   	push   %ebx
5c5725:	56                   	push   %esi
5c5726:	e8 25 fe ff ff       	call   0x5c5550
5c572b:	8b f0                	mov    %eax,%esi
5c572d:	5e                   	pop    %esi
5c572e:	5f                   	pop    %edi
5c572f:	5b                   	pop    %ebx
5c5730:	5d                   	pop    %ebp
5c5731:	c2 08 00             	ret    $0x8
5c5734:	56                   	push   %esi
5c5735:	e8 6f 1b 02 00       	call   0x5e72a9
5c573a:	53                   	push   %ebx
5c573b:	56                   	push   %esi
5c573c:	89 45 08             	mov    %eax,0x8(%ebp)
5c573f:	e8 b6 f1 01 00       	call   0x5e48fa
5c5744:	8b f0                	mov    %eax,%esi
5c5746:	83 c4 0c             	add    $0xc,%esp
5c5749:	89 75 0c             	mov    %esi,0xc(%ebp)
5c574c:	85 f6                	test   %esi,%esi
5c574e:	74 3d                	je     0x5c578d
5c5750:	56                   	push   %esi
5c5751:	e8 53 1b 02 00       	call   0x5e72a9
5c5756:	8b f0                	mov    %eax,%esi
5c5758:	33 c9                	xor    %ecx,%ecx
5c575a:	8b 45 08             	mov    0x8(%ebp),%eax
5c575d:	f7 d8                	neg    %eax
5c575f:	13 c9                	adc    %ecx,%ecx
5c5761:	f7 d9                	neg    %ecx
5c5763:	51                   	push   %ecx
5c5764:	50                   	push   %eax
5c5765:	ff b7 24 59 00 00    	push   0x5924(%edi)
5c576b:	e8 b0 2b 00 00       	call   0x5c8320
5c5770:	6a 00                	push   $0x0
5c5772:	56                   	push   %esi
5c5773:	ff b7 24 59 00 00    	push   0x5924(%edi)
5c5779:	e8 a2 2b 00 00       	call   0x5c8320
5c577e:	8b 75 0c             	mov    0xc(%ebp),%esi
5c5781:	83 c4 1c             	add    $0x1c,%esp
5c5784:	8b c6                	mov    %esi,%eax
5c5786:	5e                   	pop    %esi
5c5787:	5f                   	pop    %edi
5c5788:	5b                   	pop    %ebx
5c5789:	5d                   	pop    %ebp
5c578a:	c2 08 00             	ret    $0x8
5c578d:	53                   	push   %ebx
5c578e:	8b cf                	mov    %edi,%ecx
5c5790:	e8 9b 02 00 00       	call   0x5c5a30
5c5795:	8b c6                	mov    %esi,%eax
5c5797:	5e                   	pop    %esi
5c5798:	5f                   	pop    %edi
5c5799:	5b                   	pop    %ebx
5c579a:	5d                   	pop    %ebp
5c579b:	c2 08 00             	ret    $0x8
5c579e:	53                   	push   %ebx
5c579f:	e8 bc d2 ff ff       	call   0x5c2a60
5c57a4:	8b f0                	mov    %eax,%esi
5c57a6:	5e                   	pop    %esi
5c57a7:	5f                   	pop    %edi
5c57a8:	5b                   	pop    %ebx
5c57a9:	5d                   	pop    %ebp
5c57aa:	c2 08 00             	ret    $0x8
5c57ad:	cc                   	int3
5c57ae:	cc                   	int3
5c57af:	cc                   	int3
5c57b0:	55                   	push   %ebp
5c57b1:	8b ec                	mov    %esp,%ebp
5c57b3:	53                   	push   %ebx
5c57b4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5c57b7:	57                   	push   %edi
5c57b8:	8b f9                	mov    %ecx,%edi
5c57ba:	85 db                	test   %ebx,%ebx
5c57bc:	75 16                	jne    0x5c57d4
5c57be:	8b 45 08             	mov    0x8(%ebp),%eax
5c57c1:	85 c0                	test   %eax,%eax
5c57c3:	74 07                	je     0x5c57cc
5c57c5:	53                   	push   %ebx
5c57c6:	50                   	push   %eax
5c57c7:	e8 44 e7 ff ff       	call   0x5c3f10
5c57cc:	5f                   	pop    %edi
5c57cd:	33 c0                	xor    %eax,%eax
5c57cf:	5b                   	pop    %ebx
5c57d0:	5d                   	pop    %ebp
5c57d1:	c2 14 00             	ret    $0x14
5c57d4:	56                   	push   %esi
5c57d5:	8b 75 08             	mov    0x8(%ebp),%esi
5c57d8:	85 f6                	test   %esi,%esi
5c57da:	74 6b                	je     0x5c5847
5c57dc:	8b 87 60 59 00 00    	mov    0x5960(%edi),%eax
5c57e2:	03 c6                	add    %esi,%eax
5c57e4:	3b 87 6c 59 00 00    	cmp    0x596c(%edi),%eax
5c57ea:	73 5b                	jae    0x5c5847
5c57ec:	3b b7 68 59 00 00    	cmp    0x5968(%edi),%esi
5c57f2:	72 53                	jb     0x5c5847
5c57f4:	53                   	push   %ebx
5c57f5:	e8 66 d2 ff ff       	call   0x5c2a60
5c57fa:	8b 8f 60 59 00 00    	mov    0x5960(%edi),%ecx
5c5800:	8b d0                	mov    %eax,%edx
5c5802:	03 ce                	add    %esi,%ecx
5c5804:	89 55 08             	mov    %edx,0x8(%ebp)
5c5807:	3b 8f 6c 59 00 00    	cmp    0x596c(%edi),%ecx
5c580d:	73 14                	jae    0x5c5823
5c580f:	3b b7 68 59 00 00    	cmp    0x5968(%edi),%esi
5c5815:	72 0c                	jb     0x5c5823
5c5817:	8b 8f 64 59 00 00    	mov    0x5964(%edi),%ecx
5c581d:	8b 44 31 04          	mov    0x4(%ecx,%esi,1),%eax
5c5821:	eb 02                	jmp    0x5c5825
5c5823:	33 c0                	xor    %eax,%eax
5c5825:	3b d8                	cmp    %eax,%ebx
5c5827:	0f 42 c3             	cmovb  %ebx,%eax
5c582a:	50                   	push   %eax
5c582b:	56                   	push   %esi
5c582c:	52                   	push   %edx
5c582d:	e8 9e d5 00 00       	call   0x5d2dd0
5c5832:	83 c4 0c             	add    $0xc,%esp
5c5835:	8b cf                	mov    %edi,%ecx
5c5837:	56                   	push   %esi
5c5838:	e8 93 e7 ff ff       	call   0x5c3fd0
5c583d:	8b 45 08             	mov    0x8(%ebp),%eax
5c5840:	5e                   	pop    %esi
5c5841:	5f                   	pop    %edi
5c5842:	5b                   	pop    %ebx
5c5843:	5d                   	pop    %ebp
5c5844:	c2 14 00             	ret    $0x14
5c5847:	83 bf 1c 59 00 00 00 	cmpl   $0x0,0x591c(%edi)
5c584e:	0f 84 f3 00 00 00    	je     0x5c5947
5c5854:	ff 75 10             	push   0x10(%ebp)
5c5857:	56                   	push   %esi
5c5858:	e8 c3 fa ff ff       	call   0x5c5320
5c585d:	83 c4 08             	add    $0x8,%esp
5c5860:	85 f6                	test   %esi,%esi
5c5862:	75 0f                	jne    0x5c5873
5c5864:	53                   	push   %ebx
5c5865:	8b cf                	mov    %edi,%ecx
5c5867:	e8 f4 d1 ff ff       	call   0x5c2a60
5c586c:	8b f0                	mov    %eax,%esi
5c586e:	e9 ac 00 00 00       	jmp    0x5c591f
5c5873:	8b 87 18 59 00 00    	mov    0x5918(%edi),%eax
5c5879:	83 f8 01             	cmp    $0x1,%eax
5c587c:	75 21                	jne    0x5c589f
5c587e:	8b 87 58 0c 00 00    	mov    0xc58(%edi),%eax
5c5884:	8d 4f 08             	lea    0x8(%edi),%ecx
5c5887:	3b 70 04             	cmp    0x4(%eax),%esi
5c588a:	72 39                	jb     0x5c58c5
5c588c:	3b 70 08             	cmp    0x8(%eax),%esi
5c588f:	73 34                	jae    0x5c58c5
5c5891:	53                   	push   %ebx
5c5892:	56                   	push   %esi
5c5893:	e8 c8 fb ff ff       	call   0x5c5460
5c5898:	8b f0                	mov    %eax,%esi
5c589a:	e9 80 00 00 00       	jmp    0x5c591f
5c589f:	83 f8 02             	cmp    $0x2,%eax
5c58a2:	75 21                	jne    0x5c58c5
5c58a4:	8b 87 10 59 00 00    	mov    0x5910(%edi),%eax
5c58aa:	8d 8f 60 0c 00 00    	lea    0xc60(%edi),%ecx
5c58b0:	3b 70 04             	cmp    0x4(%eax),%esi
5c58b3:	72 10                	jb     0x5c58c5
5c58b5:	3b 70 08             	cmp    0x8(%eax),%esi
5c58b8:	73 0b                	jae    0x5c58c5
5c58ba:	53                   	push   %ebx
5c58bb:	56                   	push   %esi
5c58bc:	e8 8f fc ff ff       	call   0x5c5550
5c58c1:	8b f0                	mov    %eax,%esi
5c58c3:	eb 5a                	jmp    0x5c591f
5c58c5:	56                   	push   %esi
5c58c6:	e8 de 19 02 00       	call   0x5e72a9
5c58cb:	53                   	push   %ebx
5c58cc:	56                   	push   %esi
5c58cd:	89 45 08             	mov    %eax,0x8(%ebp)
5c58d0:	e8 25 f0 01 00       	call   0x5e48fa