5e8da2:	59                   	pop    %ecx
5e8da3:	8b 4d 18             	mov    0x18(%ebp),%ecx
5e8da6:	85 c0                	test   %eax,%eax
5e8da8:	74 0c                	je     0x5e8db6
5e8daa:	47                   	inc    %edi
5e8dab:	ff 01                	incl   (%ecx)
5e8dad:	85 f6                	test   %esi,%esi
5e8daf:	74 05                	je     0x5e8db6
5e8db1:	8a 07                	mov    (%edi),%al
5e8db3:	88 06                	mov    %al,(%esi)
5e8db5:	46                   	inc    %esi
5e8db6:	ff 01                	incl   (%ecx)
5e8db8:	47                   	inc    %edi
5e8db9:	e9 75 ff ff ff       	jmp    0x5e8d33
5e8dbe:	85 f6                	test   %esi,%esi
5e8dc0:	74 04                	je     0x5e8dc6
5e8dc2:	c6 06 00             	movb   $0x0,(%esi)
5e8dc5:	46                   	inc    %esi
5e8dc6:	ff 01                	incl   (%ecx)
5e8dc8:	e9 33 ff ff ff       	jmp    0x5e8d00
5e8dcd:	8b 55 0c             	mov    0xc(%ebp),%edx
5e8dd0:	5f                   	pop    %edi
5e8dd1:	5e                   	pop    %esi
5e8dd2:	5b                   	pop    %ebx
5e8dd3:	85 d2                	test   %edx,%edx
5e8dd5:	74 03                	je     0x5e8dda
5e8dd7:	83 22 00             	andl   $0x0,(%edx)
5e8dda:	8b 45 14             	mov    0x14(%ebp),%eax
5e8ddd:	ff 00                	incl   (%eax)
5e8ddf:	c9                   	leave
5e8de0:	c3                   	ret
5e8de1:	8b ff                	mov    %edi,%edi
5e8de3:	55                   	push   %ebp
5e8de4:	8b ec                	mov    %esp,%ebp
5e8de6:	56                   	push   %esi
5e8de7:	8b 75 08             	mov    0x8(%ebp),%esi
5e8dea:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
5e8df0:	73 39                	jae    0x5e8e2b
5e8df2:	83 c8 ff             	or     $0xffffffff,%eax
5e8df5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5e8df8:	33 d2                	xor    %edx,%edx
5e8dfa:	f7 75 10             	divl   0x10(%ebp)
5e8dfd:	3b c8                	cmp    %eax,%ecx
5e8dff:	73 2a                	jae    0x5e8e2b
5e8e01:	0f af 4d 10          	imul   0x10(%ebp),%ecx
5e8e05:	c1 e6 02             	shl    $0x2,%esi
5e8e08:	8b c6                	mov    %esi,%eax
5e8e0a:	f7 d0                	not    %eax
5e8e0c:	3b c1                	cmp    %ecx,%eax
5e8e0e:	76 1b                	jbe    0x5e8e2b
5e8e10:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
5e8e13:	6a 01                	push   $0x1
5e8e15:	50                   	push   %eax
5e8e16:	e8 28 37 00 00       	call   0x5ec543
5e8e1b:	6a 00                	push   $0x0
5e8e1d:	8b f0                	mov    %eax,%esi
5e8e1f:	e8 fe 23 00 00       	call   0x5eb222
5e8e24:	83 c4 0c             	add    $0xc,%esp
5e8e27:	8b c6                	mov    %esi,%eax
5e8e29:	eb 02                	jmp    0x5e8e2d
5e8e2b:	33 c0                	xor    %eax,%eax
5e8e2d:	5e                   	pop    %esi
5e8e2e:	5d                   	pop    %ebp
5e8e2f:	c3                   	ret
5e8e30:	8b ff                	mov    %edi,%edi
5e8e32:	55                   	push   %ebp
5e8e33:	8b ec                	mov    %esp,%ebp
5e8e35:	5d                   	pop    %ebp
5e8e36:	e9 f5 fc ff ff       	jmp    0x5e8b30
5e8e3b:	a1 68 6f 71 00       	mov    0x716f68,%eax
5e8e40:	85 c0                	test   %eax,%eax
5e8e42:	75 22                	jne    0x5e8e66
5e8e44:	39 05 6c 6f 71 00    	cmp    %eax,0x716f6c
5e8e4a:	74 18                	je     0x5e8e64
5e8e4c:	e8 42 00 00 00       	call   0x5e8e93
5e8e51:	85 c0                	test   %eax,%eax
5e8e53:	74 09                	je     0x5e8e5e
5e8e55:	e8 17 03 00 00       	call   0x5e9171
5e8e5a:	85 c0                	test   %eax,%eax
5e8e5c:	75 06                	jne    0x5e8e64
5e8e5e:	a1 68 6f 71 00       	mov    0x716f68,%eax
5e8e63:	c3                   	ret
5e8e64:	33 c0                	xor    %eax,%eax
5e8e66:	c3                   	ret
5e8e67:	a1 6c 6f 71 00       	mov    0x716f6c,%eax
5e8e6c:	85 c0                	test   %eax,%eax
5e8e6e:	75 22                	jne    0x5e8e92
5e8e70:	39 05 68 6f 71 00    	cmp    %eax,0x716f68
5e8e76:	74 18                	je     0x5e8e90
5e8e78:	e8 70 00 00 00       	call   0x5e8eed
5e8e7d:	85 c0                	test   %eax,%eax
5e8e7f:	74 09                	je     0x5e8e8a
5e8e81:	e8 6e 03 00 00       	call   0x5e91f4
5e8e86:	85 c0                	test   %eax,%eax
5e8e88:	75 06                	jne    0x5e8e90
5e8e8a:	a1 6c 6f 71 00       	mov    0x716f6c,%eax
5e8e8f:	c3                   	ret
5e8e90:	33 c0                	xor    %eax,%eax
5e8e92:	c3                   	ret
5e8e93:	83 3d 68 6f 71 00 00 	cmpl   $0x0,0x716f68
5e8e9a:	74 03                	je     0x5e8e9f
5e8e9c:	33 c0                	xor    %eax,%eax
5e8e9e:	c3                   	ret
5e8e9f:	56                   	push   %esi
5e8ea0:	e8 4b 8b 00 00       	call   0x5f19f0
5e8ea5:	e8 45 8e 00 00       	call   0x5f1cef
5e8eaa:	8b f0                	mov    %eax,%esi
5e8eac:	85 f6                	test   %esi,%esi
5e8eae:	75 0c                	jne    0x5e8ebc
5e8eb0:	50                   	push   %eax
5e8eb1:	e8 6c 23 00 00       	call   0x5eb222
5e8eb6:	59                   	pop    %ecx
5e8eb7:	83 c8 ff             	or     $0xffffffff,%eax
5e8eba:	5e                   	pop    %esi
5e8ebb:	c3                   	ret
5e8ebc:	57                   	push   %edi
5e8ebd:	56                   	push   %esi
5e8ebe:	e8 7f 00 00 00       	call   0x5e8f42
5e8ec3:	59                   	pop    %ecx
5e8ec4:	85 c0                	test   %eax,%eax
5e8ec6:	75 05                	jne    0x5e8ecd
5e8ec8:	83 cf ff             	or     $0xffffffff,%edi
5e8ecb:	eb 0c                	jmp    0x5e8ed9
5e8ecd:	a3 74 6f 71 00       	mov    %eax,0x716f74
5e8ed2:	33 ff                	xor    %edi,%edi
5e8ed4:	a3 68 6f 71 00       	mov    %eax,0x716f68
5e8ed9:	6a 00                	push   $0x0
5e8edb:	e8 42 23 00 00       	call   0x5eb222
5e8ee0:	56                   	push   %esi
5e8ee1:	e8 3c 23 00 00       	call   0x5eb222
5e8ee6:	59                   	pop    %ecx
5e8ee7:	59                   	pop    %ecx
5e8ee8:	8b c7                	mov    %edi,%eax
5e8eea:	5f                   	pop    %edi
5e8eeb:	5e                   	pop    %esi
5e8eec:	c3                   	ret
5e8eed:	83 3d 6c 6f 71 00 00 	cmpl   $0x0,0x716f6c
5e8ef4:	74 03                	je     0x5e8ef9
5e8ef6:	33 c0                	xor    %eax,%eax
5e8ef8:	c3                   	ret
5e8ef9:	56                   	push   %esi
5e8efa:	e8 90 8e 00 00       	call   0x5f1d8f
5e8eff:	8b f0                	mov    %eax,%esi
5e8f01:	85 f6                	test   %esi,%esi
5e8f03:	75 0c                	jne    0x5e8f11
5e8f05:	50                   	push   %eax
5e8f06:	e8 17 23 00 00       	call   0x5eb222
5e8f0b:	59                   	pop    %ecx
5e8f0c:	83 c8 ff             	or     $0xffffffff,%eax
5e8f0f:	5e                   	pop    %esi
5e8f10:	c3                   	ret
5e8f11:	57                   	push   %edi
5e8f12:	56                   	push   %esi
5e8f13:	e8 0c 01 00 00       	call   0x5e9024
5e8f18:	59                   	pop    %ecx
5e8f19:	85 c0                	test   %eax,%eax
5e8f1b:	75 05                	jne    0x5e8f22
5e8f1d:	83 cf ff             	or     $0xffffffff,%edi
5e8f20:	eb 0c                	jmp    0x5e8f2e
5e8f22:	a3 70 6f 71 00       	mov    %eax,0x716f70
5e8f27:	33 ff                	xor    %edi,%edi
5e8f29:	a3 6c 6f 71 00       	mov    %eax,0x716f6c
5e8f2e:	6a 00                	push   $0x0
5e8f30:	e8 ed 22 00 00       	call   0x5eb222
5e8f35:	56                   	push   %esi
5e8f36:	e8 e7 22 00 00       	call   0x5eb222
5e8f3b:	59                   	pop    %ecx
5e8f3c:	59                   	pop    %ecx
5e8f3d:	8b c7                	mov    %edi,%eax
5e8f3f:	5f                   	pop    %edi
5e8f40:	5e                   	pop    %esi
5e8f41:	c3                   	ret
5e8f42:	8b ff                	mov    %edi,%edi
5e8f44:	55                   	push   %ebp
5e8f45:	8b ec                	mov    %esp,%ebp
5e8f47:	51                   	push   %ecx
5e8f48:	51                   	push   %ecx
5e8f49:	53                   	push   %ebx
5e8f4a:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e8f4d:	33 d2                	xor    %edx,%edx
5e8f4f:	56                   	push   %esi
5e8f50:	57                   	push   %edi
5e8f51:	8b f3                	mov    %ebx,%esi
5e8f53:	8a 03                	mov    (%ebx),%al
5e8f55:	eb 18                	jmp    0x5e8f6f
5e8f57:	3c 3d                	cmp    $0x3d,%al
5e8f59:	74 01                	je     0x5e8f5c
5e8f5b:	42                   	inc    %edx
5e8f5c:	8b ce                	mov    %esi,%ecx
5e8f5e:	8d 79 01             	lea    0x1(%ecx),%edi
5e8f61:	8a 01                	mov    (%ecx),%al
5e8f63:	41                   	inc    %ecx
5e8f64:	84 c0                	test   %al,%al
5e8f66:	75 f9                	jne    0x5e8f61
5e8f68:	2b cf                	sub    %edi,%ecx
5e8f6a:	46                   	inc    %esi
5e8f6b:	03 f1                	add    %ecx,%esi
5e8f6d:	8a 06                	mov    (%esi),%al
5e8f6f:	84 c0                	test   %al,%al
5e8f71:	75 e4                	jne    0x5e8f57
5e8f73:	8d 42 01             	lea    0x1(%edx),%eax
5e8f76:	6a 04                	push   $0x4
5e8f78:	50                   	push   %eax
5e8f79:	e8 c5 35 00 00       	call   0x5ec543
5e8f7e:	8b f0                	mov    %eax,%esi
5e8f80:	59                   	pop    %ecx
5e8f81:	59                   	pop    %ecx
5e8f82:	85 f6                	test   %esi,%esi
5e8f84:	75 0a                	jne    0x5e8f90
5e8f86:	50                   	push   %eax
5e8f87:	e8 96 22 00 00       	call   0x5eb222
5e8f8c:	33 c0                	xor    %eax,%eax
5e8f8e:	eb 66                	jmp    0x5e8ff6
5e8f90:	89 75 fc             	mov    %esi,-0x4(%ebp)
5e8f93:	eb 52                	jmp    0x5e8fe7
5e8f95:	8b cb                	mov    %ebx,%ecx
5e8f97:	8d 79 01             	lea    0x1(%ecx),%edi
5e8f9a:	8a 01                	mov    (%ecx),%al
5e8f9c:	41                   	inc    %ecx
5e8f9d:	84 c0                	test   %al,%al
5e8f9f:	75 f9                	jne    0x5e8f9a
5e8fa1:	2b cf                	sub    %edi,%ecx
5e8fa3:	8d 41 01             	lea    0x1(%ecx),%eax
5e8fa6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e8fa9:	80 fa 3d             	cmp    $0x3d,%dl
5e8fac:	74 37                	je     0x5e8fe5
5e8fae:	6a 01                	push   $0x1
5e8fb0:	50                   	push   %eax
5e8fb1:	e8 8d 35 00 00       	call   0x5ec543
5e8fb6:	8b f8                	mov    %eax,%edi
5e8fb8:	59                   	pop    %ecx
5e8fb9:	59                   	pop    %ecx
5e8fba:	85 ff                	test   %edi,%edi
5e8fbc:	74 3e                	je     0x5e8ffc
5e8fbe:	53                   	push   %ebx
5e8fbf:	ff 75 f8             	push   -0x8(%ebp)
5e8fc2:	57                   	push   %edi
5e8fc3:	e8 3a 12 00 00       	call   0x5ea202
5e8fc8:	83 c4 0c             	add    $0xc,%esp
5e8fcb:	85 c0                	test   %eax,%eax
5e8fcd:	75 48                	jne    0x5e9017
5e8fcf:	8b 45 fc             	mov    -0x4(%ebp),%eax
5e8fd2:	6a 00                	push   $0x0
5e8fd4:	89 38                	mov    %edi,(%eax)
5e8fd6:	83 c0 04             	add    $0x4,%eax
5e8fd9:	89 45 fc             	mov    %eax,-0x4(%ebp)
5e8fdc:	e8 41 22 00 00       	call   0x5eb222
5e8fe1:	8b 45 f8             	mov    -0x8(%ebp),%eax
5e8fe4:	59                   	pop    %ecx
5e8fe5:	03 d8                	add    %eax,%ebx
5e8fe7:	8a 13                	mov    (%ebx),%dl
5e8fe9:	84 d2                	test   %dl,%dl
5e8feb:	75 a8                	jne    0x5e8f95
5e8fed:	6a 00                	push   $0x0
5e8fef:	e8 2e 22 00 00       	call   0x5eb222
5e8ff4:	8b c6                	mov    %esi,%eax
5e8ff6:	59                   	pop    %ecx
5e8ff7:	5f                   	pop    %edi
5e8ff8:	5e                   	pop    %esi
5e8ff9:	5b                   	pop    %ebx
5e8ffa:	c9                   	leave
5e8ffb:	c3                   	ret
5e8ffc:	56                   	push   %esi
5e8ffd:	e8 40 01 00 00       	call   0x5e9142
5e9002:	6a 00                	push   $0x0
5e9004:	e8 19 22 00 00       	call   0x5eb222
5e9009:	6a 00                	push   $0x0
5e900b:	e8 12 22 00 00       	call   0x5eb222
5e9010:	83 c4 0c             	add    $0xc,%esp
5e9013:	33 c0                	xor    %eax,%eax
5e9015:	eb e0                	jmp    0x5e8ff7
5e9017:	33 c0                	xor    %eax,%eax
5e9019:	50                   	push   %eax
5e901a:	50                   	push   %eax
5e901b:	50                   	push   %eax
5e901c:	50                   	push   %eax
5e901d:	50                   	push   %eax
5e901e:	e8 ea d1 fe ff       	call   0x5d620d
5e9023:	cc                   	int3
5e9024:	8b ff                	mov    %edi,%edi
5e9026:	55                   	push   %ebp
5e9027:	8b ec                	mov    %esp,%ebp
5e9029:	83 ec 0c             	sub    $0xc,%esp
5e902c:	53                   	push   %ebx
5e902d:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e9030:	56                   	push   %esi
5e9031:	57                   	push   %edi
5e9032:	33 ff                	xor    %edi,%edi
5e9034:	8b f3                	mov    %ebx,%esi
5e9036:	0f b7 03             	movzwl (%ebx),%eax
5e9039:	8b d7                	mov    %edi,%edx
5e903b:	89 7d fc             	mov    %edi,-0x4(%ebp)
5e903e:	66 85 c0             	test   %ax,%ax
5e9041:	74 35                	je     0x5e9078
5e9043:	6a 3d                	push   $0x3d
5e9045:	8b c8                	mov    %eax,%ecx
5e9047:	5b                   	pop    %ebx
5e9048:	66 3b cb             	cmp    %bx,%cx
5e904b:	74 01                	je     0x5e904e
5e904d:	42                   	inc    %edx
5e904e:	8b ce                	mov    %esi,%ecx
5e9050:	8d 79 02             	lea    0x2(%ecx),%edi
5e9053:	66 8b 01             	mov    (%ecx),%ax
5e9056:	83 c1 02             	add    $0x2,%ecx
5e9059:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
5e905d:	75 f4                	jne    0x5e9053
5e905f:	2b cf                	sub    %edi,%ecx
5e9061:	d1 f9                	sar    $1,%ecx
5e9063:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
5e9066:	83 c6 02             	add    $0x2,%esi
5e9069:	0f b7 06             	movzwl (%esi),%eax
5e906c:	8b c8                	mov    %eax,%ecx
5e906e:	66 85 c0             	test   %ax,%ax
5e9071:	75 d5                	jne    0x5e9048
5e9073:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e9076:	33 ff                	xor    %edi,%edi
5e9078:	8d 42 01             	lea    0x1(%edx),%eax
5e907b:	6a 04                	push   $0x4
5e907d:	50                   	push   %eax
5e907e:	e8 c0 34 00 00       	call   0x5ec543
5e9083:	8b f0                	mov    %eax,%esi
5e9085:	59                   	pop    %ecx
5e9086:	59                   	pop    %ecx
5e9087:	85 f6                	test   %esi,%esi
5e9089:	75 0a                	jne    0x5e9095
5e908b:	57                   	push   %edi
5e908c:	e8 91 21 00 00       	call   0x5eb222
5e9091:	33 c0                	xor    %eax,%eax
5e9093:	eb 7f                	jmp    0x5e9114
5e9095:	0f b7 03             	movzwl (%ebx),%eax
5e9098:	89 75 f8             	mov    %esi,-0x8(%ebp)
5e909b:	66 85 c0             	test   %ax,%ax
5e909e:	74 6a                	je     0x5e910a
5e90a0:	8b d0                	mov    %eax,%edx
5e90a2:	8b cb                	mov    %ebx,%ecx
5e90a4:	8d 79 02             	lea    0x2(%ecx),%edi
5e90a7:	66 8b 01             	mov    (%ecx),%ax
5e90aa:	83 c1 02             	add    $0x2,%ecx
5e90ad:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
5e90b1:	75 f4                	jne    0x5e90a7
5e90b3:	2b cf                	sub    %edi,%ecx
5e90b5:	d1 f9                	sar    $1,%ecx
5e90b7:	6a 3d                	push   $0x3d
5e90b9:	8d 41 01             	lea    0x1(%ecx),%eax
5e90bc:	59                   	pop    %ecx
5e90bd:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e90c0:	66 3b d1             	cmp    %cx,%dx
5e90c3:	74 38                	je     0x5e90fd
5e90c5:	6a 02                	push   $0x2
5e90c7:	50                   	push   %eax