444506:	8b f1                	mov    %ecx,%esi
444508:	33 db                	xor    %ebx,%ebx
44450a:	89 65 f0             	mov    %esp,-0x10(%ebp)
44450d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
444510:	89 75 d8             	mov    %esi,-0x28(%ebp)
444513:	89 5d dc             	mov    %ebx,-0x24(%ebp)
444516:	e8 bb 93 02 00       	call   0x46d8d6
44451b:	8b f8                	mov    %eax,%edi
44451d:	8d 87 dc 00 00 00    	lea    0xdc(%edi),%eax
444523:	8b 08                	mov    (%eax),%ecx
444525:	89 4d e8             	mov    %ecx,-0x18(%ebp)
444528:	8b 4e 1c             	mov    0x1c(%esi),%ecx
44452b:	89 08                	mov    %ecx,(%eax)
44452d:	8b 06                	mov    (%esi),%eax
44452f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
444532:	51                   	push   %ecx
444533:	8b ce                	mov    %esi,%ecx
444535:	89 7d ec             	mov    %edi,-0x14(%ebp)
444538:	89 5d 08             	mov    %ebx,0x8(%ebp)
44453b:	89 5d fc             	mov    %ebx,-0x4(%ebp)
44453e:	ff 90 f4 00 00 00    	call   *0xf4(%eax)
444544:	c7 45 08 01 00 00 00 	movl   $0x1,0x8(%ebp)
44454b:	eb 27                	jmp    0x444574
44454d:	b8 71 45 44 00       	mov    $0x444571,%eax
444552:	c3                   	ret
444553:	8b 75 e4             	mov    -0x1c(%ebp),%esi
444556:	8b 06                	mov    (%esi),%eax
444558:	68 08 f1 00 00       	push   $0xf108
44455d:	6a 30                	push   $0x30
44455f:	8b ce                	mov    %esi,%ecx
444561:	ff 50 10             	call   *0x10(%eax)
444564:	8b ce                	mov    %esi,%ecx
444566:	e8 ae b9 ff ff       	call   0x43ff19
44456b:	b8 71 45 44 00       	mov    $0x444571,%eax
444570:	c3                   	ret
444571:	8b 7d ec             	mov    -0x14(%ebp),%edi
444574:	8b 45 e8             	mov    -0x18(%ebp),%eax
444577:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44457a:	89 87 dc 00 00 00    	mov    %eax,0xdc(%edi)
444580:	8b 45 08             	mov    0x8(%ebp),%eax
444583:	5f                   	pop    %edi
444584:	5e                   	pop    %esi
444585:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44458c:	5b                   	pop    %ebx
44458d:	c9                   	leave
44458e:	c2 04 00             	ret    $0x4
444591:	55                   	push   %ebp
444592:	8b ec                	mov    %esp,%ebp
444594:	83 ec 60             	sub    $0x60,%esp
444597:	53                   	push   %ebx
444598:	56                   	push   %esi
444599:	8b f1                	mov    %ecx,%esi
44459b:	57                   	push   %edi
44459c:	89 75 f8             	mov    %esi,-0x8(%ebp)
44459f:	e8 a2 c6 ff ff       	call   0x440c46
4445a4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4445a7:	8b 45 08             	mov    0x8(%ebp),%eax
4445aa:	85 c0                	test   %eax,%eax
4445ac:	74 05                	je     0x4445b3
4445ae:	8b 78 1c             	mov    0x1c(%eax),%edi
4445b1:	eb 38                	jmp    0x4445eb
4445b3:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
4445b7:	74 0b                	je     0x4445c4
4445b9:	ff 76 1c             	push   0x1c(%esi)
4445bc:	ff 15 d8 07 4b 00    	call   *0x4b07d8
4445c2:	eb 0b                	jmp    0x4445cf
4445c4:	6a 04                	push   $0x4
4445c6:	ff 76 1c             	push   0x1c(%esi)
4445c9:	ff 15 4c 07 4b 00    	call   *0x4b074c
4445cf:	8b f8                	mov    %eax,%edi
4445d1:	85 ff                	test   %edi,%edi
4445d3:	74 16                	je     0x4445eb
4445d5:	6a 00                	push   $0x0
4445d7:	6a 00                	push   $0x0
4445d9:	68 6b 03 00 00       	push   $0x36b
4445de:	57                   	push   %edi
4445df:	ff 15 98 08 4b 00    	call   *0x4b0898
4445e5:	85 c0                	test   %eax,%eax
4445e7:	74 02                	je     0x4445eb
4445e9:	8b f8                	mov    %eax,%edi
4445eb:	8b 1d 40 07 4b 00    	mov    0x4b0740,%ebx
4445f1:	8d 45 d8             	lea    -0x28(%ebp),%eax
4445f4:	50                   	push   %eax
4445f5:	ff 76 1c             	push   0x1c(%esi)
4445f8:	ff d3                	call   *%ebx
4445fa:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
4445fe:	0f 85 8b 00 00 00    	jne    0x44468f
444604:	85 ff                	test   %edi,%edi
444606:	74 19                	je     0x444621
444608:	6a f0                	push   $0xfffffff0
44460a:	57                   	push   %edi
44460b:	ff 15 14 08 4b 00    	call   *0x4b0814
444611:	a9 00 00 00 10       	test   $0x10000000,%eax
444616:	74 07                	je     0x44461f
444618:	a9 00 00 00 20       	test   $0x20000000,%eax
44461d:	74 02                	je     0x444621
44461f:	33 ff                	xor    %edi,%edi
444621:	85 ff                	test   %edi,%edi
444623:	c7 45 a0 28 00 00 00 	movl   $0x28,-0x60(%ebp)
44462a:	75 3a                	jne    0x444666
44462c:	e8 77 2e fc ff       	call   0x4074a8
444631:	85 c0                	test   %eax,%eax
444633:	74 03                	je     0x444638
444635:	8b 40 1c             	mov    0x1c(%eax),%eax
444638:	8d 4d a0             	lea    -0x60(%ebp),%ecx
44463b:	51                   	push   %ecx
44463c:	6a 01                	push   $0x1
44463e:	50                   	push   %eax
44463f:	e8 b6 3e fc ff       	call   0x4084fa
444644:	50                   	push   %eax
444645:	e8 1b 3f fc ff       	call   0x408565
44464a:	8b 35 44 07 4b 00    	mov    0x4b0744,%esi
444650:	8d 45 b4             	lea    -0x4c(%ebp),%eax
444653:	50                   	push   %eax
444654:	8d 45 c8             	lea    -0x38(%ebp),%eax
444657:	50                   	push   %eax
444658:	ff d6                	call   *%esi
44465a:	8d 45 b4             	lea    -0x4c(%ebp),%eax
44465d:	50                   	push   %eax
44465e:	8d 45 e8             	lea    -0x18(%ebp),%eax
444661:	50                   	push   %eax
444662:	ff d6                	call   *%esi
444664:	eb 56                	jmp    0x4446bc
444666:	8d 45 c8             	lea    -0x38(%ebp),%eax
444669:	50                   	push   %eax
44466a:	57                   	push   %edi
44466b:	ff d3                	call   *%ebx
44466d:	8d 45 a0             	lea    -0x60(%ebp),%eax
444670:	50                   	push   %eax
444671:	6a 02                	push   $0x2
444673:	57                   	push   %edi
444674:	e8 81 3e fc ff       	call   0x4084fa
444679:	50                   	push   %eax
44467a:	e8 e6 3e fc ff       	call   0x408565
44467f:	8d 45 b4             	lea    -0x4c(%ebp),%eax
444682:	50                   	push   %eax
444683:	8d 45 e8             	lea    -0x18(%ebp),%eax
444686:	50                   	push   %eax
444687:	ff 15 44 07 4b 00    	call   *0x4b0744
44468d:	eb 2d                	jmp    0x4446bc
44468f:	ff 76 1c             	push   0x1c(%esi)
444692:	ff 15 d8 07 4b 00    	call   *0x4b07d8
444698:	8b 35 8c 08 4b 00    	mov    0x4b088c,%esi
44469e:	8b d8                	mov    %eax,%ebx
4446a0:	8d 45 e8             	lea    -0x18(%ebp),%eax
4446a3:	50                   	push   %eax
4446a4:	53                   	push   %ebx
4446a5:	ff d6                	call   *%esi
4446a7:	8d 45 c8             	lea    -0x38(%ebp),%eax
4446aa:	50                   	push   %eax
4446ab:	57                   	push   %edi
4446ac:	ff d6                	call   *%esi
4446ae:	6a 02                	push   $0x2
4446b0:	8d 45 c8             	lea    -0x38(%ebp),%eax
4446b3:	50                   	push   %eax
4446b4:	53                   	push   %ebx
4446b5:	57                   	push   %edi
4446b6:	ff 15 d4 06 4b 00    	call   *0x4b06d4
4446bc:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4446bf:	8b 45 c8             	mov    -0x38(%ebp),%eax
4446c2:	8b 7d e0             	mov    -0x20(%ebp),%edi
4446c5:	2b 7d d8             	sub    -0x28(%ebp),%edi
4446c8:	03 c1                	add    %ecx,%eax
4446ca:	99                   	cltd
4446cb:	2b c2                	sub    %edx,%eax
4446cd:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4446d0:	2b 5d dc             	sub    -0x24(%ebp),%ebx
4446d3:	8b c8                	mov    %eax,%ecx
4446d5:	8b c7                	mov    %edi,%eax
4446d7:	99                   	cltd
4446d8:	2b c2                	sub    %edx,%eax
4446da:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4446dd:	d1 f8                	sar    $1,%eax
4446df:	d1 f9                	sar    $1,%ecx
4446e1:	2b c8                	sub    %eax,%ecx
4446e3:	8b 45 cc             	mov    -0x34(%ebp),%eax
4446e6:	03 c2                	add    %edx,%eax
4446e8:	99                   	cltd
4446e9:	2b c2                	sub    %edx,%eax
4446eb:	8b f0                	mov    %eax,%esi
4446ed:	8b c3                	mov    %ebx,%eax
4446ef:	99                   	cltd
4446f0:	2b c2                	sub    %edx,%eax
4446f2:	d1 fe                	sar    $1,%esi
4446f4:	d1 f8                	sar    $1,%eax
4446f6:	2b f0                	sub    %eax,%esi
4446f8:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
4446fb:	7d 05                	jge    0x444702
4446fd:	8b 4d e8             	mov    -0x18(%ebp),%ecx
444700:	eb 11                	jmp    0x444713
444702:	8b 45 f0             	mov    -0x10(%ebp),%eax
444705:	03 f9                	add    %ecx,%edi
444707:	3b f8                	cmp    %eax,%edi
444709:	7e 08                	jle    0x444713
44470b:	2b 45 e0             	sub    -0x20(%ebp),%eax
44470e:	03 45 d8             	add    -0x28(%ebp),%eax
444711:	8b c8                	mov    %eax,%ecx
444713:	3b 75 ec             	cmp    -0x14(%ebp),%esi
444716:	7d 05                	jge    0x44471d
444718:	8b 75 ec             	mov    -0x14(%ebp),%esi
44471b:	eb 10                	jmp    0x44472d
44471d:	03 de                	add    %esi,%ebx
44471f:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
444722:	7e 09                	jle    0x44472d
444724:	8b 75 dc             	mov    -0x24(%ebp),%esi
444727:	2b 75 e4             	sub    -0x1c(%ebp),%esi
44472a:	03 75 f4             	add    -0xc(%ebp),%esi
44472d:	6a 15                	push   $0x15
44472f:	6a ff                	push   $0xffffffff
444731:	6a ff                	push   $0xffffffff
444733:	56                   	push   %esi
444734:	51                   	push   %ecx
444735:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444738:	6a 00                	push   $0x0
44473a:	e8 2a c8 ff ff       	call   0x440f69
44473f:	5f                   	pop    %edi
444740:	5e                   	pop    %esi
444741:	5b                   	pop    %ebx
444742:	c9                   	leave
444743:	c2 04 00             	ret    $0x4
444746:	83 ec 10             	sub    $0x10,%esp
444749:	53                   	push   %ebx
44474a:	55                   	push   %ebp
44474b:	56                   	push   %esi
44474c:	33 db                	xor    %ebx,%ebx
44474e:	57                   	push   %edi
44474f:	43                   	inc    %ebx
444750:	33 ff                	xor    %edi,%edi
444752:	f6 44 24 24 04       	testb  $0x4,0x24(%esp)
444757:	8b f1                	mov    %ecx,%esi
444759:	89 5c 24 14          	mov    %ebx,0x14(%esp)
44475d:	89 7c 24 10          	mov    %edi,0x10(%esp)
444761:	74 0c                	je     0x44476f
444763:	e8 de c4 ff ff       	call   0x440c46
444768:	a9 00 00 00 10       	test   $0x10000000,%eax
44476d:	74 02                	je     0x444771
44476f:	33 db                	xor    %ebx,%ebx
444771:	ff 76 1c             	push   0x1c(%esi)
444774:	ff 15 d8 07 4b 00    	call   *0x4b07d8
44477a:	83 4e 38 18          	orl    $0x18,0x38(%esi)
44477e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
444782:	e8 69 cf ff ff       	call   0x4416f0
444787:	8b 2d 48 08 4b 00    	mov    0x4b0848,%ebp
44478d:	89 44 24 18          	mov    %eax,0x18(%esp)
444791:	eb 72                	jmp    0x444805
444793:	57                   	push   %edi
444794:	57                   	push   %edi
444795:	57                   	push   %edi
444796:	57                   	push   %edi
444797:	ff 74 24 28          	push   0x28(%esp)
44479b:	ff 15 a8 07 4b 00    	call   *0x4b07a8
4447a1:	85 c0                	test   %eax,%eax
4447a3:	75 66                	jne    0x44480b
4447a5:	3b df                	cmp    %edi,%ebx
4447a7:	74 10                	je     0x4447b9
4447a9:	6a 01                	push   $0x1
4447ab:	8b ce                	mov    %esi,%ecx
4447ad:	e8 b9 c5 ff ff       	call   0x440d6b
4447b2:	ff 76 1c             	push   0x1c(%esi)
4447b5:	ff d5                	call   *%ebp
4447b7:	33 db                	xor    %ebx,%ebx
4447b9:	f6 44 24 24 01       	testb  $0x1,0x24(%esp)
4447be:	75 1f                	jne    0x4447df
4447c0:	39 7c 24 1c          	cmp    %edi,0x1c(%esp)
4447c4:	74 19                	je     0x4447df
4447c6:	39 7c 24 10          	cmp    %edi,0x10(%esp)
4447ca:	75 13                	jne    0x4447df
4447cc:	ff 76 1c             	push   0x1c(%esi)
4447cf:	57                   	push   %edi
4447d0:	68 21 01 00 00       	push   $0x121
4447d5:	ff 74 24 28          	push   0x28(%esp)
4447d9:	ff 15 98 08 4b 00    	call   *0x4b0898
4447df:	f6 44 24 24 02       	testb  $0x2,0x24(%esp)
4447e4:	75 1b                	jne    0x444801
4447e6:	ff 74 24 10          	push   0x10(%esp)
4447ea:	57                   	push   %edi
4447eb:	68 6a 03 00 00       	push   $0x36a
4447f0:	ff 76 1c             	push   0x1c(%esi)
4447f3:	ff 15 98 08 4b 00    	call   *0x4b0898
4447f9:	ff 44 24 10          	incl   0x10(%esp)
4447fd:	85 c0                	test   %eax,%eax
4447ff:	75 04                	jne    0x444805
444801:	89 7c 24 14          	mov    %edi,0x14(%esp)
444805:	39 7c 24 14          	cmp    %edi,0x14(%esp)
444809:	75 88                	jne    0x444793
44480b:	e8 36 d3 ff ff       	call   0x441b46
444810:	85 c0                	test   %eax,%eax
444812:	74 65                	je     0x444879
444814:	3b df                	cmp    %edi,%ebx
444816:	74 25                	je     0x44483d
444818:	8b 44 24 18          	mov    0x18(%esp),%eax
44481c:	8b 40 04             	mov    0x4(%eax),%eax
44481f:	3d 18 01 00 00       	cmp    $0x118,%eax
444824:	74 07                	je     0x44482d
444826:	3d 04 01 00 00       	cmp    $0x104,%eax
44482b:	75 10                	jne    0x44483d
44482d:	6a 01                	push   $0x1
44482f:	8b ce                	mov    %esi,%ecx
444831:	e8 35 c5 ff ff       	call   0x440d6b
444836:	ff 76 1c             	push   0x1c(%esi)
444839:	ff d5                	call   *%ebp
44483b:	33 db                	xor    %ebx,%ebx
44483d:	8b 06                	mov    (%esi),%eax
44483f:	8b ce                	mov    %esi,%ecx
444841:	ff 90 80 00 00 00    	call   *0x80(%eax)
444847:	85 c0                	test   %eax,%eax
444849:	74 39                	je     0x444884
44484b:	ff 74 24 18          	push   0x18(%esp)
44484f:	e8 14 d2 ff ff       	call   0x441a68
444854:	85 c0                	test   %eax,%eax
444856:	59                   	pop    %ecx
444857:	74 0c                	je     0x444865
444859:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
444860:	00
444861:	89 7c 24 10          	mov    %edi,0x10(%esp)
444865:	57                   	push   %edi
444866:	57                   	push   %edi
444867:	57                   	push   %edi
444868:	57                   	push   %edi
444869:	ff 74 24 28          	push   0x28(%esp)
44486d:	ff 15 a8 07 4b 00    	call   *0x4b07a8
444873:	85 c0                	test   %eax,%eax
444875:	75 94                	jne    0x44480b
444877:	eb 8c                	jmp    0x444805
444879:	57                   	push   %edi
44487a:	e8 19 c6 03 00       	call   0x480e98
44487f:	83 c8 ff             	or     $0xffffffff,%eax
444882:	eb 07                	jmp    0x44488b
444884:	83 66 38 e7          	andl   $0xffffffe7,0x38(%esi)
444888:	8b 46 40             	mov    0x40(%esi),%eax
44488b:	5f                   	pop    %edi
44488c:	5e                   	pop    %esi
44488d:	5d                   	pop    %ebp
44488e:	5b                   	pop    %ebx
44488f:	83 c4 10             	add    $0x10,%esp
444892:	c2 04 00             	ret    $0x4
444895:	8b 44 24 04          	mov    0x4(%esp),%eax
444899:	89 41 40             	mov    %eax,0x40(%ecx)
44489c:	8b 41 38             	mov    0x38(%ecx),%eax
44489f:	a8 10                	test   $0x10,%al
4448a1:	74 14                	je     0x4448b7
4448a3:	83 e0 ef             	and    $0xffffffef,%eax
4448a6:	89 41 38             	mov    %eax,0x38(%ecx)
4448a9:	33 c0                	xor    %eax,%eax
4448ab:	50                   	push   %eax
4448ac:	50                   	push   %eax
4448ad:	50                   	push   %eax
4448ae:	ff 71 1c             	push   0x1c(%ecx)
4448b1:	ff 15 c8 07 4b 00    	call   *0x4b07c8
4448b7:	c2 04 00             	ret    $0x4