5e5ab6:	33 ff                	xor    %edi,%edi
5e5ab8:	57                   	push   %edi
5e5ab9:	57                   	push   %edi
5e5aba:	57                   	push   %edi
5e5abb:	57                   	push   %edi
5e5abc:	57                   	push   %edi
5e5abd:	e8 a1 06 ff ff       	call   0x5d6163
5e5ac2:	83 c4 18             	add    $0x18,%esp
5e5ac5:	83 c8 ff             	or     $0xffffffff,%eax
5e5ac8:	eb 40                	jmp    0x5e5b0a
5e5aca:	8b 46 0c             	mov    0xc(%esi),%eax
5e5acd:	90                   	nop
5e5ace:	c1 e8 0c             	shr    $0xc,%eax
5e5ad1:	56                   	push   %esi
5e5ad2:	a8 01                	test   $0x1,%al
5e5ad4:	74 08                	je     0x5e5ade
5e5ad6:	e8 7b 86 00 00       	call   0x5ee156
5e5adb:	59                   	pop    %ecx
5e5adc:	eb e7                	jmp    0x5e5ac5
5e5ade:	33 ff                	xor    %edi,%edi
5e5ae0:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5e5ae3:	e8 84 a5 ff ff       	call   0x5e006c
5e5ae8:	59                   	pop    %ecx
5e5ae9:	89 7d fc             	mov    %edi,-0x4(%ebp)
5e5aec:	ff 75 0c             	push   0xc(%ebp)
5e5aef:	56                   	push   %esi
5e5af0:	e8 33 00 00 00       	call   0x5e5b28
5e5af5:	59                   	pop    %ecx
5e5af6:	59                   	pop    %ecx
5e5af7:	8b f8                	mov    %eax,%edi
5e5af9:	89 7d e4             	mov    %edi,-0x1c(%ebp)
5e5afc:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e5b03:	e8 18 00 00 00       	call   0x5e5b20
5e5b08:	8b c7                	mov    %edi,%eax
5e5b0a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e5b0d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e5b14:	59                   	pop    %ecx
5e5b15:	5f                   	pop    %edi
5e5b16:	5e                   	pop    %esi
5e5b17:	5b                   	pop    %ebx
5e5b18:	c9                   	leave
5e5b19:	c3                   	ret
5e5b1a:	8b 75 e0             	mov    -0x20(%ebp),%esi
5e5b1d:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5e5b20:	56                   	push   %esi
5e5b21:	e8 5a a5 ff ff       	call   0x5e0080
5e5b26:	59                   	pop    %ecx
5e5b27:	c3                   	ret
5e5b28:	8b ff                	mov    %edi,%edi
5e5b2a:	55                   	push   %ebp
5e5b2b:	8b ec                	mov    %esp,%ebp
5e5b2d:	56                   	push   %esi
5e5b2e:	8b 75 08             	mov    0x8(%ebp),%esi
5e5b31:	85 f6                	test   %esi,%esi
5e5b33:	75 23                	jne    0x5e5b58
5e5b35:	8b 45 0c             	mov    0xc(%ebp),%eax
5e5b38:	50                   	push   %eax
5e5b39:	c6 40 1c 01          	movb   $0x1,0x1c(%eax)
5e5b3d:	c7 40 18 16 00 00 00 	movl   $0x16,0x18(%eax)
5e5b44:	33 c0                	xor    %eax,%eax
5e5b46:	50                   	push   %eax
5e5b47:	50                   	push   %eax
5e5b48:	50                   	push   %eax
5e5b49:	50                   	push   %eax
5e5b4a:	50                   	push   %eax
5e5b4b:	e8 13 06 ff ff       	call   0x5d6163
5e5b50:	83 c4 18             	add    $0x18,%esp
5e5b53:	83 c8 ff             	or     $0xffffffff,%eax
5e5b56:	eb 5b                	jmp    0x5e5bb3
5e5b58:	8b 46 0c             	mov    0xc(%esi),%eax
5e5b5b:	57                   	push   %edi
5e5b5c:	83 cf ff             	or     $0xffffffff,%edi
5e5b5f:	90                   	nop
5e5b60:	c1 e8 0d             	shr    $0xd,%eax
5e5b63:	a8 01                	test   $0x1,%al
5e5b65:	74 42                	je     0x5e5ba9
5e5b67:	ff 75 0c             	push   0xc(%ebp)
5e5b6a:	56                   	push   %esi
5e5b6b:	e8 5d a7 ff ff       	call   0x5e02cd
5e5b70:	56                   	push   %esi
5e5b71:	8b f8                	mov    %eax,%edi
5e5b73:	e8 c2 80 00 00       	call   0x5edc3a
5e5b78:	83 c4 0c             	add    $0xc,%esp
5e5b7b:	ff 75 0c             	push   0xc(%ebp)
5e5b7e:	56                   	push   %esi
5e5b7f:	e8 97 01 00 00       	call   0x5e5d1b
5e5b84:	59                   	pop    %ecx
5e5b85:	50                   	push   %eax
5e5b86:	e8 12 d5 ff ff       	call   0x5e309d
5e5b8b:	59                   	pop    %ecx
5e5b8c:	59                   	pop    %ecx
5e5b8d:	85 c0                	test   %eax,%eax
5e5b8f:	79 05                	jns    0x5e5b96
5e5b91:	83 cf ff             	or     $0xffffffff,%edi
5e5b94:	eb 13                	jmp    0x5e5ba9
5e5b96:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
5e5b9a:	74 0d                	je     0x5e5ba9
5e5b9c:	ff 76 1c             	push   0x1c(%esi)
5e5b9f:	e8 7e 56 00 00       	call   0x5eb222
5e5ba4:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
5e5ba8:	59                   	pop    %ecx
5e5ba9:	56                   	push   %esi
5e5baa:	e8 a7 85 00 00       	call   0x5ee156
5e5baf:	59                   	pop    %ecx
5e5bb0:	8b c7                	mov    %edi,%eax
5e5bb2:	5f                   	pop    %edi
5e5bb3:	5e                   	pop    %esi
5e5bb4:	5d                   	pop    %ebp
5e5bb5:	c3                   	ret
5e5bb6:	8b ff                	mov    %edi,%edi
5e5bb8:	55                   	push   %ebp
5e5bb9:	8b ec                	mov    %esp,%ebp
5e5bbb:	83 ec 28             	sub    $0x28,%esp
5e5bbe:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e5bc1:	56                   	push   %esi
5e5bc2:	6a 00                	push   $0x0
5e5bc4:	e8 0b 03 ff ff       	call   0x5d5ed4
5e5bc9:	8d 45 d8             	lea    -0x28(%ebp),%eax
5e5bcc:	50                   	push   %eax
5e5bcd:	ff 75 08             	push   0x8(%ebp)
5e5bd0:	e8 bc fe ff ff       	call   0x5e5a91
5e5bd5:	59                   	pop    %ecx
5e5bd6:	59                   	pop    %ecx
5e5bd7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5e5bda:	8b f0                	mov    %eax,%esi
5e5bdc:	e8 3b 03 ff ff       	call   0x5d5f1c
5e5be1:	8b c6                	mov    %esi,%eax
5e5be3:	5e                   	pop    %esi
5e5be4:	c9                   	leave
5e5be5:	c3                   	ret
5e5be6:	8b ff                	mov    %edi,%edi
5e5be8:	55                   	push   %ebp
5e5be9:	8b ec                	mov    %esp,%ebp
5e5beb:	8b 45 08             	mov    0x8(%ebp),%eax
5e5bee:	85 c0                	test   %eax,%eax
5e5bf0:	75 14                	jne    0x5e5c06
5e5bf2:	e8 91 50 ff ff       	call   0x5dac88
5e5bf7:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e5bfd:	e8 de 05 ff ff       	call   0x5d61e0
5e5c02:	33 c0                	xor    %eax,%eax
5e5c04:	5d                   	pop    %ebp
5e5c05:	c3                   	ret
5e5c06:	8b 40 0c             	mov    0xc(%eax),%eax
5e5c09:	90                   	nop
5e5c0a:	c1 e8 03             	shr    $0x3,%eax
5e5c0d:	83 e0 01             	and    $0x1,%eax
5e5c10:	5d                   	pop    %ebp
5e5c11:	c3                   	ret
5e5c12:	8b ff                	mov    %edi,%edi
5e5c14:	55                   	push   %ebp
5e5c15:	8b ec                	mov    %esp,%ebp
5e5c17:	8b 45 08             	mov    0x8(%ebp),%eax
5e5c1a:	85 c0                	test   %eax,%eax
5e5c1c:	75 14                	jne    0x5e5c32
5e5c1e:	e8 65 50 ff ff       	call   0x5dac88
5e5c23:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e5c29:	e8 b2 05 ff ff       	call   0x5d61e0
5e5c2e:	33 c0                	xor    %eax,%eax
5e5c30:	5d                   	pop    %ebp
5e5c31:	c3                   	ret
5e5c32:	8b 40 0c             	mov    0xc(%eax),%eax
5e5c35:	90                   	nop
5e5c36:	c1 e8 04             	shr    $0x4,%eax
5e5c39:	83 e0 01             	and    $0x1,%eax
5e5c3c:	5d                   	pop    %ebp
5e5c3d:	c3                   	ret
5e5c3e:	6a 18                	push   $0x18
5e5c40:	68 50 a8 68 00       	push   $0x68a850
5e5c45:	e8 b6 cc fe ff       	call   0x5d2900
5e5c4a:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e5c4e:	75 0f                	jne    0x5e5c5f
5e5c50:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5e5c54:	74 09                	je     0x5e5c5f
5e5c56:	33 db                	xor    %ebx,%ebx
5e5c58:	8b c3                	mov    %ebx,%eax
5e5c5a:	33 f6                	xor    %esi,%esi
5e5c5c:	46                   	inc    %esi
5e5c5d:	eb 07                	jmp    0x5e5c66
5e5c5f:	33 f6                	xor    %esi,%esi
5e5c61:	46                   	inc    %esi
5e5c62:	8b c6                	mov    %esi,%eax
5e5c64:	33 db                	xor    %ebx,%ebx
5e5c66:	85 c0                	test   %eax,%eax
5e5c68:	75 14                	jne    0x5e5c7e
5e5c6a:	e8 19 50 ff ff       	call   0x5dac88
5e5c6f:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e5c75:	e8 66 05 ff ff       	call   0x5d61e0
5e5c7a:	33 c0                	xor    %eax,%eax
5e5c7c:	eb 68                	jmp    0x5e5ce6
5e5c7e:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5e5c82:	7c e6                	jl     0x5e5c6a
5e5c84:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5e5c88:	74 e0                	je     0x5e5c6a
5e5c8a:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
5e5c8e:	74 ea                	je     0x5e5c7a
5e5c90:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5e5c93:	ff 75 10             	push   0x10(%ebp)
5e5c96:	e8 d1 a3 ff ff       	call   0x5e006c
5e5c9b:	59                   	pop    %ecx
5e5c9c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5e5c9f:	ff 75 10             	push   0x10(%ebp)
5e5ca2:	e8 b8 4b ff ff       	call   0x5da85f
5e5ca7:	59                   	pop    %ecx
5e5ca8:	84 c0                	test   %al,%al
5e5caa:	74 2c                	je     0x5e5cd8
5e5cac:	8b 7d 08             	mov    0x8(%ebp),%edi
5e5caf:	89 7d e0             	mov    %edi,-0x20(%ebp)
5e5cb2:	89 75 dc             	mov    %esi,-0x24(%ebp)
5e5cb5:	3b 75 0c             	cmp    0xc(%ebp),%esi
5e5cb8:	74 16                	je     0x5e5cd0
5e5cba:	ff 75 10             	push   0x10(%ebp)
5e5cbd:	e8 1a 69 00 00       	call   0x5ec5dc
5e5cc2:	59                   	pop    %ecx
5e5cc3:	89 45 d8             	mov    %eax,-0x28(%ebp)
5e5cc6:	83 f8 ff             	cmp    $0xffffffff,%eax
5e5cc9:	75 2b                	jne    0x5e5cf6
5e5ccb:	3b 7d 08             	cmp    0x8(%ebp),%edi
5e5cce:	74 08                	je     0x5e5cd8
5e5cd0:	88 1f                	mov    %bl,(%edi)
5e5cd2:	8b 5d 08             	mov    0x8(%ebp),%ebx
5e5cd5:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
5e5cd8:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
5e5cdf:	e8 22 00 00 00       	call   0x5e5d06
5e5ce4:	8b c3                	mov    %ebx,%eax
5e5ce6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5e5ce9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5e5cf0:	59                   	pop    %ecx
5e5cf1:	5f                   	pop    %edi
5e5cf2:	5e                   	pop    %esi
5e5cf3:	5b                   	pop    %ebx
5e5cf4:	c9                   	leave
5e5cf5:	c3                   	ret
5e5cf6:	88 07                	mov    %al,(%edi)
5e5cf8:	47                   	inc    %edi
5e5cf9:	89 7d e0             	mov    %edi,-0x20(%ebp)
5e5cfc:	3c 0a                	cmp    $0xa,%al
5e5cfe:	74 d0                	je     0x5e5cd0
5e5d00:	46                   	inc    %esi
5e5d01:	eb af                	jmp    0x5e5cb2
5e5d03:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
5e5d06:	ff 75 10             	push   0x10(%ebp)
5e5d09:	e8 72 a3 ff ff       	call   0x5e0080
5e5d0e:	59                   	pop    %ecx
5e5d0f:	c3                   	ret
5e5d10:	8b ff                	mov    %edi,%edi
5e5d12:	55                   	push   %ebp
5e5d13:	8b ec                	mov    %esp,%ebp
5e5d15:	5d                   	pop    %ebp
5e5d16:	e9 23 ff ff ff       	jmp    0x5e5c3e
5e5d1b:	8b ff                	mov    %edi,%edi
5e5d1d:	55                   	push   %ebp
5e5d1e:	8b ec                	mov    %esp,%ebp
5e5d20:	8b 45 08             	mov    0x8(%ebp),%eax
5e5d23:	85 c0                	test   %eax,%eax
5e5d25:	75 15                	jne    0x5e5d3c
5e5d27:	e8 5c 4f ff ff       	call   0x5dac88
5e5d2c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e5d32:	e8 a9 04 ff ff       	call   0x5d61e0
5e5d37:	83 c8 ff             	or     $0xffffffff,%eax
5e5d3a:	5d                   	pop    %ebp
5e5d3b:	c3                   	ret
5e5d3c:	8b 40 10             	mov    0x10(%eax),%eax
5e5d3f:	90                   	nop
5e5d40:	5d                   	pop    %ebp
5e5d41:	c3                   	ret
5e5d42:	8b ff                	mov    %edi,%edi
5e5d44:	55                   	push   %ebp
5e5d45:	8b ec                	mov    %esp,%ebp
5e5d47:	83 ec 14             	sub    $0x14,%esp
5e5d4a:	53                   	push   %ebx
5e5d4b:	8b 5d 10             	mov    0x10(%ebp),%ebx
5e5d4e:	56                   	push   %esi
5e5d4f:	57                   	push   %edi
5e5d50:	85 db                	test   %ebx,%ebx
5e5d52:	74 1d                	je     0x5e5d71
5e5d54:	8b 75 14             	mov    0x14(%ebp),%esi
5e5d57:	85 f6                	test   %esi,%esi
5e5d59:	74 16                	je     0x5e5d71
5e5d5b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
5e5d5f:	75 17                	jne    0x5e5d78
5e5d61:	e8 22 4f ff ff       	call   0x5dac88
5e5d66:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5e5d6c:	e8 6f 04 ff ff       	call   0x5d61e0
5e5d71:	33 c0                	xor    %eax,%eax
5e5d73:	5f                   	pop    %edi
5e5d74:	5e                   	pop    %esi
5e5d75:	5b                   	pop    %ebx
5e5d76:	c9                   	leave
5e5d77:	c3                   	ret
5e5d78:	8b 4d 18             	mov    0x18(%ebp),%ecx
5e5d7b:	8b 7d 0c             	mov    0xc(%ebp),%edi
5e5d7e:	85 c9                	test   %ecx,%ecx
5e5d80:	74 0b                	je     0x5e5d8d
5e5d82:	83 c8 ff             	or     $0xffffffff,%eax
5e5d85:	33 d2                	xor    %edx,%edx
5e5d87:	f7 f3                	div    %ebx
5e5d89:	3b f0                	cmp    %eax,%esi
5e5d8b:	76 25                	jbe    0x5e5db2
5e5d8d:	83 ff ff             	cmp    $0xffffffff,%edi
5e5d90:	74 11                	je     0x5e5da3
5e5d92:	57                   	push   %edi
5e5d93:	6a 00                	push   $0x0
5e5d95:	ff 75 08             	push   0x8(%ebp)
5e5d98:	e8 d3 ce fe ff       	call   0x5d2c70
5e5d9d:	8b 4d 18             	mov    0x18(%ebp),%ecx
5e5da0:	83 c4 0c             	add    $0xc,%esp
5e5da3:	85 c9                	test   %ecx,%ecx
5e5da5:	74 ba                	je     0x5e5d61
5e5da7:	83 c8 ff             	or     $0xffffffff,%eax
5e5daa:	33 d2                	xor    %edx,%edx
5e5dac:	f7 f3                	div    %ebx
5e5dae:	3b f0                	cmp    %eax,%esi
5e5db0:	77 af                	ja     0x5e5d61
5e5db2:	8d 41 0c             	lea    0xc(%ecx),%eax
5e5db5:	89 45 ec             	mov    %eax,-0x14(%ebp)
5e5db8:	8b 00                	mov    (%eax),%eax
5e5dba:	90                   	nop
5e5dbb:	a9 c0 04 00 00       	test   $0x4c0,%eax
5e5dc0:	74 08                	je     0x5e5dca
5e5dc2:	8b 41 18             	mov    0x18(%ecx),%eax
5e5dc5:	89 45 f4             	mov    %eax,-0xc(%ebp)
5e5dc8:	eb 07                	jmp    0x5e5dd1
5e5dca:	c7 45 f4 00 10 00 00 	movl   $0x1000,-0xc(%ebp)
5e5dd1:	8b 45 08             	mov    0x8(%ebp),%eax
5e5dd4:	8b f3                	mov    %ebx,%esi
5e5dd6:	0f af 75 14          	imul   0x14(%ebp),%esi
5e5dda:	8b d7                	mov    %edi,%edx
5e5ddc:	89 45 f0             	mov    %eax,-0x10(%ebp)
5e5ddf:	8b de                	mov    %esi,%ebx
5e5de1:	85 f6                	test   %esi,%esi
5e5de3:	e9 e4 00 00 00       	jmp    0x5e5ecc
5e5de8:	8b 41 0c             	mov    0xc(%ecx),%eax
5e5deb:	90                   	nop
5e5dec:	a9 c0 04 00 00       	test   $0x4c0,%eax
5e5df1:	74 47                	je     0x5e5e3a
5e5df3:	8b 41 08             	mov    0x8(%ecx),%eax
5e5df6:	89 45 f8             	mov    %eax,-0x8(%ebp)
5e5df9:	85 c0                	test   %eax,%eax
5e5dfb:	74 3d                	je     0x5e5e3a
5e5dfd:	0f 88 fd 00 00 00    	js     0x5e5f00
5e5e03:	3b d8                	cmp    %eax,%ebx
5e5e05:	73 05                	jae    0x5e5e0c
5e5e07:	8b c3                	mov    %ebx,%eax
5e5e09:	89 5d f8             	mov    %ebx,-0x8(%ebp)
5e5e0c:	3b c2                	cmp    %edx,%eax
5e5e0e:	0f 87 c9 00 00 00    	ja     0x5e5edd
5e5e14:	50                   	push   %eax
5e5e15:	ff 31                	push   (%ecx)
5e5e17:	52                   	push   %edx
5e5e18:	ff 75 f0             	push   -0x10(%ebp)