59aa37:	88 4f 02             	mov    %cl,0x2(%edi)
59aa3a:	eb 18                	jmp    0x59aa54
59aa3c:	8b 45 f4             	mov    -0xc(%ebp),%eax
59aa3f:	8b 00                	mov    (%eax),%eax
59aa41:	66 8b 90 18 01 00 00 	mov    0x118(%eax),%dx
59aa48:	66 89 17             	mov    %dx,(%edi)
59aa4b:	8a 90 1a 01 00 00    	mov    0x11a(%eax),%dl
59aa51:	88 57 02             	mov    %dl,0x2(%edi)
59aa54:	83 c7 03             	add    $0x3,%edi
59aa57:	ff 45 c4             	incl   -0x3c(%ebp)
59aa5a:	46                   	inc    %esi
59aa5b:	4b                   	dec    %ebx
59aa5c:	0f 85 2f ff ff ff    	jne    0x59a991
59aa62:	8b 45 b4             	mov    -0x4c(%ebp),%eax
59aa65:	01 45 bc             	add    %eax,-0x44(%ebp)
59aa68:	ff 4d d8             	decl   -0x28(%ebp)
59aa6b:	83 7d d8 ff          	cmpl   $0xffffffff,-0x28(%ebp)
59aa6f:	0f 85 ef fe ff ff    	jne    0x59a964
59aa75:	e9 02 01 00 00       	jmp    0x59ab7c
59aa7a:	8b 45 a0             	mov    -0x60(%ebp),%eax
59aa7d:	83 f8 00             	cmp    $0x0,%eax
59aa80:	0f 8c f6 00 00 00    	jl     0x59ab7c
59aa86:	89 45 d8             	mov    %eax,-0x28(%ebp)
59aa89:	8b 55 d8             	mov    -0x28(%ebp),%edx
59aa8c:	8b 45 f8             	mov    -0x8(%ebp),%eax
59aa8f:	8b 08                	mov    (%eax),%ecx
59aa91:	ff 11                	call   *(%ecx)
59aa93:	8b f8                	mov    %eax,%edi
59aa95:	8b 45 c8             	mov    -0x38(%ebp),%eax
59aa98:	89 45 c4             	mov    %eax,-0x3c(%ebp)
59aa9b:	8b 45 a0             	mov    -0x60(%ebp),%eax
59aa9e:	2b 45 d8             	sub    -0x28(%ebp),%eax
59aaa1:	f7 6d d4             	imull  -0x2c(%ebp)
59aaa4:	01 45 c4             	add    %eax,-0x3c(%ebp)
59aaa7:	8b 5d d0             	mov    -0x30(%ebp),%ebx
59aaaa:	4b                   	dec    %ebx
59aaab:	85 db                	test   %ebx,%ebx
59aaad:	0f 8c b6 00 00 00    	jl     0x59ab69
59aab3:	43                   	inc    %ebx
59aab4:	33 f6                	xor    %esi,%esi
59aab6:	8b d6                	mov    %esi,%edx
59aab8:	03 d2                	add    %edx,%edx
59aaba:	8b 45 bc             	mov    -0x44(%ebp),%eax
59aabd:	e8 3e 50 01 00       	call   0x5afb00
59aac2:	85 c0                	test   %eax,%eax
59aac4:	75 27                	jne    0x59aaed
59aac6:	8b 45 c4             	mov    -0x3c(%ebp),%eax
59aac9:	0f b6 00             	movzbl (%eax),%eax
59aacc:	c1 e8 04             	shr    $0x4,%eax
59aacf:	8d 04 40             	lea    (%eax,%eax,2),%eax
59aad2:	8b 55 f4             	mov    -0xc(%ebp),%edx
59aad5:	8b 12                	mov    (%edx),%edx
59aad7:	8b 92 a8 03 00 00    	mov    0x3a8(%edx),%edx
59aadd:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
59aae1:	66 89 0f             	mov    %cx,(%edi)
59aae4:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
59aae8:	88 4f 02             	mov    %cl,0x2(%edi)
59aaeb:	eb 18                	jmp    0x59ab05
59aaed:	8b 45 f4             	mov    -0xc(%ebp),%eax
59aaf0:	8b 00                	mov    (%eax),%eax
59aaf2:	66 8b 90 18 01 00 00 	mov    0x118(%eax),%dx
59aaf9:	66 89 17             	mov    %dx,(%edi)
59aafc:	8a 90 1a 01 00 00    	mov    0x11a(%eax),%dl
59ab02:	88 57 02             	mov    %dl,0x2(%edi)
59ab05:	83 c7 03             	add    $0x3,%edi
59ab08:	8b d6                	mov    %esi,%edx
59ab0a:	03 d2                	add    %edx,%edx
59ab0c:	42                   	inc    %edx
59ab0d:	8b 45 bc             	mov    -0x44(%ebp),%eax
59ab10:	e8 eb 4f 01 00       	call   0x5afb00
59ab15:	85 c0                	test   %eax,%eax
59ab17:	75 2a                	jne    0x59ab43
59ab19:	8b 45 c4             	mov    -0x3c(%ebp),%eax
59ab1c:	8a 00                	mov    (%eax),%al
59ab1e:	24 0f                	and    $0xf,%al
59ab20:	25 ff 00 00 00       	and    $0xff,%eax
59ab25:	8d 04 40             	lea    (%eax,%eax,2),%eax
59ab28:	8b 55 f4             	mov    -0xc(%ebp),%edx
59ab2b:	8b 12                	mov    (%edx),%edx
59ab2d:	8b 92 a8 03 00 00    	mov    0x3a8(%edx),%edx
59ab33:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
59ab37:	66 89 0f             	mov    %cx,(%edi)
59ab3a:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
59ab3e:	88 4f 02             	mov    %cl,0x2(%edi)
59ab41:	eb 18                	jmp    0x59ab5b
59ab43:	8b 45 f4             	mov    -0xc(%ebp),%eax
59ab46:	8b 00                	mov    (%eax),%eax
59ab48:	66 8b 90 18 01 00 00 	mov    0x118(%eax),%dx
59ab4f:	66 89 17             	mov    %dx,(%edi)
59ab52:	8a 90 1a 01 00 00    	mov    0x11a(%eax),%dl
59ab58:	88 57 02             	mov    %dl,0x2(%edi)
59ab5b:	83 c7 03             	add    $0x3,%edi
59ab5e:	ff 45 c4             	incl   -0x3c(%ebp)
59ab61:	46                   	inc    %esi
59ab62:	4b                   	dec    %ebx
59ab63:	0f 85 4d ff ff ff    	jne    0x59aab6
59ab69:	8b 45 b4             	mov    -0x4c(%ebp),%eax
59ab6c:	01 45 bc             	add    %eax,-0x44(%ebp)
59ab6f:	ff 4d d8             	decl   -0x28(%ebp)
59ab72:	83 7d d8 ff          	cmpl   $0xffffffff,-0x28(%ebp)
59ab76:	0f 85 0d ff ff ff    	jne    0x59aa89
59ab7c:	8b 45 c8             	mov    -0x38(%ebp),%eax
59ab7f:	e8 48 7c e6 ff       	call   0x4027cc
59ab84:	e9 d3 01 00 00       	jmp    0x59ad5c
59ab89:	8b 45 f8             	mov    -0x8(%ebp),%eax
59ab8c:	8b 10                	mov    (%eax),%edx
59ab8e:	ff 52 08             	call   *0x8(%edx)
59ab91:	f7 6d d4             	imull  -0x2c(%ebp)
59ab94:	e8 13 7c e6 ff       	call   0x4027ac
59ab99:	89 45 c8             	mov    %eax,-0x38(%ebp)
59ab9c:	8b 45 f8             	mov    -0x8(%ebp),%eax
59ab9f:	8b 10                	mov    (%eax),%edx
59aba1:	ff 52 08             	call   *0x8(%edx)
59aba4:	8b c8                	mov    %eax,%ecx
59aba6:	0f af 4d d4          	imul   -0x2c(%ebp),%ecx
59abaa:	8b 55 c8             	mov    -0x38(%ebp),%edx
59abad:	8b 45 fc             	mov    -0x4(%ebp),%eax
59abb0:	8b 30                	mov    (%eax),%esi
59abb2:	ff 56 08             	call   *0x8(%esi)
59abb5:	8b 45 f8             	mov    -0x8(%ebp),%eax
59abb8:	8b 10                	mov    (%eax),%edx
59abba:	ff 52 08             	call   *0x8(%edx)
59abbd:	8b c8                	mov    %eax,%ecx
59abbf:	0f af 4d b4          	imul   -0x4c(%ebp),%ecx
59abc3:	8b 55 b8             	mov    -0x48(%ebp),%edx
59abc6:	8b 45 fc             	mov    -0x4(%ebp),%eax
59abc9:	8b 30                	mov    (%eax),%esi
59abcb:	ff 56 08             	call   *0x8(%esi)
59abce:	8b 45 f8             	mov    -0x8(%ebp),%eax
59abd1:	8b 10                	mov    (%eax),%edx
59abd3:	ff 52 08             	call   *0x8(%edx)
59abd6:	48                   	dec    %eax
59abd7:	89 45 a0             	mov    %eax,-0x60(%ebp)
59abda:	8b 45 f8             	mov    -0x8(%ebp),%eax
59abdd:	8b 10                	mov    (%eax),%edx
59abdf:	ff 52 0c             	call   *0xc(%edx)
59abe2:	48                   	dec    %eax
59abe3:	89 45 a4             	mov    %eax,-0x5c(%ebp)
59abe6:	84 db                	test   %bl,%bl
59abe8:	0f 84 c8 00 00 00    	je     0x59acb6
59abee:	8b 45 a0             	mov    -0x60(%ebp),%eax
59abf1:	83 f8 00             	cmp    $0x0,%eax
59abf4:	0f 8c 5a 01 00 00    	jl     0x59ad54
59abfa:	89 45 d8             	mov    %eax,-0x28(%ebp)
59abfd:	8b 55 d8             	mov    -0x28(%ebp),%edx
59ac00:	8b 45 f8             	mov    -0x8(%ebp),%eax
59ac03:	8b 08                	mov    (%eax),%ecx
59ac05:	ff 11                	call   *(%ecx)
59ac07:	8b f8                	mov    %eax,%edi
59ac09:	8b 45 c8             	mov    -0x38(%ebp),%eax
59ac0c:	89 45 c4             	mov    %eax,-0x3c(%ebp)
59ac0f:	8b 45 f8             	mov    -0x8(%ebp),%eax
59ac12:	8b 10                	mov    (%eax),%edx
59ac14:	ff 52 08             	call   *0x8(%edx)
59ac17:	48                   	dec    %eax
59ac18:	2b 45 d8             	sub    -0x28(%ebp),%eax
59ac1b:	f7 6d d4             	imull  -0x2c(%ebp)
59ac1e:	01 45 c4             	add    %eax,-0x3c(%ebp)
59ac21:	8b 5d a4             	mov    -0x5c(%ebp),%ebx
59ac24:	85 db                	test   %ebx,%ebx
59ac26:	7c 76                	jl     0x59ac9e
59ac28:	43                   	inc    %ebx
59ac29:	33 f6                	xor    %esi,%esi
59ac2b:	8b d6                	mov    %esi,%edx
59ac2d:	8b 45 bc             	mov    -0x44(%ebp),%eax
59ac30:	e8 cb 4e 01 00       	call   0x5afb00
59ac35:	85 c0                	test   %eax,%eax
59ac37:	74 11                	je     0x59ac4a
59ac39:	6a 00                	push   $0x0
59ac3b:	8b 45 0c             	mov    0xc(%ebp),%eax
59ac3e:	8b 00                	mov    (%eax),%eax
59ac40:	8b 4d d8             	mov    -0x28(%ebp),%ecx
59ac43:	8b d6                	mov    %esi,%edx
59ac45:	e8 0e 80 05 00       	call   0x5f2c58
59ac4a:	8b d6                	mov    %esi,%edx
59ac4c:	8b 45 bc             	mov    -0x44(%ebp),%eax
59ac4f:	e8 ac 4e 01 00       	call   0x5afb00
59ac54:	85 c0                	test   %eax,%eax
59ac56:	75 24                	jne    0x59ac7c
59ac58:	8b 45 c4             	mov    -0x3c(%ebp),%eax
59ac5b:	0f b6 00             	movzbl (%eax),%eax
59ac5e:	8d 04 40             	lea    (%eax,%eax,2),%eax
59ac61:	8b 55 f4             	mov    -0xc(%ebp),%edx
59ac64:	8b 12                	mov    (%edx),%edx
59ac66:	8b 92 a8 03 00 00    	mov    0x3a8(%edx),%edx
59ac6c:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
59ac70:	66 89 0f             	mov    %cx,(%edi)
59ac73:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
59ac77:	88 4f 02             	mov    %cl,0x2(%edi)
59ac7a:	eb 18                	jmp    0x59ac94
59ac7c:	8b 45 f4             	mov    -0xc(%ebp),%eax
59ac7f:	8b 00                	mov    (%eax),%eax
59ac81:	66 8b 90 18 01 00 00 	mov    0x118(%eax),%dx
59ac88:	66 89 17             	mov    %dx,(%edi)
59ac8b:	8a 90 1a 01 00 00    	mov    0x11a(%eax),%dl
59ac91:	88 57 02             	mov    %dl,0x2(%edi)
59ac94:	ff 45 c4             	incl   -0x3c(%ebp)
59ac97:	83 c7 03             	add    $0x3,%edi
59ac9a:	46                   	inc    %esi
59ac9b:	4b                   	dec    %ebx
59ac9c:	75 8d                	jne    0x59ac2b
59ac9e:	8b 45 b4             	mov    -0x4c(%ebp),%eax
59aca1:	01 45 bc             	add    %eax,-0x44(%ebp)
59aca4:	ff 4d d8             	decl   -0x28(%ebp)
59aca7:	83 7d d8 ff          	cmpl   $0xffffffff,-0x28(%ebp)
59acab:	0f 85 4c ff ff ff    	jne    0x59abfd
59acb1:	e9 9e 00 00 00       	jmp    0x59ad54
59acb6:	8b 45 a0             	mov    -0x60(%ebp),%eax
59acb9:	83 f8 00             	cmp    $0x0,%eax
59acbc:	0f 8c 92 00 00 00    	jl     0x59ad54
59acc2:	89 45 d8             	mov    %eax,-0x28(%ebp)
59acc5:	8b 55 d8             	mov    -0x28(%ebp),%edx
59acc8:	8b 45 f8             	mov    -0x8(%ebp),%eax
59accb:	8b 08                	mov    (%eax),%ecx
59accd:	ff 11                	call   *(%ecx)
59accf:	8b f8                	mov    %eax,%edi
59acd1:	8b 45 c8             	mov    -0x38(%ebp),%eax
59acd4:	89 45 c4             	mov    %eax,-0x3c(%ebp)
59acd7:	8b 45 a0             	mov    -0x60(%ebp),%eax
59acda:	2b 45 d8             	sub    -0x28(%ebp),%eax
59acdd:	f7 6d d4             	imull  -0x2c(%ebp)
59ace0:	01 45 c4             	add    %eax,-0x3c(%ebp)
59ace3:	8b 5d a4             	mov    -0x5c(%ebp),%ebx
59ace6:	85 db                	test   %ebx,%ebx
59ace8:	7c 57                	jl     0x59ad41
59acea:	43                   	inc    %ebx
59aceb:	33 f6                	xor    %esi,%esi
59aced:	8b d6                	mov    %esi,%edx
59acef:	8b 45 bc             	mov    -0x44(%ebp),%eax
59acf2:	e8 09 4e 01 00       	call   0x5afb00
59acf7:	85 c0                	test   %eax,%eax
59acf9:	75 24                	jne    0x59ad1f
59acfb:	8b 45 c4             	mov    -0x3c(%ebp),%eax
59acfe:	0f b6 00             	movzbl (%eax),%eax
59ad01:	8d 04 40             	lea    (%eax,%eax,2),%eax
59ad04:	8b 55 f4             	mov    -0xc(%ebp),%edx
59ad07:	8b 12                	mov    (%edx),%edx
59ad09:	8b 92 a8 03 00 00    	mov    0x3a8(%edx),%edx
59ad0f:	66 8b 0c 02          	mov    (%edx,%eax,1),%cx
59ad13:	66 89 0f             	mov    %cx,(%edi)
59ad16:	8a 4c 02 02          	mov    0x2(%edx,%eax,1),%cl
59ad1a:	88 4f 02             	mov    %cl,0x2(%edi)
59ad1d:	eb 18                	jmp    0x59ad37
59ad1f:	8b 45 f4             	mov    -0xc(%ebp),%eax
59ad22:	8b 00                	mov    (%eax),%eax
59ad24:	66 8b 90 18 01 00 00 	mov    0x118(%eax),%dx
59ad2b:	66 89 17             	mov    %dx,(%edi)
59ad2e:	8a 90 1a 01 00 00    	mov    0x11a(%eax),%dl
59ad34:	88 57 02             	mov    %dl,0x2(%edi)
59ad37:	ff 45 c4             	incl   -0x3c(%ebp)
59ad3a:	83 c7 03             	add    $0x3,%edi
59ad3d:	46                   	inc    %esi
59ad3e:	4b                   	dec    %ebx
59ad3f:	75 ac                	jne    0x59aced
59ad41:	8b 45 b4             	mov    -0x4c(%ebp),%eax
59ad44:	01 45 bc             	add    %eax,-0x44(%ebp)
59ad47:	ff 4d d8             	decl   -0x28(%ebp)
59ad4a:	83 7d d8 ff          	cmpl   $0xffffffff,-0x28(%ebp)
59ad4e:	0f 85 71 ff ff ff    	jne    0x59acc5
59ad54:	8b 45 c8             	mov    -0x38(%ebp),%eax
59ad57:	e8 70 7a e6 ff       	call   0x4027cc
59ad5c:	8b 45 b8             	mov    -0x48(%ebp),%eax
59ad5f:	e8 68 7a e6 ff       	call   0x4027cc
59ad64:	5f                   	pop    %edi
59ad65:	5e                   	pop    %esi
59ad66:	5b                   	pop    %ebx
59ad67:	8b e5                	mov    %ebp,%esp
59ad69:	5d                   	pop    %ebp
59ad6a:	c2 10 00             	ret    $0x10
59ad6d:	00 00                	add    %al,(%eax)
59ad6f:	00 00                	add    %al,(%eax)
59ad71:	00 c8                	add    %cl,%al
59ad73:	42                   	inc    %edx
59ad74:	5c                   	pop    %esp
59ad75:	8f c2                	pop    %edx
59ad77:	f5                   	cmc
59ad78:	28 5c 8f a2          	sub    %bl,-0x5e(%edi,%ecx,4)
59ad7c:	00 40 00             	add    %al,0x0(%eax)
59ad7f:	00 55 8b             	add    %dl,-0x75(%ebp)
59ad82:	ec                   	in     (%dx),%al
59ad83:	33 c9                	xor    %ecx,%ecx
59ad85:	51                   	push   %ecx
59ad86:	51                   	push   %ecx
59ad87:	51                   	push   %ecx
59ad88:	51                   	push   %ecx
59ad89:	51                   	push   %ecx
59ad8a:	51                   	push   %ecx
59ad8b:	53                   	push   %ebx
59ad8c:	56                   	push   %esi
59ad8d:	57                   	push   %edi
59ad8e:	8b da                	mov    %edx,%ebx
59ad90:	89 45 fc             	mov    %eax,-0x4(%ebp)
59ad93:	8d 75 fb             	lea    -0x5(%ebp),%esi
59ad96:	33 c0                	xor    %eax,%eax
59ad98:	55                   	push   %ebp
59ad99:	68 b1 ae 59 00       	push   $0x59aeb1
59ad9e:	64 ff 30             	push   %fs:(%eax)
59ada1:	64 89 20             	mov    %esp,%fs:(%eax)
59ada4:	8b c3                	mov    %ebx,%eax
59ada6:	e8 bd 9a e6 ff       	call   0x404868
59adab:	8b d6                	mov    %esi,%edx
59adad:	b9 01 00 00 00       	mov    $0x1,%ecx
59adb2:	8b 45 fc             	mov    -0x4(%ebp),%eax
59adb5:	8b 38                	mov    (%eax),%edi
59adb7:	ff 57 08             	call   *0x8(%edi)
59adba:	48                   	dec    %eax
59adbb:	0f 8c d5 00 00 00    	jl     0x59ae96
59adc1:	80 3e 23             	cmpb   $0x23,(%esi)
59adc4:	75 50                	jne    0x59ae16
59adc6:	8b d6                	mov    %esi,%edx
59adc8:	b9 01 00 00 00       	mov    $0x1,%ecx
59adcd:	8b 45 fc             	mov    -0x4(%ebp),%eax
59add0:	8b 38                	mov    (%eax),%edi
59add2:	ff 57 08             	call   *0x8(%edi)
59add5:	48                   	dec    %eax
59add6:	7c 20                	jl     0x59adf8
59add8:	80 3e 0a             	cmpb   $0xa,(%esi)
59addb:	74 1b                	je     0x59adf8
59addd:	80 3e 0d             	cmpb   $0xd,(%esi)
59ade0:	74 16                	je     0x59adf8
59ade2:	8d 45 f4             	lea    -0xc(%ebp),%eax
59ade5:	8a 16                	mov    (%esi),%dl
59ade7:	e8 5c 9c e6 ff       	call   0x404a48
59adec:	8b 55 f4             	mov    -0xc(%ebp),%edx
59adef:	8b c3                	mov    %ebx,%eax
59adf1:	e8 32 9d e6 ff       	call   0x404b28
59adf6:	eb ce                	jmp    0x59adc6
59adf8:	8d 55 f0             	lea    -0x10(%ebp),%edx
59adfb:	8b 03                	mov    (%ebx),%eax
59adfd:	e8 a6 e5 e6 ff       	call   0x4093a8
59ae02:	8b 4d f0             	mov    -0x10(%ebp),%ecx
59ae05:	8b c3                	mov    %ebx,%eax
59ae07:	ba c8 ae 59 00       	mov    $0x59aec8,%edx
59ae0c:	e8 5b 9d e6 ff       	call   0x404b6c
59ae11:	e9 80 00 00 00       	jmp    0x59ae96
59ae16:	80 3e 30             	cmpb   $0x30,(%esi)
59ae19:	72 05                	jb     0x59ae20
59ae1b:	80 3e 39             	cmpb   $0x39,(%esi)
59ae1e:	76 1c                	jbe    0x59ae3c
59ae20:	80 3e 61             	cmpb   $0x61,(%esi)
59ae23:	72 05                	jb     0x59ae2a
59ae25:	80 3e 7a             	cmpb   $0x7a,(%esi)
59ae28:	76 12                	jbe    0x59ae3c
59ae2a:	80 3e 41             	cmpb   $0x41,(%esi)
59ae2d:	0f 82 78 ff ff ff    	jb     0x59adab
59ae33:	80 3e 5a             	cmpb   $0x5a,(%esi)
59ae36:	0f 87 6f ff ff ff    	ja     0x59adab
59ae3c:	8d 45 ec             	lea    -0x14(%ebp),%eax
59ae3f:	8a 16                	mov    (%esi),%dl
59ae41:	e8 02 9c e6 ff       	call   0x404a48