47043e:	50                   	push   %eax
47043f:	66 89 8d dc fe ff ff 	mov    %cx,-0x124(%ebp)
470446:	8b cf                	mov    %edi,%ecx
470448:	68 8c f8 40 00       	push   $0x40f88c
47044d:	e8 f8 f0 ff ff       	call   0x46f54a
470452:	66 8b b5 fc fe ff ff 	mov    -0x104(%ebp),%si
470459:	66 85 f6             	test   %si,%si
47045c:	0f 84 be 00 00 00    	je     0x470520
470462:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
470468:	ff 15 20 74 4a 00    	call   *0x4a7420
47046e:	0f b7 c6             	movzwl %si,%eax
470471:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
470477:	50                   	push   %eax
470478:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
47047c:	ff 15 40 74 4a 00    	call   *0x4a7440
470482:	85 c0                	test   %eax,%eax
470484:	0f 84 8a 00 00 00    	je     0x470514
47048a:	6a 0a                	push   $0xa
47048c:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
470492:	ff 15 b4 75 4a 00    	call   *0x4a75b4
470498:	8b 8d 38 ff ff ff    	mov    -0xc8(%ebp),%ecx
47049e:	8b d0                	mov    %eax,%edx
4704a0:	85 d2                	test   %edx,%edx
4704a2:	0f 88 ed 00 00 00    	js     0x470595
4704a8:	8b 41 f8             	mov    -0x8(%ecx),%eax
4704ab:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
4704b1:	2b c2                	sub    %edx,%eax
4704b3:	48                   	dec    %eax
4704b4:	50                   	push   %eax
4704b5:	8d 85 d8 fe ff ff    	lea    -0x128(%ebp),%eax
4704bb:	50                   	push   %eax
4704bc:	ff 15 a4 73 4a 00    	call   *0x4a73a4
4704c2:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
4704c6:	8d 95 ec fe ff ff    	lea    -0x114(%ebp),%edx
4704cc:	8b 8d d8 fe ff ff    	mov    -0x128(%ebp),%ecx
4704d2:	e8 7a 5b fb ff       	call   0x426051
4704d7:	85 c0                	test   %eax,%eax
4704d9:	79 16                	jns    0x4704f1
4704db:	89 85 b0 fe ff ff    	mov    %eax,-0x150(%ebp)
4704e1:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
4704e7:	68 54 ec 49 00       	push   $0x49ec54
4704ec:	e9 47 04 00 00       	jmp    0x470938
4704f1:	8d 8d d8 fe ff ff    	lea    -0x128(%ebp),%ecx
4704f7:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
4704fb:	ff 15 1c 74 4a 00    	call   *0x4a741c
470501:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
470507:	8b cf                	mov    %edi,%ecx
470509:	50                   	push   %eax
47050a:	68 d0 f5 40 00       	push   $0x40f5d0
47050f:	e8 36 f0 ff ff       	call   0x46f54a
470514:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
47051a:	ff 15 1c 74 4a 00    	call   *0x4a741c
470520:	89 9d 20 ff ff ff    	mov    %ebx,-0xe0(%ebp)
470526:	8d 47 2c             	lea    0x2c(%edi),%eax
470529:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
47052d:	8b 30                	mov    (%eax),%esi
47052f:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
470535:	51                   	push   %ecx
470536:	68 70 fd 40 00       	push   $0x40fd70
47053b:	50                   	push   %eax
47053c:	8b 0e                	mov    (%esi),%ecx
47053e:	ff 15 2c 81 4a 00    	call   *0x4a812c
470544:	ff 16                	call   *(%esi)
470546:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
47054c:	85 c0                	test   %eax,%eax
47054e:	79 6e                	jns    0x4705be
470550:	8b 07                	mov    (%edi),%eax
470552:	6a 01                	push   $0x1
470554:	8b 70 04             	mov    0x4(%eax),%esi
470557:	8b ce                	mov    %esi,%ecx
470559:	ff 15 2c 81 4a 00    	call   *0x4a812c
47055f:	8b cf                	mov    %edi,%ecx
470561:	ff d6                	call   *%esi
470563:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
470569:	e8 03 04 fb ff       	call   0x420971
47056e:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
470572:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
470578:	85 c0                	test   %eax,%eax
47057a:	0f 84 48 fb ff ff    	je     0x4700c8
470580:	8b 08                	mov    (%eax),%ecx
470582:	50                   	push   %eax
470583:	8b 71 08             	mov    0x8(%ecx),%esi
470586:	8b ce                	mov    %esi,%ecx
470588:	ff 15 2c 81 4a 00    	call   *0x4a812c
47058e:	ff d6                	call   *%esi
470590:	e9 33 fb ff ff       	jmp    0x4700c8
470595:	8d 95 ec fe ff ff    	lea    -0x114(%ebp),%edx
47059b:	e8 b1 5a fb ff       	call   0x426051
4705a0:	85 c0                	test   %eax,%eax
4705a2:	0f 89 59 ff ff ff    	jns    0x470501
4705a8:	89 85 ac fe ff ff    	mov    %eax,-0x154(%ebp)
4705ae:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
4705b4:	68 54 ec 49 00       	push   $0x49ec54
4705b9:	e9 7a 03 00 00       	jmp    0x470938
4705be:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
4705c4:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
4705ca:	50                   	push   %eax
4705cb:	8b 08                	mov    (%eax),%ecx
4705cd:	8b 71 14             	mov    0x14(%ecx),%esi
4705d0:	8b ce                	mov    %esi,%ecx
4705d2:	ff 15 2c 81 4a 00    	call   *0x4a812c
4705d8:	ff d6                	call   *%esi
4705da:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
4705e0:	50                   	push   %eax
4705e1:	ff 15 64 7e 4a 00    	call   *0x4a7e64
4705e7:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
4705ed:	50                   	push   %eax
4705ee:	ff 15 64 7e 4a 00    	call   *0x4a7e64
4705f4:	8d 85 ec fe ff ff    	lea    -0x114(%ebp),%eax
4705fa:	50                   	push   %eax
4705fb:	ff 15 64 7e 4a 00    	call   *0x4a7e64
470601:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
470607:	e8 65 03 fb ff       	call   0x420971
47060c:	c6 45 fc 12          	movb   $0x12,-0x4(%ebp)
470610:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
470616:	85 c0                	test   %eax,%eax
470618:	74 10                	je     0x47062a
47061a:	8b 08                	mov    (%eax),%ecx
47061c:	50                   	push   %eax
47061d:	8b 71 08             	mov    0x8(%ecx),%esi
470620:	8b ce                	mov    %esi,%ecx
470622:	ff 15 2c 81 4a 00    	call   *0x4a812c
470628:	ff d6                	call   *%esi
47062a:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
47062e:	8b 85 1c ff ff ff    	mov    -0xe4(%ebp),%eax
470634:	8b b5 28 ff ff ff    	mov    -0xd8(%ebp),%esi
47063a:	40                   	inc    %eax
47063b:	8b 8d d4 fe ff ff    	mov    -0x12c(%ebp),%ecx
470641:	89 85 1c ff ff ff    	mov    %eax,-0xe4(%ebp)
470647:	e9 b3 fc ff ff       	jmp    0x4702ff
47064c:	8b 85 a4 fe ff ff    	mov    -0x15c(%ebp),%eax
470652:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
470658:	b8 6e 06 47 00       	mov    $0x47066e,%eax
47065d:	c3                   	ret
47065e:	c7 85 38 ff ff ff 05 	movl   $0x80004005,-0xc8(%ebp)
470665:	40 00 80
470668:	b8 6e 06 47 00       	mov    $0x47066e,%eax
47066d:	c3                   	ret
47066e:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
470674:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
47067a:	c7 45 fc 18 00 00 00 	movl   $0x18,-0x4(%ebp)
470681:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
470687:	85 c0                	test   %eax,%eax
470689:	74 10                	je     0x47069b
47068b:	8b 08                	mov    (%eax),%ecx
47068d:	50                   	push   %eax
47068e:	8b 71 08             	mov    0x8(%ecx),%esi
470691:	8b ce                	mov    %esi,%ecx
470693:	ff 15 2c 81 4a 00    	call   *0x4a812c
470699:	ff d6                	call   *%esi
47069b:	8b 85 30 ff ff ff    	mov    -0xd0(%ebp),%eax
4706a1:	e9 79 02 00 00       	jmp    0x47091f
4706a6:	ba b8 f7 40 00       	mov    $0x40f7b8,%edx
4706ab:	8b cb                	mov    %ebx,%ecx
4706ad:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
4706b0:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
4706b3:	75 08                	jne    0x4706bd
4706b5:	41                   	inc    %ecx
4706b6:	83 f9 04             	cmp    $0x4,%ecx
4706b9:	75 f2                	jne    0x4706ad
4706bb:	eb 47                	jmp    0x470704
4706bd:	ba f8 f5 40 00       	mov    $0x40f5f8,%edx
4706c2:	8b cb                	mov    %ebx,%ecx
4706c4:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
4706c7:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
4706ca:	75 08                	jne    0x4706d4
4706cc:	41                   	inc    %ecx
4706cd:	83 f9 04             	cmp    $0x4,%ecx
4706d0:	75 f2                	jne    0x4706c4
4706d2:	eb 30                	jmp    0x470704
4706d4:	ba 54 f8 40 00       	mov    $0x40f854,%edx
4706d9:	8b cb                	mov    %ebx,%ecx
4706db:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
4706de:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
4706e1:	75 08                	jne    0x4706eb
4706e3:	41                   	inc    %ecx
4706e4:	83 f9 04             	cmp    $0x4,%ecx
4706e7:	75 f2                	jne    0x4706db
4706e9:	eb 19                	jmp    0x470704
4706eb:	ba 80 f7 40 00       	mov    $0x40f780,%edx
4706f0:	8b cb                	mov    %ebx,%ecx
4706f2:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
4706f5:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
4706f8:	0f 85 1c 02 00 00    	jne    0x47091a
4706fe:	41                   	inc    %ecx
4706ff:	83 f9 04             	cmp    $0x4,%ecx
470702:	75 ee                	jne    0x4706f2
470704:	39 5f 28             	cmp    %ebx,0x28(%edi)
470707:	0f 84 0d 02 00 00    	je     0x47091a
47070d:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
470713:	e8 de f1 ff ff       	call   0x46f8f6
470718:	c7 45 fc 19 00 00 00 	movl   $0x19,-0x4(%ebp)
47071f:	8b 47 28             	mov    0x28(%edi),%eax
470722:	8d bd 78 ff ff ff    	lea    -0x88(%ebp),%edi
470728:	6a 05                	push   $0x5
47072a:	59                   	pop    %ecx
47072b:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
470731:	c7 85 74 ff ff ff 01 	movl   $0x1,-0x8c(%ebp)
470738:	00 00 00
47073b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
47073d:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
470743:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
470749:	53                   	push   %ebx
47074a:	51                   	push   %ecx
47074b:	6a ff                	push   $0xffffffff
47074d:	8b 37                	mov    (%edi),%esi
47074f:	50                   	push   %eax
470750:	8b 4e 14             	mov    0x14(%esi),%ecx
470753:	ff 15 2c 81 4a 00    	call   *0x4a812c
470759:	8b cf                	mov    %edi,%ecx
47075b:	ff 56 14             	call   *0x14(%esi)
47075e:	85 c0                	test   %eax,%eax
470760:	74 76                	je     0x4707d8
470762:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
470766:	74 70                	je     0x4707d8
470768:	83 7d 90 00          	cmpl   $0x0,-0x70(%ebp)
47076c:	74 6a                	je     0x4707d8
47076e:	89 9d 24 ff ff ff    	mov    %ebx,-0xdc(%ebp)
470774:	8b 85 18 ff ff ff    	mov    -0xe8(%ebp),%eax
47077a:	8d 8d 24 ff ff ff    	lea    -0xdc(%ebp),%ecx
470780:	c6 45 fc 1a          	movb   $0x1a,-0x4(%ebp)
470784:	51                   	push   %ecx
470785:	53                   	push   %ebx
470786:	8b 40 34             	mov    0x34(%eax),%eax
470789:	ff 75 90             	push   -0x70(%ebp)
47078c:	50                   	push   %eax
47078d:	8b 30                	mov    (%eax),%esi
47078f:	8b 4e 0c             	mov    0xc(%esi),%ecx
470792:	ff 15 2c 81 4a 00    	call   *0x4a812c
470798:	ff 56 0c             	call   *0xc(%esi)
47079b:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
4707a1:	85 c0                	test   %eax,%eax
4707a3:	78 15                	js     0x4707ba
4707a5:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
4707ab:	8b 95 24 ff ff ff    	mov    -0xdc(%ebp),%edx
4707b1:	51                   	push   %ecx
4707b2:	8b 4d 10             	mov    0x10(%ebp),%ecx
4707b5:	e8 83 f0 ff ff       	call   0x46f83d
4707ba:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
4707be:	8b 85 24 ff ff ff    	mov    -0xdc(%ebp),%eax
4707c4:	85 c0                	test   %eax,%eax
4707c6:	74 10                	je     0x4707d8
4707c8:	8b 08                	mov    (%eax),%ecx
4707ca:	50                   	push   %eax
4707cb:	8b 71 08             	mov    0x8(%ecx),%esi
4707ce:	8b ce                	mov    %esi,%ecx
4707d0:	ff 15 2c 81 4a 00    	call   *0x4a812c
4707d6:	ff d6                	call   *%esi
4707d8:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
4707de:	ff 15 1c 74 4a 00    	call   *0x4a741c
4707e4:	e9 b2 fe ff ff       	jmp    0x47069b
4707e9:	83 7e 10 0b          	cmpl   $0xb,0x10(%esi)
4707ed:	0f 85 27 01 00 00    	jne    0x47091a
4707f3:	33 db                	xor    %ebx,%ebx
4707f5:	ba 38 f5 40 00       	mov    $0x40f538,%edx
4707fa:	8b cb                	mov    %ebx,%ecx
4707fc:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
4707ff:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
470802:	0f 85 9c 00 00 00    	jne    0x4708a4
470808:	41                   	inc    %ecx
470809:	83 f9 04             	cmp    $0x4,%ecx
47080c:	75 ee                	jne    0x4707fc
47080e:	39 5f 28             	cmp    %ebx,0x28(%edi)
470811:	0f 84 03 01 00 00    	je     0x47091a
470817:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
47081a:	e8 d7 f0 ff ff       	call   0x46f8f6
47081f:	c7 45 fc 07 00 00 00 	movl   $0x7,-0x4(%ebp)
470826:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
470829:	8b b5 34 ff ff ff    	mov    -0xcc(%ebp),%esi
47082f:	8b 47 28             	mov    0x28(%edi),%eax
470832:	53                   	push   %ebx
470833:	51                   	push   %ecx
470834:	8b 36                	mov    (%esi),%esi
470836:	6a ff                	push   $0xffffffff
470838:	50                   	push   %eax
470839:	89 45 98             	mov    %eax,-0x68(%ebp)
47083c:	8b 4e 14             	mov    0x14(%esi),%ecx
47083f:	ff 15 2c 81 4a 00    	call   *0x4a812c
470845:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
47084b:	ff 56 14             	call   *0x14(%esi)
47084e:	85 c0                	test   %eax,%eax
470850:	74 05                	je     0x470857
470852:	8b 45 bc             	mov    -0x44(%ebp),%eax
470855:	eb 29                	jmp    0x470880
470857:	8b 85 34 ff ff ff    	mov    -0xcc(%ebp),%eax
47085d:	8b 30                	mov    (%eax),%esi
47085f:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
470865:	50                   	push   %eax
470866:	8d 45 94             	lea    -0x6c(%ebp),%eax
470869:	50                   	push   %eax
47086a:	8b 4e 14             	mov    0x14(%esi),%ecx
47086d:	53                   	push   %ebx
47086e:	ff 77 28             	push   0x28(%edi)
470871:	ff 15 2c 81 4a 00    	call   *0x4a812c
470877:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
47087d:	ff 56 14             	call   *0x14(%esi)
470880:	f7 d8                	neg    %eax
470882:	6a 0b                	push   $0xb
470884:	1b c0                	sbb    %eax,%eax
470886:	0f b7 d0             	movzwl %ax,%edx
470889:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
47088f:	59                   	pop    %ecx
470890:	66 89 08             	mov    %cx,(%eax)
470893:	8d 4d c8             	lea    -0x38(%ebp),%ecx
470896:	66 89 50 08          	mov    %dx,0x8(%eax)
47089a:	ff 15 1c 74 4a 00    	call   *0x4a741c
4708a0:	8b c3                	mov    %ebx,%eax
4708a2:	eb 7b                	jmp    0x47091f
4708a4:	ba a4 f7 40 00       	mov    $0x40f7a4,%edx
4708a9:	8b cb                	mov    %ebx,%ecx
4708ab:	8b 04 8e             	mov    (%esi,%ecx,4),%eax
4708ae:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
4708b1:	75 67                	jne    0x47091a
4708b3:	41                   	inc    %ecx
4708b4:	83 f9 04             	cmp    $0x4,%ecx
4708b7:	75 f2                	jne    0x4708ab
4708b9:	39 5f 28             	cmp    %ebx,0x28(%edi)
4708bc:	74 5c                	je     0x47091a
4708be:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4708c1:	e8 30 f0 ff ff       	call   0x46f8f6
4708c6:	c7 45 fc 08 00 00 00 	movl   $0x8,-0x4(%ebp)
4708cd:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
4708d0:	8b 47 28             	mov    0x28(%edi),%eax
4708d3:	8b bd 34 ff ff ff    	mov    -0xcc(%ebp),%edi
4708d9:	53                   	push   %ebx
4708da:	51                   	push   %ecx
4708db:	6a ff                	push   $0xffffffff
4708dd:	8b 37                	mov    (%edi),%esi
4708df:	50                   	push   %eax
4708e0:	89 45 98             	mov    %eax,-0x68(%ebp)
4708e3:	8b 4e 14             	mov    0x14(%esi),%ecx
4708e6:	ff 15 2c 81 4a 00    	call   *0x4a812c
4708ec:	8b cf                	mov    %edi,%ecx
4708ee:	ff 56 14             	call   *0x14(%esi)
4708f1:	85 c0                	test   %eax,%eax
4708f3:	74 1d                	je     0x470912
4708f5:	8b 8d 28 ff ff ff    	mov    -0xd8(%ebp),%ecx
4708fb:	6a 0b                	push   $0xb
4708fd:	58                   	pop    %eax
4708fe:	89 9d 30 ff ff ff    	mov    %ebx,-0xd0(%ebp)
470904:	66 89 01             	mov    %ax,(%ecx)
470907:	8b 45 c0             	mov    -0x40(%ebp),%eax
47090a:	f7 d8                	neg    %eax
47090c:	1b c0                	sbb    %eax,%eax
47090e:	66 89 41 08          	mov    %ax,0x8(%ecx)
470912:	8d 4d c8             	lea    -0x38(%ebp),%ecx
470915:	e9 c4 fe ff ff       	jmp    0x4707de
47091a:	b8 05 40 00 80       	mov    $0x80004005,%eax
47091f:	e8 a0 fb 01 00       	call   0x4904c4
470924:	c2 14 00             	ret    $0x14