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
452ae9:	0f b6 9b 95 01 00 00 	movzbl 0x195(%ebx),%ebx
452af0:	0b 0c 9d 1c c7 49 00 	or     0x49c71c(,%ebx,4),%ecx
452af7:	8b 5d fc             	mov    -0x4(%ebp),%ebx
452afa:	0f b6 9b d9 01 00 00 	movzbl 0x1d9(%ebx),%ebx
452b01:	0b 0c 9d 2c c7 49 00 	or     0x49c72c(,%ebx,4),%ecx
452b08:	81 c9 00 20 00 00    	or     $0x2000,%ecx
452b0e:	51                   	push   %ecx
452b0f:	83 e2 7f             	and    $0x7f,%edx
452b12:	8b 14 95 fc c6 49 00 	mov    0x49c6fc(,%edx,4),%edx
452b19:	83 e0 7f             	and    $0x7f,%eax
452b1c:	0b 14 85 0c c7 49 00 	or     0x49c70c(,%eax,4),%edx
452b23:	52                   	push   %edx
452b24:	8d 45 d4             	lea    -0x2c(%ebp),%eax
452b27:	50                   	push   %eax
452b28:	8b 45 f4             	mov    -0xc(%ebp),%eax
452b2b:	50                   	push   %eax
452b2c:	e8 6f 43 fb ff       	call   0x406ea0
452b31:	8b 45 e0             	mov    -0x20(%ebp),%eax
452b34:	50                   	push   %eax
452b35:	8b 45 dc             	mov    -0x24(%ebp),%eax
452b38:	50                   	push   %eax
452b39:	8b 45 d8             	mov    -0x28(%ebp),%eax
452b3c:	50                   	push   %eax
452b3d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
452b40:	50                   	push   %eax
452b41:	8b 45 f4             	mov    -0xc(%ebp),%eax
452b44:	50                   	push   %eax
452b45:	e8 96 41 fb ff       	call   0x406ce0
452b4a:	8d 75 c4             	lea    -0x3c(%ebp),%esi
452b4d:	8d 7d d4             	lea    -0x2c(%ebp),%edi
452b50:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452b51:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452b52:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452b53:	a5                   	movsl  %ds:(%esi),%es:(%edi)
452b54:	8b 45 f8             	mov    -0x8(%ebp),%eax
452b57:	8b 40 04             	mov    0x4(%eax),%eax
452b5a:	83 f8 01             	cmp    $0x1,%eax
452b5d:	75 17                	jne    0x452b76
452b5f:	8b 45 d8             	mov    -0x28(%ebp),%eax
452b62:	f7 d8                	neg    %eax
452b64:	50                   	push   %eax
452b65:	8b 45 d4             	mov    -0x2c(%ebp),%eax
452b68:	f7 d8                	neg    %eax
452b6a:	50                   	push   %eax
452b6b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
452b6e:	50                   	push   %eax
452b6f:	e8 34 46 fb ff       	call   0x4071a8
452b74:	eb 49                	jmp    0x452bbf
452b76:	8d 55 e4             	lea    -0x1c(%ebp),%edx
452b79:	52                   	push   %edx
452b7a:	8b 55 f8             	mov    -0x8(%ebp),%edx
452b7d:	50                   	push   %eax
452b7e:	e8 1d 41 fb ff       	call   0x406ca0
452b83:	6a 02                	push   $0x2
452b85:	8d 45 e4             	lea    -0x1c(%ebp),%eax
452b88:	50                   	push   %eax
452b89:	8b 45 fc             	mov    -0x4(%ebp),%eax
452b8c:	e8 1b ee ff ff       	call   0x4519ac
452b91:	50                   	push   %eax
452b92:	6a 00                	push   $0x0
452b94:	e8 ef 45 fb ff       	call   0x407188
452b99:	8d 45 e4             	lea    -0x1c(%ebp),%eax
452b9c:	50                   	push   %eax
452b9d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
452ba0:	50                   	push   %eax
452ba1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
452ba4:	50                   	push   %eax
452ba5:	e8 46 45 fb ff       	call   0x4070f0
452baa:	8b 45 c8             	mov    -0x38(%ebp),%eax
452bad:	f7 d8                	neg    %eax
452baf:	50                   	push   %eax
452bb0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
452bb3:	f7 d8                	neg    %eax
452bb5:	50                   	push   %eax
452bb6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
452bb9:	50                   	push   %eax
452bba:	e8 e9 45 fb ff       	call   0x4071a8
452bbf:	8b 45 fc             	mov    -0x4(%ebp),%eax
452bc2:	8b 80 a4 01 00 00    	mov    0x1a4(%eax),%eax
452bc8:	e8 57 1d fd ff       	call   0x424924
452bcd:	50                   	push   %eax
452bce:	8d 45 d4             	lea    -0x2c(%ebp),%eax
452bd1:	50                   	push   %eax
452bd2:	8b 45 f4             	mov    -0xc(%ebp),%eax
452bd5:	50                   	push   %eax
452bd6:	e8 4d 43 fb ff       	call   0x406f28
452bdb:	33 c0                	xor    %eax,%eax
452bdd:	5a                   	pop    %edx
452bde:	59                   	pop    %ecx
452bdf:	59                   	pop    %ecx
452be0:	64 89 10             	mov    %edx,%fs:(%eax)
452be3:	68 02 2c 45 00       	push   $0x452c02
452be8:	8b 45 f4             	mov    -0xc(%ebp),%eax
452beb:	50                   	push   %eax
452bec:	8b 45 fc             	mov    -0x4(%ebp),%eax
452bef:	e8 b8 ed ff ff       	call   0x4519ac
452bf4:	50                   	push   %eax
452bf5:	e8 0e 46 fb ff       	call   0x407208
452bfa:	c3                   	ret
452bfb:	e9 b0 14 fb ff       	jmp    0x4040b0
452c00:	eb e6                	jmp    0x452be8
452c02:	8b 55 f8             	mov    -0x8(%ebp),%edx
452c05:	8b 45 fc             	mov    -0x4(%ebp),%eax
452c08:	8b 08                	mov    (%eax),%ecx
452c0a:	ff 51 f0             	call   *-0x10(%ecx)
452c0d:	e8 7e 9c fe ff       	call   0x43c890
452c12:	e8 81 9d fe ff       	call   0x43c998
452c17:	84 c0                	test   %al,%al
452c19:	74 18                	je     0x452c33
452c1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
452c1e:	f6 40 52 02          	testb  $0x2,0x52(%eax)
452c22:	74 0f                	je     0x452c33
452c24:	e8 67 9c fe ff       	call   0x43c890
452c29:	33 c9                	xor    %ecx,%ecx
452c2b:	8b 55 fc             	mov    -0x4(%ebp),%edx
452c2e:	e8 31 a3 fe ff       	call   0x43cf64
452c33:	5f                   	pop    %edi
452c34:	5e                   	pop    %esi
452c35:	5b                   	pop    %ebx
452c36:	8b e5                	mov    %ebp,%esp
452c38:	5d                   	pop    %ebp
452c39:	c3                   	ret
452c3a:	8b c0                	mov    %eax,%eax
452c3c:	53                   	push   %ebx
452c3d:	56                   	push   %esi
452c3e:	57                   	push   %edi
452c3f:	83 c4 ec             	add    $0xffffffec,%esp
452c42:	8b da                	mov    %edx,%ebx
452c44:	8b f0                	mov    %eax,%esi
452c46:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
452c4a:	75 61                	jne    0x452cad
452c4c:	8b 43 08             	mov    0x8(%ebx),%eax
452c4f:	89 04 24             	mov    %eax,(%esp)
452c52:	0f bf 04 24          	movswl (%esp),%eax
452c56:	89 44 24 04          	mov    %eax,0x4(%esp)
452c5a:	0f bf 44 24 02       	movswl 0x2(%esp),%eax
452c5f:	89 44 24 08          	mov    %eax,0x8(%esp)
452c63:	6a 00                	push   $0x0
452c65:	6a 00                	push   $0x0
452c67:	8d 4c 24 14          	lea    0x14(%esp),%ecx
452c6b:	8d 54 24 0c          	lea    0xc(%esp),%edx
452c6f:	8b c6                	mov    %esi,%eax
452c71:	e8 2e 6d ff ff       	call   0x4499a4
452c76:	8d 54 24 14          	lea    0x14(%esp),%edx
452c7a:	33 c9                	xor    %ecx,%ecx
452c7c:	8b c6                	mov    %esi,%eax
452c7e:	e8 29 be ff ff       	call   0x44eaac
452c83:	8b f8                	mov    %eax,%edi
452c85:	85 ff                	test   %edi,%edi
452c87:	74 15                	je     0x452c9e
452c89:	8b 43 08             	mov    0x8(%ebx),%eax
452c8c:	50                   	push   %eax
452c8d:	33 c9                	xor    %ecx,%ecx
452c8f:	ba 7b 00 00 00       	mov    $0x7b,%edx
452c94:	8b c7                	mov    %edi,%eax
452c96:	e8 91 84 ff ff       	call   0x44b12c
452c9b:	89 43 0c             	mov    %eax,0xc(%ebx)
452c9e:	83 7b 0c 00          	cmpl   $0x0,0xc(%ebx)
452ca2:	75 09                	jne    0x452cad
452ca4:	8b d3                	mov    %ebx,%edx
452ca6:	8b c6                	mov    %esi,%eax
452ca8:	e8 a7 9b ff ff       	call   0x44c854
452cad:	83 c4 14             	add    $0x14,%esp
452cb0:	5f                   	pop    %edi
452cb1:	5e                   	pop    %esi
452cb2:	5b                   	pop    %ebx
452cb3:	c3                   	ret
452cb4:	53                   	push   %ebx
452cb5:	8b da                	mov    %edx,%ebx
452cb7:	b2 01                	mov    $0x1,%dl
452cb9:	e8 02 9a 00 00       	call   0x45c6c0
452cbe:	85 c0                	test   %eax,%eax
452cc0:	74 39                	je     0x452cfb
452cc2:	66 83 eb 09          	sub    $0x9,%bx
452cc6:	74 0f                	je     0x452cd7