4028d0:	53                   	push   %ebx
4028d1:	e8 7a 37 00 00       	call   0x406050
4028d6:	8b 98 04 00 00 00    	mov    0x4(%eax),%ebx
4028dc:	e8 6f 37 00 00       	call   0x406050
4028e1:	33 d2                	xor    %edx,%edx
4028e3:	89 90 04 00 00 00    	mov    %edx,0x4(%eax)
4028e9:	8b c3                	mov    %ebx,%eax
4028eb:	5b                   	pop    %ebx
4028ec:	c3                   	ret
4028ed:	8d 40 00             	lea    0x0(%eax),%eax
4028f0:	56                   	push   %esi
4028f1:	57                   	push   %edi
4028f2:	89 c6                	mov    %eax,%esi
4028f4:	89 d7                	mov    %edx,%edi
4028f6:	89 c8                	mov    %ecx,%eax
4028f8:	39 f7                	cmp    %esi,%edi
4028fa:	77 13                	ja     0x40290f
4028fc:	74 2f                	je     0x40292d
4028fe:	c1 f9 02             	sar    $0x2,%ecx
402901:	78 2a                	js     0x40292d
402903:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
402905:	89 c1                	mov    %eax,%ecx
402907:	83 e1 03             	and    $0x3,%ecx
40290a:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40290c:	5f                   	pop    %edi
40290d:	5e                   	pop    %esi
40290e:	c3                   	ret
40290f:	8d 74 31 fc          	lea    -0x4(%ecx,%esi,1),%esi
402913:	8d 7c 39 fc          	lea    -0x4(%ecx,%edi,1),%edi
402917:	c1 f9 02             	sar    $0x2,%ecx
40291a:	78 11                	js     0x40292d
40291c:	fd                   	std
40291d:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40291f:	89 c1                	mov    %eax,%ecx
402921:	83 e1 03             	and    $0x3,%ecx
402924:	83 c6 03             	add    $0x3,%esi
402927:	83 c7 03             	add    $0x3,%edi
40292a:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
40292c:	fc                   	cld
40292d:	5f                   	pop    %edi
40292e:	5e                   	pop    %esi
40292f:	c3                   	ret
402930:	53                   	push   %ebx
402931:	56                   	push   %esi
402932:	57                   	push   %edi
402933:	55                   	push   %ebp
402934:	8b f2                	mov    %edx,%esi
402936:	8b d8                	mov    %eax,%ebx
402938:	eb 08                	jmp    0x402942
40293a:	53                   	push   %ebx
40293b:	e8 14 e9 ff ff       	call   0x401254
402940:	8b d8                	mov    %eax,%ebx
402942:	8a 03                	mov    (%ebx),%al
402944:	84 c0                	test   %al,%al
402946:	74 04                	je     0x40294c
402948:	3c 20                	cmp    $0x20,%al
40294a:	76 ee                	jbe    0x40293a
40294c:	80 3b 22             	cmpb   $0x22,(%ebx)
40294f:	75 0b                	jne    0x40295c
402951:	80 7b 01 22          	cmpb   $0x22,0x1(%ebx)
402955:	75 05                	jne    0x40295c
402957:	83 c3 02             	add    $0x2,%ebx
40295a:	eb e6                	jmp    0x402942
40295c:	33 ed                	xor    %ebp,%ebp
40295e:	8b fb                	mov    %ebx,%edi
402960:	eb 43                	jmp    0x4029a5
402962:	3c 22                	cmp    $0x22,%al
402964:	75 31                	jne    0x402997
402966:	53                   	push   %ebx
402967:	e8 e8 e8 ff ff       	call   0x401254
40296c:	8b d8                	mov    %eax,%ebx
40296e:	eb 0e                	jmp    0x40297e
402970:	53                   	push   %ebx
402971:	e8 de e8 ff ff       	call   0x401254
402976:	8b d0                	mov    %eax,%edx
402978:	2b d3                	sub    %ebx,%edx
40297a:	03 ea                	add    %edx,%ebp
40297c:	8b d8                	mov    %eax,%ebx
40297e:	8a 03                	mov    (%ebx),%al
402980:	84 c0                	test   %al,%al
402982:	74 04                	je     0x402988
402984:	3c 22                	cmp    $0x22,%al
402986:	75 e8                	jne    0x402970
402988:	80 3b 00             	cmpb   $0x0,(%ebx)
40298b:	74 18                	je     0x4029a5
40298d:	53                   	push   %ebx
40298e:	e8 c1 e8 ff ff       	call   0x401254
402993:	8b d8                	mov    %eax,%ebx
402995:	eb 0e                	jmp    0x4029a5
402997:	53                   	push   %ebx
402998:	e8 b7 e8 ff ff       	call   0x401254
40299d:	8b d0                	mov    %eax,%edx
40299f:	2b d3                	sub    %ebx,%edx
4029a1:	03 ea                	add    %edx,%ebp
4029a3:	8b d8                	mov    %eax,%ebx
4029a5:	8a 03                	mov    (%ebx),%al
4029a7:	3c 20                	cmp    $0x20,%al
4029a9:	77 b7                	ja     0x402962
4029ab:	8b c6                	mov    %esi,%eax
4029ad:	8b d5                	mov    %ebp,%edx
4029af:	e8 e8 1c 00 00       	call   0x40469c
4029b4:	8b df                	mov    %edi,%ebx
4029b6:	8b 3e                	mov    (%esi),%edi
4029b8:	33 f6                	xor    %esi,%esi
4029ba:	eb 51                	jmp    0x402a0d
4029bc:	3c 22                	cmp    $0x22,%al
4029be:	75 38                	jne    0x4029f8
4029c0:	53                   	push   %ebx
4029c1:	e8 8e e8 ff ff       	call   0x401254
4029c6:	8b d8                	mov    %eax,%ebx
4029c8:	eb 15                	jmp    0x4029df
4029ca:	53                   	push   %ebx
4029cb:	e8 84 e8 ff ff       	call   0x401254
4029d0:	3b c3                	cmp    %ebx,%eax
4029d2:	76 0b                	jbe    0x4029df
4029d4:	8a 13                	mov    (%ebx),%dl
4029d6:	88 14 37             	mov    %dl,(%edi,%esi,1)
4029d9:	43                   	inc    %ebx
4029da:	46                   	inc    %esi
4029db:	3b c3                	cmp    %ebx,%eax
4029dd:	77 f5                	ja     0x4029d4
4029df:	8a 03                	mov    (%ebx),%al
4029e1:	84 c0                	test   %al,%al
4029e3:	74 04                	je     0x4029e9
4029e5:	3c 22                	cmp    $0x22,%al
4029e7:	75 e1                	jne    0x4029ca
4029e9:	80 3b 00             	cmpb   $0x0,(%ebx)
4029ec:	74 1f                	je     0x402a0d
4029ee:	53                   	push   %ebx
4029ef:	e8 60 e8 ff ff       	call   0x401254
4029f4:	8b d8                	mov    %eax,%ebx
4029f6:	eb 15                	jmp    0x402a0d
4029f8:	53                   	push   %ebx
4029f9:	e8 56 e8 ff ff       	call   0x401254
4029fe:	3b c3                	cmp    %ebx,%eax
402a00:	76 0b                	jbe    0x402a0d
402a02:	8a 13                	mov    (%ebx),%dl
402a04:	88 14 37             	mov    %dl,(%edi,%esi,1)
402a07:	43                   	inc    %ebx
402a08:	46                   	inc    %esi
402a09:	3b c3                	cmp    %ebx,%eax
402a0b:	77 f5                	ja     0x402a02
402a0d:	8a 03                	mov    (%ebx),%al
402a0f:	3c 20                	cmp    $0x20,%al
402a11:	77 a9                	ja     0x4029bc
402a13:	8b c3                	mov    %ebx,%eax
402a15:	5d                   	pop    %ebp
402a16:	5f                   	pop    %edi
402a17:	5e                   	pop    %esi
402a18:	5b                   	pop    %ebx
402a19:	c3                   	ret
402a1a:	8b c0                	mov    %eax,%eax
402a1c:	53                   	push   %ebx
402a1d:	56                   	push   %esi
402a1e:	57                   	push   %edi
402a1f:	81 c4 f8 fe ff ff    	add    $0xfffffef8,%esp
402a25:	8b da                	mov    %edx,%ebx
402a27:	8b f0                	mov    %eax,%esi
402a29:	8b c3                	mov    %ebx,%eax
402a2b:	e8 20 16 00 00       	call   0x404050
402a30:	85 f6                	test   %esi,%esi
402a32:	75 1e                	jne    0x402a52
402a34:	68 05 01 00 00       	push   $0x105
402a39:	8d 44 24 04          	lea    0x4(%esp),%eax
402a3d:	50                   	push   %eax
402a3e:	6a 00                	push   $0x0
402a40:	e8 4f e8 ff ff       	call   0x401294
402a45:	8b c8                	mov    %eax,%ecx
402a47:	8b d4                	mov    %esp,%edx
402a49:	8b c3                	mov    %ebx,%eax
402a4b:	e8 f0 16 00 00       	call   0x404140
402a50:	eb 1e                	jmp    0x402a70
402a52:	e8 2d e8 ff ff       	call   0x401284
402a57:	8b f8                	mov    %eax,%edi
402a59:	8b d3                	mov    %ebx,%edx
402a5b:	8b c7                	mov    %edi,%eax
402a5d:	e8 ce fe ff ff       	call   0x402930
402a62:	8b f8                	mov    %eax,%edi
402a64:	85 f6                	test   %esi,%esi
402a66:	74 08                	je     0x402a70
402a68:	83 3b 00             	cmpl   $0x0,(%ebx)
402a6b:	74 03                	je     0x402a70
402a6d:	4e                   	dec    %esi
402a6e:	eb e9                	jmp    0x402a59
402a70:	81 c4 08 01 00 00    	add    $0x108,%esp
402a76:	5f                   	pop    %edi
402a77:	5e                   	pop    %esi
402a78:	5b                   	pop    %ebx
402a79:	c3                   	ret
402a7a:	8b c0                	mov    %eax,%eax
402a7c:	3c 61                	cmp    $0x61,%al
402a7e:	72 06                	jb     0x402a86
402a80:	3c 7a                	cmp    $0x7a,%al
402a82:	77 02                	ja     0x402a86
402a84:	2c 20                	sub    $0x20,%al
402a86:	c3                   	ret
402a87:	90                   	nop
402a88:	66 a3 20 90 46 00    	mov    %ax,0x469020
402a8e:	db e2                	fnclex
402a90:	d9 2d 20 90 46 00    	fldcw  0x469020
402a96:	c3                   	ret
402a97:	90                   	nop
402a98:	6a 00                	push   $0x0
402a9a:	d9 3c 24             	fnstcw (%esp)
402a9d:	58                   	pop    %eax
402a9e:	c3                   	ret
402a9f:	90                   	nop
402aa0:	d9 c0                	fld    %st(0)
402aa2:	83 ec 04             	sub    $0x4,%esp
402aa5:	d9 3c 24             	fnstcw (%esp)
402aa8:	d9 7c 24 02          	fnstcw 0x2(%esp)
402aac:	9b                   	fwait
402aad:	66 81 4c 24 02 00 0f 	orw    $0xf00,0x2(%esp)
402ab4:	d9 6c 24 02          	fldcw  0x2(%esp)
402ab8:	d9 fc                	frndint
402aba:	9b d9 2c 24          	fldcw  (%esp)
402abe:	83 c4 04             	add    $0x4,%esp
402ac1:	de e9                	fsubrp %st,%st(1)
402ac3:	c3                   	ret
402ac4:	83 ec 08             	sub    $0x8,%esp
402ac7:	df 3c 24             	fistpll (%esp)
402aca:	9b                   	fwait
402acb:	58                   	pop    %eax
402acc:	5a                   	pop    %edx
402acd:	c3                   	ret
402ace:	8b c0                	mov    %eax,%eax
402ad0:	83 ec 0c             	sub    $0xc,%esp
402ad3:	d9 3c 24             	fnstcw (%esp)
402ad6:	d9 7c 24 02          	fnstcw 0x2(%esp)
402ada:	9b                   	fwait
402adb:	66 81 4c 24 02 00 0f 	orw    $0xf00,0x2(%esp)
402ae2:	d9 6c 24 02          	fldcw  0x2(%esp)
402ae6:	df 7c 24 04          	fistpll 0x4(%esp)
402aea:	9b d9 2c 24          	fldcw  (%esp)
402aee:	59                   	pop    %ecx
402aef:	58                   	pop    %eax
402af0:	5a                   	pop    %edx
402af1:	c3                   	ret
402af2:	8b c0                	mov    %eax,%eax
402af4:	83 3d 28 50 47 00 00 	cmpl   $0x0,0x475028
402afb:	74 06                	je     0x402b03
402afd:	ff 15 28 50 47 00    	call   *0x475028
402b03:	b8 d2 00 00 00       	mov    $0xd2,%eax
402b08:	e9 37 15 00 00       	jmp    0x404044
402b0d:	c3                   	ret
402b0e:	8b c0                	mov    %eax,%eax
402b10:	53                   	push   %ebx
402b11:	66 8b 48 04          	mov    0x4(%eax),%cx
402b15:	66 81 e9 b1 d7       	sub    $0xd7b1,%cx
402b1a:	74 0f                	je     0x402b2b
402b1c:	49                   	dec    %ecx
402b1d:	66 83 e9 02          	sub    $0x2,%cx
402b21:	73 0c                	jae    0x402b2f
402b23:	8b da                	mov    %edx,%ebx
402b25:	ff d3                	call   *%ebx
402b27:	8b d8                	mov    %eax,%ebx
402b29:	eb 1b                	jmp    0x402b46
402b2b:	33 db                	xor    %ebx,%ebx
402b2d:	eb 17                	jmp    0x402b46
402b2f:	3d 18 52 47 00       	cmp    $0x475218,%eax
402b34:	74 07                	je     0x402b3d
402b36:	3d e4 53 47 00       	cmp    $0x4753e4,%eax
402b3b:	75 04                	jne    0x402b41
402b3d:	33 db                	xor    %ebx,%ebx
402b3f:	eb 05                	jmp    0x402b46
402b41:	bb 67 00 00 00       	mov    $0x67,%ebx
402b46:	85 db                	test   %ebx,%ebx
402b48:	74 07                	je     0x402b51
402b4a:	8b c3                	mov    %ebx,%eax
402b4c:	e8 2b fd ff ff       	call   0x40287c
402b51:	8b c3                	mov    %ebx,%eax
402b53:	5b                   	pop    %ebx
402b54:	c3                   	ret
402b55:	8d 40 00             	lea    0x0(%eax),%eax
402b58:	8b 50 1c             	mov    0x1c(%eax),%edx
402b5b:	e8 b0 ff ff ff       	call   0x402b10
402b60:	c3                   	ret
402b61:	8d 40 00             	lea    0x0(%eax),%eax
402b64:	53                   	push   %ebx
402b65:	56                   	push   %esi
402b66:	8b d8                	mov    %eax,%ebx
402b68:	33 f6                	xor    %esi,%esi
402b6a:	66 8b 43 04          	mov    0x4(%ebx),%ax
402b6e:	66 3d b1 d7          	cmp    $0xd7b1,%ax
402b72:	72 2f                	jb     0x402ba3
402b74:	66 3d b3 d7          	cmp    $0xd7b3,%ax
402b78:	77 29                	ja     0x402ba3
402b7a:	66 25 b2 d7          	and    $0xd7b2,%ax
402b7e:	66 3d b2 d7          	cmp    $0xd7b2,%ax
402b82:	75 07                	jne    0x402b8b
402b84:	8b c3                	mov    %ebx,%eax
402b86:	ff 53 1c             	call   *0x1c(%ebx)
402b89:	8b f0                	mov    %eax,%esi
402b8b:	85 f6                	test   %esi,%esi
402b8d:	75 07                	jne    0x402b96
402b8f:	8b c3                	mov    %ebx,%eax
402b91:	ff 53 24             	call   *0x24(%ebx)
402b94:	8b f0                	mov    %eax,%esi
402b96:	85 f6                	test   %esi,%esi
402b98:	74 1b                	je     0x402bb5
402b9a:	8b c6                	mov    %esi,%eax
402b9c:	e8 db fc ff ff       	call   0x40287c
402ba1:	eb 12                	jmp    0x402bb5
402ba3:	81 fb 4c 50 47 00    	cmp    $0x47504c,%ebx
402ba9:	74 0a                	je     0x402bb5
402bab:	b8 67 00 00 00       	mov    $0x67,%eax
402bb0:	e8 c7 fc ff ff       	call   0x40287c
402bb5:	8b c6                	mov    %esi,%eax
402bb7:	5e                   	pop    %esi
402bb8:	5b                   	pop    %ebx
402bb9:	c3                   	ret
402bba:	8b c0                	mov    %eax,%eax
402bbc:	53                   	push   %ebx
402bbd:	8a 1a                	mov    (%edx),%bl
402bbf:	3a cb                	cmp    %bl,%cl
402bc1:	76 02                	jbe    0x402bc5
402bc3:	8b cb                	mov    %ebx,%ecx
402bc5:	88 08                	mov    %cl,(%eax)
402bc7:	42                   	inc    %edx
402bc8:	40                   	inc    %eax
402bc9:	81 e1 ff 00 00 00    	and    $0xff,%ecx
402bcf:	92                   	xchg   %eax,%edx
402bd0:	e8 1b fd ff ff       	call   0x4028f0
402bd5:	5b                   	pop    %ebx
402bd6:	c3                   	ret
402bd7:	90                   	nop
402bd8:	53                   	push   %ebx
402bd9:	56                   	push   %esi
402bda:	57                   	push   %edi
402bdb:	89 c6                	mov    %eax,%esi
402bdd:	89 d7                	mov    %edx,%edi
402bdf:	31 c0                	xor    %eax,%eax
402be1:	31 d2                	xor    %edx,%edx
402be3:	8a 06                	mov    (%esi),%al
402be5:	8a 17                	mov    (%edi),%dl
402be7:	46                   	inc    %esi
402be8:	47                   	inc    %edi
402be9:	29 d0                	sub    %edx,%eax
402beb:	77 02                	ja     0x402bef
402bed:	01 c2                	add    %eax,%edx
402bef:	52                   	push   %edx
402bf0:	c1 ea 02             	shr    $0x2,%edx
402bf3:	74 26                	je     0x402c1b
402bf5:	8b 0e                	mov    (%esi),%ecx
402bf7:	8b 1f                	mov    (%edi),%ebx
402bf9:	39 d9                	cmp    %ebx,%ecx
402bfb:	75 44                	jne    0x402c41
402bfd:	4a                   	dec    %edx
402bfe:	74 15                	je     0x402c15
402c00:	8b 4e 04             	mov    0x4(%esi),%ecx