4496ce:	80 ea 02             	sub    $0x2,%dl
4496d1:	73 0b                	jae    0x4496de
4496d3:	8b f8                	mov    %eax,%edi
4496d5:	d1 ff                	sar    $1,%edi
4496d7:	79 1a                	jns    0x4496f3
4496d9:	83 d7 00             	adc    $0x0,%edi
4496dc:	eb 15                	jmp    0x4496f3
4496de:	8a 45 0c             	mov    0xc(%ebp),%al
4496e1:	48                   	dec    %eax
4496e2:	2c 02                	sub    $0x2,%al
4496e4:	73 0d                	jae    0x4496f3
4496e6:	8b 43 4c             	mov    0x4c(%ebx),%eax
4496e9:	d1 f8                	sar    $1,%eax
4496eb:	79 03                	jns    0x4496f0
4496ed:	83 d0 00             	adc    $0x0,%eax
4496f0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4496f3:	8a 45 0c             	mov    0xc(%ebp),%al
4496f6:	2c 02                	sub    $0x2,%al
4496f8:	74 09                	je     0x449703
4496fa:	2c 02                	sub    $0x2,%al
4496fc:	75 0b                	jne    0x449709
4496fe:	01 7d fc             	add    %edi,-0x4(%ebp)
449701:	eb 06                	jmp    0x449709
449703:	8b 45 f4             	mov    -0xc(%ebp),%eax
449706:	01 45 f8             	add    %eax,-0x8(%ebp)
449709:	8b 45 f4             	mov    -0xc(%ebp),%eax
44970c:	50                   	push   %eax
44970d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
449710:	50                   	push   %eax
449711:	8b cf                	mov    %edi,%ecx
449713:	8b 55 f8             	mov    -0x8(%ebp),%edx
449716:	8b 45 fc             	mov    -0x4(%ebp),%eax
449719:	e8 52 92 fc ff       	call   0x412970
44971e:	8b 45 08             	mov    0x8(%ebp),%eax
449721:	56                   	push   %esi
449722:	8d 75 e4             	lea    -0x1c(%ebp),%esi
449725:	8b f8                	mov    %eax,%edi
449727:	a5                   	movsl  %ds:(%esi),%es:(%edi)
449728:	a5                   	movsl  %ds:(%esi),%es:(%edi)
449729:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44972a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
44972b:	5e                   	pop    %esi
44972c:	6a 02                	push   $0x2
44972e:	8b 45 08             	mov    0x8(%ebp),%eax
449731:	50                   	push   %eax
449732:	6a 00                	push   $0x0
449734:	8b 46 14             	mov    0x14(%esi),%eax
449737:	e8 b4 c9 ff ff       	call   0x4460f0
44973c:	50                   	push   %eax
44973d:	e8 42 d0 fb ff       	call   0x406784
449742:	5f                   	pop    %edi
449743:	5e                   	pop    %esi
449744:	5b                   	pop    %ebx
449745:	8b e5                	mov    %ebp,%esp
449747:	5d                   	pop    %ebp
449748:	c2 08 00             	ret    $0x8
44974b:	90                   	nop
44974c:	55                   	push   %ebp
44974d:	8b ec                	mov    %esp,%ebp
44974f:	53                   	push   %ebx
449750:	8b d8                	mov    %eax,%ebx
449752:	8b 43 0c             	mov    0xc(%ebx),%eax
449755:	85 c0                	test   %eax,%eax
449757:	74 0a                	je     0x449763
449759:	8b 55 08             	mov    0x8(%ebp),%edx
44975c:	52                   	push   %edx
44975d:	e8 ea ff ff ff       	call   0x44974c
449762:	59                   	pop    %ecx
449763:	8b 43 08             	mov    0x8(%ebx),%eax
449766:	85 c0                	test   %eax,%eax
449768:	74 0a                	je     0x449774
44976a:	8b 55 08             	mov    0x8(%ebp),%edx
44976d:	52                   	push   %edx
44976e:	e8 d9 ff ff ff       	call   0x44974c
449773:	59                   	pop    %ecx
449774:	8b c3                	mov    %ebx,%eax
449776:	e8 cd 9a fb ff       	call   0x403248
44977b:	5b                   	pop    %ebx
44977c:	5d                   	pop    %ebp
44977d:	c3                   	ret
44977e:	8b c0                	mov    %eax,%eax
449780:	55                   	push   %ebp
449781:	8b ec                	mov    %esp,%ebp
449783:	53                   	push   %ebx
449784:	56                   	push   %esi
449785:	8b da                	mov    %edx,%ebx
449787:	8b f0                	mov    %eax,%esi
449789:	85 db                	test   %ebx,%ebx
44978b:	74 48                	je     0x4497d5
44978d:	8b 43 08             	mov    0x8(%ebx),%eax
449790:	85 c0                	test   %eax,%eax
449792:	74 07                	je     0x44979b
449794:	55                   	push   %ebp
449795:	e8 b2 ff ff ff       	call   0x44974c
44979a:	59                   	pop    %ecx
44979b:	8b 43 18             	mov    0x18(%ebx),%eax
44979e:	85 c0                	test   %eax,%eax
4497a0:	74 08                	je     0x4497aa
4497a2:	8b 53 0c             	mov    0xc(%ebx),%edx
4497a5:	89 50 0c             	mov    %edx,0xc(%eax)
4497a8:	eb 0d                	jmp    0x4497b7
4497aa:	8b 43 14             	mov    0x14(%ebx),%eax
4497ad:	85 c0                	test   %eax,%eax
4497af:	74 06                	je     0x4497b7
4497b1:	8b 53 0c             	mov    0xc(%ebx),%edx
4497b4:	89 50 08             	mov    %edx,0x8(%eax)
4497b7:	8b 43 0c             	mov    0xc(%ebx),%eax
4497ba:	85 c0                	test   %eax,%eax
4497bc:	74 06                	je     0x4497c4
4497be:	8b 53 18             	mov    0x18(%ebx),%edx
4497c1:	89 50 18             	mov    %edx,0x18(%eax)
4497c4:	3b 5e 64             	cmp    0x64(%esi),%ebx
4497c7:	75 05                	jne    0x4497ce
4497c9:	33 c0                	xor    %eax,%eax
4497cb:	89 46 64             	mov    %eax,0x64(%esi)
4497ce:	8b c3                	mov    %ebx,%eax
4497d0:	e8 73 9a fb ff       	call   0x403248
4497d5:	5e                   	pop    %esi
4497d6:	5b                   	pop    %ebx
4497d7:	5d                   	pop    %ebp
4497d8:	c3                   	ret
4497d9:	8d 40 00             	lea    0x0(%eax),%eax
4497dc:	53                   	push   %ebx
4497dd:	56                   	push   %esi
4497de:	8b f2                	mov    %edx,%esi
4497e0:	8b d8                	mov    %eax,%ebx
4497e2:	8b d6                	mov    %esi,%edx
4497e4:	8b c3                	mov    %ebx,%eax
4497e6:	e8 01 f0 ff ff       	call   0x4487ec
4497eb:	85 c0                	test   %eax,%eax
4497ed:	74 24                	je     0x449813
4497ef:	3b 43 38             	cmp    0x38(%ebx),%eax
4497f2:	75 07                	jne    0x4497fb
4497f4:	33 d2                	xor    %edx,%edx
4497f6:	89 50 04             	mov    %edx,0x4(%eax)
4497f9:	eb 09                	jmp    0x449804
4497fb:	8b d0                	mov    %eax,%edx
4497fd:	8b c3                	mov    %ebx,%eax
4497ff:	e8 14 00 00 00       	call   0x449818
449804:	c6 86 9c 00 00 00 00 	movb   $0x0,0x9c(%esi)
44980b:	8b 43 14             	mov    0x14(%ebx),%eax
44980e:	8b 10                	mov    (%eax),%edx
449810:	ff 52 7c             	call   *0x7c(%edx)
449813:	5e                   	pop    %esi
449814:	5b                   	pop    %ebx
449815:	c3                   	ret
449816:	8b c0                	mov    %eax,%eax
449818:	55                   	push   %ebp
449819:	8b ec                	mov    %esp,%ebp
44981b:	33 c9                	xor    %ecx,%ecx
44981d:	51                   	push   %ecx
44981e:	51                   	push   %ecx
44981f:	51                   	push   %ecx
449820:	51                   	push   %ecx
449821:	53                   	push   %ebx
449822:	56                   	push   %esi
449823:	57                   	push   %edi
449824:	8b da                	mov    %edx,%ebx
449826:	8b f0                	mov    %eax,%esi
449828:	33 c0                	xor    %eax,%eax
44982a:	55                   	push   %ebp
44982b:	68 85 9a 44 00       	push   $0x449a85
449830:	64 ff 30             	push   %fs:(%eax)
449833:	64 89 20             	mov    %esp,%fs:(%eax)
449836:	85 db                	test   %ebx,%ebx
449838:	75 3b                	jne    0x449875
44983a:	8d 55 fc             	lea    -0x4(%ebp),%edx
44983d:	a1 54 db 46 00       	mov    0x46db54,%eax
449842:	e8 b5 c2 fb ff       	call   0x405afc
449847:	8d 45 fc             	lea    -0x4(%ebp),%eax
44984a:	50                   	push   %eax
44984b:	8d 55 f8             	lea    -0x8(%ebp),%edx
44984e:	a1 60 da 46 00       	mov    0x46da60,%eax
449853:	e8 a4 c2 fb ff       	call   0x405afc
449858:	8b 55 f8             	mov    -0x8(%ebp),%edx
44985b:	58                   	pop    %eax
44985c:	e8 ff a9 fb ff       	call   0x404260
449861:	8b 4d fc             	mov    -0x4(%ebp),%ecx
449864:	b2 01                	mov    $0x1,%dl
449866:	a1 04 6f 40 00       	mov    0x406f04,%eax
44986b:	e8 f8 1c fc ff       	call   0x40b568
449870:	e8 5f a1 fb ff       	call   0x4039d4
449875:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
449879:	75 3b                	jne    0x4498b6
44987b:	8d 55 f4             	lea    -0xc(%ebp),%edx
44987e:	a1 54 db 46 00       	mov    0x46db54,%eax
449883:	e8 74 c2 fb ff       	call   0x405afc
449888:	8d 45 f4             	lea    -0xc(%ebp),%eax
44988b:	50                   	push   %eax
44988c:	8d 55 f0             	lea    -0x10(%ebp),%edx
44988f:	a1 fc dc 46 00       	mov    0x46dcfc,%eax
449894:	e8 63 c2 fb ff       	call   0x405afc
449899:	8b 55 f0             	mov    -0x10(%ebp),%edx
44989c:	58                   	pop    %eax
44989d:	e8 be a9 fb ff       	call   0x404260
4498a2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4498a5:	b2 01                	mov    $0x1,%dl
4498a7:	a1 04 6f 40 00       	mov    0x406f04,%eax
4498ac:	e8 b7 1c fc ff       	call   0x40b568
4498b1:	e8 1e a1 fb ff       	call   0x4039d4
4498b6:	8b 43 14             	mov    0x14(%ebx),%eax
4498b9:	e8 ba e6 ff ff       	call   0x447f78
4498be:	83 f8 01             	cmp    $0x1,%eax
4498c1:	75 11                	jne    0x4498d4
4498c3:	8b 46 64             	mov    0x64(%esi),%eax
4498c6:	33 d2                	xor    %edx,%edx
4498c8:	89 50 08             	mov    %edx,0x8(%eax)
4498cb:	c6 40 10 00          	movb   $0x0,0x10(%eax)
4498cf:	e9 8f 01 00 00       	jmp    0x449a63
4498d4:	83 f8 02             	cmp    $0x2,%eax
4498d7:	0f 85 2e 01 00 00    	jne    0x449a0b
4498dd:	8b 43 18             	mov    0x18(%ebx),%eax
4498e0:	85 c0                	test   %eax,%eax
4498e2:	75 05                	jne    0x4498e9
4498e4:	8b 7b 0c             	mov    0xc(%ebx),%edi
4498e7:	eb 02                	jmp    0x4498eb
4498e9:	8b f8                	mov    %eax,%edi
4498eb:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
4498ef:	74 5f                	je     0x449950
4498f1:	8b 56 64             	mov    0x64(%esi),%edx
4498f4:	8b 43 14             	mov    0x14(%ebx),%eax
4498f7:	3b d0                	cmp    %eax,%edx
4498f9:	75 2a                	jne    0x449925
4498fb:	8b 46 64             	mov    0x64(%esi),%eax
4498fe:	89 78 08             	mov    %edi,0x8(%eax)
449901:	33 c0                	xor    %eax,%eax
449903:	89 47 18             	mov    %eax,0x18(%edi)
449906:	33 c0                	xor    %eax,%eax
449908:	89 47 0c             	mov    %eax,0xc(%edi)
44990b:	8b 46 64             	mov    0x64(%esi),%eax
44990e:	e8 11 e7 ff ff       	call   0x448024
449913:	8b d0                	mov    %eax,%edx
449915:	8b c7                	mov    %edi,%eax
449917:	e8 ac eb ff ff       	call   0x4484c8
44991c:	8b c7                	mov    %edi,%eax
44991e:	e8 05 ea ff ff       	call   0x448328
449923:	eb 16                	jmp    0x44993b
449925:	c6 40 10 00          	movb   $0x0,0x10(%eax)
449929:	8b 57 04             	mov    0x4(%edi),%edx
44992c:	89 50 04             	mov    %edx,0x4(%eax)
44992f:	33 d2                	xor    %edx,%edx
449931:	89 50 08             	mov    %edx,0x8(%eax)
449934:	8b c7                	mov    %edi,%eax
449936:	e8 0d 99 fb ff       	call   0x403248
44993b:	56                   	push   %esi
44993c:	68 28 a0 44 00       	push   $0x44a028
449941:	8b 53 14             	mov    0x14(%ebx),%edx
449944:	8b c6                	mov    %esi,%eax
449946:	e8 09 ef ff ff       	call   0x448854
44994b:	e9 13 01 00 00       	jmp    0x449a63
449950:	8b 43 14             	mov    0x14(%ebx),%eax
449953:	3b 46 64             	cmp    0x64(%esi),%eax
449956:	75 3b                	jne    0x449993
449958:	8b 56 68             	mov    0x68(%esi),%edx
44995b:	8b c7                	mov    %edi,%eax
44995d:	e8 7a eb ff ff       	call   0x4484dc
449962:	8b 46 64             	mov    0x64(%esi),%eax
449965:	e8 36 eb ff ff       	call   0x4484a0
44996a:	89 46 68             	mov    %eax,0x68(%esi)
44996d:	8b 46 64             	mov    0x64(%esi),%eax
449970:	e8 d3 98 fb ff       	call   0x403248
449975:	89 7e 64             	mov    %edi,0x64(%esi)
449978:	33 c0                	xor    %eax,%eax
44997a:	89 47 0c             	mov    %eax,0xc(%edi)
44997d:	33 c0                	xor    %eax,%eax
44997f:	89 47 18             	mov    %eax,0x18(%edi)
449982:	33 c0                	xor    %eax,%eax
449984:	89 47 14             	mov    %eax,0x14(%edi)
449987:	8b c6                	mov    %esi,%eax
449989:	e8 72 06 00 00       	call   0x44a000
44998e:	e9 d0 00 00 00       	jmp    0x449a63
449993:	8b 43 14             	mov    0x14(%ebx),%eax
449996:	8b 40 18             	mov    0x18(%eax),%eax
449999:	8b 57 08             	mov    0x8(%edi),%edx
44999c:	89 42 18             	mov    %eax,0x18(%edx)
44999f:	85 c0                	test   %eax,%eax
4499a1:	75 0e                	jne    0x4499b1
4499a3:	8b 47 08             	mov    0x8(%edi),%eax
4499a6:	8b 53 14             	mov    0x14(%ebx),%edx
4499a9:	8b 52 14             	mov    0x14(%edx),%edx
4499ac:	89 42 08             	mov    %eax,0x8(%edx)
4499af:	eb 06                	jmp    0x4499b7
4499b1:	8b 57 08             	mov    0x8(%edi),%edx
4499b4:	89 50 0c             	mov    %edx,0xc(%eax)
4499b7:	8b 47 08             	mov    0x8(%edi),%eax
4499ba:	8b 53 14             	mov    0x14(%ebx),%edx
4499bd:	8b 52 14             	mov    0x14(%edx),%edx
4499c0:	89 50 14             	mov    %edx,0x14(%eax)
4499c3:	8b 40 0c             	mov    0xc(%eax),%eax
4499c6:	8b 53 14             	mov    0x14(%ebx),%edx
4499c9:	8b 52 14             	mov    0x14(%edx),%edx
4499cc:	89 50 14             	mov    %edx,0x14(%eax)
4499cf:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
4499d3:	75 ee                	jne    0x4499c3
4499d5:	8b 53 14             	mov    0x14(%ebx),%edx
4499d8:	8b 52 0c             	mov    0xc(%edx),%edx
4499db:	89 50 0c             	mov    %edx,0xc(%eax)
4499de:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
4499e2:	74 06                	je     0x4499ea
4499e4:	8b 50 0c             	mov    0xc(%eax),%edx
4499e7:	89 42 18             	mov    %eax,0x18(%edx)
4499ea:	56                   	push   %esi
4499eb:	68 28 a0 44 00       	push   $0x44a028
4499f0:	8b 50 14             	mov    0x14(%eax),%edx
4499f3:	8b c6                	mov    %esi,%eax
4499f5:	e8 5a ee ff ff       	call   0x448854
4499fa:	8b 43 14             	mov    0x14(%ebx),%eax
4499fd:	e8 46 98 fb ff       	call   0x403248
449a02:	8b c7                	mov    %edi,%eax
449a04:	e8 3f 98 fb ff       	call   0x403248
449a09:	eb 58                	jmp    0x449a63
449a0b:	8b 43 18             	mov    0x18(%ebx),%eax
449a0e:	85 c0                	test   %eax,%eax
449a10:	75 18                	jne    0x449a2a
449a12:	8b 43 14             	mov    0x14(%ebx),%eax
449a15:	8b 53 0c             	mov    0xc(%ebx),%edx
449a18:	89 50 08             	mov    %edx,0x8(%eax)
449a1b:	8b 43 0c             	mov    0xc(%ebx),%eax
449a1e:	33 d2                	xor    %edx,%edx
449a20:	89 50 18             	mov    %edx,0x18(%eax)
449a23:	e8 00 e9 ff ff       	call   0x448328
449a28:	eb 29                	jmp    0x449a53
449a2a:	8b 53 0c             	mov    0xc(%ebx),%edx
449a2d:	89 50 0c             	mov    %edx,0xc(%eax)
449a30:	8b 53 0c             	mov    0xc(%ebx),%edx
449a33:	85 d2                	test   %edx,%edx
449a35:	74 03                	je     0x449a3a
449a37:	89 42 18             	mov    %eax,0x18(%edx)
449a3a:	8b c3                	mov    %ebx,%eax
449a3c:	e8 5f ea ff ff       	call   0x4484a0
449a41:	8b d0                	mov    %eax,%edx
449a43:	8b 43 18             	mov    0x18(%ebx),%eax
449a46:	e8 91 ea ff ff       	call   0x4484dc
449a4b:	8b 43 18             	mov    0x18(%ebx),%eax
449a4e:	e8 d5 e8 ff ff       	call   0x448328
449a53:	56                   	push   %esi
449a54:	68 28 a0 44 00       	push   $0x44a028
449a59:	8b 53 14             	mov    0x14(%ebx),%edx
449a5c:	8b c6                	mov    %esi,%eax
449a5e:	e8 f1 ed ff ff       	call   0x448854
449a63:	8b c3                	mov    %ebx,%eax
449a65:	e8 de 97 fb ff       	call   0x403248
449a6a:	33 c0                	xor    %eax,%eax
449a6c:	5a                   	pop    %edx
449a6d:	59                   	pop    %ecx
449a6e:	59                   	pop    %ecx
449a6f:	64 89 10             	mov    %edx,%fs:(%eax)
449a72:	68 8c 9a 44 00       	push   $0x449a8c
449a77:	8d 45 f0             	lea    -0x10(%ebp),%eax
449a7a:	ba 04 00 00 00       	mov    $0x4,%edx