5f5904:	85 db                	test   %ebx,%ebx
5f5906:	0f 84 b3 00 00 00    	je     0x5f59bf
5f590c:	8b 4d cc             	mov    -0x34(%ebp),%ecx
5f590f:	33 ff                	xor    %edi,%edi
5f5911:	33 f6                	xor    %esi,%esi
5f5913:	85 c9                	test   %ecx,%ecx
5f5915:	74 55                	je     0x5f596c
5f5917:	8b 45 0c             	mov    0xc(%ebp),%eax
5f591a:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
5f591d:	83 c0 04             	add    $0x4,%eax
5f5920:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f5923:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5f5926:	8b 00                	mov    (%eax),%eax
5f5928:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f592b:	8b 45 c0             	mov    -0x40(%ebp),%eax
5f592e:	f7 65 f8             	mull   -0x8(%ebp)
5f5931:	8b c8                	mov    %eax,%ecx
5f5933:	8b 45 bc             	mov    -0x44(%ebp),%eax
5f5936:	f7 65 f8             	mull   -0x8(%ebp)
5f5939:	03 d1                	add    %ecx,%edx
5f593b:	03 f8                	add    %eax,%edi
5f593d:	8b 03                	mov    (%ebx),%eax
5f593f:	8b cf                	mov    %edi,%ecx
5f5941:	13 f2                	adc    %edx,%esi
5f5943:	8b fe                	mov    %esi,%edi
5f5945:	33 f6                	xor    %esi,%esi
5f5947:	3b c1                	cmp    %ecx,%eax
5f5949:	73 05                	jae    0x5f5950
5f594b:	83 c7 01             	add    $0x1,%edi
5f594e:	13 f6                	adc    %esi,%esi
5f5950:	2b c1                	sub    %ecx,%eax
5f5952:	89 03                	mov    %eax,(%ebx)
5f5954:	83 c3 04             	add    $0x4,%ebx
5f5957:	8b 45 dc             	mov    -0x24(%ebp),%eax
5f595a:	83 c0 04             	add    $0x4,%eax
5f595d:	83 6d ec 01          	subl   $0x1,-0x14(%ebp)
5f5961:	89 45 dc             	mov    %eax,-0x24(%ebp)
5f5964:	75 c0                	jne    0x5f5926
5f5966:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5f5969:	8b 4d cc             	mov    -0x34(%ebp),%ecx
5f596c:	33 c0                	xor    %eax,%eax
5f596e:	3b c6                	cmp    %esi,%eax
5f5970:	77 46                	ja     0x5f59b8
5f5972:	72 05                	jb     0x5f5979
5f5974:	39 7d b8             	cmp    %edi,-0x48(%ebp)
5f5977:	73 3f                	jae    0x5f59b8
5f5979:	85 c9                	test   %ecx,%ecx
5f597b:	74 34                	je     0x5f59b1
5f597d:	8b 75 0c             	mov    0xc(%ebp),%esi
5f5980:	33 db                	xor    %ebx,%ebx
5f5982:	8b 55 c4             	mov    -0x3c(%ebp),%edx
5f5985:	83 c6 04             	add    $0x4,%esi
5f5988:	8b f9                	mov    %ecx,%edi
5f598a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5f5990:	8b 0a                	mov    (%edx),%ecx
5f5992:	8d 76 04             	lea    0x4(%esi),%esi
5f5995:	33 c0                	xor    %eax,%eax
5f5997:	8d 52 04             	lea    0x4(%edx),%edx
5f599a:	03 4e fc             	add    -0x4(%esi),%ecx
5f599d:	13 c0                	adc    %eax,%eax
5f599f:	03 cb                	add    %ebx,%ecx
5f59a1:	89 4a fc             	mov    %ecx,-0x4(%edx)
5f59a4:	83 d0 00             	adc    $0x0,%eax
5f59a7:	8b d8                	mov    %eax,%ebx
5f59a9:	83 ef 01             	sub    $0x1,%edi
5f59ac:	75 e2                	jne    0x5f5990
5f59ae:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5f59b1:	83 c3 ff             	add    $0xffffffff,%ebx
5f59b4:	83 55 f0 ff          	adcl   $0xffffffff,-0x10(%ebp)
5f59b8:	8b 45 c8             	mov    -0x38(%ebp),%eax
5f59bb:	48                   	dec    %eax
5f59bc:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f59bf:	8b 75 e4             	mov    -0x1c(%ebp),%esi
5f59c2:	33 c0                	xor    %eax,%eax
5f59c4:	8b 55 e8             	mov    -0x18(%ebp),%edx
5f59c7:	03 c3                	add    %ebx,%eax
5f59c9:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
5f59cc:	8b 5d 08             	mov    0x8(%ebp),%ebx
5f59cf:	83 d6 00             	adc    $0x0,%esi
5f59d2:	83 6d c4 04          	subl   $0x4,-0x3c(%ebp)
5f59d6:	4a                   	dec    %edx
5f59d7:	8b 7d f4             	mov    -0xc(%ebp),%edi
5f59da:	83 e9 04             	sub    $0x4,%ecx
5f59dd:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5f59e0:	8b 45 c8             	mov    -0x38(%ebp),%eax
5f59e3:	48                   	dec    %eax
5f59e4:	89 55 e8             	mov    %edx,-0x18(%ebp)
5f59e7:	89 45 c8             	mov    %eax,-0x38(%ebp)
5f59ea:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
5f59ed:	85 d2                	test   %edx,%edx
5f59ef:	0f 89 ed fd ff ff    	jns    0x5f57e2
5f59f5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f59f8:	8b 5d 08             	mov    0x8(%ebp),%ebx
5f59fb:	41                   	inc    %ecx
5f59fc:	8b c1                	mov    %ecx,%eax
5f59fe:	3b 03                	cmp    (%ebx),%eax
5f5a00:	73 1c                	jae    0x5f5a1e
5f5a02:	8d 53 04             	lea    0x4(%ebx),%edx
5f5a05:	8d 14 82             	lea    (%edx,%eax,4),%edx
5f5a08:	eb 06                	jmp    0x5f5a10
5f5a0a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5f5a10:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
5f5a16:	8d 52 04             	lea    0x4(%edx),%edx
5f5a19:	40                   	inc    %eax
5f5a1a:	3b 03                	cmp    (%ebx),%eax
5f5a1c:	72 f2                	jb     0x5f5a10
5f5a1e:	89 0b                	mov    %ecx,(%ebx)
5f5a20:	85 c9                	test   %ecx,%ecx
5f5a22:	74 0d                	je     0x5f5a31
5f5a24:	83 3c 8b 00          	cmpl   $0x0,(%ebx,%ecx,4)
5f5a28:	75 07                	jne    0x5f5a31
5f5a2a:	83 c1 ff             	add    $0xffffffff,%ecx
5f5a2d:	89 0b                	mov    %ecx,(%ebx)
5f5a2f:	75 f3                	jne    0x5f5a24
5f5a31:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5f5a34:	8b d6                	mov    %esi,%edx
5f5a36:	5f                   	pop    %edi
5f5a37:	5e                   	pop    %esi
5f5a38:	5b                   	pop    %ebx
5f5a39:	8b e5                	mov    %ebp,%esp
5f5a3b:	5d                   	pop    %ebp
5f5a3c:	c3                   	ret
5f5a3d:	5f                   	pop    %edi
5f5a3e:	5e                   	pop    %esi
5f5a3f:	33 c0                	xor    %eax,%eax
5f5a41:	33 d2                	xor    %edx,%edx
5f5a43:	5b                   	pop    %ebx
5f5a44:	8b e5                	mov    %ebp,%esp
5f5a46:	5d                   	pop    %ebp
5f5a47:	c3                   	ret
5f5a48:	8b 51 10             	mov    0x10(%ecx),%edx
5f5a4b:	8b 41 08             	mov    0x8(%ecx),%eax
5f5a4e:	83 c2 01             	add    $0x1,%edx
5f5a51:	56                   	push   %esi
5f5a52:	8b 71 14             	mov    0x14(%ecx),%esi
5f5a55:	83 d6 00             	adc    $0x0,%esi
5f5a58:	89 51 10             	mov    %edx,0x10(%ecx)
5f5a5b:	0b 41 0c             	or     0xc(%ecx),%eax
5f5a5e:	89 71 14             	mov    %esi,0x14(%ecx)
5f5a61:	74 0c                	je     0x5f5a6f
5f5a63:	3b 71 0c             	cmp    0xc(%ecx),%esi
5f5a66:	77 13                	ja     0x5f5a7b
5f5a68:	72 05                	jb     0x5f5a6f
5f5a6a:	3b 51 08             	cmp    0x8(%ecx),%edx
5f5a6d:	77 0c                	ja     0x5f5a7b
5f5a6f:	8b 09                	mov    (%ecx),%ecx
5f5a71:	e8 09 00 00 00       	call   0x5f5a7f
5f5a76:	83 f8 ff             	cmp    $0xffffffff,%eax
5f5a79:	75 02                	jne    0x5f5a7d
5f5a7b:	32 c0                	xor    %al,%al
5f5a7d:	5e                   	pop    %esi
5f5a7e:	c3                   	ret
5f5a7f:	8b d1                	mov    %ecx,%edx
5f5a81:	8b 4a 08             	mov    0x8(%edx),%ecx
5f5a84:	3b 4a 04             	cmp    0x4(%edx),%ecx
5f5a87:	75 04                	jne    0x5f5a8d
5f5a89:	83 c8 ff             	or     $0xffffffff,%eax
5f5a8c:	c3                   	ret
5f5a8d:	0f b6 01             	movzbl (%ecx),%eax
5f5a90:	41                   	inc    %ecx
5f5a91:	89 4a 08             	mov    %ecx,0x8(%edx)
5f5a94:	c3                   	ret
5f5a95:	8d 41 20             	lea    0x20(%ecx),%eax
5f5a98:	33 d2                	xor    %edx,%edx
5f5a9a:	3b c1                	cmp    %ecx,%eax
5f5a9c:	56                   	push   %esi
5f5a9d:	1b f6                	sbb    %esi,%esi
5f5a9f:	83 e6 e0             	and    $0xffffffe0,%esi
5f5aa2:	83 c6 20             	add    $0x20,%esi
5f5aa5:	3b c8                	cmp    %eax,%ecx
5f5aa7:	77 08                	ja     0x5f5ab1
5f5aa9:	f6 11                	notb   (%ecx)
5f5aab:	41                   	inc    %ecx
5f5aac:	42                   	inc    %edx
5f5aad:	3b d6                	cmp    %esi,%edx
5f5aaf:	75 f8                	jne    0x5f5aa9
5f5ab1:	5e                   	pop    %esi
5f5ab2:	c3                   	ret
5f5ab3:	8b ff                	mov    %edi,%edi
5f5ab5:	55                   	push   %ebp
5f5ab6:	8b ec                	mov    %esp,%ebp
5f5ab8:	8b 55 0c             	mov    0xc(%ebp),%edx
5f5abb:	56                   	push   %esi
5f5abc:	8b f1                	mov    %ecx,%esi
5f5abe:	83 fa ff             	cmp    $0xffffffff,%edx
5f5ac1:	74 26                	je     0x5f5ae9
5f5ac3:	8b 45 08             	mov    0x8(%ebp),%eax
5f5ac6:	83 e8 00             	sub    $0x0,%eax
5f5ac9:	74 34                	je     0x5f5aff
5f5acb:	83 e8 01             	sub    $0x1,%eax
5f5ace:	74 20                	je     0x5f5af0
5f5ad0:	83 e8 07             	sub    $0x7,%eax
5f5ad3:	75 14                	jne    0x5f5ae9
5f5ad5:	0f b6 d2             	movzbl %dl,%edx
5f5ad8:	40                   	inc    %eax
5f5ad9:	8b ca                	mov    %edx,%ecx
5f5adb:	c1 ea 03             	shr    $0x3,%edx
5f5ade:	83 e1 07             	and    $0x7,%ecx
5f5ae1:	d3 e0                	shl    %cl,%eax
5f5ae3:	84 44 32 44          	test   %al,0x44(%edx,%esi,1)
5f5ae7:	75 16                	jne    0x5f5aff
5f5ae9:	32 c0                	xor    %al,%al
5f5aeb:	5e                   	pop    %esi
5f5aec:	5d                   	pop    %ebp
5f5aed:	c2 08 00             	ret    $0x8
5f5af0:	83 fa 09             	cmp    $0x9,%edx
5f5af3:	7c 05                	jl     0x5f5afa
5f5af5:	83 fa 0d             	cmp    $0xd,%edx
5f5af8:	7e ef                	jle    0x5f5ae9
5f5afa:	83 fa 20             	cmp    $0x20,%edx
5f5afd:	74 ea                	je     0x5f5ae9
5f5aff:	b0 01                	mov    $0x1,%al
5f5b01:	eb e8                	jmp    0x5f5aeb
5f5b03:	8b 41 28             	mov    0x28(%ecx),%eax
5f5b06:	85 c0                	test   %eax,%eax
5f5b08:	78 19                	js     0x5f5b23
5f5b0a:	83 f8 01             	cmp    $0x1,%eax
5f5b0d:	7e 2b                	jle    0x5f5b3a
5f5b0f:	83 f8 06             	cmp    $0x6,%eax
5f5b12:	7e 1c                	jle    0x5f5b30
5f5b14:	83 f8 07             	cmp    $0x7,%eax
5f5b17:	74 0d                	je     0x5f5b26
5f5b19:	83 f8 08             	cmp    $0x8,%eax
5f5b1c:	74 1c                	je     0x5f5b3a
5f5b1e:	83 f8 09             	cmp    $0x9,%eax
5f5b21:	74 0d                	je     0x5f5b30
5f5b23:	33 c0                	xor    %eax,%eax
5f5b25:	c3                   	ret
5f5b26:	ff 71 20             	push   0x20(%ecx)
5f5b29:	e8 03 08 00 00       	call   0x5f6331
5f5b2e:	eb 08                	jmp    0x5f5b38
5f5b30:	ff 71 20             	push   0x20(%ecx)
5f5b33:	e8 1c 08 00 00       	call   0x5f6354
5f5b38:	59                   	pop    %ecx
5f5b39:	c3                   	ret
5f5b3a:	33 c0                	xor    %eax,%eax
5f5b3c:	38 41 24             	cmp    %al,0x24(%ecx)
5f5b3f:	0f 95 c0             	setne  %al
5f5b42:	40                   	inc    %eax
5f5b43:	c3                   	ret
5f5b44:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
5f5b48:	74 09                	je     0x5f5b53
5f5b4a:	83 c8 ff             	or     $0xffffffff,%eax
5f5b4d:	ba ff ff 1f 00       	mov    $0x1fffff,%edx
5f5b52:	c3                   	ret
5f5b53:	b8 ff ff ff 00       	mov    $0xffffff,%eax
5f5b58:	33 d2                	xor    %edx,%edx
5f5b5a:	c3                   	ret
5f5b5b:	8b ff                	mov    %edi,%edi
5f5b5d:	53                   	push   %ebx
5f5b5e:	56                   	push   %esi
5f5b5f:	8b f1                	mov    %ecx,%esi
5f5b61:	57                   	push   %edi
5f5b62:	8d 5e 08             	lea    0x8(%esi),%ebx
5f5b65:	8b cb                	mov    %ebx,%ecx
5f5b67:	e8 de 08 00 00       	call   0x5f644a
5f5b6c:	84 c0                	test   %al,%al
5f5b6e:	74 0e                	je     0x5f5b7e
5f5b70:	8d 7e 18             	lea    0x18(%esi),%edi
5f5b73:	8b cf                	mov    %edi,%ecx
5f5b75:	e8 93 08 00 00       	call   0x5f640d
5f5b7a:	84 c0                	test   %al,%al
5f5b7c:	75 12                	jne    0x5f5b90
5f5b7e:	83 c8 ff             	or     $0xffffffff,%eax
5f5b81:	5f                   	pop    %edi
5f5b82:	5e                   	pop    %esi
5f5b83:	5b                   	pop    %ebx
5f5b84:	c3                   	ret
5f5b85:	8b ce                	mov    %esi,%ecx
5f5b87:	e8 f5 01 00 00       	call   0x5f5d81
5f5b8c:	84 c0                	test   %al,%al
5f5b8e:	74 0b                	je     0x5f5b9b
5f5b90:	8b cf                	mov    %edi,%ecx
5f5b92:	e8 5f d5 ff ff       	call   0x5f30f6
5f5b97:	84 c0                	test   %al,%al
5f5b99:	75 ea                	jne    0x5f5b85
5f5b9b:	8b 7e 70             	mov    0x70(%esi),%edi
5f5b9e:	85 ff                	test   %edi,%edi
5f5ba0:	75 1c                	jne    0x5f5bbe
5f5ba2:	83 7e 28 01          	cmpl   $0x1,0x28(%esi)
5f5ba6:	74 16                	je     0x5f5bbe
5f5ba8:	8b cb                	mov    %ebx,%ecx
5f5baa:	e8 d0 fe ff ff       	call   0x5f5a7f
5f5baf:	83 f8 ff             	cmp    $0xffffffff,%eax
5f5bb2:	75 02                	jne    0x5f5bb6
5f5bb4:	0b f8                	or     %eax,%edi
5f5bb6:	50                   	push   %eax
5f5bb7:	8b cb                	mov    %ebx,%ecx
5f5bb9:	e8 30 08 00 00       	call   0x5f63ee
5f5bbe:	8b 06                	mov    (%esi),%eax
5f5bc0:	83 e0 01             	and    $0x1,%eax
5f5bc3:	83 c8 00             	or     $0x0,%eax
5f5bc6:	74 13                	je     0x5f5bdb
5f5bc8:	8b 76 24             	mov    0x24(%esi),%esi
5f5bcb:	85 f6                	test   %esi,%esi
5f5bcd:	74 0c                	je     0x5f5bdb
5f5bcf:	e8 25 74 ff ff       	call   0x5ecff9
5f5bd4:	89 30                	mov    %esi,(%eax)
5f5bd6:	e8 44 73 ff ff       	call   0x5ecf1f
5f5bdb:	8b c7                	mov    %edi,%eax
5f5bdd:	eb a2                	jmp    0x5f5b81
5f5bdf:	80 79 2e 00          	cmpb   $0x0,0x2e(%ecx)
5f5be3:	74 03                	je     0x5f5be8
5f5be5:	b0 01                	mov    $0x1,%al
5f5be7:	c3                   	ret
5f5be8:	8b 41 10             	mov    0x10(%ecx),%eax
5f5beb:	2b 41 08             	sub    0x8(%ecx),%eax
5f5bee:	6a 00                	push   $0x0
5f5bf0:	50                   	push   %eax
5f5bf1:	e8 e3 08 00 00       	call   0x5f64d9
5f5bf6:	c3                   	ret
5f5bf7:	8b 41 40             	mov    0x40(%ecx),%eax
5f5bfa:	83 f8 09             	cmp    $0x9,%eax
5f5bfd:	77 41                	ja     0x5f5c40
5f5bff:	ff 24 85 43 5c 5f 00 	jmp    *0x5f5c43(,%eax,4)
5f5c06:	6a 00                	push   $0x0
5f5c08:	e8 b6 01 00 00       	call   0x5f5dc3
5f5c0d:	c3                   	ret
5f5c0e:	6a 01                	push   $0x1
5f5c10:	eb f6                	jmp    0x5f5c08
5f5c12:	6a 08                	push   $0x8
5f5c14:	eb f2                	jmp    0x5f5c08
5f5c16:	6a 01                	push   $0x1
5f5c18:	6a 00                	push   $0x0
5f5c1a:	e8 7c 00 00 00       	call   0x5f5c9b
5f5c1f:	c3                   	ret
5f5c20:	6a 01                	push   $0x1
5f5c22:	6a 0a                	push   $0xa
5f5c24:	eb f4                	jmp    0x5f5c1a
5f5c26:	6a 00                	push   $0x0
5f5c28:	6a 08                	push   $0x8
5f5c2a:	eb ee                	jmp    0x5f5c1a
5f5c2c:	6a 00                	push   $0x0
5f5c2e:	eb f2                	jmp    0x5f5c22
5f5c30:	6a 00                	push   $0x0
5f5c32:	6a 10                	push   $0x10
5f5c34:	eb e4                	jmp    0x5f5c1a
5f5c36:	e9 30 00 00 00       	jmp    0x5f5c6b
5f5c3b:	e9 9f ff ff ff       	jmp    0x5f5bdf
5f5c40:	32 c0                	xor    %al,%al
5f5c42:	c3                   	ret
5f5c43:	06                   	push   %es
5f5c44:	5c                   	pop    %esp
5f5c45:	5f                   	pop    %edi
5f5c46:	00 0e                	add    %cl,(%esi)
5f5c48:	5c                   	pop    %esp
5f5c49:	5f                   	pop    %edi
5f5c4a:	00 16                	add    %dl,(%esi)
5f5c4c:	5c                   	pop    %esp
5f5c4d:	5f                   	pop    %edi