4526f1:	74 53                	je     0x452746
4526f3:	f6 40 51 04          	testb  $0x4,0x51(%eax)
4526f7:	75 4d                	jne    0x452746
4526f9:	8b 55 fc             	mov    -0x4(%ebp),%edx
4526fc:	0f b6 52 5b          	movzbl 0x5b(%edx),%edx
452700:	84 d2                	test   %dl,%dl
452702:	74 08                	je     0x45270c
452704:	80 c2 fd             	add    $0xfd,%dl
452707:	80 ea 02             	sub    $0x2,%dl
45270a:	73 08                	jae    0x452714
45270c:	8b 75 dc             	mov    -0x24(%ebp),%esi
45270f:	2b 75 cc             	sub    -0x34(%ebp),%esi
452712:	eb 02                	jmp    0x452716
452714:	33 f6                	xor    %esi,%esi
452716:	8b 55 fc             	mov    -0x4(%ebp),%edx
452719:	0f b6 52 5b          	movzbl 0x5b(%edx),%edx
45271d:	80 ea 03             	sub    $0x3,%dl
452720:	73 08                	jae    0x45272a
452722:	8b 7d e0             	mov    -0x20(%ebp),%edi
452725:	2b 7d d0             	sub    -0x30(%ebp),%edi
452728:	eb 02                	jmp    0x45272c
45272a:	33 ff                	xor    %edi,%edi
45272c:	8b 50 48             	mov    0x48(%eax),%edx
45272f:	52                   	push   %edx
452730:	8b 50 4c             	mov    0x4c(%eax),%edx
452733:	52                   	push   %edx
452734:	8b 48 44             	mov    0x44(%eax),%ecx
452737:	2b cf                	sub    %edi,%ecx
452739:	8b 50 40             	mov    0x40(%eax),%edx
45273c:	2b d6                	sub    %esi,%edx
45273e:	8b 30                	mov    (%eax),%esi
452740:	ff 96 88 00 00 00    	call   *0x88(%esi)
452746:	ff 45 ec             	incl   -0x14(%ebp)
452749:	4b                   	dec    %ebx
45274a:	75 90                	jne    0x4526dc
45274c:	33 c0                	xor    %eax,%eax
45274e:	5a                   	pop    %edx
45274f:	59                   	pop    %ecx
452750:	59                   	pop    %ecx
452751:	64 89 10             	mov    %edx,%fs:(%eax)
452754:	68 71 27 45 00       	push   $0x452771
452759:	8b 45 fc             	mov    -0x4(%ebp),%eax
45275c:	66 83 60 54 ef       	andw   $0xffef,0x54(%eax)
452761:	8b 45 fc             	mov    -0x4(%ebp),%eax
452764:	e8 bf b0 ff ff       	call   0x44d828
452769:	c3                   	ret
45276a:	e9 41 19 fb ff       	jmp    0x4040b0
45276f:	eb e8                	jmp    0x452759
452771:	8b 45 fc             	mov    -0x4(%ebp),%eax
452774:	0f b6 50 5b          	movzbl 0x5b(%eax),%edx
452778:	8b c2                	mov    %edx,%eax
45277a:	84 c0                	test   %al,%al
45277c:	74 06                	je     0x452784
45277e:	04 fd                	add    $0xfd,%al
452780:	2c 02                	sub    $0x2,%al
452782:	73 33                	jae    0x4527b7
452784:	8b 45 e4             	mov    -0x1c(%ebp),%eax
452787:	2b 45 dc             	sub    -0x24(%ebp),%eax
45278a:	85 c0                	test   %eax,%eax
45278c:	7e 22                	jle    0x4527b0
45278e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452791:	03 41 48             	add    0x48(%ecx),%eax
452794:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
452797:	2b 4d cc             	sub    -0x34(%ebp),%ecx
45279a:	2b c1                	sub    %ecx,%eax
45279c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45279f:	89 01                	mov    %eax,(%ecx)
4527a1:	80 fa 04             	cmp    $0x4,%dl
4527a4:	75 11                	jne    0x4527b7
4527a6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4527a9:	8b 10                	mov    (%eax),%edx
4527ab:	ff 52 5c             	call   *0x5c(%edx)
4527ae:	eb 07                	jmp    0x4527b7
4527b0:	8b 45 f8             	mov    -0x8(%ebp),%eax
4527b3:	33 d2                	xor    %edx,%edx
4527b5:	89 10                	mov    %edx,(%eax)
4527b7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4527ba:	0f b6 50 5b          	movzbl 0x5b(%eax),%edx
4527be:	8b c2                	mov    %edx,%eax
4527c0:	2c 03                	sub    $0x3,%al
4527c2:	73 33                	jae    0x4527f7
4527c4:	8b 45 e8             	mov    -0x18(%ebp),%eax
4527c7:	2b 45 e0             	sub    -0x20(%ebp),%eax
4527ca:	85 c0                	test   %eax,%eax
4527cc:	7e 22                	jle    0x4527f0
4527ce:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4527d1:	03 41 4c             	add    0x4c(%ecx),%eax
4527d4:	8b 4d d8             	mov    -0x28(%ebp),%ecx
4527d7:	2b 4d d0             	sub    -0x30(%ebp),%ecx
4527da:	2b c1                	sub    %ecx,%eax
4527dc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4527df:	89 01                	mov    %eax,(%ecx)
4527e1:	80 fa 02             	cmp    $0x2,%dl
4527e4:	75 11                	jne    0x4527f7
4527e6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4527e9:	8b 10                	mov    (%eax),%edx
4527eb:	ff 52 5c             	call   *0x5c(%edx)
4527ee:	eb 07                	jmp    0x4527f7
4527f0:	8b 45 f4             	mov    -0xc(%ebp),%eax
4527f3:	33 d2                	xor    %edx,%edx
4527f5:	89 10                	mov    %edx,(%eax)
4527f7:	0f b6 45 f3          	movzbl -0xd(%ebp),%eax
4527fb:	5f                   	pop    %edi
4527fc:	5e                   	pop    %esi
4527fd:	5b                   	pop    %ebx
4527fe:	8b e5                	mov    %ebp,%esp
452800:	5d                   	pop    %ebp
452801:	c3                   	ret
452802:	8b c0                	mov    %eax,%eax
452804:	83 ea 01             	sub    $0x1,%edx
452807:	72 04                	jb     0x45280d
452809:	74 1f                	je     0x45282a
45280b:	eb 39                	jmp    0x452846
45280d:	3a 88 93 01 00 00    	cmp    0x193(%eax),%cl
452813:	74 31                	je     0x452846
452815:	88 88 93 01 00 00    	mov    %cl,0x193(%eax)
45281b:	6a 00                	push   $0x0
45281d:	33 c9                	xor    %ecx,%ecx
45281f:	ba 3b b0 00 00       	mov    $0xb03b,%edx
452824:	e8 03 89 ff ff       	call   0x44b12c
452829:	c3                   	ret
45282a:	3a 88 94 01 00 00    	cmp    0x194(%eax),%cl
452830:	74 14                	je     0x452846
452832:	88 88 94 01 00 00    	mov    %cl,0x194(%eax)
452838:	6a 00                	push   $0x0
45283a:	33 c9                	xor    %ecx,%ecx
45283c:	ba 3b b0 00 00       	mov    $0xb03b,%edx
452841:	e8 e6 88 ff ff       	call   0x44b12c
452846:	c3                   	ret
452847:	90                   	nop
452848:	53                   	push   %ebx
452849:	51                   	push   %ecx
45284a:	88 14 24             	mov    %dl,(%esp)
45284d:	8b d8                	mov    %eax,%ebx
45284f:	0f b6 83 92 01 00 00 	movzbl 0x192(%ebx),%eax
452856:	3a 04 24             	cmp    (%esp),%al
452859:	74 1a                	je     0x452875
45285b:	0f b6 04 24          	movzbl (%esp),%eax
45285f:	88 83 92 01 00 00    	mov    %al,0x192(%ebx)
452865:	6a 00                	push   $0x0
452867:	33 c9                	xor    %ecx,%ecx
452869:	ba 3b b0 00 00       	mov    $0xb03b,%edx
45286e:	8b c3                	mov    %ebx,%eax
452870:	e8 b7 88 ff ff       	call   0x44b12c
452875:	5a                   	pop    %edx
452876:	5b                   	pop    %ebx
452877:	c3                   	ret
452878:	3a 90 95 01 00 00    	cmp    0x195(%eax),%dl
45287e:	74 14                	je     0x452894
452880:	88 90 95 01 00 00    	mov    %dl,0x195(%eax)
452886:	6a 00                	push   $0x0
452888:	33 c9                	xor    %ecx,%ecx
45288a:	ba 3b b0 00 00       	mov    $0xb03b,%edx
45288f:	e8 98 88 ff ff       	call   0x44b12c
452894:	c3                   	ret
452895:	8d 40 00             	lea    0x0(%eax),%eax
452898:	3b 90 98 01 00 00    	cmp    0x198(%eax),%edx
45289e:	74 14                	je     0x4528b4
4528a0:	89 90 98 01 00 00    	mov    %edx,0x198(%eax)
4528a6:	6a 00                	push   $0x0
4528a8:	33 c9                	xor    %ecx,%ecx
4528aa:	ba 3b b0 00 00       	mov    $0xb03b,%edx
4528af:	e8 78 88 ff ff       	call   0x44b12c
4528b4:	c3                   	ret
4528b5:	8d 40 00             	lea    0x0(%eax),%eax
4528b8:	53                   	push   %ebx
4528b9:	56                   	push   %esi
4528ba:	57                   	push   %edi
4528bb:	8b f2                	mov    %edx,%esi
4528bd:	8b d8                	mov    %eax,%ebx
4528bf:	8b d6                	mov    %esi,%edx
4528c1:	8b c3                	mov    %ebx,%eax
4528c3:	8b 08                	mov    (%eax),%ecx
4528c5:	ff 51 f0             	call   *-0x10(%ecx)
4528c8:	8b 46 08             	mov    0x8(%esi),%eax
4528cb:	8b f0                	mov    %eax,%esi
4528cd:	8b 83 9c 01 00 00    	mov    0x19c(%ebx),%eax
4528d3:	f7 d8                	neg    %eax
4528d5:	50                   	push   %eax
4528d6:	8b 93 9c 01 00 00    	mov    0x19c(%ebx),%edx
4528dc:	f7 da                	neg    %edx
4528de:	50                   	push   %eax
4528df:	8b fe                	mov    %esi,%edi
4528e1:	57                   	push   %edi
4528e2:	e8 f1 47 fb ff       	call   0x4070d8
4528e7:	80 bb 95 01 00 00 00 	cmpb   $0x0,0x195(%ebx)
4528ee:	74 51                	je     0x452941
4528f0:	33 c0                	xor    %eax,%eax
4528f2:	80 bb 93 01 00 00 00 	cmpb   $0x0,0x193(%ebx)
4528f9:	74 06                	je     0x452901
4528fb:	03 83 98 01 00 00    	add    0x198(%ebx),%eax
452901:	80 bb 94 01 00 00 00 	cmpb   $0x0,0x194(%ebx)
452908:	74 06                	je     0x452910
45290a:	03 83 98 01 00 00    	add    0x198(%ebx),%eax
452910:	8b f7                	mov    %edi,%esi
452912:	f6 83 92 01 00 00 01 	testb  $0x1,0x192(%ebx)
452919:	74 02                	je     0x45291d
45291b:	01 06                	add    %eax,(%esi)
45291d:	f6 83 92 01 00 00 02 	testb  $0x2,0x192(%ebx)
452924:	74 03                	je     0x452929
452926:	01 46 04             	add    %eax,0x4(%esi)
452929:	f6 83 92 01 00 00 04 	testb  $0x4,0x192(%ebx)
452930:	74 03                	je     0x452935
452932:	29 46 08             	sub    %eax,0x8(%esi)
452935:	f6 83 92 01 00 00 08 	testb  $0x8,0x192(%ebx)
45293c:	74 03                	je     0x452941
45293e:	29 46 0c             	sub    %eax,0xc(%esi)
452941:	5f                   	pop    %edi
452942:	5e                   	pop    %esi
452943:	5b                   	pop    %ebx
452944:	c3                   	ret
452945:	8d 40 00             	lea    0x0(%eax),%eax
452948:	55                   	push   %ebp
452949:	8b ec                	mov    %esp,%ebp
45294b:	83 c4 c4             	add    $0xffffffc4,%esp
45294e:	53                   	push   %ebx
45294f:	56                   	push   %esi
452950:	57                   	push   %edi
452951:	89 55 f8             	mov    %edx,-0x8(%ebp)
452954:	89 45 fc             	mov    %eax,-0x4(%ebp)
452957:	8b 45 fc             	mov    -0x4(%ebp),%eax
45295a:	80 b8 95 01 00 00 00 	cmpb   $0x0,0x195(%eax)
452961:	75 10                	jne    0x452973
452963:	8b 45 fc             	mov    -0x4(%ebp),%eax
452966:	83 b8 9c 01 00 00 00 	cmpl   $0x0,0x19c(%eax)
45296d:	0f 86 8f 02 00 00    	jbe    0x452c02
452973:	8b 45 fc             	mov    -0x4(%ebp),%eax
452976:	e8 31 f0 ff ff       	call   0x4519ac
45297b:	50                   	push   %eax
45297c:	e8 17 47 fb ff       	call   0x407098
452981:	89 45 f4             	mov    %eax,-0xc(%ebp)
452984:	33 c9                	xor    %ecx,%ecx
452986:	55                   	push   %ebp
452987:	68 fb 2b 45 00       	push   $0x452bfb
45298c:	64 ff 31             	push   %fs:(%ecx)
45298f:	64 89 21             	mov    %esp,%fs:(%ecx)
452992:	8d 45 e4             	lea    -0x1c(%ebp),%eax
452995:	50                   	push   %eax
452996:	8b 45 fc             	mov    -0x4(%ebp),%eax
452999:	e8 0e f0 ff ff       	call   0x4519ac
45299e:	50                   	push   %eax
45299f:	e8 bc 45 fb ff       	call   0x406f60
4529a4:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4529a7:	50                   	push   %eax
4529a8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4529ab:	e8 fc ef ff ff       	call   0x4519ac
4529b0:	50                   	push   %eax
4529b1:	e8 02 47 fb ff       	call   0x4070b8
4529b6:	6a 02                	push   $0x2
4529b8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4529bb:	50                   	push   %eax
4529bc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4529bf:	e8 e8 ef ff ff       	call   0x4519ac
4529c4:	50                   	push   %eax
4529c5:	6a 00                	push   $0x0
4529c7:	e8 bc 47 fb ff       	call   0x407188
4529cc:	8b 45 d8             	mov    -0x28(%ebp),%eax
4529cf:	f7 d8                	neg    %eax
4529d1:	50                   	push   %eax
4529d2:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4529d5:	f7 d8                	neg    %eax
4529d7:	50                   	push   %eax
4529d8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4529db:	50                   	push   %eax
4529dc:	e8 c7 47 fb ff       	call   0x4071a8
4529e1:	8b 45 f0             	mov    -0x10(%ebp),%eax
4529e4:	50                   	push   %eax
4529e5:	8b 45 ec             	mov    -0x14(%ebp),%eax
4529e8:	50                   	push   %eax
4529e9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4529ec:	50                   	push   %eax
4529ed:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4529f0:	50                   	push   %eax
4529f1:	8b 45 f4             	mov    -0xc(%ebp),%eax
4529f4:	50                   	push   %eax
4529f5:	e8 1e 42 fb ff       	call   0x406c18
4529fa:	8d 75 d4             	lea    -0x2c(%ebp),%esi
4529fd:	8d 7d c4             	lea    -0x3c(%ebp),%edi
452a00:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452a01:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452a02:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452a03:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452a04:	8b 45 fc             	mov    -0x4(%ebp),%eax
452a07:	8b 80 9c 01 00 00    	mov    0x19c(%eax),%eax
452a0d:	50                   	push   %eax
452a0e:	50                   	push   %eax
452a0f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
452a12:	50                   	push   %eax
452a13:	e8 c0 46 fb ff       	call   0x4070d8
452a18:	8d 75 e4             	lea    -0x1c(%ebp),%esi
452a1b:	8d 7d d4             	lea    -0x2c(%ebp),%edi
452a1e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452a1f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452a20:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452a21:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452a22:	6a f0                	push   $0xfffffff0
452a24:	8b 45 fc             	mov    -0x4(%ebp),%eax
452a27:	e8 80 ef ff ff       	call   0x4519ac
452a2c:	50                   	push   %eax
452a2d:	e8 6e 46 fb ff       	call   0x4070a0
452a32:	8b d8                	mov    %eax,%ebx
452a34:	f7 c3 00 00 20 00    	test   $0x200000,%ebx
452a3a:	74 0e                	je     0x452a4a
452a3c:	6a 14                	push   $0x14
452a3e:	a1 28 75 4a 00       	mov    0x4a7528,%eax
452a43:	8b 00                	mov    (%eax),%eax
452a45:	ff d0                	call   *%eax
452a47:	01 45 dc             	add    %eax,-0x24(%ebp)
452a4a:	f7 c3 00 00 10 00    	test   $0x100000,%ebx
452a50:	74 0e                	je     0x452a60
452a52:	6a 15                	push   $0x15
452a54:	a1 28 75 4a 00       	mov    0x4a7528,%eax
452a59:	8b 00                	mov    (%eax),%eax
452a5b:	ff d0                	call   *%eax
452a5d:	01 45 e0             	add    %eax,-0x20(%ebp)
452a60:	8b 45 fc             	mov    -0x4(%ebp),%eax
452a63:	80 b8 95 01 00 00 00 	cmpb   $0x0,0x195(%eax)
452a6a:	0f 84 c1 00 00 00    	je     0x452b31
452a70:	33 f6                	xor    %esi,%esi
452a72:	8b 45 fc             	mov    -0x4(%ebp),%eax
452a75:	0f b6 90 93 01 00 00 	movzbl 0x193(%eax),%edx
452a7c:	84 d2                	test   %dl,%dl
452a7e:	74 09                	je     0x452a89
452a80:	8b 45 fc             	mov    -0x4(%ebp),%eax
452a83:	03 b0 98 01 00 00    	add    0x198(%eax),%esi
452a89:	8b 45 fc             	mov    -0x4(%ebp),%eax
452a8c:	0f b6 80 94 01 00 00 	movzbl 0x194(%eax),%eax
452a93:	84 c0                	test   %al,%al
452a95:	74 09                	je     0x452aa0
452a97:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452a9a:	03 b1 98 01 00 00    	add    0x198(%ecx),%esi
452aa0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452aa3:	f6 81 92 01 00 00 01 	testb  $0x1,0x192(%ecx)
452aaa:	74 03                	je     0x452aaf
452aac:	29 75 d4             	sub    %esi,-0x2c(%ebp)
452aaf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452ab2:	f6 81 92 01 00 00 02 	testb  $0x2,0x192(%ecx)
452ab9:	74 03                	je     0x452abe
452abb:	29 75 d8             	sub    %esi,-0x28(%ebp)
452abe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452ac1:	f6 81 92 01 00 00 04 	testb  $0x4,0x192(%ecx)
452ac8:	74 03                	je     0x452acd
452aca:	01 75 dc             	add    %esi,-0x24(%ebp)
452acd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452ad0:	f6 81 92 01 00 00 08 	testb  $0x8,0x192(%ecx)
452ad7:	74 03                	je     0x452adc
452ad9:	01 75 e0             	add    %esi,-0x20(%ebp)
452adc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
452adf:	0f b6 89 92 01 00 00 	movzbl 0x192(%ecx),%ecx
452ae6:	8b 5d fc             	mov    -0x4(%ebp),%ebx