447620:	55                   	push   %ebp
447621:	8b ec                	mov    %esp,%ebp
447623:	51                   	push   %ecx
447624:	53                   	push   %ebx
447625:	56                   	push   %esi
447626:	8b f1                	mov    %ecx,%esi
447628:	57                   	push   %edi
447629:	8b 7d 0c             	mov    0xc(%ebp),%edi
44762c:	8b 5e 14             	mov    0x14(%esi),%ebx
44762f:	3b fb                	cmp    %ebx,%edi
447631:	77 31                	ja     0x447664
447633:	89 75 0c             	mov    %esi,0xc(%ebp)
447636:	8b c6                	mov    %esi,%eax
447638:	83 fb 0f             	cmp    $0xf,%ebx
44763b:	76 05                	jbe    0x447642
44763d:	8b 06                	mov    (%esi),%eax
44763f:	89 45 0c             	mov    %eax,0xc(%ebp)
447642:	57                   	push   %edi
447643:	ff 75 08             	push   0x8(%ebp)
447646:	89 7e 10             	mov    %edi,0x10(%esi)
447649:	50                   	push   %eax
44764a:	e8 81 b7 18 00       	call   0x5d2dd0
44764f:	8b 45 0c             	mov    0xc(%ebp),%eax
447652:	83 c4 0c             	add    $0xc,%esp
447655:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
447659:	8b c6                	mov    %esi,%eax
44765b:	5f                   	pop    %edi
44765c:	5e                   	pop    %esi
44765d:	5b                   	pop    %ebx
44765e:	8b e5                	mov    %ebp,%esp
447660:	5d                   	pop    %ebp
447661:	c2 08 00             	ret    $0x8
447664:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
44766a:	0f 87 a0 00 00 00    	ja     0x447710
447670:	8b cf                	mov    %edi,%ecx
447672:	83 c9 0f             	or     $0xf,%ecx
447675:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
44767b:	76 07                	jbe    0x447684
44767d:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
447682:	eb 1e                	jmp    0x4476a2
447684:	8b d3                	mov    %ebx,%edx
447686:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
44768b:	d1 ea                	shr    $1,%edx
44768d:	2b c2                	sub    %edx,%eax
44768f:	3b d8                	cmp    %eax,%ebx
447691:	76 07                	jbe    0x44769a
447693:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
447698:	eb 08                	jmp    0x4476a2
44769a:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
44769d:	3b c8                	cmp    %eax,%ecx
44769f:	0f 42 c8             	cmovb  %eax,%ecx
4476a2:	8d 45 0c             	lea    0xc(%ebp),%eax
4476a5:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4476a8:	50                   	push   %eax
4476a9:	56                   	push   %esi
4476aa:	e8 e1 f7 ff ff       	call   0x446e90
4476af:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4476b2:	57                   	push   %edi
4476b3:	ff 75 08             	push   0x8(%ebp)
4476b6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4476b9:	50                   	push   %eax
4476ba:	89 7e 10             	mov    %edi,0x10(%esi)
4476bd:	89 4e 14             	mov    %ecx,0x14(%esi)
4476c0:	e8 0b b7 18 00       	call   0x5d2dd0
4476c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4476c8:	83 c4 14             	add    $0x14,%esp
4476cb:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
4476cf:	83 fb 0f             	cmp    $0xf,%ebx
4476d2:	76 2a                	jbe    0x4476fe
4476d4:	8b 06                	mov    (%esi),%eax
4476d6:	43                   	inc    %ebx
4476d7:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
4476dd:	72 12                	jb     0x4476f1
4476df:	8b 48 fc             	mov    -0x4(%eax),%ecx
4476e2:	83 c3 23             	add    $0x23,%ebx
4476e5:	2b c1                	sub    %ecx,%eax
4476e7:	83 c0 fc             	add    $0xfffffffc,%eax
4476ea:	83 f8 1f             	cmp    $0x1f,%eax
4476ed:	77 1c                	ja     0x44770b
4476ef:	8b c1                	mov    %ecx,%eax
4476f1:	53                   	push   %ebx
4476f2:	50                   	push   %eax
4476f3:	e8 5d 9b 18 00       	call   0x5d1255
4476f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4476fb:	83 c4 08             	add    $0x8,%esp
4476fe:	89 06                	mov    %eax,(%esi)
447700:	8b c6                	mov    %esi,%eax
447702:	5f                   	pop    %edi
447703:	5e                   	pop    %esi
447704:	5b                   	pop    %ebx
447705:	8b e5                	mov    %ebp,%esp
447707:	5d                   	pop    %ebp
447708:	c2 08 00             	ret    $0x8
44770b:	e8 e0 ea 18 00       	call   0x5d61f0
447710:	e8 fb fe ff ff       	call   0x447610
447715:	cc                   	int3
447716:	cc                   	int3
447717:	cc                   	int3
447718:	cc                   	int3
447719:	cc                   	int3
44771a:	cc                   	int3
44771b:	cc                   	int3
44771c:	cc                   	int3
44771d:	cc                   	int3
44771e:	cc                   	int3
44771f:	cc                   	int3
447720:	8b 49 04             	mov    0x4(%ecx),%ecx
447723:	b8 c8 28 60 00       	mov    $0x6028c8,%eax
447728:	85 c9                	test   %ecx,%ecx
44772a:	0f 45 c1             	cmovne %ecx,%eax
44772d:	c3                   	ret
44772e:	cc                   	int3
44772f:	cc                   	int3
447730:	55                   	push   %ebp
447731:	8b ec                	mov    %esp,%ebp
447733:	8b 45 0c             	mov    0xc(%ebp),%eax
447736:	56                   	push   %esi
447737:	8b f1                	mov    %ecx,%esi
447739:	89 46 04             	mov    %eax,0x4(%esi)
44773c:	8b 45 08             	mov    0x8(%ebp),%eax
44773f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
447745:	89 46 08             	mov    %eax,0x8(%esi)
447748:	85 c0                	test   %eax,%eax
44774a:	79 1c                	jns    0x447768
44774c:	68 34 28 60 00       	push   $0x602834
447751:	68 c3 00 00 00       	push   $0xc3
447756:	68 48 28 60 00       	push   $0x602848
44775b:	e8 00 3d 17 00       	call   0x5bb460
447760:	83 c4 0c             	add    $0xc,%esp
447763:	84 c0                	test   %al,%al
447765:	75 01                	jne    0x447768
447767:	cc                   	int3
447768:	8b 46 04             	mov    0x4(%esi),%eax
44776b:	85 c0                	test   %eax,%eax
44776d:	79 2a                	jns    0x447799
44776f:	68 98 28 60 00       	push   $0x602898
447774:	68 c6 00 00 00       	push   $0xc6
447779:	68 48 28 60 00       	push   $0x602848
44777e:	e8 dd 3c 17 00       	call   0x5bb460
447783:	83 c4 0c             	add    $0xc,%esp
447786:	84 c0                	test   %al,%al
447788:	75 01                	jne    0x44778b
44778a:	cc                   	int3
44778b:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
447792:	8b c6                	mov    %esi,%eax
447794:	5e                   	pop    %esi
447795:	5d                   	pop    %ebp
447796:	c2 08 00             	ret    $0x8
447799:	74 21                	je     0x4477bc
44779b:	e8 d0 f3 17 00       	call   0x5c6b70
4477a0:	6a 00                	push   $0x0
4477a2:	6a 00                	push   $0x0
4477a4:	68 cd 00 00 00       	push   $0xcd
4477a9:	8b 08                	mov    (%eax),%ecx
4477ab:	68 48 28 60 00       	push   $0x602848
4477b0:	ff 76 04             	push   0x4(%esi)
4477b3:	8b 51 08             	mov    0x8(%ecx),%edx
4477b6:	8b c8                	mov    %eax,%ecx
4477b8:	ff d2                	call   *%edx
4477ba:	89 06                	mov    %eax,(%esi)
4477bc:	8b c6                	mov    %esi,%eax
4477be:	5e                   	pop    %esi
4477bf:	5d                   	pop    %ebp
4477c0:	c2 08 00             	ret    $0x8
4477c3:	cc                   	int3
4477c4:	cc                   	int3
4477c5:	cc                   	int3
4477c6:	cc                   	int3
4477c7:	cc                   	int3
4477c8:	cc                   	int3
4477c9:	cc                   	int3
4477ca:	cc                   	int3
4477cb:	cc                   	int3
4477cc:	cc                   	int3
4477cd:	cc                   	int3
4477ce:	cc                   	int3
4477cf:	cc                   	int3
4477d0:	55                   	push   %ebp
4477d1:	8b ec                	mov    %esp,%ebp
4477d3:	56                   	push   %esi
4477d4:	57                   	push   %edi
4477d5:	8b 7d 08             	mov    0x8(%ebp),%edi
4477d8:	8b f1                	mov    %ecx,%esi
4477da:	85 ff                	test   %edi,%edi
4477dc:	79 1c                	jns    0x4477fa
4477de:	68 24 2a 60 00       	push   $0x602a24
4477e3:	68 13 02 00 00       	push   $0x213
4477e8:	68 48 28 60 00       	push   $0x602848
4477ed:	e8 6e 3c 17 00       	call   0x5bb460
4477f2:	83 c4 0c             	add    $0xc,%esp
4477f5:	84 c0                	test   %al,%al
4477f7:	75 01                	jne    0x4477fa
4477f9:	cc                   	int3
4477fa:	39 7e 04             	cmp    %edi,0x4(%esi)
4477fd:	7d 78                	jge    0x447877
4477ff:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
447803:	7d 22                	jge    0x447827
447805:	68 b8 25 60 00       	push   $0x6025b8
44780a:	68 1a 02 00 00       	push   $0x21a
44780f:	68 48 28 60 00       	push   $0x602848
447814:	e8 47 3c 17 00       	call   0x5bb460
447819:	83 c4 0c             	add    $0xc,%esp
44781c:	84 c0                	test   %al,%al
44781e:	75 57                	jne    0x447877
447820:	cc                   	int3
447821:	5f                   	pop    %edi
447822:	5e                   	pop    %esi
447823:	5d                   	pop    %ebp
447824:	c2 04 00             	ret    $0x4
447827:	83 3e 00             	cmpl   $0x0,(%esi)
44782a:	89 7e 04             	mov    %edi,0x4(%esi)
44782d:	74 27                	je     0x447856
44782f:	e8 3c f3 17 00       	call   0x5c6b70
447834:	6a 00                	push   $0x0
447836:	68 26 02 00 00       	push   $0x226
44783b:	68 48 28 60 00       	push   $0x602848
447840:	8b 08                	mov    (%eax),%ecx
447842:	ff 76 04             	push   0x4(%esi)
447845:	ff 36                	push   (%esi)
447847:	8b 51 10             	mov    0x10(%ecx),%edx
44784a:	8b c8                	mov    %eax,%ecx
44784c:	ff d2                	call   *%edx
44784e:	5f                   	pop    %edi
44784f:	89 06                	mov    %eax,(%esi)
447851:	5e                   	pop    %esi
447852:	5d                   	pop    %ebp
447853:	c2 04 00             	ret    $0x4
447856:	e8 15 f3 17 00       	call   0x5c6b70
44785b:	6a 00                	push   $0x0
44785d:	6a 00                	push   $0x0
44785f:	68 2a 02 00 00       	push   $0x22a
447864:	8b 08                	mov    (%eax),%ecx
447866:	68 48 28 60 00       	push   $0x602848
44786b:	ff 76 04             	push   0x4(%esi)
44786e:	8b 51 08             	mov    0x8(%ecx),%edx
447871:	8b c8                	mov    %eax,%ecx
447873:	ff d2                	call   *%edx
447875:	89 06                	mov    %eax,(%esi)
447877:	5f                   	pop    %edi
447878:	5e                   	pop    %esi
447879:	5d                   	pop    %ebp
44787a:	c2 04 00             	ret    $0x4
44787d:	cc                   	int3
44787e:	cc                   	int3
44787f:	cc                   	int3
447880:	55                   	push   %ebp
447881:	8b ec                	mov    %esp,%ebp
447883:	8b 45 14             	mov    0x14(%ebp),%eax
447886:	53                   	push   %ebx
447887:	8b 5d 0c             	mov    0xc(%ebp),%ebx
44788a:	56                   	push   %esi
44788b:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
447891:	8b 45 18             	mov    0x18(%ebp),%eax
447894:	57                   	push   %edi
447895:	8b 7d 10             	mov    0x10(%ebp),%edi
447898:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
44789e:	83 ff 02             	cmp    $0x2,%edi
4478a1:	73 0c                	jae    0x4478af
4478a3:	68 30 2a 60 00       	push   $0x602a30
4478a8:	6a 22                	push   $0x22
4478aa:	e9 97 00 00 00       	jmp    0x447946
4478af:	8a 03                	mov    (%ebx),%al
4478b1:	3a 45 08             	cmp    0x8(%ebp),%al
4478b4:	74 0c                	je     0x4478c2
4478b6:	68 98 2a 60 00       	push   $0x602a98
4478bb:	6a 28                	push   $0x28
4478bd:	e9 84 00 00 00       	jmp    0x447946
4478c2:	8a 43 01             	mov    0x1(%ebx),%al
4478c5:	33 c9                	xor    %ecx,%ecx
4478c7:	0f b6 f0             	movzbl %al,%esi
4478ca:	33 d2                	xor    %edx,%edx
4478cc:	83 e6 7f             	and    $0x7f,%esi
4478cf:	84 c0                	test   %al,%al
4478d1:	79 44                	jns    0x447917
4478d3:	8b d6                	mov    %esi,%edx
4478d5:	83 fa 01             	cmp    $0x1,%edx
4478d8:	72 65                	jb     0x44793f
4478da:	83 fa 04             	cmp    $0x4,%edx
4478dd:	77 60                	ja     0x44793f
4478df:	8d 42 02             	lea    0x2(%edx),%eax
4478e2:	3b c7                	cmp    %edi,%eax
4478e4:	76 09                	jbe    0x4478ef
4478e6:	68 f0 2a 60 00       	push   $0x602af0
4478eb:	6a 3e                	push   $0x3e
4478ed:	eb 57                	jmp    0x447946
4478ef:	33 ff                	xor    %edi,%edi
4478f1:	0f b6 44 3b 02       	movzbl 0x2(%ebx,%edi,1),%eax
4478f6:	47                   	inc    %edi
4478f7:	c1 e1 08             	shl    $0x8,%ecx
4478fa:	03 c8                	add    %eax,%ecx
4478fc:	8b f1                	mov    %ecx,%esi
4478fe:	3b fa                	cmp    %edx,%edi
447900:	72 ef                	jb     0x4478f1
447902:	8d 42 02             	lea    0x2(%edx),%eax
447905:	03 c6                	add    %esi,%eax
447907:	3b c6                	cmp    %esi,%eax
447909:	73 09                	jae    0x447914
44790b:	68 10 2b 60 00       	push   $0x602b10
447910:	6a 48                	push   $0x48
447912:	eb 32                	jmp    0x447946
447914:	8b 7d 10             	mov    0x10(%ebp),%edi
447917:	8d 46 02             	lea    0x2(%esi),%eax
44791a:	03 c2                	add    %edx,%eax
44791c:	3b c7                	cmp    %edi,%eax
44791e:	76 09                	jbe    0x447929
447920:	68 28 2b 60 00       	push   $0x602b28
447925:	6a 4e                	push   $0x4e
447927:	eb 1d                	jmp    0x447946
447929:	8b 4d 14             	mov    0x14(%ebp),%ecx
44792c:	8d 43 02             	lea    0x2(%ebx),%eax
44792f:	03 c2                	add    %edx,%eax
447931:	5f                   	pop    %edi
447932:	89 01                	mov    %eax,(%ecx)
447934:	8b 45 18             	mov    0x18(%ebp),%eax
447937:	89 30                	mov    %esi,(%eax)
447939:	b0 01                	mov    $0x1,%al
44793b:	5e                   	pop    %esi
44793c:	5b                   	pop    %ebx
44793d:	5d                   	pop    %ebp
44793e:	c3                   	ret
44793f:	68 b0 2a 60 00       	push   $0x602ab0
447944:	6a 39                	push   $0x39
447946:	68 40 2a 60 00       	push   $0x602a40
44794b:	e8 10 3b 17 00       	call   0x5bb460
447950:	83 c4 0c             	add    $0xc,%esp
447953:	84 c0                	test   %al,%al
447955:	75 01                	jne    0x447958
447957:	cc                   	int3
447958:	5f                   	pop    %edi
447959:	5e                   	pop    %esi
44795a:	32 c0                	xor    %al,%al
44795c:	5b                   	pop    %ebx
44795d:	5d                   	pop    %ebp
44795e:	c3                   	ret
44795f:	cc                   	int3
447960:	55                   	push   %ebp
447961:	8b ec                	mov    %esp,%ebp
447963:	51                   	push   %ecx
447964:	53                   	push   %ebx
447965:	56                   	push   %esi
447966:	57                   	push   %edi
447967:	6a 00                	push   $0x0
447969:	ff 75 08             	push   0x8(%ebp)
44796c:	e8 ef 3c 09 00       	call   0x4db660
447971:	8b f8                	mov    %eax,%edi
447973:	83 c4 08             	add    $0x8,%esp
447976:	85 ff                	test   %edi,%edi
447978:	7e 08                	jle    0x447982
44797a:	81 ff 00 00 a0 00    	cmp    $0xa00000,%edi
447980:	7c 1c                	jl     0x44799e