4577a7:	8b 45 08             	mov    0x8(%ebp),%eax
4577aa:	8b 40 c8             	mov    -0x38(%eax),%eax
4577ad:	8b 40 40             	mov    0x40(%eax),%eax
4577b0:	50                   	push   %eax
4577b1:	8b 45 08             	mov    0x8(%ebp),%eax
4577b4:	8b 40 c8             	mov    -0x38(%eax),%eax
4577b7:	8a 40 39             	mov    0x39(%eax),%al
4577ba:	50                   	push   %eax
4577bb:	8b 45 08             	mov    0x8(%ebp),%eax
4577be:	8b 48 f0             	mov    -0x10(%eax),%ecx
4577c1:	8b 45 08             	mov    0x8(%ebp),%eax
4577c4:	8b 50 d8             	mov    -0x28(%eax),%edx
4577c7:	8b 45 08             	mov    0x8(%ebp),%eax
4577ca:	8b 40 c0             	mov    -0x40(%eax),%eax
4577cd:	e8 6e cd ff ff       	call   0x454540
4577d2:	e9 0d 02 00 00       	jmp    0x4579e4
4577d7:	b2 01                	mov    $0x1,%dl
4577d9:	a1 98 2e 42 00       	mov    0x422e98,%eax
4577de:	e8 b9 16 fd ff       	call   0x428e9c
4577e3:	8b 55 08             	mov    0x8(%ebp),%edx
4577e6:	89 42 b4             	mov    %eax,-0x4c(%edx)
4577e9:	33 c0                	xor    %eax,%eax
4577eb:	55                   	push   %ebp
4577ec:	68 d3 78 45 00       	push   $0x4578d3
4577f1:	64 ff 30             	push   %fs:(%eax)
4577f4:	64 89 20             	mov    %esp,%fs:(%eax)
4577f7:	8b 45 08             	mov    0x8(%ebp),%eax
4577fa:	8b 40 b4             	mov    -0x4c(%eax),%eax
4577fd:	b2 01                	mov    $0x1,%dl
4577ff:	8b 08                	mov    (%eax),%ecx
457801:	ff 51 3c             	call   *0x3c(%ecx)
457804:	68 f8 7f 00 00       	push   $0x7ff8
457809:	6a 00                	push   $0x0
45780b:	e8 ec f1 fa ff       	call   0x4069fc
457810:	8b d0                	mov    %eax,%edx
457812:	8b 45 08             	mov    0x8(%ebp),%eax
457815:	8b 40 b4             	mov    -0x4c(%eax),%eax
457818:	e8 c7 27 fd ff       	call   0x429fe4
45781d:	8b 45 08             	mov    0x8(%ebp),%eax
457820:	8b 40 d8             	mov    -0x28(%eax),%eax
457823:	8b 40 0c             	mov    0xc(%eax),%eax
457826:	8b 40 18             	mov    0x18(%eax),%eax
457829:	8b 55 08             	mov    0x8(%ebp),%edx
45782c:	89 42 b8             	mov    %eax,-0x48(%edx)
45782f:	8b 45 08             	mov    0x8(%ebp),%eax
457832:	8b 40 d8             	mov    -0x28(%eax),%eax
457835:	8b 40 0c             	mov    0xc(%eax),%eax
457838:	ba 12 00 00 ff       	mov    $0xff000012,%edx
45783d:	e8 02 c6 fc ff       	call   0x423e44
457842:	8b 45 08             	mov    0x8(%ebp),%eax
457845:	8b 40 b4             	mov    -0x4c(%eax),%eax
457848:	50                   	push   %eax
457849:	8b 45 08             	mov    0x8(%ebp),%eax
45784c:	8b 40 b4             	mov    -0x4c(%eax),%eax
45784f:	8b 10                	mov    (%eax),%edx
457851:	ff 52 20             	call   *0x20(%edx)
457854:	8b 55 08             	mov    0x8(%ebp),%edx
457857:	8b 52 fc             	mov    -0x4(%edx),%edx
45785a:	8b 4d 08             	mov    0x8(%ebp),%ecx
45785d:	8b 71 f4             	mov    -0xc(%ecx),%esi
457860:	2b d6                	sub    %esi,%edx
457862:	2b d0                	sub    %eax,%edx
457864:	d1 fa                	sar    $1,%edx
457866:	79 03                	jns    0x45786b
457868:	83 d2 00             	adc    $0x0,%edx
45786b:	8b 45 08             	mov    0x8(%ebp),%eax
45786e:	03 d6                	add    %esi,%edx
457870:	42                   	inc    %edx
457871:	52                   	push   %edx
457872:	8b 45 08             	mov    0x8(%ebp),%eax
457875:	8b 40 b4             	mov    -0x4c(%eax),%eax
457878:	8b 10                	mov    (%eax),%edx
45787a:	ff 52 2c             	call   *0x2c(%edx)
45787d:	8b 55 08             	mov    0x8(%ebp),%edx
457880:	8b 52 f8             	mov    -0x8(%edx),%edx
457883:	8b 4d 08             	mov    0x8(%ebp),%ecx
457886:	8b 59 f0             	mov    -0x10(%ecx),%ebx
457889:	2b d3                	sub    %ebx,%edx
45788b:	2b d0                	sub    %eax,%edx
45788d:	d1 fa                	sar    $1,%edx
45788f:	79 03                	jns    0x457894
457891:	83 d2 00             	adc    $0x0,%edx
457894:	8b 45 08             	mov    0x8(%ebp),%eax
457897:	03 d3                	add    %ebx,%edx
457899:	42                   	inc    %edx
45789a:	8b 45 08             	mov    0x8(%ebp),%eax
45789d:	8b 40 d8             	mov    -0x28(%eax),%eax
4578a0:	59                   	pop    %ecx
4578a1:	e8 62 d0 fc ff       	call   0x424908
4578a6:	8b 45 08             	mov    0x8(%ebp),%eax
4578a9:	8b 50 b8             	mov    -0x48(%eax),%edx
4578ac:	8b 45 08             	mov    0x8(%ebp),%eax
4578af:	8b 40 d8             	mov    -0x28(%eax),%eax
4578b2:	8b 40 0c             	mov    0xc(%eax),%eax
4578b5:	e8 8a c5 fc ff       	call   0x423e44
4578ba:	33 c0                	xor    %eax,%eax
4578bc:	5a                   	pop    %edx
4578bd:	59                   	pop    %ecx
4578be:	59                   	pop    %ecx
4578bf:	64 89 10             	mov    %edx,%fs:(%eax)
4578c2:	68 e4 79 45 00       	push   $0x4579e4
4578c7:	8b 45 08             	mov    0x8(%ebp),%eax
4578ca:	8b 40 b4             	mov    -0x4c(%eax),%eax
4578cd:	e8 ee b9 fa ff       	call   0x4032c0
4578d2:	c3                   	ret
4578d3:	e9 7c c1 fa ff       	jmp    0x403a54
4578d8:	eb ed                	jmp    0x4578c7
4578da:	8b 45 08             	mov    0x8(%ebp),%eax
4578dd:	8b 55 08             	mov    0x8(%ebp),%edx
4578e0:	8d 70 f0             	lea    -0x10(%eax),%esi
4578e3:	8d 7a a4             	lea    -0x5c(%edx),%edi
4578e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4578e7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4578e8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4578e9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4578ea:	8b 45 08             	mov    0x8(%ebp),%eax
4578ed:	8b 40 c8             	mov    -0x38(%eax),%eax
4578f0:	8b 40 4c             	mov    0x4c(%eax),%eax
4578f3:	8b 10                	mov    (%eax),%edx
4578f5:	ff 52 2c             	call   *0x2c(%edx)
4578f8:	8b 55 08             	mov    0x8(%ebp),%edx
4578fb:	8b 52 f8             	mov    -0x8(%edx),%edx
4578fe:	8b 4d 08             	mov    0x8(%ebp),%ecx
457901:	2b 51 f0             	sub    -0x10(%ecx),%edx
457904:	3b c2                	cmp    %edx,%eax
457906:	7d 4a                	jge    0x457952
457908:	8b 45 08             	mov    0x8(%ebp),%eax
45790b:	8b 40 c8             	mov    -0x38(%eax),%eax
45790e:	8b 40 4c             	mov    0x4c(%eax),%eax
457911:	8b 10                	mov    (%eax),%edx
457913:	ff 52 2c             	call   *0x2c(%edx)
457916:	8b 55 08             	mov    0x8(%ebp),%edx
457919:	8b 52 f8             	mov    -0x8(%edx),%edx
45791c:	8b 4d 08             	mov    0x8(%ebp),%ecx
45791f:	2b 51 f0             	sub    -0x10(%ecx),%edx
457922:	2b d0                	sub    %eax,%edx
457924:	d1 fa                	sar    $1,%edx
457926:	79 03                	jns    0x45792b
457928:	83 d2 00             	adc    $0x0,%edx
45792b:	8b 45 08             	mov    0x8(%ebp),%eax
45792e:	03 50 f0             	add    -0x10(%eax),%edx
457931:	42                   	inc    %edx
457932:	8b 45 08             	mov    0x8(%ebp),%eax
457935:	89 50 f0             	mov    %edx,-0x10(%eax)
457938:	8b 45 08             	mov    0x8(%ebp),%eax
45793b:	8b 40 c8             	mov    -0x38(%eax),%eax
45793e:	8b 40 4c             	mov    0x4c(%eax),%eax
457941:	8b 10                	mov    (%eax),%edx
457943:	ff 52 2c             	call   *0x2c(%edx)
457946:	8b 55 08             	mov    0x8(%ebp),%edx
457949:	03 42 f0             	add    -0x10(%edx),%eax
45794c:	8b 55 08             	mov    0x8(%ebp),%edx
45794f:	89 42 f8             	mov    %eax,-0x8(%edx)
457952:	8b 45 08             	mov    0x8(%ebp),%eax
457955:	8b 40 c8             	mov    -0x38(%eax),%eax
457958:	8b 40 4c             	mov    0x4c(%eax),%eax
45795b:	8b 10                	mov    (%eax),%edx
45795d:	ff 52 20             	call   *0x20(%edx)
457960:	8b 55 08             	mov    0x8(%ebp),%edx
457963:	8b 52 fc             	mov    -0x4(%edx),%edx
457966:	8b 4d 08             	mov    0x8(%ebp),%ecx
457969:	2b 51 f4             	sub    -0xc(%ecx),%edx
45796c:	3b c2                	cmp    %edx,%eax
45796e:	7d 4a                	jge    0x4579ba
457970:	8b 45 08             	mov    0x8(%ebp),%eax
457973:	8b 40 c8             	mov    -0x38(%eax),%eax
457976:	8b 40 4c             	mov    0x4c(%eax),%eax
457979:	8b 10                	mov    (%eax),%edx
45797b:	ff 52 20             	call   *0x20(%edx)
45797e:	8b 55 08             	mov    0x8(%ebp),%edx
457981:	8b 52 fc             	mov    -0x4(%edx),%edx
457984:	8b 4d 08             	mov    0x8(%ebp),%ecx
457987:	2b 51 f4             	sub    -0xc(%ecx),%edx
45798a:	2b d0                	sub    %eax,%edx
45798c:	d1 fa                	sar    $1,%edx
45798e:	79 03                	jns    0x457993
457990:	83 d2 00             	adc    $0x0,%edx
457993:	8b 45 08             	mov    0x8(%ebp),%eax
457996:	03 50 f4             	add    -0xc(%eax),%edx
457999:	42                   	inc    %edx
45799a:	8b 45 08             	mov    0x8(%ebp),%eax
45799d:	89 50 f4             	mov    %edx,-0xc(%eax)
4579a0:	8b 45 08             	mov    0x8(%ebp),%eax
4579a3:	8b 40 c8             	mov    -0x38(%eax),%eax
4579a6:	8b 40 4c             	mov    0x4c(%eax),%eax
4579a9:	8b 10                	mov    (%eax),%edx
4579ab:	ff 52 20             	call   *0x20(%edx)
4579ae:	8b 55 08             	mov    0x8(%ebp),%edx
4579b1:	03 42 f4             	add    -0xc(%edx),%eax
4579b4:	8b 55 08             	mov    0x8(%ebp),%edx
4579b7:	89 42 fc             	mov    %eax,-0x4(%edx)
4579ba:	8b 45 08             	mov    0x8(%ebp),%eax
4579bd:	8b 40 c8             	mov    -0x38(%eax),%eax
4579c0:	8b 48 4c             	mov    0x4c(%eax),%ecx
4579c3:	8b 45 08             	mov    0x8(%ebp),%eax
4579c6:	8d 50 f0             	lea    -0x10(%eax),%edx
4579c9:	8b 45 08             	mov    0x8(%ebp),%eax
4579cc:	8b 40 d8             	mov    -0x28(%eax),%eax
4579cf:	e8 28 d1 fc ff       	call   0x424afc
4579d4:	8b 45 08             	mov    0x8(%ebp),%eax
4579d7:	8b 55 08             	mov    0x8(%ebp),%edx
4579da:	8d 70 a4             	lea    -0x5c(%eax),%esi
4579dd:	8d 7a f0             	lea    -0x10(%edx),%edi
4579e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4579e1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4579e2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4579e3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4579e4:	8b 45 08             	mov    0x8(%ebp),%eax
4579e7:	8b 40 c8             	mov    -0x38(%eax),%eax
4579ea:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
4579ee:	74 6b                	je     0x457a5b
4579f0:	8b 45 08             	mov    0x8(%ebp),%eax
4579f3:	ff 48 f8             	decl   -0x8(%eax)
4579f6:	8b 45 08             	mov    0x8(%ebp),%eax
4579f9:	ff 48 fc             	decl   -0x4(%eax)
4579fc:	eb 5d                	jmp    0x457a5b
4579fe:	8b 45 08             	mov    0x8(%ebp),%eax
457a01:	83 78 c0 00          	cmpl   $0x0,-0x40(%eax)
457a05:	74 35                	je     0x457a3c
457a07:	8b 45 08             	mov    0x8(%ebp),%eax
457a0a:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
457a0e:	75 2c                	jne    0x457a3c
457a10:	8b 45 08             	mov    0x8(%ebp),%eax
457a13:	8b 40 f0             	mov    -0x10(%eax),%eax
457a16:	8b 55 08             	mov    0x8(%ebp),%edx
457a19:	8b 52 c0             	mov    -0x40(%edx),%edx
457a1c:	03 42 34             	add    0x34(%edx),%eax
457a1f:	8b 55 08             	mov    0x8(%ebp),%edx
457a22:	89 42 f8             	mov    %eax,-0x8(%edx)
457a25:	8b 45 08             	mov    0x8(%ebp),%eax
457a28:	8b 40 f4             	mov    -0xc(%eax),%eax
457a2b:	8b 55 08             	mov    0x8(%ebp),%edx
457a2e:	8b 52 c0             	mov    -0x40(%edx),%edx
457a31:	03 42 30             	add    0x30(%edx),%eax
457a34:	8b 55 08             	mov    0x8(%ebp),%edx
457a37:	89 42 fc             	mov    %eax,-0x4(%edx)
457a3a:	eb 18                	jmp    0x457a54
457a3c:	8b 45 08             	mov    0x8(%ebp),%eax
457a3f:	8b 40 f0             	mov    -0x10(%eax),%eax
457a42:	8b 55 08             	mov    0x8(%ebp),%edx
457a45:	89 42 f8             	mov    %eax,-0x8(%edx)
457a48:	8b 45 08             	mov    0x8(%ebp),%eax
457a4b:	8b 40 f4             	mov    -0xc(%eax),%eax
457a4e:	8b 55 08             	mov    0x8(%ebp),%edx
457a51:	89 42 fc             	mov    %eax,-0x4(%edx)
457a54:	8b 45 08             	mov    0x8(%ebp),%eax
457a57:	c6 40 c7 00          	movb   $0x0,-0x39(%eax)
457a5b:	8b 45 08             	mov    0x8(%ebp),%eax
457a5e:	ff 48 f0             	decl   -0x10(%eax)
457a61:	8b 45 08             	mov    0x8(%ebp),%eax
457a64:	ff 48 f4             	decl   -0xc(%eax)
457a67:	8b 45 08             	mov    0x8(%ebp),%eax
457a6a:	83 40 f8 02          	addl   $0x2,-0x8(%eax)
457a6e:	8b 45 08             	mov    0x8(%ebp),%eax
457a71:	83 40 fc 02          	addl   $0x2,-0x4(%eax)
457a75:	8b 45 08             	mov    0x8(%ebp),%eax
457a78:	8b 40 c8             	mov    -0x38(%eax),%eax
457a7b:	80 78 38 00          	cmpb   $0x0,0x38(%eax)
457a7f:	75 12                	jne    0x457a93
457a81:	8b 45 08             	mov    0x8(%ebp),%eax
457a84:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
457a88:	74 3e                	je     0x457ac8
457a8a:	8b 45 08             	mov    0x8(%ebp),%eax
457a8d:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
457a91:	74 35                	je     0x457ac8
457a93:	8b 45 08             	mov    0x8(%ebp),%eax
457a96:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
457a9a:	75 2c                	jne    0x457ac8
457a9c:	6a 0f                	push   $0xf
457a9e:	8b 45 08             	mov    0x8(%ebp),%eax
457aa1:	8b 40 c8             	mov    -0x38(%eax),%eax
457aa4:	0f b6 40 38          	movzbl 0x38(%eax),%eax
457aa8:	8b 04 85 94 9d 46 00 	mov    0x469d94(,%eax,4),%eax
457aaf:	50                   	push   %eax
457ab0:	8b 45 08             	mov    0x8(%ebp),%eax
457ab3:	83 c0 f0             	add    $0xfffffff0,%eax
457ab6:	50                   	push   %eax
457ab7:	8b 45 08             	mov    0x8(%ebp),%eax
457aba:	8b 40 d8             	mov    -0x28(%eax),%eax
457abd:	e8 5a d2 fc ff       	call   0x424d1c
457ac2:	50                   	push   %eax
457ac3:	e8 c4 ec fa ff       	call   0x40678c
457ac8:	8b 45 08             	mov    0x8(%ebp),%eax
457acb:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
457acf:	74 4c                	je     0x457b1d
457ad1:	8b 45 08             	mov    0x8(%ebp),%eax
457ad4:	80 78 c7 00          	cmpb   $0x0,-0x39(%eax)
457ad8:	74 0d                	je     0x457ae7
457ada:	8b 45 08             	mov    0x8(%ebp),%eax
457add:	8b 40 f8             	mov    -0x8(%eax),%eax
457ae0:	40                   	inc    %eax
457ae1:	8b 55 08             	mov    0x8(%ebp),%edx
457ae4:	89 42 e0             	mov    %eax,-0x20(%edx)
457ae7:	8b 45 08             	mov    0x8(%ebp),%eax
457aea:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
457aee:	74 09                	je     0x457af9
457af0:	8b 45 08             	mov    0x8(%ebp),%eax
457af3:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
457af7:	75 13                	jne    0x457b0c
457af9:	8b 45 08             	mov    0x8(%ebp),%eax
457afc:	8b 40 d8             	mov    -0x28(%eax),%eax
457aff:	8b 40 14             	mov    0x14(%eax),%eax
457b02:	ba 0d 00 00 ff       	mov    $0xff00000d,%edx
457b07:	e8 04 cb fc ff       	call   0x424610
457b0c:	8b 45 08             	mov    0x8(%ebp),%eax
457b0f:	8d 50 e0             	lea    -0x20(%eax),%edx
457b12:	8b 45 08             	mov    0x8(%ebp),%eax
457b15:	8b 40 d8             	mov    -0x28(%eax),%eax
457b18:	e8 97 ce fc ff       	call   0x4249b4
457b1d:	8b 45 08             	mov    0x8(%ebp),%eax
457b20:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
457b24:	74 77                	je     0x457b9d
457b26:	8b 45 08             	mov    0x8(%ebp),%eax
457b29:	80 78 a3 00          	cmpb   $0x0,-0x5d(%eax)
457b2d:	74 6e                	je     0x457b9d
457b2f:	8b 45 08             	mov    0x8(%ebp),%eax
457b32:	80 78 df 00          	cmpb   $0x0,-0x21(%eax)
457b36:	75 65                	jne    0x457b9d
457b38:	8b 45 08             	mov    0x8(%ebp),%eax
457b3b:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
457b3f:	74 1e                	je     0x457b5f
457b41:	6a 0f                	push   $0xf
457b43:	6a 02                	push   $0x2
457b45:	8b 45 08             	mov    0x8(%ebp),%eax
457b48:	83 c0 e0             	add    $0xffffffe0,%eax
457b4b:	50                   	push   %eax
457b4c:	8b 45 08             	mov    0x8(%ebp),%eax
457b4f:	8b 40 d8             	mov    -0x28(%eax),%eax
457b52:	e8 c5 d1 fc ff       	call   0x424d1c
457b57:	50                   	push   %eax
457b58:	e8 2f ec fa ff       	call   0x40678c
457b5d:	eb 25                	jmp    0x457b84
457b5f:	8b 45 08             	mov    0x8(%ebp),%eax
457b62:	f6 40 0c 40          	testb  $0x40,0xc(%eax)
457b66:	74 1c                	je     0x457b84
457b68:	6a 0f                	push   $0xf
457b6a:	6a 04                	push   $0x4
457b6c:	8b 45 08             	mov    0x8(%ebp),%eax
457b6f:	83 c0 e0             	add    $0xffffffe0,%eax
457b72:	50                   	push   %eax
457b73:	8b 45 08             	mov    0x8(%ebp),%eax
457b76:	8b 40 d8             	mov    -0x28(%eax),%eax
457b79:	e8 9e d1 fc ff       	call   0x424d1c
457b7e:	50                   	push   %eax
457b7f:	e8 08 ec fa ff       	call   0x40678c
457b84:	8b 45 08             	mov    0x8(%ebp),%eax
457b87:	80 78 d7 00          	cmpb   $0x0,-0x29(%eax)
457b8b:	75 10                	jne    0x457b9d
457b8d:	6a ff                	push   $0xffffffff
457b8f:	6a 00                	push   $0x0