44868e:	e8 c2 79 ff ff       	call   0x440055
448693:	85 c0                	test   %eax,%eax
448695:	59                   	pop    %ecx
448696:	74 0d                	je     0x4486a5
448698:	6a ff                	push   $0xffffffff
44869a:	8b c8                	mov    %eax,%ecx
44869c:	e8 7d ff ff ff       	call   0x44861e
4486a1:	8b f8                	mov    %eax,%edi
4486a3:	eb 02                	jmp    0x4486a7
4486a5:	33 ff                	xor    %edi,%edi
4486a7:	56                   	push   %esi
4486a8:	8b 35 4c 02 4b 00    	mov    0x4b024c,%esi
4486ae:	6a 02                	push   $0x2
4486b0:	6a 00                	push   $0x0
4486b2:	6a 00                	push   $0x0
4486b4:	8d 45 fc             	lea    -0x4(%ebp),%eax
4486b7:	50                   	push   %eax
4486b8:	ff d6                	call   *%esi
4486ba:	50                   	push   %eax
4486bb:	ff 73 04             	push   0x4(%ebx)
4486be:	ff d6                	call   *%esi
4486c0:	50                   	push   %eax
4486c1:	ff 15 50 02 4b 00    	call   *0x4b0250
4486c7:	85 c0                	test   %eax,%eax
4486c9:	5e                   	pop    %esi
4486ca:	75 1c                	jne    0x4486e8
4486cc:	85 ff                	test   %edi,%edi
4486ce:	74 09                	je     0x4486d9
4486d0:	8b 07                	mov    (%edi),%eax
4486d2:	6a 01                	push   $0x1
4486d4:	8b cf                	mov    %edi,%ecx
4486d6:	ff 50 04             	call   *0x4(%eax)
4486d9:	ff 73 0c             	push   0xc(%ebx)
4486dc:	ff 15 9c 03 4b 00    	call   *0x4b039c
4486e2:	50                   	push   %eax
4486e3:	e8 ed 23 00 00       	call   0x44aad5
4486e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4486eb:	89 47 04             	mov    %eax,0x4(%edi)
4486ee:	8b 43 08             	mov    0x8(%ebx),%eax
4486f1:	89 47 08             	mov    %eax,0x8(%edi)
4486f4:	8b c7                	mov    %edi,%eax
4486f6:	5f                   	pop    %edi
4486f7:	5b                   	pop    %ebx
4486f8:	c9                   	leave
4486f9:	c3                   	ret
4486fa:	56                   	push   %esi
4486fb:	8b f1                	mov    %ecx,%esi
4486fd:	e8 3e ff ff ff       	call   0x448640
448702:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
448707:	74 07                	je     0x448710
448709:	56                   	push   %esi
44870a:	e8 71 79 ff ff       	call   0x440080
44870f:	59                   	pop    %ecx
448710:	8b c6                	mov    %esi,%eax
448712:	5e                   	pop    %esi
448713:	c2 04 00             	ret    $0x4
448716:	55                   	push   %ebp
448717:	8b ec                	mov    %esp,%ebp
448719:	83 ec 14             	sub    $0x14,%esp
44871c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44871f:	56                   	push   %esi
448720:	57                   	push   %edi
448721:	bf 04 01 00 00       	mov    $0x104,%edi
448726:	33 f6                	xor    %esi,%esi
448728:	57                   	push   %edi
448729:	89 75 f8             	mov    %esi,-0x8(%ebp)
44872c:	e8 5f 8a fb ff       	call   0x401190
448731:	89 45 f0             	mov    %eax,-0x10(%ebp)
448734:	8d 45 f8             	lea    -0x8(%ebp),%eax
448737:	50                   	push   %eax
448738:	68 c8 9b 48 00       	push   $0x489bc8
44873d:	89 7d f4             	mov    %edi,-0xc(%ebp)
448740:	8b 3d 84 fe 4a 00    	mov    0x4afe84,%edi
448746:	68 00 00 00 80       	push   $0x80000000
44874b:	89 75 ec             	mov    %esi,-0x14(%ebp)
44874e:	ff d7                	call   *%edi
448750:	85 c0                	test   %eax,%eax
448752:	75 60                	jne    0x4487b4
448754:	53                   	push   %ebx
448755:	8d 45 fc             	lea    -0x4(%ebp),%eax
448758:	50                   	push   %eax
448759:	ff 75 08             	push   0x8(%ebp)
44875c:	89 75 fc             	mov    %esi,-0x4(%ebp)
44875f:	ff 75 f8             	push   -0x8(%ebp)
448762:	ff d7                	call   *%edi
448764:	85 c0                	test   %eax,%eax
448766:	8b 1d ac fe 4a 00    	mov    0x4afeac,%ebx
44876c:	75 40                	jne    0x4487ae
44876e:	8d 45 08             	lea    0x8(%ebp),%eax
448771:	50                   	push   %eax
448772:	68 18 be 48 00       	push   $0x48be18
448777:	ff 75 fc             	push   -0x4(%ebp)
44877a:	89 75 08             	mov    %esi,0x8(%ebp)
44877d:	ff d7                	call   *%edi
44877f:	85 c0                	test   %eax,%eax
448781:	75 26                	jne    0x4487a9
448783:	8d 45 f4             	lea    -0xc(%ebp),%eax
448786:	50                   	push   %eax
448787:	ff 75 f0             	push   -0x10(%ebp)
44878a:	8d 45 ec             	lea    -0x14(%ebp),%eax
44878d:	50                   	push   %eax
44878e:	56                   	push   %esi
44878f:	68 71 92 48 00       	push   $0x489271
448794:	ff 75 08             	push   0x8(%ebp)
448797:	ff 15 88 fe 4a 00    	call   *0x4afe88
44879d:	ff 75 08             	push   0x8(%ebp)
4487a0:	8b f0                	mov    %eax,%esi
4487a2:	f7 de                	neg    %esi
4487a4:	1b f6                	sbb    %esi,%esi
4487a6:	46                   	inc    %esi
4487a7:	ff d3                	call   *%ebx
4487a9:	ff 75 fc             	push   -0x4(%ebp)
4487ac:	ff d3                	call   *%ebx
4487ae:	ff 75 f8             	push   -0x8(%ebp)
4487b1:	ff d3                	call   *%ebx
4487b3:	5b                   	pop    %ebx
4487b4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4487b7:	6a ff                	push   $0xffffffff
4487b9:	e8 69 89 fb ff       	call   0x401127
4487be:	5f                   	pop    %edi
4487bf:	8b c6                	mov    %esi,%eax
4487c1:	5e                   	pop    %esi
4487c2:	c9                   	leave
4487c3:	c2 08 00             	ret    $0x8
4487c6:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4487ca:	56                   	push   %esi
4487cb:	57                   	push   %edi
4487cc:	be 04 01 00 00       	mov    $0x104,%esi
4487d1:	56                   	push   %esi
4487d2:	e8 b9 89 fb ff       	call   0x401190
4487d7:	56                   	push   %esi
4487d8:	8b f8                	mov    %eax,%edi
4487da:	6a 00                	push   $0x0
4487dc:	57                   	push   %edi
4487dd:	e8 5e fa fc ff       	call   0x418240
4487e2:	83 c4 0c             	add    $0xc,%esp
4487e5:	56                   	push   %esi
4487e6:	ff 74 24 10          	push   0x10(%esp)
4487ea:	57                   	push   %edi
4487eb:	ff 15 4c 03 4b 00    	call   *0x4b034c
4487f1:	57                   	push   %edi
4487f2:	ff 15 a0 05 4b 00    	call   *0x4b05a0
4487f8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4487fc:	6a ff                	push   $0xffffffff
4487fe:	e8 24 89 fb ff       	call   0x401127
448803:	5f                   	pop    %edi
448804:	5e                   	pop    %esi
448805:	c2 08 00             	ret    $0x8
448808:	b8 48 30 48 00       	mov    $0x483048,%eax
44880d:	e8 6a f4 fc ff       	call   0x417c7c
448812:	81 ec 50 01 00 00    	sub    $0x150,%esp
448818:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
44881d:	53                   	push   %ebx
44881e:	56                   	push   %esi
44881f:	57                   	push   %edi
448820:	8b 7d 08             	mov    0x8(%ebp),%edi
448823:	89 45 f0             	mov    %eax,-0x10(%ebp)
448826:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
44882c:	50                   	push   %eax
44882d:	57                   	push   %edi
44882e:	be 04 01 00 00       	mov    $0x104,%esi
448833:	56                   	push   %esi
448834:	ff 75 0c             	push   0xc(%ebp)
448837:	ff 15 44 02 4b 00    	call   *0x4b0244
44883d:	33 db                	xor    %ebx,%ebx
44883f:	3b c3                	cmp    %ebx,%eax
448841:	75 0d                	jne    0x448850
448843:	56                   	push   %esi
448844:	ff 75 0c             	push   0xc(%ebp)
448847:	57                   	push   %edi
448848:	ff 15 4c 03 4b 00    	call   *0x4b034c
44884e:	eb 04                	jmp    0x448854
448850:	3b c6                	cmp    %esi,%eax
448852:	72 07                	jb     0x44885b
448854:	33 c0                	xor    %eax,%eax
448856:	e9 d5 00 00 00       	jmp    0x448930
44885b:	e8 96 79 ff ff       	call   0x4401f6
448860:	8b 10                	mov    (%eax),%edx
448862:	8b c8                	mov    %eax,%ecx
448864:	ff 52 0c             	call   *0xc(%edx)
448867:	83 c0 10             	add    $0x10,%eax
44886a:	89 45 08             	mov    %eax,0x8(%ebp)
44886d:	8d 45 08             	lea    0x8(%ebp),%eax
448870:	50                   	push   %eax
448871:	57                   	push   %edi
448872:	89 5d fc             	mov    %ebx,-0x4(%ebp)
448875:	e8 4c ff ff ff       	call   0x4487c6
44887a:	ff 75 08             	push   0x8(%ebp)
44887d:	ff 15 ac 05 4b 00    	call   *0x4b05ac
448883:	85 c0                	test   %eax,%eax
448885:	0f 85 95 00 00 00    	jne    0x448920
44888b:	53                   	push   %ebx
44888c:	53                   	push   %ebx
44888d:	8d 85 a8 fe ff ff    	lea    -0x158(%ebp),%eax
448893:	50                   	push   %eax
448894:	8d 85 a4 fe ff ff    	lea    -0x15c(%ebp),%eax
44889a:	50                   	push   %eax
44889b:	53                   	push   %ebx
44889c:	53                   	push   %ebx
44889d:	53                   	push   %ebx
44889e:	ff 75 08             	push   0x8(%ebp)
4488a1:	ff 15 48 02 4b 00    	call   *0x4b0248
4488a7:	85 c0                	test   %eax,%eax
4488a9:	75 04                	jne    0x4488af
4488ab:	33 f6                	xor    %esi,%esi
4488ad:	eb 74                	jmp    0x448923
4488af:	f6 85 a8 fe ff ff 02 	testb  $0x2,-0x158(%ebp)
4488b6:	75 07                	jne    0x4488bf
4488b8:	57                   	push   %edi
4488b9:	ff 15 ac 08 4b 00    	call   *0x4b08ac
4488bf:	f6 85 a8 fe ff ff 04 	testb  $0x4,-0x158(%ebp)
4488c6:	75 58                	jne    0x448920
4488c8:	8d 85 b0 fe ff ff    	lea    -0x150(%ebp),%eax
4488ce:	50                   	push   %eax
4488cf:	ff 75 0c             	push   0xc(%ebp)
4488d2:	ff 15 7c 02 4b 00    	call   *0x4b027c
4488d8:	83 f8 ff             	cmp    $0xffffffff,%eax
4488db:	74 43                	je     0x448920
4488dd:	50                   	push   %eax
4488de:	ff 15 84 02 4b 00    	call   *0x4b0284
4488e4:	39 9d ac fe ff ff    	cmp    %ebx,-0x154(%ebp)
4488ea:	74 bf                	je     0x4488ab
4488ec:	39 bd ac fe ff ff    	cmp    %edi,-0x154(%ebp)
4488f2:	76 b7                	jbe    0x4488ab
4488f4:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
4488fa:	50                   	push   %eax
4488fb:	ff 15 88 03 4b 00    	call   *0x4b0388
448901:	2b c7                	sub    %edi,%eax
448903:	03 85 ac fe ff ff    	add    -0x154(%ebp),%eax
448909:	3b c6                	cmp    %esi,%eax
44890b:	7d 9e                	jge    0x4488ab
44890d:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
448913:	50                   	push   %eax
448914:	ff b5 ac fe ff ff    	push   -0x154(%ebp)
44891a:	ff 15 04 03 4b 00    	call   *0x4b0304
448920:	33 f6                	xor    %esi,%esi
448922:	46                   	inc    %esi
448923:	8b 4d 08             	mov    0x8(%ebp),%ecx
448926:	83 c1 f0             	add    $0xfffffff0,%ecx
448929:	e8 24 8a fb ff       	call   0x401352
44892e:	8b c6                	mov    %esi,%eax
448930:	8b 4d f4             	mov    -0xc(%ebp),%ecx
448933:	5f                   	pop    %edi
448934:	5e                   	pop    %esi
448935:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
44893c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44893f:	5b                   	pop    %ebx
448940:	e8 99 f2 fc ff       	call   0x417bde
448945:	c9                   	leave
448946:	c2 08 00             	ret    $0x8
448949:	55                   	push   %ebp
44894a:	8b ec                	mov    %esp,%ebp
44894c:	81 ec 14 01 00 00    	sub    $0x114,%esp
448952:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
448957:	53                   	push   %ebx
448958:	8b 5d 0c             	mov    0xc(%ebp),%ebx
44895b:	56                   	push   %esi
44895c:	57                   	push   %edi
44895d:	8b f9                	mov    %ecx,%edi
44895f:	83 67 08 00          	andl   $0x0,0x8(%edi)
448963:	83 4f 04 ff          	orl    $0xffffffff,0x4(%edi)
448967:	8d 77 0c             	lea    0xc(%edi),%esi
44896a:	8b ce                	mov    %esi,%ecx
44896c:	89 45 fc             	mov    %eax,-0x4(%ebp)
44896f:	81 e3 ff 7f ff ff    	and    $0xffff7fff,%ebx
448975:	e8 f8 87 fb ff       	call   0x401172
44897a:	ff 75 08             	push   0x8(%ebp)
44897d:	ff 15 88 03 4b 00    	call   *0x4b0388
448983:	3d 04 01 00 00       	cmp    $0x104,%eax
448988:	0f 8d 33 01 00 00    	jge    0x448ac1
44898e:	ff 75 08             	push   0x8(%ebp)
448991:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
448997:	50                   	push   %eax
448998:	e8 6b fe ff ff       	call   0x448808
44899d:	85 c0                	test   %eax,%eax
44899f:	0f 84 1c 01 00 00    	je     0x448ac1
4489a5:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4489ab:	50                   	push   %eax
4489ac:	8b ce                	mov    %esi,%ecx
4489ae:	e8 ce 87 fb ff       	call   0x401181
4489b3:	6a 03                	push   $0x3
4489b5:	8b c3                	mov    %ebx,%eax
4489b7:	5a                   	pop    %edx
4489b8:	33 c9                	xor    %ecx,%ecx
4489ba:	23 c2                	and    %edx,%eax
4489bc:	2b c1                	sub    %ecx,%eax
4489be:	89 4d 0c             	mov    %ecx,0xc(%ebp)
4489c1:	74 18                	je     0x4489db
4489c3:	48                   	dec    %eax
4489c4:	74 0c                	je     0x4489d2
4489c6:	48                   	dec    %eax
4489c7:	75 19                	jne    0x4489e2
4489c9:	c7 45 0c 00 00 00 c0 	movl   $0xc0000000,0xc(%ebp)
4489d0:	eb 10                	jmp    0x4489e2
4489d2:	c7 45 0c 00 00 00 40 	movl   $0x40000000,0xc(%ebp)
4489d9:	eb 07                	jmp    0x4489e2
4489db:	c7 45 0c 00 00 00 80 	movl   $0x80000000,0xc(%ebp)
4489e2:	8b c3                	mov    %ebx,%eax
4489e4:	83 e0 70             	and    $0x70,%eax
4489e7:	6a 01                	push   $0x1
4489e9:	5e                   	pop    %esi
4489ea:	74 14                	je     0x448a00
4489ec:	83 f8 10             	cmp    $0x10,%eax
4489ef:	74 0f                	je     0x448a00
4489f1:	83 f8 20             	cmp    $0x20,%eax
4489f4:	74 47                	je     0x448a3d
4489f6:	83 f8 30             	cmp    $0x30,%eax
4489f9:	74 3d                	je     0x448a38
4489fb:	83 f8 40             	cmp    $0x40,%eax
4489fe:	74 02                	je     0x448a02
448a00:	33 d2                	xor    %edx,%edx
448a02:	8b c3                	mov    %ebx,%eax
448a04:	c1 e8 07             	shr    $0x7,%eax
448a07:	f7 d0                	not    %eax
448a09:	23 c6                	and    %esi,%eax
448a0b:	f6 c7 10             	test   $0x10,%bh
448a0e:	c7 85 ec fe ff ff 0c 	movl   $0xc,-0x114(%ebp)
448a15:	00 00 00
448a18:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
448a1e:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
448a24:	74 1b                	je     0x448a41
448a26:	8b c3                	mov    %ebx,%eax
448a28:	25 00 20 00 00       	and    $0x2000,%eax
448a2d:	f7 d8                	neg    %eax
448a2f:	1b c0                	sbb    %eax,%eax
448a31:	83 e0 02             	and    $0x2,%eax
448a34:	40                   	inc    %eax
448a35:	40                   	inc    %eax
448a36:	eb 0c                	jmp    0x448a44
448a38:	6a 02                	push   $0x2
448a3a:	5a                   	pop    %edx
448a3b:	eb c5                	jmp    0x448a02
448a3d:	8b d6                	mov    %esi,%edx
448a3f:	eb c1                	jmp    0x448a02
448a41:	6a 03                	push   $0x3
448a43:	58                   	pop    %eax
448a44:	f7 c3 00 00 01 00    	test   $0x10000,%ebx
448a4a:	b9 80 00 00 00       	mov    $0x80,%ecx
448a4f:	74 05                	je     0x448a56
448a51:	b9 80 00 00 20       	mov    $0x20000080,%ecx
448a56:	f7 c3 00 00 02 00    	test   $0x20000,%ebx
448a5c:	74 06                	je     0x448a64
448a5e:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
448a64:	f7 c3 00 00 04 00    	test   $0x40000,%ebx
448a6a:	74 06                	je     0x448a72
448a6c:	81 c9 00 00 00 10    	or     $0x10000000,%ecx
448a72:	f7 c3 00 00 08 00    	test   $0x80000,%ebx
448a78:	74 06                	je     0x448a80
448a7a:	81 c9 00 00 00 08    	or     $0x8000000,%ecx
448a80:	6a 00                	push   $0x0