4104a4:	8b f1                	mov    %ecx,%esi
4104a6:	79 0a                	jns    0x4104b2
4104a8:	8b 06                	mov    (%esi),%eax
4104aa:	6a 00                	push   $0x0
4104ac:	ff 90 a0 00 00 00    	call   *0xa0(%eax)
4104b2:	8b c3                	mov    %ebx,%eax
4104b4:	83 e0 03             	and    $0x3,%eax
4104b7:	3c 03                	cmp    $0x3,%al
4104b9:	74 41                	je     0x4104fc
4104bb:	f6 c3 02             	test   $0x2,%bl
4104be:	74 08                	je     0x4104c8
4104c0:	8b 56 2c             	mov    0x2c(%esi),%edx
4104c3:	8b 46 30             	mov    0x30(%esi),%eax
4104c6:	eb 06                	jmp    0x4104ce
4104c8:	8b 55 0c             	mov    0xc(%ebp),%edx
4104cb:	8b 45 10             	mov    0x10(%ebp),%eax
4104ce:	f6 c3 01             	test   $0x1,%bl
4104d1:	89 45 1c             	mov    %eax,0x1c(%ebp)
4104d4:	74 0e                	je     0x4104e4
4104d6:	8b 46 34             	mov    0x34(%esi),%eax
4104d9:	8b 4e 38             	mov    0x38(%esi),%ecx
4104dc:	2b 46 2c             	sub    0x2c(%esi),%eax
4104df:	2b 4e 30             	sub    0x30(%esi),%ecx
4104e2:	eb 06                	jmp    0x4104ea
4104e4:	8b 45 14             	mov    0x14(%ebp),%eax
4104e7:	8b 4d 18             	mov    0x18(%ebp),%ecx
4104ea:	57                   	push   %edi
4104eb:	8b 3e                	mov    (%esi),%edi
4104ed:	51                   	push   %ecx
4104ee:	50                   	push   %eax
4104ef:	ff 75 1c             	push   0x1c(%ebp)
4104f2:	8b ce                	mov    %esi,%ecx
4104f4:	52                   	push   %edx
4104f5:	ff 97 98 00 00 00    	call   *0x98(%edi)
4104fb:	5f                   	pop    %edi
4104fc:	f6 c3 40             	test   $0x40,%bl
4104ff:	74 0c                	je     0x41050d
410501:	8b 06                	mov    (%esi),%eax
410503:	6a 05                	push   $0x5
410505:	8b ce                	mov    %esi,%ecx
410507:	ff 90 a0 00 00 00    	call   *0xa0(%eax)
41050d:	8b 45 08             	mov    0x8(%ebp),%eax
410510:	81 e3 3f ff ff ff    	and    $0xffffff3f,%ebx
410516:	83 cb 03             	or     $0x3,%ebx
410519:	85 c0                	test   %eax,%eax
41051b:	74 03                	je     0x410520
41051d:	8b 40 1c             	mov    0x1c(%eax),%eax
410520:	53                   	push   %ebx
410521:	ff 75 18             	push   0x18(%ebp)
410524:	ff 75 14             	push   0x14(%ebp)
410527:	ff 75 10             	push   0x10(%ebp)
41052a:	ff 75 0c             	push   0xc(%ebp)
41052d:	50                   	push   %eax
41052e:	ff 76 20             	push   0x20(%esi)
410531:	ff 15 dc 07 4b 00    	call   *0x4b07dc
410537:	5e                   	pop    %esi
410538:	5b                   	pop    %ebx
410539:	5d                   	pop    %ebp
41053a:	c2 18 00             	ret    $0x18
41053d:	56                   	push   %esi
41053e:	8b f1                	mov    %ecx,%esi
410540:	f6 46 6d 40          	testb  $0x40,0x6d(%esi)
410544:	74 17                	je     0x41055d
410546:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
41054a:	75 11                	jne    0x41055d
41054c:	ff 76 20             	push   0x20(%esi)
41054f:	ff 15 e4 07 4b 00    	call   *0x4b07e4
410555:	50                   	push   %eax
410556:	e8 47 47 03 00       	call   0x444ca2
41055b:	5e                   	pop    %esi
41055c:	c3                   	ret
41055d:	57                   	push   %edi
41055e:	ff 15 d4 07 4b 00    	call   *0x4b07d4
410564:	50                   	push   %eax
410565:	e8 38 47 03 00       	call   0x444ca2
41056a:	f6 46 6d 04          	testb  $0x4,0x6d(%esi)
41056e:	8b f8                	mov    %eax,%edi
410570:	75 0b                	jne    0x41057d
410572:	8b 06                	mov    (%esi),%eax
410574:	6a 00                	push   $0x0
410576:	6a fc                	push   $0xfffffffc
410578:	8b ce                	mov    %esi,%ecx
41057a:	ff 50 5c             	call   *0x5c(%eax)
41057d:	8b c7                	mov    %edi,%eax
41057f:	5f                   	pop    %edi
410580:	5e                   	pop    %esi
410581:	c3                   	ret
410582:	56                   	push   %esi
410583:	8b f1                	mov    %ecx,%esi
410585:	f6 46 6d 40          	testb  $0x40,0x6d(%esi)
410589:	74 17                	je     0x4105a2
41058b:	83 7e 70 00          	cmpl   $0x0,0x70(%esi)
41058f:	75 11                	jne    0x4105a2
410591:	ff 76 20             	push   0x20(%esi)
410594:	ff 15 e4 07 4b 00    	call   *0x4b07e4
41059a:	50                   	push   %eax
41059b:	e8 02 47 03 00       	call   0x444ca2
4105a0:	eb 25                	jmp    0x4105c7
4105a2:	57                   	push   %edi
4105a3:	ff 15 d4 07 4b 00    	call   *0x4b07d4
4105a9:	50                   	push   %eax
4105aa:	e8 f3 46 03 00       	call   0x444ca2
4105af:	f6 46 6d 04          	testb  $0x4,0x6d(%esi)
4105b3:	8b f8                	mov    %eax,%edi
4105b5:	75 0d                	jne    0x4105c4
4105b7:	ff 74 24 0c          	push   0xc(%esp)
4105bb:	8b 06                	mov    (%esi),%eax
4105bd:	6a fc                	push   $0xfffffffc
4105bf:	8b ce                	mov    %esi,%ecx
4105c1:	ff 50 5c             	call   *0x5c(%eax)
4105c4:	8b c7                	mov    %edi,%eax
4105c6:	5f                   	pop    %edi
4105c7:	5e                   	pop    %esi
4105c8:	c2 04 00             	ret    $0x4
4105cb:	55                   	push   %ebp
4105cc:	8b ec                	mov    %esp,%ebp
4105ce:	51                   	push   %ecx
4105cf:	56                   	push   %esi
4105d0:	57                   	push   %edi
4105d1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4105d4:	85 ff                	test   %edi,%edi
4105d6:	8b f1                	mov    %ecx,%esi
4105d8:	74 66                	je     0x410640
4105da:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
4105de:	74 60                	je     0x410640
4105e0:	6a 1c                	push   $0x1c
4105e2:	e8 6e fa 02 00       	call   0x440055
4105e7:	85 c0                	test   %eax,%eax
4105e9:	59                   	pop    %ecx
4105ea:	74 14                	je     0x410600
4105ec:	6a 00                	push   $0x0
4105ee:	ff 75 08             	push   0x8(%ebp)
4105f1:	8b c8                	mov    %eax,%ecx
4105f3:	ff b6 90 00 00 00    	push   0x90(%esi)
4105f9:	e8 72 f1 ff ff       	call   0x40f770
4105fe:	eb 02                	jmp    0x410602
410600:	33 c0                	xor    %eax,%eax
410602:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
410608:	8b 4f 4c             	mov    0x4c(%edi),%ecx
41060b:	89 48 0c             	mov    %ecx,0xc(%eax)
41060e:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
410614:	89 30                	mov    %esi,(%eax)
410616:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
41061c:	8b 48 0c             	mov    0xc(%eax),%ecx
41061f:	8b 01                	mov    (%ecx),%eax
410621:	ff 90 b4 00 00 00    	call   *0xb4(%eax)
410627:	8b b6 90 00 00 00    	mov    0x90(%esi),%esi
41062d:	8b 46 0c             	mov    0xc(%esi),%eax
410630:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
410636:	8b 01                	mov    (%ecx),%eax
410638:	6a 01                	push   $0x1
41063a:	56                   	push   %esi
41063b:	ff 50 04             	call   *0x4(%eax)
41063e:	eb 79                	jmp    0x4106b9
410640:	8b be 90 00 00 00    	mov    0x90(%esi),%edi
410646:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41064a:	85 ff                	test   %edi,%edi
41064c:	74 6b                	je     0x4106b9
41064e:	53                   	push   %ebx
41064f:	8b 45 08             	mov    0x8(%ebp),%eax
410652:	83 f8 ff             	cmp    $0xffffffff,%eax
410655:	8b 5f 18             	mov    0x18(%edi),%ebx
410658:	74 05                	je     0x41065f
41065a:	39 47 08             	cmp    %eax,0x8(%edi)
41065d:	75 46                	jne    0x4106a5
41065f:	8b 45 0c             	mov    0xc(%ebp),%eax
410662:	85 c0                	test   %eax,%eax
410664:	74 08                	je     0x41066e
410666:	8b 40 4c             	mov    0x4c(%eax),%eax
410669:	3b 47 0c             	cmp    0xc(%edi),%eax
41066c:	75 37                	jne    0x4106a5
41066e:	8b 45 fc             	mov    -0x4(%ebp),%eax
410671:	85 c0                	test   %eax,%eax
410673:	74 05                	je     0x41067a
410675:	89 58 18             	mov    %ebx,0x18(%eax)
410678:	eb 06                	jmp    0x410680
41067a:	89 9e 90 00 00 00    	mov    %ebx,0x90(%esi)
410680:	8b 47 0c             	mov    0xc(%edi),%eax
410683:	85 c0                	test   %eax,%eax
410685:	74 17                	je     0x41069e
410687:	83 b8 8c 00 00 00 00 	cmpl   $0x0,0x8c(%eax)
41068e:	74 0e                	je     0x41069e
410690:	8b 88 8c 00 00 00    	mov    0x8c(%eax),%ecx
410696:	8b 01                	mov    (%ecx),%eax
410698:	6a 00                	push   $0x0
41069a:	57                   	push   %edi
41069b:	ff 50 04             	call   *0x4(%eax)
41069e:	57                   	push   %edi
41069f:	e8 dc f9 02 00       	call   0x440080
4106a4:	59                   	pop    %ecx
4106a5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4106a8:	85 c0                	test   %eax,%eax
4106aa:	74 06                	je     0x4106b2
4106ac:	8b 40 18             	mov    0x18(%eax),%eax
4106af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4106b2:	85 db                	test   %ebx,%ebx
4106b4:	8b fb                	mov    %ebx,%edi
4106b6:	75 97                	jne    0x41064f
4106b8:	5b                   	pop    %ebx
4106b9:	5f                   	pop    %edi
4106ba:	5e                   	pop    %esi
4106bb:	c9                   	leave
4106bc:	c2 08 00             	ret    $0x8
4106bf:	8b 44 24 04          	mov    0x4(%esp),%eax
4106c3:	05 40 ff ff ff       	add    $0xffffff40,%eax
4106c8:	50                   	push   %eax
4106c9:	ff 15 a4 02 4b 00    	call   *0x4b02a4
4106cf:	c2 04 00             	ret    $0x4
4106d2:	8b 44 24 04          	mov    0x4(%esp),%eax
4106d6:	05 3c ff ff ff       	add    $0xffffff3c,%eax
4106db:	50                   	push   %eax
4106dc:	ff 15 a4 02 4b 00    	call   *0x4b02a4
4106e2:	c2 04 00             	ret    $0x4
4106e5:	8b 44 24 04          	mov    0x4(%esp),%eax
4106e9:	8b 80 54 ff ff ff    	mov    -0xac(%eax),%eax
4106ef:	8b 40 1c             	mov    0x1c(%eax),%eax
4106f2:	85 c0                	test   %eax,%eax
4106f4:	74 03                	je     0x4106f9
4106f6:	8b 40 1c             	mov    0x1c(%eax),%eax
4106f9:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4106fd:	89 01                	mov    %eax,(%ecx)
4106ff:	f7 d8                	neg    %eax
410701:	1b c0                	sbb    %eax,%eax
410703:	25 fb bf ff 7f       	and    $0x7fffbffb,%eax
410708:	05 05 40 00 80       	add    $0x80004005,%eax
41070d:	c2 08 00             	ret    $0x8
410710:	55                   	push   %ebp
410711:	8b ec                	mov    %esp,%ebp
410713:	8b 45 10             	mov    0x10(%ebp),%eax
410716:	85 c0                	test   %eax,%eax
410718:	56                   	push   %esi
410719:	57                   	push   %edi
41071a:	8b 7d 08             	mov    0x8(%ebp),%edi
41071d:	74 03                	je     0x410722
41071f:	83 20 00             	andl   $0x0,(%eax)
410722:	ff 75 0c             	push   0xc(%ebp)
410725:	8d b7 54 ff ff ff    	lea    -0xac(%edi),%esi
41072b:	8b 0e                	mov    (%esi),%ecx
41072d:	68 3c 4c 49 00       	push   $0x494c3c
410732:	e8 c5 39 06 00       	call   0x4740fc
410737:	85 c0                	test   %eax,%eax
410739:	7d 07                	jge    0x410742
41073b:	b8 05 40 00 80       	mov    $0x80004005,%eax
410740:	eb 38                	jmp    0x41077a
410742:	8b 06                	mov    (%esi),%eax
410744:	8b 70 1c             	mov    0x1c(%eax),%esi
410747:	81 c7 64 ff ff ff    	add    $0xffffff64,%edi
41074d:	57                   	push   %edi
41074e:	ff 75 14             	push   0x14(%ebp)
410751:	ff 15 44 07 4b 00    	call   *0x4b0744
410757:	ff 75 18             	push   0x18(%ebp)
41075a:	ff 76 1c             	push   0x1c(%esi)
41075d:	ff 15 8c 08 4b 00    	call   *0x4b088c
410763:	8b 45 1c             	mov    0x1c(%ebp),%eax
410766:	83 60 04 00          	andl   $0x0,0x4(%eax)
41076a:	8b 76 1c             	mov    0x1c(%esi),%esi
41076d:	83 60 0c 00          	andl   $0x0,0xc(%eax)
410771:	83 60 10 00          	andl   $0x0,0x10(%eax)
410775:	89 70 08             	mov    %esi,0x8(%eax)
410778:	33 c0                	xor    %eax,%eax
41077a:	5f                   	pop    %edi
41077b:	5e                   	pop    %esi
41077c:	5d                   	pop    %ebp
41077d:	c2 18 00             	ret    $0x18
410780:	55                   	push   %ebp
410781:	8b ec                	mov    %esp,%ebp
410783:	83 ec 20             	sub    $0x20,%esp
410786:	53                   	push   %ebx
410787:	8b 5d 08             	mov    0x8(%ebp),%ebx
41078a:	56                   	push   %esi
41078b:	57                   	push   %edi
41078c:	8d 45 e0             	lea    -0x20(%ebp),%eax
41078f:	50                   	push   %eax
410790:	8b 83 54 ff ff ff    	mov    -0xac(%ebx),%eax
410796:	8b 40 1c             	mov    0x1c(%eax),%eax
410799:	ff 70 1c             	push   0x1c(%eax)
41079c:	ff 15 8c 08 4b 00    	call   *0x4b088c
4107a2:	ff 75 0c             	push   0xc(%ebp)
4107a5:	8d 45 f0             	lea    -0x10(%ebp),%eax
4107a8:	50                   	push   %eax
4107a9:	ff 15 44 07 4b 00    	call   *0x4b0744
4107af:	8d 83 64 ff ff ff    	lea    -0x9c(%ebx),%eax
4107b5:	8b 5b 88             	mov    -0x78(%ebx),%ebx
4107b8:	8b f8                	mov    %eax,%edi
4107ba:	8d 75 f0             	lea    -0x10(%ebp),%esi
4107bd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4107be:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4107bf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4107c0:	8d 55 e0             	lea    -0x20(%ebp),%edx
4107c3:	52                   	push   %edx
4107c4:	50                   	push   %eax
4107c5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4107c6:	8b 0b                	mov    (%ebx),%ecx
4107c8:	53                   	push   %ebx
4107c9:	ff 51 1c             	call   *0x1c(%ecx)
4107cc:	5f                   	pop    %edi
4107cd:	5e                   	pop    %esi
4107ce:	5b                   	pop    %ebx
4107cf:	c9                   	leave
4107d0:	c2 08 00             	ret    $0x8
4107d3:	b8 8c 36 48 00       	mov    $0x48368c,%eax
4107d8:	e8 9f 74 00 00       	call   0x417c7c
4107dd:	83 ec 18             	sub    $0x18,%esp
4107e0:	53                   	push   %ebx
4107e1:	56                   	push   %esi
4107e2:	33 f6                	xor    %esi,%esi
4107e4:	89 75 f0             	mov    %esi,-0x10(%ebp)
4107e7:	c7 45 ec f8 c5 48 00 	movl   $0x48c5f8,-0x14(%ebp)
4107ee:	8b 45 14             	mov    0x14(%ebp),%eax
4107f1:	8b 5d 08             	mov    0x8(%ebp),%ebx
4107f4:	89 30                	mov    %esi,(%eax)
4107f6:	39 73 f8             	cmp    %esi,-0x8(%ebx)
4107f9:	89 75 fc             	mov    %esi,-0x4(%ebp)
4107fc:	74 07                	je     0x410805
4107fe:	be 05 40 00 80       	mov    $0x80004005,%esi
410803:	eb 7f                	jmp    0x410884
410805:	8b 83 54 ff ff ff    	mov    -0xac(%ebx),%eax
41080b:	8b 40 1c             	mov    0x1c(%eax),%eax
41080e:	ff 70 1c             	push   0x1c(%eax)
410811:	ff 15 60 06 4b 00    	call   *0x4b0660
410817:	50                   	push   %eax
410818:	e8 3c eb 03 00       	call   0x44f359
41081d:	3b c6                	cmp    %esi,%eax
41081f:	89 43 f8             	mov    %eax,-0x8(%ebx)
410822:	74 da                	je     0x4107fe
410824:	39 75 0c             	cmp    %esi,0xc(%ebp)
410827:	75 13                	jne    0x41083c
410829:	57                   	push   %edi
41082a:	8d b3 64 ff ff ff    	lea    -0x9c(%ebx),%esi
410830:	8d 7d dc             	lea    -0x24(%ebp),%edi
410833:	a5                   	movsl  %ds:(%esi),%es:(%edi)
410834:	a5                   	movsl  %ds:(%esi),%es:(%edi)
410835:	a5                   	movsl  %ds:(%esi),%es:(%edi)
410836:	a5                   	movsl  %ds:(%esi),%es:(%edi)
410837:	33 f6                	xor    %esi,%esi
410839:	5f                   	pop    %edi
41083a:	eb 14                	jmp    0x410850
41083c:	ff 75 0c             	push   0xc(%ebp)
41083f:	8d 83 64 ff ff ff    	lea    -0x9c(%ebx),%eax
410845:	50                   	push   %eax
410846:	8d 45 dc             	lea    -0x24(%ebp),%eax
410849:	50                   	push   %eax
41084a:	ff 15 34 07 4b 00    	call   *0x4b0734
410850:	8d 45 dc             	lea    -0x24(%ebp),%eax
410853:	50                   	push   %eax
410854:	ff 15 68 ff 4a 00    	call   *0x4aff68
41085a:	50                   	push   %eax
41085b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
41085e:	e8 01 ee 03 00       	call   0x44f664
410863:	8b 4b f8             	mov    -0x8(%ebx),%ecx