5f59de:	89 04 24             	mov    %eax,(%esp)
5f59e1:	8b 44 24 0c          	mov    0xc(%esp),%eax
5f59e5:	89 44 24 04          	mov    %eax,0x4(%esp)
5f59e9:	8b d6                	mov    %esi,%edx
5f59eb:	8b c7                	mov    %edi,%eax
5f59ed:	e8 76 f9 ff ff       	call   0x5f5368
5f59f2:	8b 04 24             	mov    (%esp),%eax
5f59f5:	50                   	push   %eax
5f59f6:	8b 44 24 08          	mov    0x8(%esp),%eax
5f59fa:	50                   	push   %eax
5f59fb:	8b c3                	mov    %ebx,%eax
5f59fd:	8b 10                	mov    (%eax),%edx
5f59ff:	ff 52 10             	call   *0x10(%edx)
5f5a02:	50                   	push   %eax
5f5a03:	8b c3                	mov    %ebx,%eax
5f5a05:	e8 fe 1e 00 00       	call   0x5f7908
5f5a0a:	50                   	push   %eax
5f5a0b:	8b cd                	mov    %ebp,%ecx
5f5a0d:	8b d6                	mov    %esi,%edx
5f5a0f:	8b c7                	mov    %edi,%eax
5f5a11:	e8 ba fa ff ff       	call   0x5f54d0
5f5a16:	8b 7e 18             	mov    0x18(%esi),%edi
5f5a19:	b9 20 00 00 00       	mov    $0x20,%ecx
5f5a1e:	8b 54 24 04          	mov    0x4(%esp),%edx
5f5a22:	8b c5                	mov    %ebp,%eax
5f5a24:	e8 b7 b0 ff ff       	call   0x5f0ae0
5f5a29:	8b e8                	mov    %eax,%ebp
5f5a2b:	8b 34 24             	mov    (%esp),%esi
5f5a2e:	4e                   	dec    %esi
5f5a2f:	85 f6                	test   %esi,%esi
5f5a31:	7c 2b                	jl     0x5f5a5e
5f5a33:	46                   	inc    %esi
5f5a34:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
5f5a3b:	00
5f5a3c:	8b 14 24             	mov    (%esp),%edx
5f5a3f:	2b 54 24 08          	sub    0x8(%esp),%edx
5f5a43:	4a                   	dec    %edx
5f5a44:	8b c3                	mov    %ebx,%eax
5f5a46:	8b 08                	mov    (%eax),%ecx
5f5a48:	ff 11                	call   *(%ecx)
5f5a4a:	8b d0                	mov    %eax,%edx
5f5a4c:	8b cd                	mov    %ebp,%ecx
5f5a4e:	8b c7                	mov    %edi,%eax
5f5a50:	e8 6b 24 e1 ff       	call   0x407ec0
5f5a55:	03 fd                	add    %ebp,%edi
5f5a57:	ff 44 24 08          	incl   0x8(%esp)
5f5a5b:	4e                   	dec    %esi
5f5a5c:	75 de                	jne    0x5f5a3c
5f5a5e:	8b c3                	mov    %ebx,%eax
5f5a60:	8b 10                	mov    (%eax),%edx
5f5a62:	ff 52 0c             	call   *0xc(%edx)
5f5a65:	b9 20 00 00 00       	mov    $0x20,%ecx
5f5a6a:	ba 08 00 00 00       	mov    $0x8,%edx
5f5a6f:	e8 6c b0 ff ff       	call   0x5f0ae0
5f5a74:	8b e8                	mov    %eax,%ebp
5f5a76:	8b c3                	mov    %ebx,%eax
5f5a78:	e8 8b 1e 00 00       	call   0x5f7908
5f5a7d:	84 c0                	test   %al,%al
5f5a7f:	74 51                	je     0x5f5ad2
5f5a81:	8b c3                	mov    %ebx,%eax
5f5a83:	e8 50 1e 00 00       	call   0x5f78d8
5f5a88:	8a 40 43             	mov    0x43(%eax),%al
5f5a8b:	88 07                	mov    %al,(%edi)
5f5a8d:	47                   	inc    %edi
5f5a8e:	8b c3                	mov    %ebx,%eax
5f5a90:	8b 10                	mov    (%eax),%edx
5f5a92:	ff 52 08             	call   *0x8(%edx)
5f5a95:	8b f0                	mov    %eax,%esi
5f5a97:	4e                   	dec    %esi
5f5a98:	85 f6                	test   %esi,%esi
5f5a9a:	7c 36                	jl     0x5f5ad2
5f5a9c:	46                   	inc    %esi
5f5a9d:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
5f5aa4:	00
5f5aa5:	8b c3                	mov    %ebx,%eax
5f5aa7:	8b 10                	mov    (%eax),%edx
5f5aa9:	ff 52 08             	call   *0x8(%edx)
5f5aac:	2b 44 24 08          	sub    0x8(%esp),%eax
5f5ab0:	48                   	dec    %eax
5f5ab1:	50                   	push   %eax
5f5ab2:	8b c3                	mov    %ebx,%eax
5f5ab4:	e8 1f 1e 00 00       	call   0x5f78d8
5f5ab9:	5a                   	pop    %edx
5f5aba:	8b 08                	mov    (%eax),%ecx
5f5abc:	ff 11                	call   *(%ecx)
5f5abe:	8b d0                	mov    %eax,%edx
5f5ac0:	8b cd                	mov    %ebp,%ecx
5f5ac2:	8b c7                	mov    %edi,%eax
5f5ac4:	e8 f7 23 e1 ff       	call   0x407ec0
5f5ac9:	03 fd                	add    %ebp,%edi
5f5acb:	ff 44 24 08          	incl   0x8(%esp)
5f5acf:	4e                   	dec    %esi
5f5ad0:	75 d3                	jne    0x5f5aa5
5f5ad2:	83 c4 10             	add    $0x10,%esp
5f5ad5:	5d                   	pop    %ebp
5f5ad6:	5f                   	pop    %edi
5f5ad7:	5e                   	pop    %esi
5f5ad8:	5b                   	pop    %ebx
5f5ad9:	c3                   	ret
5f5ada:	00 00                	add    %al,(%eax)
5f5adc:	03 00                	add    (%eax),%eax
5f5ade:	00 00                	add    %al,(%eax)
5f5ae0:	53                   	push   %ebx
5f5ae1:	56                   	push   %esi
5f5ae2:	57                   	push   %edi
5f5ae3:	55                   	push   %ebp
5f5ae4:	51                   	push   %ecx
5f5ae5:	8b ea                	mov    %edx,%ebp
5f5ae7:	8b f8                	mov    %eax,%edi
5f5ae9:	c7 04 24 ff ff ff ff 	movl   $0xffffffff,(%esp)
5f5af0:	8b 47 34             	mov    0x34(%edi),%eax
5f5af3:	8b 70 08             	mov    0x8(%eax),%esi
5f5af6:	4e                   	dec    %esi
5f5af7:	85 f6                	test   %esi,%esi
5f5af9:	7c 1a                	jl     0x5f5b15
5f5afb:	46                   	inc    %esi
5f5afc:	33 db                	xor    %ebx,%ebx
5f5afe:	8b 47 34             	mov    0x34(%edi),%eax
5f5b01:	8b d3                	mov    %ebx,%edx
5f5b03:	e8 b8 62 e2 ff       	call   0x41bdc0
5f5b08:	3b 28                	cmp    (%eax),%ebp
5f5b0a:	75 05                	jne    0x5f5b11
5f5b0c:	89 1c 24             	mov    %ebx,(%esp)
5f5b0f:	eb 04                	jmp    0x5f5b15
5f5b11:	43                   	inc    %ebx
5f5b12:	4e                   	dec    %esi
5f5b13:	75 e9                	jne    0x5f5afe
5f5b15:	8b 04 24             	mov    (%esp),%eax
5f5b18:	5a                   	pop    %edx
5f5b19:	5d                   	pop    %ebp
5f5b1a:	5f                   	pop    %edi
5f5b1b:	5e                   	pop    %esi
5f5b1c:	5b                   	pop    %ebx
5f5b1d:	c3                   	ret
5f5b1e:	8b c0                	mov    %eax,%eax
5f5b20:	53                   	push   %ebx
5f5b21:	56                   	push   %esi
5f5b22:	57                   	push   %edi
5f5b23:	8b da                	mov    %edx,%ebx
5f5b25:	8b f0                	mov    %eax,%esi
5f5b27:	33 ff                	xor    %edi,%edi
5f5b29:	8a 0d a4 5b 5f 00    	mov    0x5f5ba4,%cl
5f5b2f:	8b d3                	mov    %ebx,%edx
5f5b31:	8b c6                	mov    %esi,%eax
5f5b33:	e8 a8 f8 ff ff       	call   0x5f53e0
5f5b38:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
5f5b3c:	74 5e                	je     0x5f5b9c
5f5b3e:	8b d3                	mov    %ebx,%edx
5f5b40:	8b c6                	mov    %esi,%eax
5f5b42:	e8 99 ff ff ff       	call   0x5f5ae0
5f5b47:	8b f8                	mov    %eax,%edi
5f5b49:	85 ff                	test   %edi,%edi
5f5b4b:	7d 3b                	jge    0x5f5b88
5f5b4d:	b2 01                	mov    $0x1,%dl
5f5b4f:	a1 18 ff 5e 00       	mov    0x5eff18,%eax
5f5b54:	e8 4b 1a 00 00       	call   0x5f75a4
5f5b59:	8b f8                	mov    %eax,%edi
5f5b5b:	b8 0c 00 00 00       	mov    $0xc,%eax
5f5b60:	e8 47 cc e0 ff       	call   0x4027ac
5f5b65:	89 18                	mov    %ebx,(%eax)
5f5b67:	89 78 04             	mov    %edi,0x4(%eax)
5f5b6a:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
5f5b71:	8b d0                	mov    %eax,%edx
5f5b73:	8b 46 34             	mov    0x34(%esi),%eax
5f5b76:	e8 99 60 e2 ff       	call   0x41bc14
5f5b7b:	8b cf                	mov    %edi,%ecx
5f5b7d:	8b d3                	mov    %ebx,%edx
5f5b7f:	8b c6                	mov    %esi,%eax
5f5b81:	e8 8e fc ff ff       	call   0x5f5814
5f5b86:	eb 10                	jmp    0x5f5b98
5f5b88:	8b d7                	mov    %edi,%edx
5f5b8a:	8b 46 34             	mov    0x34(%esi),%eax
5f5b8d:	e8 2e 62 e2 ff       	call   0x41bdc0
5f5b92:	ff 40 08             	incl   0x8(%eax)
5f5b95:	8b 78 04             	mov    0x4(%eax),%edi
5f5b98:	c6 43 1c 01          	movb   $0x1,0x1c(%ebx)
5f5b9c:	8b c7                	mov    %edi,%eax
5f5b9e:	5f                   	pop    %edi
5f5b9f:	5e                   	pop    %esi
5f5ba0:	5b                   	pop    %ebx
5f5ba1:	c3                   	ret
5f5ba2:	00 00                	add    %al,(%eax)
5f5ba4:	01 00                	add    %eax,(%eax)
5f5ba6:	00 00                	add    %al,(%eax)
5f5ba8:	53                   	push   %ebx
5f5ba9:	56                   	push   %esi
5f5baa:	57                   	push   %edi
5f5bab:	55                   	push   %ebp
5f5bac:	83 c4 f8             	add    $0xfffffff8,%esp
5f5baf:	88 0c 24             	mov    %cl,(%esp)
5f5bb2:	8b ea                	mov    %edx,%ebp
5f5bb4:	8b f8                	mov    %eax,%edi
5f5bb6:	85 ed                	test   %ebp,%ebp
5f5bb8:	0f 84 90 00 00 00    	je     0x5f5c4e
5f5bbe:	80 7d 42 02          	cmpb   $0x2,0x42(%ebp)
5f5bc2:	75 07                	jne    0x5f5bcb
5f5bc4:	8b c5                	mov    %ebp,%eax
5f5bc6:	e8 f1 1a 00 00       	call   0x5f76bc
5f5bcb:	c7 44 24 04 ff ff ff 	movl   $0xffffffff,0x4(%esp)
5f5bd2:	ff
5f5bd3:	8b 47 34             	mov    0x34(%edi),%eax
5f5bd6:	8b 70 08             	mov    0x8(%eax),%esi
5f5bd9:	4e                   	dec    %esi
5f5bda:	85 f6                	test   %esi,%esi
5f5bdc:	7c 1c                	jl     0x5f5bfa
5f5bde:	46                   	inc    %esi
5f5bdf:	33 db                	xor    %ebx,%ebx
5f5be1:	8b 47 34             	mov    0x34(%edi),%eax
5f5be4:	8b d3                	mov    %ebx,%edx
5f5be6:	e8 d5 61 e2 ff       	call   0x41bdc0
5f5beb:	3b 68 04             	cmp    0x4(%eax),%ebp
5f5bee:	75 06                	jne    0x5f5bf6
5f5bf0:	89 5c 24 04          	mov    %ebx,0x4(%esp)
5f5bf4:	eb 04                	jmp    0x5f5bfa
5f5bf6:	43                   	inc    %ebx
5f5bf7:	4e                   	dec    %esi
5f5bf8:	75 e7                	jne    0x5f5be1
5f5bfa:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
5f5bff:	7c 4d                	jl     0x5f5c4e
5f5c01:	8b 47 34             	mov    0x34(%edi),%eax
5f5c04:	8b 54 24 04          	mov    0x4(%esp),%edx
5f5c08:	e8 b3 61 e2 ff       	call   0x41bdc0
5f5c0d:	8b d8                	mov    %eax,%ebx
5f5c0f:	ff 4b 08             	decl   0x8(%ebx)
5f5c12:	80 3c 24 00          	cmpb   $0x0,(%esp)
5f5c16:	74 0b                	je     0x5f5c23
5f5c18:	8b 13                	mov    (%ebx),%edx
5f5c1a:	8b cd                	mov    %ebp,%ecx
5f5c1c:	8b c7                	mov    %edi,%eax
5f5c1e:	e8 3d fd ff ff       	call   0x5f5960
5f5c23:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
5f5c27:	75 25                	jne    0x5f5c4e
5f5c29:	8b 03                	mov    (%ebx),%eax
5f5c2b:	c6 40 1c 00          	movb   $0x0,0x1c(%eax)
5f5c2f:	8b c5                	mov    %ebp,%eax
5f5c31:	e8 42 de e0 ff       	call   0x403a78
5f5c36:	ba 0c 00 00 00       	mov    $0xc,%edx
5f5c3b:	8b c3                	mov    %ebx,%eax
5f5c3d:	e8 8a cb e0 ff       	call   0x4027cc
5f5c42:	8b 47 34             	mov    0x34(%edi),%eax
5f5c45:	8b 54 24 04          	mov    0x4(%esp),%edx
5f5c49:	e8 12 60 e2 ff       	call   0x41bc60
5f5c4e:	59                   	pop    %ecx
5f5c4f:	5a                   	pop    %edx
5f5c50:	5d                   	pop    %ebp
5f5c51:	5f                   	pop    %edi
5f5c52:	5e                   	pop    %esi
5f5c53:	5b                   	pop    %ebx
5f5c54:	c3                   	ret
5f5c55:	8d 40 00             	lea    0x0(%eax),%eax
5f5c58:	53                   	push   %ebx
5f5c59:	56                   	push   %esi
5f5c5a:	57                   	push   %edi
5f5c5b:	55                   	push   %ebp
5f5c5c:	83 c4 f8             	add    $0xfffffff8,%esp
5f5c5f:	88 4c 24 04          	mov    %cl,0x4(%esp)
5f5c63:	89 14 24             	mov    %edx,(%esp)
5f5c66:	8b f8                	mov    %eax,%edi
5f5c68:	83 cd ff             	or     $0xffffffff,%ebp
5f5c6b:	8b 47 34             	mov    0x34(%edi),%eax
5f5c6e:	8b 70 08             	mov    0x8(%eax),%esi
5f5c71:	4e                   	dec    %esi
5f5c72:	85 f6                	test   %esi,%esi
5f5c74:	7c 1c                	jl     0x5f5c92
5f5c76:	46                   	inc    %esi
5f5c77:	33 db                	xor    %ebx,%ebx
5f5c79:	8b 47 34             	mov    0x34(%edi),%eax
5f5c7c:	8b d3                	mov    %ebx,%edx
5f5c7e:	e8 3d 61 e2 ff       	call   0x41bdc0
5f5c83:	8b 00                	mov    (%eax),%eax
5f5c85:	3b 04 24             	cmp    (%esp),%eax
5f5c88:	75 04                	jne    0x5f5c8e
5f5c8a:	8b eb                	mov    %ebx,%ebp
5f5c8c:	eb 04                	jmp    0x5f5c92
5f5c8e:	43                   	inc    %ebx
5f5c8f:	4e                   	dec    %esi
5f5c90:	75 e7                	jne    0x5f5c79
5f5c92:	85 ed                	test   %ebp,%ebp
5f5c94:	7c 18                	jl     0x5f5cae
5f5c96:	8b 47 34             	mov    0x34(%edi),%eax
5f5c99:	8b d5                	mov    %ebp,%edx
5f5c9b:	e8 20 61 e2 ff       	call   0x41bdc0
5f5ca0:	8b 50 04             	mov    0x4(%eax),%edx
5f5ca3:	8a 4c 24 04          	mov    0x4(%esp),%cl
5f5ca7:	8b c7                	mov    %edi,%eax
5f5ca9:	e8 fa fe ff ff       	call   0x5f5ba8
5f5cae:	59                   	pop    %ecx
5f5caf:	5a                   	pop    %edx
5f5cb0:	5d                   	pop    %ebp
5f5cb1:	5f                   	pop    %edi
5f5cb2:	5e                   	pop    %esi
5f5cb3:	5b                   	pop    %ebx
5f5cb4:	c3                   	ret
5f5cb5:	8d 40 00             	lea    0x0(%eax),%eax
5f5cb8:	53                   	push   %ebx
5f5cb9:	56                   	push   %esi
5f5cba:	8b d8                	mov    %eax,%ebx
5f5cbc:	8b c2                	mov    %edx,%eax
5f5cbe:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
5f5cc2:	74 1e                	je     0x5f5ce2
5f5cc4:	8b c3                	mov    %ebx,%eax
5f5cc6:	e8 15 fe ff ff       	call   0x5f5ae0
5f5ccb:	8b f0                	mov    %eax,%esi
5f5ccd:	8b d6                	mov    %esi,%edx
5f5ccf:	8b 43 34             	mov    0x34(%ebx),%eax
5f5cd2:	e8 e9 60 e2 ff       	call   0x41bdc0
5f5cd7:	8b 40 04             	mov    0x4(%eax),%eax
5f5cda:	8b 10                	mov    (%eax),%edx
5f5cdc:	ff 52 0c             	call   *0xc(%edx)
5f5cdf:	5e                   	pop    %esi
5f5ce0:	5b                   	pop    %ebx
5f5ce1:	c3                   	ret
5f5ce2:	8b 40 2c             	mov    0x2c(%eax),%eax
5f5ce5:	5e                   	pop    %esi
5f5ce6:	5b                   	pop    %ebx
5f5ce7:	c3                   	ret
5f5ce8:	53                   	push   %ebx
5f5ce9:	56                   	push   %esi
5f5cea:	8b d8                	mov    %eax,%ebx
5f5cec:	8b c2                	mov    %edx,%eax
5f5cee:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
5f5cf2:	74 1e                	je     0x5f5d12
5f5cf4:	8b c3                	mov    %ebx,%eax
5f5cf6:	e8 e5 fd ff ff       	call   0x5f5ae0
5f5cfb:	8b f0                	mov    %eax,%esi
5f5cfd:	8b d6                	mov    %esi,%edx
5f5cff:	8b 43 34             	mov    0x34(%ebx),%eax
5f5d02:	e8 b9 60 e2 ff       	call   0x41bdc0
5f5d07:	8b 40 04             	mov    0x4(%eax),%eax
5f5d0a:	8b 10                	mov    (%eax),%edx
5f5d0c:	ff 52 08             	call   *0x8(%edx)
5f5d0f:	5e                   	pop    %esi
5f5d10:	5b                   	pop    %ebx
5f5d11:	c3                   	ret
5f5d12:	8b 40 30             	mov    0x30(%eax),%eax
5f5d15:	5e                   	pop    %esi
5f5d16:	5b                   	pop    %ebx
5f5d17:	c3                   	ret
5f5d18:	8b 42 20             	mov    0x20(%edx),%eax
5f5d1b:	c3                   	ret
5f5d1c:	8b 42 24             	mov    0x24(%edx),%eax
5f5d1f:	c3                   	ret
5f5d20:	89 4a 20             	mov    %ecx,0x20(%edx)
5f5d23:	c3                   	ret
5f5d24:	89 4a 24             	mov    %ecx,0x24(%edx)
5f5d27:	c3                   	ret
5f5d28:	53                   	push   %ebx
5f5d29:	56                   	push   %esi
5f5d2a:	8b d8                	mov    %eax,%ebx
5f5d2c:	8b c2                	mov    %edx,%eax