58637f:	cc                   	int3
586380:	8b 49 04             	mov    0x4(%ecx),%ecx
586383:	85 c9                	test   %ecx,%ecx
586385:	74 10                	je     0x586397
586387:	8b 41 04             	mov    0x4(%ecx),%eax
58638a:	83 c1 04             	add    $0x4,%ecx
58638d:	8b 40 04             	mov    0x4(%eax),%eax
586390:	03 c8                	add    %eax,%ecx
586392:	8b 01                	mov    (%ecx),%eax
586394:	ff 60 14             	jmp    *0x14(%eax)
586397:	33 c0                	xor    %eax,%eax
586399:	c2 04 00             	ret    $0x4
58639c:	cc                   	int3
58639d:	cc                   	int3
58639e:	cc                   	int3
58639f:	cc                   	int3
5863a0:	cc                   	int3
5863a1:	cc                   	int3
5863a2:	cc                   	int3
5863a3:	cc                   	int3
5863a4:	cc                   	int3
5863a5:	cc                   	int3
5863a6:	cc                   	int3
5863a7:	cc                   	int3
5863a8:	cc                   	int3
5863a9:	cc                   	int3
5863aa:	cc                   	int3
5863ab:	cc                   	int3
5863ac:	cc                   	int3
5863ad:	cc                   	int3
5863ae:	cc                   	int3
5863af:	cc                   	int3
5863b0:	8b 49 04             	mov    0x4(%ecx),%ecx
5863b3:	85 c9                	test   %ecx,%ecx
5863b5:	74 10                	je     0x5863c7
5863b7:	8b 41 04             	mov    0x4(%ecx),%eax
5863ba:	83 c1 04             	add    $0x4,%ecx
5863bd:	8b 40 04             	mov    0x4(%eax),%eax
5863c0:	03 c8                	add    %eax,%ecx
5863c2:	8b 01                	mov    (%ecx),%eax
5863c4:	ff 60 14             	jmp    *0x14(%eax)
5863c7:	33 c0                	xor    %eax,%eax
5863c9:	c2 04 00             	ret    $0x4
5863cc:	cc                   	int3
5863cd:	cc                   	int3
5863ce:	cc                   	int3
5863cf:	cc                   	int3
5863d0:	cc                   	int3
5863d1:	cc                   	int3
5863d2:	cc                   	int3
5863d3:	2b 49 fc             	sub    -0x4(%ecx),%ecx
5863d6:	e9 d3 eb ea ff       	jmp    0x434fae
5863db:	cc                   	int3
5863dc:	cc                   	int3
5863dd:	cc                   	int3
5863de:	cc                   	int3
5863df:	cc                   	int3
5863e0:	56                   	push   %esi
5863e1:	57                   	push   %edi
5863e2:	8b f1                	mov    %ecx,%esi
5863e4:	e8 d9 f0 ea ff       	call   0x4354c2
5863e9:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5863ed:	3b f8                	cmp    %eax,%edi
5863ef:	75 17                	jne    0x586408
5863f1:	8d 46 c4             	lea    -0x3c(%esi),%eax
5863f4:	85 c0                	test   %eax,%eax
5863f6:	74 50                	je     0x586448
5863f8:	8b 46 c8             	mov    -0x38(%esi),%eax
5863fb:	5f                   	pop    %edi
5863fc:	8b 40 04             	mov    0x4(%eax),%eax
5863ff:	83 c0 c8             	add    $0xffffffc8,%eax
586402:	03 c6                	add    %esi,%eax
586404:	5e                   	pop    %esi
586405:	c2 04 00             	ret    $0x4
586408:	e8 11 32 e9 ff       	call   0x41961e
58640d:	3b f8                	cmp    %eax,%edi
58640f:	75 17                	jne    0x586428
586411:	8d 46 c4             	lea    -0x3c(%esi),%eax
586414:	85 c0                	test   %eax,%eax
586416:	74 30                	je     0x586448
586418:	8b 46 c8             	mov    -0x38(%esi),%eax
58641b:	5f                   	pop    %edi
58641c:	8b 40 0c             	mov    0xc(%eax),%eax
58641f:	83 c0 c8             	add    $0xffffffc8,%eax
586422:	03 c6                	add    %esi,%eax
586424:	5e                   	pop    %esi
586425:	c2 04 00             	ret    $0x4
586428:	e8 34 56 eb ff       	call   0x43ba61
58642d:	3b f8                	cmp    %eax,%edi
58642f:	75 17                	jne    0x586448
586431:	8d 46 c4             	lea    -0x3c(%esi),%eax
586434:	85 c0                	test   %eax,%eax
586436:	74 10                	je     0x586448
586438:	8b 46 c8             	mov    -0x38(%esi),%eax
58643b:	5f                   	pop    %edi
58643c:	8b 40 08             	mov    0x8(%eax),%eax
58643f:	83 c0 c8             	add    $0xffffffc8,%eax
586442:	03 c6                	add    %esi,%eax
586444:	5e                   	pop    %esi
586445:	c2 04 00             	ret    $0x4
586448:	5f                   	pop    %edi
586449:	33 c0                	xor    %eax,%eax
58644b:	5e                   	pop    %esi
58644c:	c2 04 00             	ret    $0x4
58644f:	cc                   	int3
586450:	cc                   	int3
586451:	cc                   	int3
586452:	cc                   	int3
586453:	cc                   	int3
586454:	cc                   	int3
586455:	cc                   	int3
586456:	cc                   	int3
586457:	cc                   	int3
586458:	cc                   	int3
586459:	cc                   	int3
58645a:	cc                   	int3
58645b:	cc                   	int3
58645c:	cc                   	int3
58645d:	cc                   	int3
58645e:	cc                   	int3
58645f:	cc                   	int3
586460:	cc                   	int3
586461:	cc                   	int3
586462:	cc                   	int3
586463:	cc                   	int3
586464:	cc                   	int3
586465:	cc                   	int3
586466:	cc                   	int3
586467:	cc                   	int3
586468:	cc                   	int3
586469:	cc                   	int3
58646a:	cc                   	int3
58646b:	cc                   	int3
58646c:	cc                   	int3
58646d:	cc                   	int3
58646e:	cc                   	int3
58646f:	cc                   	int3
586470:	55                   	push   %ebp
586471:	8b ec                	mov    %esp,%ebp
586473:	6a ff                	push   $0xffffffff
586475:	68 50 b3 b5 00       	push   $0xb5b350
58647a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
586480:	50                   	push   %eax
586481:	56                   	push   %esi
586482:	a1 24 f6 d5 00       	mov    0xd5f624,%eax
586487:	33 c5                	xor    %ebp,%eax
586489:	50                   	push   %eax
58648a:	8d 45 f4             	lea    -0xc(%ebp),%eax
58648d:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
586493:	8b f1                	mov    %ecx,%esi
586495:	8b 06                	mov    (%esi),%eax
586497:	ff 70 04             	push   0x4(%eax)
58649a:	e8 04 fe e7 ff       	call   0x4062a3
58649f:	8b 06                	mov    (%esi),%eax
5864a1:	89 40 04             	mov    %eax,0x4(%eax)
5864a4:	8b 06                	mov    (%esi),%eax
5864a6:	89 00                	mov    %eax,(%eax)
5864a8:	8b 06                	mov    (%esi),%eax
5864aa:	89 40 08             	mov    %eax,0x8(%eax)
5864ad:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5864b4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5864b7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5864be:	59                   	pop    %ecx
5864bf:	5e                   	pop    %esi
5864c0:	8b e5                	mov    %ebp,%esp
5864c2:	5d                   	pop    %ebp
5864c3:	c3                   	ret
5864c4:	cc                   	int3
5864c5:	cc                   	int3
5864c6:	cc                   	int3
5864c7:	cc                   	int3
5864c8:	cc                   	int3
5864c9:	cc                   	int3
5864ca:	cc                   	int3
5864cb:	cc                   	int3
5864cc:	cc                   	int3
5864cd:	cc                   	int3
5864ce:	cc                   	int3
5864cf:	cc                   	int3
5864d0:	cc                   	int3
5864d1:	cc                   	int3
5864d2:	cc                   	int3
5864d3:	cc                   	int3
5864d4:	cc                   	int3
5864d5:	cc                   	int3
5864d6:	cc                   	int3
5864d7:	cc                   	int3
5864d8:	cc                   	int3
5864d9:	cc                   	int3
5864da:	cc                   	int3
5864db:	cc                   	int3
5864dc:	cc                   	int3
5864dd:	cc                   	int3
5864de:	cc                   	int3
5864df:	cc                   	int3
5864e0:	53                   	push   %ebx
5864e1:	56                   	push   %esi
5864e2:	57                   	push   %edi
5864e3:	8b f9                	mov    %ecx,%edi
5864e5:	8b 5f 04             	mov    0x4(%edi),%ebx
5864e8:	8b 37                	mov    (%edi),%esi
5864ea:	3b f3                	cmp    %ebx,%esi
5864ec:	74 1a                	je     0x586508
5864ee:	66 90                	xchg   %ax,%ax
5864f0:	8b 06                	mov    (%esi),%eax
5864f2:	8b ce                	mov    %esi,%ecx
5864f4:	6a 00                	push   $0x0
5864f6:	ff 10                	call   *(%eax)
5864f8:	83 c6 08             	add    $0x8,%esi
5864fb:	3b f3                	cmp    %ebx,%esi
5864fd:	75 f1                	jne    0x5864f0
5864ff:	8b 07                	mov    (%edi),%eax
586501:	89 47 04             	mov    %eax,0x4(%edi)
586504:	5f                   	pop    %edi
586505:	5e                   	pop    %esi
586506:	5b                   	pop    %ebx
586507:	c3                   	ret
586508:	8b c6                	mov    %esi,%eax
58650a:	89 47 04             	mov    %eax,0x4(%edi)
58650d:	5f                   	pop    %edi
58650e:	5e                   	pop    %esi
58650f:	5b                   	pop    %ebx
586510:	c3                   	ret
586511:	cc                   	int3
586512:	cc                   	int3
586513:	cc                   	int3
586514:	cc                   	int3
586515:	cc                   	int3
586516:	cc                   	int3
586517:	cc                   	int3
586518:	cc                   	int3
586519:	cc                   	int3
58651a:	cc                   	int3
58651b:	cc                   	int3
58651c:	cc                   	int3
58651d:	cc                   	int3
58651e:	cc                   	int3
58651f:	cc                   	int3
586520:	53                   	push   %ebx
586521:	56                   	push   %esi
586522:	57                   	push   %edi
586523:	8b f9                	mov    %ecx,%edi
586525:	8b 5f 04             	mov    0x4(%edi),%ebx
586528:	8b 37                	mov    (%edi),%esi
58652a:	3b f3                	cmp    %ebx,%esi
58652c:	74 1a                	je     0x586548
58652e:	66 90                	xchg   %ax,%ax
586530:	8b 06                	mov    (%esi),%eax
586532:	8b ce                	mov    %esi,%ecx
586534:	6a 00                	push   $0x0
586536:	ff 10                	call   *(%eax)
586538:	83 c6 08             	add    $0x8,%esi
58653b:	3b f3                	cmp    %ebx,%esi
58653d:	75 f1                	jne    0x586530
58653f:	8b 07                	mov    (%edi),%eax
586541:	89 47 04             	mov    %eax,0x4(%edi)
586544:	5f                   	pop    %edi
586545:	5e                   	pop    %esi
586546:	5b                   	pop    %ebx
586547:	c3                   	ret
586548:	8b c6                	mov    %esi,%eax
58654a:	89 47 04             	mov    %eax,0x4(%edi)
58654d:	5f                   	pop    %edi
58654e:	5e                   	pop    %esi
58654f:	5b                   	pop    %ebx
586550:	c3                   	ret
586551:	cc                   	int3
586552:	cc                   	int3
586553:	cc                   	int3
586554:	cc                   	int3
586555:	cc                   	int3
586556:	cc                   	int3
586557:	cc                   	int3
586558:	cc                   	int3
586559:	cc                   	int3
58655a:	cc                   	int3
58655b:	cc                   	int3
58655c:	cc                   	int3
58655d:	cc                   	int3
58655e:	cc                   	int3
58655f:	cc                   	int3
586560:	8b 44 24 08          	mov    0x8(%esp),%eax
586564:	8b 4c 24 04          	mov    0x4(%esp),%ecx
586568:	3d 5d 74 d1 05       	cmp    $0x5d1745d,%eax
58656d:	77 2e                	ja     0x58659d
58656f:	6b c0 2c             	imul   $0x2c,%eax,%eax
586572:	3d 00 10 00 00       	cmp    $0x1000,%eax
586577:	72 1a                	jb     0x586593
586579:	f6 c1 1f             	test   $0x1f,%cl
58657c:	75 24                	jne    0x5865a2
58657e:	8b 41 fc             	mov    -0x4(%ecx),%eax
586581:	3b c1                	cmp    %ecx,%eax
586583:	73 22                	jae    0x5865a7
586585:	2b c8                	sub    %eax,%ecx
586587:	83 f9 04             	cmp    $0x4,%ecx
58658a:	72 20                	jb     0x5865ac
58658c:	83 f9 23             	cmp    $0x23,%ecx
58658f:	77 20                	ja     0x5865b1
586591:	8b c8                	mov    %eax,%ecx
586593:	51                   	push   %ecx
586594:	e8 f6 b1 e7 ff       	call   0x40178f
586599:	59                   	pop    %ecx
58659a:	c2 08 00             	ret    $0x8
58659d:	e8 eb 73 eb ff       	call   0x43d98d
5865a2:	e8 e6 73 eb ff       	call   0x43d98d
5865a7:	e8 e1 73 eb ff       	call   0x43d98d
5865ac:	e8 dc 73 eb ff       	call   0x43d98d
5865b1:	e8 d7 73 eb ff       	call   0x43d98d
5865b6:	cc                   	int3
5865b7:	cc                   	int3
5865b8:	cc                   	int3
5865b9:	cc                   	int3
5865ba:	cc                   	int3
5865bb:	cc                   	int3
5865bc:	cc                   	int3
5865bd:	cc                   	int3
5865be:	cc                   	int3
5865bf:	cc                   	int3
5865c0:	cc                   	int3
5865c1:	cc                   	int3
5865c2:	cc                   	int3
5865c3:	cc                   	int3
5865c4:	cc                   	int3
5865c5:	cc                   	int3
5865c6:	cc                   	int3
5865c7:	cc                   	int3
5865c8:	cc                   	int3
5865c9:	cc                   	int3
5865ca:	cc                   	int3
5865cb:	cc                   	int3
5865cc:	cc                   	int3
5865cd:	cc                   	int3
5865ce:	cc                   	int3
5865cf:	cc                   	int3
5865d0:	8b 44 24 08          	mov    0x8(%esp),%eax
5865d4:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5865d8:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
5865dd:	77 2e                	ja     0x58660d
5865df:	c1 e0 03             	shl    $0x3,%eax
5865e2:	3d 00 10 00 00       	cmp    $0x1000,%eax
5865e7:	72 1a                	jb     0x586603
5865e9:	f6 c1 1f             	test   $0x1f,%cl
5865ec:	75 24                	jne    0x586612
5865ee:	8b 41 fc             	mov    -0x4(%ecx),%eax
5865f1:	3b c1                	cmp    %ecx,%eax
5865f3:	73 22                	jae    0x586617
5865f5:	2b c8                	sub    %eax,%ecx
5865f7:	83 f9 04             	cmp    $0x4,%ecx
5865fa:	72 20                	jb     0x58661c
5865fc:	83 f9 23             	cmp    $0x23,%ecx