446536:	e8 0d e0 ff ff       	call   0x444548
44653b:	89 04 24             	mov    %eax,(%esp)
44653e:	8b 43 0c             	mov    0xc(%ebx),%eax
446541:	d1 f8                	sar    $1,%eax
446543:	79 03                	jns    0x446548
446545:	83 d0 00             	adc    $0x0,%eax
446548:	8b 53 54             	mov    0x54(%ebx),%edx
44654b:	2b d0                	sub    %eax,%edx
44654d:	89 54 24 04          	mov    %edx,0x4(%esp)
446551:	ba 02 00 00 00       	mov    $0x2,%edx
446556:	8b 43 60             	mov    0x60(%ebx),%eax
446559:	e8 56 e0 ff ff       	call   0x4445b4
44655e:	03 04 24             	add    (%esp),%eax
446561:	89 44 24 08          	mov    %eax,0x8(%esp)
446565:	8b 44 24 04          	mov    0x4(%esp),%eax
446569:	03 43 0c             	add    0xc(%ebx),%eax
44656c:	89 44 24 0c          	mov    %eax,0xc(%esp)
446570:	eb 41                	jmp    0x4465b3
446572:	8b 43 0c             	mov    0xc(%ebx),%eax
446575:	d1 f8                	sar    $1,%eax
446577:	79 03                	jns    0x44657c
446579:	83 d0 00             	adc    $0x0,%eax
44657c:	8b 53 50             	mov    0x50(%ebx),%edx
44657f:	2b d0                	sub    %eax,%edx
446581:	89 14 24             	mov    %edx,(%esp)
446584:	ba 01 00 00 00       	mov    $0x1,%edx
446589:	8b c6                	mov    %esi,%eax
44658b:	e8 b8 df ff ff       	call   0x444548
446590:	89 44 24 04          	mov    %eax,0x4(%esp)
446594:	8b 04 24             	mov    (%esp),%eax
446597:	03 43 0c             	add    0xc(%ebx),%eax
44659a:	89 44 24 08          	mov    %eax,0x8(%esp)
44659e:	ba 01 00 00 00       	mov    $0x1,%edx
4465a3:	8b 43 60             	mov    0x60(%ebx),%eax
4465a6:	e8 09 e0 ff ff       	call   0x4445b4
4465ab:	03 44 24 04          	add    0x4(%esp),%eax
4465af:	89 44 24 0c          	mov    %eax,0xc(%esp)
4465b3:	8b 43 10             	mov    0x10(%ebx),%eax
4465b6:	e8 89 15 fe ff       	call   0x427b44
4465bb:	50                   	push   %eax
4465bc:	8b 43 58             	mov    0x58(%ebx),%eax
4465bf:	50                   	push   %eax
4465c0:	e8 13 05 fc ff       	call   0x406ad8
4465c5:	8b f0                	mov    %eax,%esi
4465c7:	68 49 00 5a 00       	push   $0x5a0049
4465cc:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4465d0:	8b 54 24 08          	mov    0x8(%esp),%edx
4465d4:	2b ca                	sub    %edx,%ecx
4465d6:	51                   	push   %ecx
4465d7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4465db:	8b 44 24 08          	mov    0x8(%esp),%eax
4465df:	2b c8                	sub    %eax,%ecx
4465e1:	51                   	push   %ecx
4465e2:	52                   	push   %edx
4465e3:	50                   	push   %eax
4465e4:	8b 43 58             	mov    0x58(%ebx),%eax
4465e7:	50                   	push   %eax
4465e8:	e8 bb 04 fc ff       	call   0x406aa8
4465ed:	56                   	push   %esi
4465ee:	8b 43 58             	mov    0x58(%ebx),%eax
4465f1:	50                   	push   %eax
4465f2:	e8 e1 04 fc ff       	call   0x406ad8
4465f7:	83 c4 10             	add    $0x10,%esp
4465fa:	5e                   	pop    %esi
4465fb:	5b                   	pop    %ebx
4465fc:	c3                   	ret
4465fd:	8d 40 00             	lea    0x0(%eax),%eax
446600:	55                   	push   %ebp
446601:	8b ec                	mov    %esp,%ebp
446603:	53                   	push   %ebx
446604:	56                   	push   %esi
446605:	57                   	push   %edi
446606:	8b d8                	mov    %eax,%ebx
446608:	8b 45 08             	mov    0x8(%ebp),%eax
44660b:	3b 58 fc             	cmp    -0x4(%eax),%ebx
44660e:	74 59                	je     0x446669
446610:	8b 43 14             	mov    0x14(%ebx),%eax
446613:	8a 40 10             	mov    0x10(%eax),%al
446616:	8b 55 08             	mov    0x8(%ebp),%edx
446619:	8b 52 fc             	mov    -0x4(%edx),%edx
44661c:	8b 52 14             	mov    0x14(%edx),%edx
44661f:	3a 42 10             	cmp    0x10(%edx),%al
446622:	75 45                	jne    0x446669
446624:	8b c3                	mov    %ebx,%eax
446626:	e8 51 e3 ff ff       	call   0x44497c
44662b:	8b f8                	mov    %eax,%edi
44662d:	8b 45 08             	mov    0x8(%ebp),%eax
446630:	8b 40 fc             	mov    -0x4(%eax),%eax
446633:	e8 44 e3 ff ff       	call   0x44497c
446638:	3b f8                	cmp    %eax,%edi
44663a:	7e 2d                	jle    0x446669
44663c:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
446640:	74 0d                	je     0x44664f
446642:	8b 73 04             	mov    0x4(%ebx),%esi
446645:	85 f6                	test   %esi,%esi
446647:	74 20                	je     0x446669
446649:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
44664d:	74 1a                	je     0x446669
44664f:	8b c3                	mov    %ebx,%eax
446651:	e8 26 e3 ff ff       	call   0x44497c
446656:	8b d0                	mov    %eax,%edx
446658:	8b 45 08             	mov    0x8(%ebp),%eax
44665b:	8b 40 f8             	mov    -0x8(%eax),%eax
44665e:	e8 75 65 fe ff       	call   0x42cbd8
446663:	8b 55 08             	mov    0x8(%ebp),%edx
446666:	89 42 f8             	mov    %eax,-0x8(%edx)
446669:	8b 43 0c             	mov    0xc(%ebx),%eax
44666c:	85 c0                	test   %eax,%eax
44666e:	74 0a                	je     0x44667a
446670:	8b 55 08             	mov    0x8(%ebp),%edx
446673:	52                   	push   %edx
446674:	e8 87 ff ff ff       	call   0x446600
446679:	59                   	pop    %ecx
44667a:	8b 43 08             	mov    0x8(%ebx),%eax
44667d:	85 c0                	test   %eax,%eax
44667f:	74 0a                	je     0x44668b
446681:	8b 55 08             	mov    0x8(%ebp),%edx
446684:	52                   	push   %edx
446685:	e8 76 ff ff ff       	call   0x446600
44668a:	59                   	pop    %ecx
44668b:	5f                   	pop    %edi
44668c:	5e                   	pop    %esi
44668d:	5b                   	pop    %ebx
44668e:	5d                   	pop    %ebp
44668f:	c3                   	ret
446690:	55                   	push   %ebp
446691:	8b ec                	mov    %esp,%ebp
446693:	83 c4 f8             	add    $0xfffffff8,%esp
446696:	53                   	push   %ebx
446697:	56                   	push   %esi
446698:	89 55 fc             	mov    %edx,-0x4(%ebp)
44669b:	8b d8                	mov    %eax,%ebx
44669d:	8b 45 fc             	mov    -0x4(%ebp),%eax
4466a0:	8b 70 0c             	mov    0xc(%eax),%esi
4466a3:	85 f6                	test   %esi,%esi
4466a5:	74 0c                	je     0x4466b3
4466a7:	8b c6                	mov    %esi,%eax
4466a9:	e8 ce e2 ff ff       	call   0x44497c
4466ae:	89 45 f8             	mov    %eax,-0x8(%ebp)
4466b1:	eb 17                	jmp    0x4466ca
4466b3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4466b6:	e8 c1 e2 ff ff       	call   0x44497c
4466bb:	8b f0                	mov    %eax,%esi
4466bd:	8b 45 fc             	mov    -0x4(%ebp),%eax
4466c0:	e8 3b de ff ff       	call   0x444500
4466c5:	03 f0                	add    %eax,%esi
4466c7:	89 75 f8             	mov    %esi,-0x8(%ebp)
4466ca:	55                   	push   %ebp
4466cb:	8b 43 64             	mov    0x64(%ebx),%eax
4466ce:	8b 40 08             	mov    0x8(%eax),%eax
4466d1:	e8 2a ff ff ff       	call   0x446600
4466d6:	59                   	pop    %ecx
4466d7:	8b 45 f8             	mov    -0x8(%ebp),%eax
4466da:	5e                   	pop    %esi
4466db:	5b                   	pop    %ebx
4466dc:	59                   	pop    %ecx
4466dd:	59                   	pop    %ecx
4466de:	5d                   	pop    %ebp
4466df:	c3                   	ret
4466e0:	55                   	push   %ebp
4466e1:	8b ec                	mov    %esp,%ebp
4466e3:	83 c4 e0             	add    $0xffffffe0,%esp
4466e6:	53                   	push   %ebx
4466e7:	56                   	push   %esi
4466e8:	57                   	push   %edi
4466e9:	8b f2                	mov    %edx,%esi
4466eb:	8b f8                	mov    %eax,%edi
4466ed:	b3 04                	mov    $0x4,%bl
4466ef:	85 f6                	test   %esi,%esi
4466f1:	74 60                	je     0x446753
4466f3:	8d 55 f0             	lea    -0x10(%ebp),%edx
4466f6:	8b c7                	mov    %edi,%eax
4466f8:	e8 ab 52 ff ff       	call   0x43b9a8
4466fd:	8d 55 e0             	lea    -0x20(%ebp),%edx
446700:	8b c6                	mov    %esi,%eax
446702:	e8 a1 52 ff ff       	call   0x43b9a8
446707:	8b 45 f4             	mov    -0xc(%ebp),%eax
44670a:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
44670d:	7f 14                	jg     0x446723
44670f:	8b 45 fc             	mov    -0x4(%ebp),%eax
446712:	3b 45 ec             	cmp    -0x14(%ebp),%eax
446715:	7d 0c                	jge    0x446723
446717:	8b 45 f8             	mov    -0x8(%ebp),%eax
44671a:	3b 45 e8             	cmp    -0x18(%ebp),%eax
44671d:	7c 04                	jl     0x446723
44671f:	b3 01                	mov    $0x1,%bl
446721:	eb 30                	jmp    0x446753
446723:	8b 45 f0             	mov    -0x10(%ebp),%eax
446726:	3b 45 e0             	cmp    -0x20(%ebp),%eax
446729:	7f 14                	jg     0x44673f
44672b:	8b 45 f8             	mov    -0x8(%ebp),%eax
44672e:	3b 45 e8             	cmp    -0x18(%ebp),%eax
446731:	7d 0c                	jge    0x44673f
446733:	8b 45 fc             	mov    -0x4(%ebp),%eax
446736:	3b 45 ec             	cmp    -0x14(%ebp),%eax
446739:	7c 04                	jl     0x44673f
44673b:	b3 03                	mov    $0x3,%bl
44673d:	eb 14                	jmp    0x446753
44673f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
446742:	03 45 ec             	add    -0x14(%ebp),%eax
446745:	d1 f8                	sar    $1,%eax
446747:	79 03                	jns    0x44674c
446749:	83 d0 00             	adc    $0x0,%eax
44674c:	3b 45 f4             	cmp    -0xc(%ebp),%eax
44674f:	7f 02                	jg     0x446753
446751:	b3 02                	mov    $0x2,%bl
446753:	8b c3                	mov    %ebx,%eax
446755:	5f                   	pop    %edi
446756:	5e                   	pop    %esi
446757:	5b                   	pop    %ebx
446758:	8b e5                	mov    %ebp,%esp
44675a:	5d                   	pop    %ebp
44675b:	c3                   	ret
44675c:	55                   	push   %ebp
44675d:	8b ec                	mov    %esp,%ebp
44675f:	53                   	push   %ebx
446760:	56                   	push   %esi
446761:	8b d8                	mov    %eax,%ebx
446763:	8b c3                	mov    %ebx,%eax
446765:	e8 a2 dc ff ff       	call   0x44440c
44676a:	84 c0                	test   %al,%al
44676c:	74 11                	je     0x44677f
44676e:	8b c3                	mov    %ebx,%eax
446770:	e8 43 dd ff ff       	call   0x4444b8
446775:	8b 53 20             	mov    0x20(%ebx),%edx
446778:	2b d0                	sub    %eax,%edx
44677a:	89 53 24             	mov    %edx,0x24(%ebx)
44677d:	eb 05                	jmp    0x446784
44677f:	33 c0                	xor    %eax,%eax
446781:	89 43 24             	mov    %eax,0x24(%ebx)
446784:	8b 73 14             	mov    0x14(%ebx),%esi
446787:	85 f6                	test   %esi,%esi
446789:	74 18                	je     0x4467a3
44678b:	8b c6                	mov    %esi,%eax
44678d:	e8 f2 dc ff ff       	call   0x444484
446792:	84 c0                	test   %al,%al
446794:	75 0d                	jne    0x4467a3
446796:	8b 45 08             	mov    0x8(%ebp),%eax
446799:	50                   	push   %eax
44679a:	8b 43 14             	mov    0x14(%ebx),%eax
44679d:	e8 ba ff ff ff       	call   0x44675c
4467a2:	59                   	pop    %ecx
4467a3:	8b c3                	mov    %ebx,%eax
4467a5:	e8 b6 e2 ff ff       	call   0x444a60
4467aa:	85 c0                	test   %eax,%eax
4467ac:	74 0f                	je     0x4467bd
4467ae:	8b c3                	mov    %ebx,%eax
4467b0:	e8 ab e2 ff ff       	call   0x444a60
4467b5:	8b 53 20             	mov    0x20(%ebx),%edx
4467b8:	e8 fb e1 ff ff       	call   0x4449b8
4467bd:	8b 45 08             	mov    0x8(%ebp),%eax
4467c0:	8b 40 fc             	mov    -0x4(%eax),%eax
4467c3:	50                   	push   %eax
4467c4:	68 04 65 44 00       	push   $0x446504
4467c9:	8b 45 08             	mov    0x8(%ebp),%eax
4467cc:	8b 40 fc             	mov    -0x4(%eax),%eax
4467cf:	8b 53 14             	mov    0x14(%ebx),%edx
4467d2:	e8 59 e5 ff ff       	call   0x444d30
4467d7:	5e                   	pop    %esi
4467d8:	5b                   	pop    %ebx
4467d9:	5d                   	pop    %ebp
4467da:	c3                   	ret
4467db:	90                   	nop
4467dc:	55                   	push   %ebp
4467dd:	8b ec                	mov    %esp,%ebp
4467df:	51                   	push   %ecx
4467e0:	53                   	push   %ebx
4467e1:	56                   	push   %esi
4467e2:	57                   	push   %edi
4467e3:	8b f8                	mov    %eax,%edi
4467e5:	8b 77 14             	mov    0x14(%edi),%esi
4467e8:	85 f6                	test   %esi,%esi
4467ea:	74 22                	je     0x44680e
4467ec:	8b 45 08             	mov    0x8(%ebp),%eax
4467ef:	8b 40 fc             	mov    -0x4(%eax),%eax
4467f2:	3b 70 64             	cmp    0x64(%eax),%esi
4467f5:	74 17                	je     0x44680e
4467f7:	8b c6                	mov    %esi,%eax
4467f9:	e8 6a dc ff ff       	call   0x444468
4467fe:	48                   	dec    %eax
4467ff:	75 0d                	jne    0x44680e
446801:	8b 45 08             	mov    0x8(%ebp),%eax
446804:	50                   	push   %eax
446805:	8b 47 14             	mov    0x14(%edi),%eax
446808:	e8 cf ff ff ff       	call   0x4467dc
44680d:	59                   	pop    %ecx
44680e:	8b 47 14             	mov    0x14(%edi),%eax
446811:	e8 52 dc ff ff       	call   0x444468
446816:	48                   	dec    %eax
446817:	74 06                	je     0x44681f
446819:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
44681d:	75 07                	jne    0x446826
44681f:	b3 01                	mov    $0x1,%bl
446821:	e9 c2 00 00 00       	jmp    0x4468e8
446826:	33 db                	xor    %ebx,%ebx
446828:	8b 45 08             	mov    0x8(%ebp),%eax
44682b:	8b 40 fc             	mov    -0x4(%eax),%eax
44682e:	8b 40 18             	mov    0x18(%eax),%eax
446831:	8b 55 08             	mov    0x8(%ebp),%edx
446834:	8b 52 fc             	mov    -0x4(%edx),%edx
446837:	03 42 0c             	add    0xc(%edx),%eax
44683a:	83 c0 0e             	add    $0xe,%eax
44683d:	89 45 fc             	mov    %eax,-0x4(%ebp)
446840:	8b c7                	mov    %edi,%eax
446842:	e8 19 e2 ff ff       	call   0x444a60
446847:	85 c0                	test   %eax,%eax
446849:	74 5b                	je     0x4468a6
44684b:	8b c7                	mov    %edi,%eax
44684d:	e8 0e e2 ff ff       	call   0x444a60
446852:	8b f0                	mov    %eax,%esi
446854:	8b c6                	mov    %esi,%eax
446856:	e8 21 e1 ff ff       	call   0x44497c
44685b:	50                   	push   %eax
44685c:	8b c6                	mov    %esi,%eax
44685e:	e8 55 dc ff ff       	call   0x4444b8
446863:	5a                   	pop    %edx
446864:	2b d0                	sub    %eax,%edx
446866:	2b 57 24             	sub    0x24(%edi),%edx
446869:	3b 55 fc             	cmp    -0x4(%ebp),%edx
44686c:	7d 04                	jge    0x446872
44686e:	b3 01                	mov    $0x1,%bl
446870:	eb 76                	jmp    0x4468e8
446872:	8b c6                	mov    %esi,%eax
446874:	e8 03 e1 ff ff       	call   0x44497c
446879:	8b d0                	mov    %eax,%edx
44687b:	2b 57 24             	sub    0x24(%edi),%edx
44687e:	8b c6                	mov    %esi,%eax
446880:	e8 1f e1 ff ff       	call   0x4449a4
446885:	8b c6                	mov    %esi,%eax
446887:	e8 f0 e0 ff ff       	call   0x44497c
44688c:	8b d0                	mov    %eax,%edx
44688e:	03 57 24             	add    0x24(%edi),%edx
446891:	8b c7                	mov    %edi,%eax
446893:	e8 0c e1 ff ff       	call   0x4449a4
446898:	8b c7                	mov    %edi,%eax
44689a:	e8 c1 e1 ff ff       	call   0x444a60
44689f:	e8 50 e1 ff ff       	call   0x4449f4
4468a4:	eb 42                	jmp    0x4468e8
4468a6:	8b c7                	mov    %edi,%eax
4468a8:	e8 a7 e1 ff ff       	call   0x444a54
4468ad:	85 c0                	test   %eax,%eax
4468af:	74 37                	je     0x4468e8
4468b1:	8b c7                	mov    %edi,%eax
4468b3:	e8 9c e1 ff ff       	call   0x444a54
4468b8:	e8 bf e0 ff ff       	call   0x44497c
4468bd:	2b 47 24             	sub    0x24(%edi),%eax
4468c0:	3b 45 fc             	cmp    -0x4(%ebp),%eax
4468c3:	7d 04                	jge    0x4468c9
4468c5:	b3 01                	mov    $0x1,%bl
4468c7:	eb 1f                	jmp    0x4468e8