578d81:	85 f6                	test   %esi,%esi
578d83:	74 45                	je     0x578dca
578d85:	8b 7c 24 10          	mov    0x10(%esp),%edi
578d89:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
578d90:	8a 0f                	mov    (%edi),%cl
578d92:	8d 7f 01             	lea    0x1(%edi),%edi
578d95:	4e                   	dec    %esi
578d96:	c1 e2 04             	shl    $0x4,%edx
578d99:	8d 41 d0             	lea    -0x30(%ecx),%eax
578d9c:	3c 09                	cmp    $0x9,%al
578d9e:	77 08                	ja     0x578da8
578da0:	0f b6 c1             	movzbl %cl,%eax
578da3:	83 e8 30             	sub    $0x30,%eax
578da6:	eb 1c                	jmp    0x578dc4
578da8:	8d 41 bf             	lea    -0x41(%ecx),%eax
578dab:	3c 05                	cmp    $0x5,%al
578dad:	77 08                	ja     0x578db7
578daf:	0f b6 c1             	movzbl %cl,%eax
578db2:	83 e8 37             	sub    $0x37,%eax
578db5:	eb 0d                	jmp    0x578dc4
578db7:	8d 41 9f             	lea    -0x61(%ecx),%eax
578dba:	3c 05                	cmp    $0x5,%al
578dbc:	77 22                	ja     0x578de0
578dbe:	0f b6 c1             	movzbl %cl,%eax
578dc1:	83 e8 57             	sub    $0x57,%eax
578dc4:	0b d0                	or     %eax,%edx
578dc6:	85 f6                	test   %esi,%esi
578dc8:	75 c6                	jne    0x578d90
578dca:	8b 44 24 0c          	mov    0xc(%esp),%eax
578dce:	8b ca                	mov    %edx,%ecx
578dd0:	c1 e9 08             	shr    $0x8,%ecx
578dd3:	5f                   	pop    %edi
578dd4:	5e                   	pop    %esi
578dd5:	88 08                	mov    %cl,(%eax)
578dd7:	88 50 01             	mov    %dl,0x1(%eax)
578dda:	b8 01 00 00 00       	mov    $0x1,%eax
578ddf:	c3                   	ret
578de0:	5f                   	pop    %edi
578de1:	33 c0                	xor    %eax,%eax
578de3:	5e                   	pop    %esi
578de4:	c3                   	ret
578de5:	cc                   	int3
578de6:	cc                   	int3
578de7:	cc                   	int3
578de8:	cc                   	int3
578de9:	cc                   	int3
578dea:	cc                   	int3
578deb:	cc                   	int3
578dec:	cc                   	int3
578ded:	cc                   	int3
578dee:	cc                   	int3
578def:	cc                   	int3
578df0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
578df4:	56                   	push   %esi
578df5:	8b f1                	mov    %ecx,%esi
578df7:	57                   	push   %edi
578df8:	8d 56 01             	lea    0x1(%esi),%edx
578dfb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
578e00:	8a 06                	mov    (%esi),%al
578e02:	46                   	inc    %esi
578e03:	84 c0                	test   %al,%al
578e05:	75 f9                	jne    0x578e00
578e07:	8b 7c 24 0c          	mov    0xc(%esp),%edi
578e0b:	2b f2                	sub    %edx,%esi
578e0d:	56                   	push   %esi
578e0e:	51                   	push   %ecx
578e0f:	57                   	push   %edi
578e10:	e8 4b 0d 08 00       	call   0x5f9b60
578e15:	83 c4 0c             	add    $0xc,%esp
578e18:	85 c0                	test   %eax,%eax
578e1a:	75 15                	jne    0x578e31
578e1c:	8a 04 3e             	mov    (%esi,%edi,1),%al
578e1f:	84 c0                	test   %al,%al
578e21:	74 0c                	je     0x578e2f
578e23:	3c 2e                	cmp    $0x2e,%al
578e25:	74 08                	je     0x578e2f
578e27:	5f                   	pop    %edi
578e28:	b8 01 00 00 00       	mov    $0x1,%eax
578e2d:	5e                   	pop    %esi
578e2e:	c3                   	ret
578e2f:	33 c0                	xor    %eax,%eax
578e31:	5f                   	pop    %edi
578e32:	5e                   	pop    %esi
578e33:	c3                   	ret
578e34:	cc                   	int3
578e35:	cc                   	int3
578e36:	cc                   	int3
578e37:	cc                   	int3
578e38:	cc                   	int3
578e39:	cc                   	int3
578e3a:	cc                   	int3
578e3b:	cc                   	int3
578e3c:	cc                   	int3
578e3d:	cc                   	int3
578e3e:	cc                   	int3
578e3f:	cc                   	int3
578e40:	b8 04 00 00 00       	mov    $0x4,%eax
578e45:	e8 a6 86 06 00       	call   0x5e14f0
578e4a:	56                   	push   %esi
578e4b:	8b 74 24 10          	mov    0x10(%esp),%esi
578e4f:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
578e56:	00
578e57:	85 f6                	test   %esi,%esi
578e59:	75 1d                	jne    0x578e78
578e5b:	68 b6 00 00 00       	push   $0xb6
578e60:	68 bc d3 6b 00       	push   $0x6bd3bc
578e65:	6a 6d                	push   $0x6d
578e67:	6a 6c                	push   $0x6c
578e69:	6a 22                	push   $0x22
578e6b:	e8 30 86 f2 ff       	call   0x4a14a0
578e70:	83 c4 14             	add    $0x14,%esp
578e73:	33 c0                	xor    %eax,%eax
578e75:	5e                   	pop    %esi
578e76:	59                   	pop    %ecx
578e77:	c3                   	ret
578e78:	57                   	push   %edi
578e79:	e8 92 a4 f3 ff       	call   0x4b3310
578e7e:	80 3e 2d             	cmpb   $0x2d,(%esi)
578e81:	89 44 24 08          	mov    %eax,0x8(%esp)
578e85:	75 08                	jne    0x578e8f
578e87:	46                   	inc    %esi
578e88:	bf 01 00 00 00       	mov    $0x1,%edi
578e8d:	eb 02                	jmp    0x578e91
578e8f:	33 ff                	xor    %edi,%edi
578e91:	80 3e 30             	cmpb   $0x30,(%esi)
578e94:	75 1b                	jne    0x578eb1
578e96:	8a 46 01             	mov    0x1(%esi),%al
578e99:	3c 78                	cmp    $0x78,%al
578e9b:	74 04                	je     0x578ea1
578e9d:	3c 58                	cmp    $0x58,%al
578e9f:	75 10                	jne    0x578eb1
578ea1:	83 c6 02             	add    $0x2,%esi
578ea4:	8d 44 24 08          	lea    0x8(%esp),%eax
578ea8:	56                   	push   %esi
578ea9:	50                   	push   %eax
578eaa:	e8 91 be f3 ff       	call   0x4b4d40
578eaf:	eb 0b                	jmp    0x578ebc
578eb1:	8d 44 24 08          	lea    0x8(%esp),%eax
578eb5:	56                   	push   %esi
578eb6:	50                   	push   %eax
578eb7:	e8 e4 bc f3 ff       	call   0x4b4ba0
578ebc:	83 c4 08             	add    $0x8,%esp
578ebf:	85 c0                	test   %eax,%eax
578ec1:	74 5f                	je     0x578f22
578ec3:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
578ec7:	75 59                	jne    0x578f22
578ec9:	8b 44 24 08          	mov    0x8(%esp),%eax
578ecd:	85 ff                	test   %edi,%edi
578ecf:	74 08                	je     0x578ed9
578ed1:	33 c9                	xor    %ecx,%ecx
578ed3:	39 48 04             	cmp    %ecx,0x4(%eax)
578ed6:	0f 44 f9             	cmove  %ecx,%edi
578ed9:	6a 00                	push   $0x0
578edb:	50                   	push   %eax
578edc:	e8 5f b1 f3 ff       	call   0x4b4040
578ee1:	ff 74 24 10          	push   0x10(%esp)
578ee5:	8b f0                	mov    %eax,%esi
578ee7:	e8 f4 a2 f3 ff       	call   0x4b31e0
578eec:	83 c4 0c             	add    $0xc,%esp
578eef:	85 f6                	test   %esi,%esi
578ef1:	75 1e                	jne    0x578f11
578ef3:	68 d8 00 00 00       	push   $0xd8
578ef8:	68 bc d3 6b 00       	push   $0x6bd3bc
578efd:	6a 65                	push   $0x65
578eff:	6a 6c                	push   $0x6c
578f01:	6a 22                	push   $0x22
578f03:	e8 98 85 f2 ff       	call   0x4a14a0
578f08:	83 c4 14             	add    $0x14,%esp
578f0b:	33 c0                	xor    %eax,%eax
578f0d:	5f                   	pop    %edi
578f0e:	5e                   	pop    %esi
578f0f:	59                   	pop    %ecx
578f10:	c3                   	ret
578f11:	85 ff                	test   %edi,%edi
578f13:	74 07                	je     0x578f1c
578f15:	81 4e 04 00 01 00 00 	orl    $0x100,0x4(%esi)
578f1c:	5f                   	pop    %edi
578f1d:	8b c6                	mov    %esi,%eax
578f1f:	5e                   	pop    %esi
578f20:	59                   	pop    %ecx
578f21:	c3                   	ret
578f22:	ff 74 24 08          	push   0x8(%esp)
578f26:	e8 b5 a2 f3 ff       	call   0x4b31e0
578f2b:	68 cd 00 00 00       	push   $0xcd
578f30:	68 bc d3 6b 00       	push   $0x6bd3bc
578f35:	6a 64                	push   $0x64
578f37:	6a 6c                	push   $0x6c
578f39:	6a 22                	push   $0x22
578f3b:	e8 60 85 f2 ff       	call   0x4a14a0
578f40:	83 c4 18             	add    $0x18,%esp
578f43:	33 c0                	xor    %eax,%eax
578f45:	5f                   	pop    %edi
578f46:	5e                   	pop    %esi
578f47:	59                   	pop    %ecx
578f48:	c3                   	ret
578f49:	cc                   	int3
578f4a:	cc                   	int3
578f4b:	cc                   	int3
578f4c:	cc                   	int3
578f4d:	cc                   	int3
578f4e:	cc                   	int3
578f4f:	cc                   	int3
578f50:	56                   	push   %esi
578f51:	8b 74 24 08          	mov    0x8(%esp),%esi
578f55:	85 f6                	test   %esi,%esi
578f57:	75 1c                	jne    0x578f75
578f59:	68 ba 01 00 00       	push   $0x1ba
578f5e:	68 bc d3 6b 00       	push   $0x6bd3bc
578f63:	6a 6b                	push   $0x6b
578f65:	6a 71                	push   $0x71
578f67:	6a 22                	push   $0x22
578f69:	e8 32 85 f2 ff       	call   0x4a14a0
578f6e:	83 c4 14             	add    $0x14,%esp
578f71:	33 c0                	xor    %eax,%eax
578f73:	5e                   	pop    %esi
578f74:	c3                   	ret
578f75:	8b ce                	mov    %esi,%ecx
578f77:	8d 51 01             	lea    0x1(%ecx),%edx
578f7a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
578f80:	8a 01                	mov    (%ecx),%al
578f82:	41                   	inc    %ecx
578f83:	84 c0                	test   %al,%al
578f85:	75 f9                	jne    0x578f80
578f87:	57                   	push   %edi
578f88:	2b ca                	sub    %edx,%ecx
578f8a:	68 bd 01 00 00       	push   $0x1bd
578f8f:	d1 f9                	sar    $1,%ecx
578f91:	68 bc d3 6b 00       	push   $0x6bd3bc
578f96:	51                   	push   %ecx
578f97:	e8 14 72 f2 ff       	call   0x4a01b0
578f9c:	8b f8                	mov    %eax,%edi
578f9e:	83 c4 0c             	add    $0xc,%esp
578fa1:	89 7c 24 0c          	mov    %edi,0xc(%esp)
578fa5:	85 ff                	test   %edi,%edi
578fa7:	75 1d                	jne    0x578fc6
578fa9:	68 ed 01 00 00       	push   $0x1ed
578fae:	68 bc d3 6b 00       	push   $0x6bd3bc
578fb3:	6a 41                	push   $0x41
578fb5:	6a 71                	push   $0x71
578fb7:	6a 22                	push   $0x22
578fb9:	e8 e2 84 f2 ff       	call   0x4a14a0
578fbe:	83 c4 14             	add    $0x14,%esp
578fc1:	33 c0                	xor    %eax,%eax
578fc3:	5f                   	pop    %edi
578fc4:	5e                   	pop    %esi
578fc5:	c3                   	ret
578fc6:	80 3e 00             	cmpb   $0x0,(%esi)
578fc9:	53                   	push   %ebx
578fca:	55                   	push   %ebp
578fcb:	8b ef                	mov    %edi,%ebp
578fcd:	0f 84 8b 00 00 00    	je     0x57905e
578fd3:	8a 1e                	mov    (%esi),%bl
578fd5:	46                   	inc    %esi
578fd6:	80 fb 3a             	cmp    $0x3a,%bl
578fd9:	74 76                	je     0x579051
578fdb:	8a 3e                	mov    (%esi),%bh
578fdd:	46                   	inc    %esi
578fde:	84 ff                	test   %bh,%bh
578fe0:	0f 84 b3 00 00 00    	je     0x579099
578fe6:	0f b6 fb             	movzbl %bl,%edi
578fe9:	57                   	push   %edi
578fea:	e8 25 df 07 00       	call   0x5f6f14
578fef:	83 c4 04             	add    $0x4,%esp
578ff2:	85 c0                	test   %eax,%eax
578ff4:	74 0b                	je     0x579001
578ff6:	57                   	push   %edi
578ff7:	e8 2c e9 07 00       	call   0x5f7928
578ffc:	83 c4 04             	add    $0x4,%esp
578fff:	8a d8                	mov    %al,%bl
579001:	0f b6 ff             	movzbl %bh,%edi
579004:	57                   	push   %edi
579005:	e8 0a df 07 00       	call   0x5f6f14
57900a:	83 c4 04             	add    $0x4,%esp
57900d:	85 c0                	test   %eax,%eax
57900f:	74 0b                	je     0x57901c
579011:	57                   	push   %edi
579012:	e8 11 e9 07 00       	call   0x5f7928
579017:	83 c4 04             	add    $0x4,%esp
57901a:	8a f8                	mov    %al,%bh
57901c:	8d 43 d0             	lea    -0x30(%ebx),%eax
57901f:	3c 09                	cmp    $0x9,%al
579021:	77 04                	ja     0x579027
579023:	8a d8                	mov    %al,%bl
579025:	eb 0a                	jmp    0x579031
579027:	8d 43 9f             	lea    -0x61(%ebx),%eax
57902a:	3c 05                	cmp    $0x5,%al
57902c:	77 43                	ja     0x579071
57902e:	80 c3 a9             	add    $0xa9,%bl
579031:	8a c7                	mov    %bh,%al
579033:	2c 30                	sub    $0x30,%al
579035:	3c 09                	cmp    $0x9,%al
579037:	77 04                	ja     0x57903d
579039:	8a f8                	mov    %al,%bh
57903b:	eb 0b                	jmp    0x579048
57903d:	8a c7                	mov    %bh,%al
57903f:	2c 61                	sub    $0x61,%al
579041:	3c 05                	cmp    $0x5,%al
579043:	77 2c                	ja     0x579071
579045:	80 c7 a9             	add    $0xa9,%bh
579048:	c0 e3 04             	shl    $0x4,%bl
57904b:	0a df                	or     %bh,%bl
57904d:	88 5d 00             	mov    %bl,0x0(%ebp)
579050:	45                   	inc    %ebp
579051:	80 3e 00             	cmpb   $0x0,(%esi)
579054:	0f 85 79 ff ff ff    	jne    0x578fd3
57905a:	8b 7c 24 14          	mov    0x14(%esp),%edi
57905e:	8b 44 24 18          	mov    0x18(%esp),%eax
579062:	85 c0                	test   %eax,%eax
579064:	74 04                	je     0x57906a
579066:	2b ef                	sub    %edi,%ebp
579068:	89 28                	mov    %ebp,(%eax)
57906a:	5d                   	pop    %ebp
57906b:	5b                   	pop    %ebx
57906c:	8b c7                	mov    %edi,%eax
57906e:	5f                   	pop    %edi
57906f:	5e                   	pop    %esi
579070:	c3                   	ret
579071:	ff 74 24 14          	push   0x14(%esp)
579075:	e8 b6 70 f2 ff       	call   0x4a0130
57907a:	68 f2 01 00 00       	push   $0x1f2
57907f:	68 bc d3 6b 00       	push   $0x6bd3bc
579084:	6a 71                	push   $0x71
579086:	6a 71                	push   $0x71
579088:	6a 22                	push   $0x22
57908a:	e8 11 84 f2 ff       	call   0x4a14a0
57908f:	83 c4 18             	add    $0x18,%esp
579092:	33 c0                	xor    %eax,%eax
579094:	5d                   	pop    %ebp
579095:	5b                   	pop    %ebx
579096:	5f                   	pop    %edi
579097:	5e                   	pop    %esi
579098:	c3                   	ret
579099:	68 cb 01 00 00       	push   $0x1cb
57909e:	68 bc d3 6b 00       	push   $0x6bd3bc
5790a3:	6a 70                	push   $0x70
5790a5:	6a 71                	push   $0x71
5790a7:	6a 22                	push   $0x22
5790a9:	e8 f2 83 f2 ff       	call   0x4a14a0
5790ae:	ff 74 24 28          	push   0x28(%esp)
5790b2:	e8 79 70 f2 ff       	call   0x4a0130
5790b7:	83 c4 18             	add    $0x18,%esp
5790ba:	33 c0                	xor    %eax,%eax
5790bc:	5d                   	pop    %ebp
5790bd:	5b                   	pop    %ebx
5790be:	5f                   	pop    %edi
5790bf:	5e                   	pop    %esi
5790c0:	c3                   	ret
5790c1:	cc                   	int3
5790c2:	cc                   	int3
5790c3:	cc                   	int3