411afc:	74 03                	je     0x411b01
411afe:	47                   	inc    %edi
411aff:	eb 02                	jmp    0x411b03
411b01:	b3 30                	mov    $0x30,%bl
411b03:	88 18                	mov    %bl,(%eax)
411b05:	40                   	inc    %eax
411b06:	49                   	dec    %ecx
411b07:	85 c9                	test   %ecx,%ecx
411b09:	7f ed                	jg     0x411af8
411b0b:	8d 5a 01             	lea    0x1(%edx),%ebx
411b0e:	c6 00 00             	movb   $0x0,(%eax)
411b11:	85 c9                	test   %ecx,%ecx
411b13:	78 12                	js     0x411b27
411b15:	80 3f 35             	cmpb   $0x35,(%edi)
411b18:	7c 0d                	jl     0x411b27
411b1a:	eb 03                	jmp    0x411b1f
411b1c:	c6 00 30             	movb   $0x30,(%eax)
411b1f:	48                   	dec    %eax
411b20:	80 38 39             	cmpb   $0x39,(%eax)
411b23:	74 f7                	je     0x411b1c
411b25:	fe 00                	incb   (%eax)
411b27:	80 3a 31             	cmpb   $0x31,(%edx)
411b2a:	75 05                	jne    0x411b31
411b2c:	ff 46 04             	incl   0x4(%esi)
411b2f:	eb 1c                	jmp    0x411b4d
411b31:	8b cb                	mov    %ebx,%ecx
411b33:	8d 71 01             	lea    0x1(%ecx),%esi
411b36:	8a 01                	mov    (%ecx),%al
411b38:	41                   	inc    %ecx
411b39:	84 c0                	test   %al,%al
411b3b:	75 f9                	jne    0x411b36
411b3d:	2b ce                	sub    %esi,%ecx
411b3f:	8d 41 01             	lea    0x1(%ecx),%eax
411b42:	50                   	push   %eax
411b43:	53                   	push   %ebx
411b44:	52                   	push   %edx
411b45:	e8 56 23 ff ff       	call   0x403ea0
411b4a:	83 c4 0c             	add    $0xc,%esp
411b4d:	5f                   	pop    %edi
411b4e:	33 c0                	xor    %eax,%eax
411b50:	5b                   	pop    %ebx
411b51:	5e                   	pop    %esi
411b52:	5d                   	pop    %ebp
411b53:	c3                   	ret
411b54:	8b ff                	mov    %edi,%edi
411b56:	56                   	push   %esi
411b57:	8b f1                	mov    %ecx,%esi
411b59:	56                   	push   %esi
411b5a:	e8 1e 3f 00 00       	call   0x415a7d
411b5f:	8b 06                	mov    (%esi),%eax
411b61:	83 e0 1f             	and    $0x1f,%eax
411b64:	59                   	pop    %ecx
411b65:	3c 1f                	cmp    $0x1f,%al
411b67:	75 06                	jne    0x411b6f
411b69:	c6 46 08 00          	movb   $0x0,0x8(%esi)
411b6d:	eb 0b                	jmp    0x411b7a
411b6f:	56                   	push   %esi
411b70:	e8 6e 3f 00 00       	call   0x415ae3
411b75:	59                   	pop    %ecx
411b76:	c6 46 08 01          	movb   $0x1,0x8(%esi)
411b7a:	8b c6                	mov    %esi,%eax
411b7c:	5e                   	pop    %esi
411b7d:	c3                   	ret
411b7e:	cc                   	int3
411b7f:	cc                   	int3
411b80:	8b ff                	mov    %edi,%edi
411b82:	55                   	push   %ebp
411b83:	8b ec                	mov    %esp,%ebp
411b85:	81 ec 1c 02 00 00    	sub    $0x21c,%esp
411b8b:	53                   	push   %ebx
411b8c:	8b 5d 08             	mov    0x8(%ebp),%ebx
411b8f:	8b 03                	mov    (%ebx),%eax
411b91:	85 c0                	test   %eax,%eax
411b93:	75 07                	jne    0x411b9c
411b95:	33 d2                	xor    %edx,%edx
411b97:	5b                   	pop    %ebx
411b98:	8b e5                	mov    %ebp,%esp
411b9a:	5d                   	pop    %ebp
411b9b:	c3                   	ret
411b9c:	57                   	push   %edi
411b9d:	8b 7d 0c             	mov    0xc(%ebp),%edi
411ba0:	8b 0f                	mov    (%edi),%ecx
411ba2:	85 c9                	test   %ecx,%ecx
411ba4:	75 0a                	jne    0x411bb0
411ba6:	5f                   	pop    %edi
411ba7:	33 c0                	xor    %eax,%eax
411ba9:	33 d2                	xor    %edx,%edx
411bab:	5b                   	pop    %ebx
411bac:	8b e5                	mov    %ebp,%esp
411bae:	5d                   	pop    %ebp
411baf:	c3                   	ret
411bb0:	56                   	push   %esi
411bb1:	8d 70 ff             	lea    -0x1(%eax),%esi
411bb4:	8d 41 ff             	lea    -0x1(%ecx),%eax
411bb7:	89 75 f4             	mov    %esi,-0xc(%ebp)
411bba:	85 c0                	test   %eax,%eax
411bbc:	0f 85 2d 01 00 00    	jne    0x411cef
411bc2:	8b 4f 04             	mov    0x4(%edi),%ecx
411bc5:	89 4d d8             	mov    %ecx,-0x28(%ebp)
411bc8:	83 f9 01             	cmp    $0x1,%ecx
411bcb:	75 2f                	jne    0x411bfc
411bcd:	8b 73 04             	mov    0x4(%ebx),%esi
411bd0:	8d 4b 04             	lea    0x4(%ebx),%ecx
411bd3:	50                   	push   %eax
411bd4:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
411bda:	89 03                	mov    %eax,(%ebx)
411bdc:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
411be2:	50                   	push   %eax
411be3:	68 cc 01 00 00       	push   $0x1cc
411be8:	51                   	push   %ecx
411be9:	e8 c6 df ff ff       	call   0x40fbb4
411bee:	83 c4 10             	add    $0x10,%esp
411bf1:	8b c6                	mov    %esi,%eax
411bf3:	33 d2                	xor    %edx,%edx
411bf5:	5e                   	pop    %esi
411bf6:	5f                   	pop    %edi
411bf7:	5b                   	pop    %ebx
411bf8:	8b e5                	mov    %ebp,%esp
411bfa:	5d                   	pop    %ebp
411bfb:	c3                   	ret
411bfc:	85 f6                	test   %esi,%esi
411bfe:	75 49                	jne    0x411c49
411c00:	8b 73 04             	mov    0x4(%ebx),%esi
411c03:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
411c09:	6a 00                	push   $0x0
411c0b:	50                   	push   %eax
411c0c:	8d 7b 04             	lea    0x4(%ebx),%edi
411c0f:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
411c16:	00 00 00
411c19:	68 cc 01 00 00       	push   $0x1cc
411c1e:	57                   	push   %edi
411c1f:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
411c25:	e8 8a df ff ff       	call   0x40fbb4
411c2a:	33 d2                	xor    %edx,%edx
411c2c:	8b c6                	mov    %esi,%eax
411c2e:	f7 75 d8             	divl   -0x28(%ebp)
411c31:	83 c4 10             	add    $0x10,%esp
411c34:	33 c9                	xor    %ecx,%ecx
411c36:	3b ca                	cmp    %edx,%ecx
411c38:	89 17                	mov    %edx,(%edi)
411c3a:	1b c9                	sbb    %ecx,%ecx
411c3c:	5e                   	pop    %esi
411c3d:	f7 d9                	neg    %ecx
411c3f:	33 d2                	xor    %edx,%edx
411c41:	5f                   	pop    %edi
411c42:	89 0b                	mov    %ecx,(%ebx)
411c44:	5b                   	pop    %ebx
411c45:	8b e5                	mov    %ebp,%esp
411c47:	5d                   	pop    %ebp
411c48:	c3                   	ret
411c49:	33 ff                	xor    %edi,%edi
411c4b:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
411c52:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
411c59:	89 7d f0             	mov    %edi,-0x10(%ebp)
411c5c:	83 fe ff             	cmp    $0xffffffff,%esi
411c5f:	74 44                	je     0x411ca5
411c61:	8b 45 f4             	mov    -0xc(%ebp),%eax
411c64:	46                   	inc    %esi
411c65:	40                   	inc    %eax
411c66:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411c69:	8d 34 b3             	lea    (%ebx,%esi,4),%esi
411c6c:	8d 64 24 00          	lea    0x0(%esp),%esp
411c70:	6a 00                	push   $0x0
411c72:	51                   	push   %ecx
411c73:	33 c0                	xor    %eax,%eax
411c75:	0b 06                	or     (%esi),%eax
411c77:	57                   	push   %edi
411c78:	50                   	push   %eax
411c79:	e8 72 63 00 00       	call   0x417ff0
411c7e:	89 55 c0             	mov    %edx,-0x40(%ebp)
411c81:	8d 76 fc             	lea    -0x4(%esi),%esi
411c84:	33 d2                	xor    %edx,%edx
411c86:	89 5d f0             	mov    %ebx,-0x10(%ebp)
411c89:	8b f9                	mov    %ecx,%edi
411c8b:	03 d0                	add    %eax,%edx
411c8d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
411c90:	83 d1 00             	adc    $0x0,%ecx
411c93:	89 55 f8             	mov    %edx,-0x8(%ebp)
411c96:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
411c9a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411c9d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
411ca0:	75 ce                	jne    0x411c70
411ca2:	8b 5d 08             	mov    0x8(%ebp),%ebx
411ca5:	6a 00                	push   $0x0
411ca7:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
411cad:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
411cb4:	00 00 00
411cb7:	50                   	push   %eax
411cb8:	8d 73 04             	lea    0x4(%ebx),%esi
411cbb:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
411cc1:	68 cc 01 00 00       	push   $0x1cc
411cc6:	56                   	push   %esi
411cc7:	e8 e8 de ff ff       	call   0x40fbb4
411ccc:	8b 45 f0             	mov    -0x10(%ebp),%eax
411ccf:	83 c4 10             	add    $0x10,%esp
411cd2:	8b 55 fc             	mov    -0x4(%ebp),%edx
411cd5:	33 c9                	xor    %ecx,%ecx
411cd7:	3b c8                	cmp    %eax,%ecx
411cd9:	89 3e                	mov    %edi,(%esi)
411cdb:	89 43 08             	mov    %eax,0x8(%ebx)
411cde:	8b 45 f8             	mov    -0x8(%ebp),%eax
411ce1:	1b c9                	sbb    %ecx,%ecx
411ce3:	f7 d9                	neg    %ecx
411ce5:	5e                   	pop    %esi
411ce6:	41                   	inc    %ecx
411ce7:	5f                   	pop    %edi
411ce8:	89 0b                	mov    %ecx,(%ebx)
411cea:	5b                   	pop    %ebx
411ceb:	8b e5                	mov    %ebp,%esp
411ced:	5d                   	pop    %ebp
411cee:	c3                   	ret
411cef:	3b c6                	cmp    %esi,%eax
411cf1:	77 47                	ja     0x411d3a
411cf3:	8b d6                	mov    %esi,%edx
411cf5:	8d 48 01             	lea    0x1(%eax),%ecx
411cf8:	2b d0                	sub    %eax,%edx
411cfa:	89 4d c8             	mov    %ecx,-0x38(%ebp)
411cfd:	8b ce                	mov    %esi,%ecx
411cff:	3b f2                	cmp    %edx,%esi
411d01:	7c 32                	jl     0x411d35
411d03:	8b c1                	mov    %ecx,%eax
411d05:	46                   	inc    %esi
411d06:	2b c2                	sub    %edx,%eax
411d08:	8d 34 b3             	lea    (%ebx,%esi,4),%esi
411d0b:	8d 3c 87             	lea    (%edi,%eax,4),%edi
411d0e:	83 c7 04             	add    $0x4,%edi
411d11:	8b 07                	mov    (%edi),%eax
411d13:	3b 06                	cmp    (%esi),%eax
411d15:	75 0d                	jne    0x411d24
411d17:	49                   	dec    %ecx
411d18:	83 ef 04             	sub    $0x4,%edi
411d1b:	83 ee 04             	sub    $0x4,%esi
411d1e:	3b ca                	cmp    %edx,%ecx
411d20:	7d ef                	jge    0x411d11
411d22:	eb 11                	jmp    0x411d35
411d24:	8b 75 0c             	mov    0xc(%ebp),%esi
411d27:	8b c1                	mov    %ecx,%eax
411d29:	2b c2                	sub    %edx,%eax
411d2b:	8b 44 86 04          	mov    0x4(%esi,%eax,4),%eax
411d2f:	3b 44 8b 04          	cmp    0x4(%ebx,%ecx,4),%eax
411d33:	73 01                	jae    0x411d36
411d35:	42                   	inc    %edx
411d36:	85 d2                	test   %edx,%edx
411d38:	75 0b                	jne    0x411d45
411d3a:	5e                   	pop    %esi
411d3b:	5f                   	pop    %edi
411d3c:	33 c0                	xor    %eax,%eax
411d3e:	33 d2                	xor    %edx,%edx
411d40:	5b                   	pop    %ebx
411d41:	8b e5                	mov    %ebp,%esp
411d43:	5d                   	pop    %ebp
411d44:	c3                   	ret
411d45:	8b 7d c8             	mov    -0x38(%ebp),%edi
411d48:	8b 45 0c             	mov    0xc(%ebp),%eax
411d4b:	8b 34 b8             	mov    (%eax,%edi,4),%esi
411d4e:	8b 44 b8 fc          	mov    -0x4(%eax,%edi,4),%eax
411d52:	89 45 e0             	mov    %eax,-0x20(%ebp)
411d55:	0f bd c6             	bsr    %esi,%eax
411d58:	89 75 cc             	mov    %esi,-0x34(%ebp)
411d5b:	74 09                	je     0x411d66
411d5d:	b9 1f 00 00 00       	mov    $0x1f,%ecx
411d62:	2b c8                	sub    %eax,%ecx
411d64:	eb 05                	jmp    0x411d6b
411d66:	b9 20 00 00 00       	mov    $0x20,%ecx
411d6b:	b8 20 00 00 00       	mov    $0x20,%eax
411d70:	89 4d dc             	mov    %ecx,-0x24(%ebp)
411d73:	2b c1                	sub    %ecx,%eax
411d75:	89 45 c4             	mov    %eax,-0x3c(%ebp)
411d78:	85 c9                	test   %ecx,%ecx
411d7a:	74 29                	je     0x411da5
411d7c:	8b 45 e0             	mov    -0x20(%ebp),%eax
411d7f:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411d82:	d3 e8                	shr    %cl,%eax
411d84:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411d87:	d3 65 e0             	shll   %cl,-0x20(%ebp)
411d8a:	d3 e6                	shl    %cl,%esi
411d8c:	0b f0                	or     %eax,%esi
411d8e:	89 75 cc             	mov    %esi,-0x34(%ebp)
411d91:	83 ff 02             	cmp    $0x2,%edi
411d94:	76 0f                	jbe    0x411da5
411d96:	8b 75 0c             	mov    0xc(%ebp),%esi
411d99:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411d9c:	8b 44 be f8          	mov    -0x8(%esi,%edi,4),%eax
411da0:	d3 e8                	shr    %cl,%eax
411da2:	09 45 e0             	or     %eax,-0x20(%ebp)
411da5:	33 f6                	xor    %esi,%esi
411da7:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
411dae:	83 c2 ff             	add    $0xffffffff,%edx
411db1:	89 55 e4             	mov    %edx,-0x1c(%ebp)
411db4:	0f 88 2c 02 00 00    	js     0x411fe6
411dba:	8d 4b 04             	lea    0x4(%ebx),%ecx
411dbd:	8d 0c 91             	lea    (%ecx,%edx,4),%ecx
411dc0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
411dc3:	8d 04 3a             	lea    (%edx,%edi,1),%eax
411dc6:	8d 4b fc             	lea    -0x4(%ebx),%ecx
411dc9:	89 45 f8             	mov    %eax,-0x8(%ebp)
411dcc:	8d 0c 81             	lea    (%ecx,%eax,4),%ecx
411dcf:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
411dd2:	3b 45 f4             	cmp    -0xc(%ebp),%eax
411dd5:	77 05                	ja     0x411ddc
411dd7:	8b 41 08             	mov    0x8(%ecx),%eax
411dda:	eb 02                	jmp    0x411dde
411ddc:	33 c0                	xor    %eax,%eax
411dde:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
411de2:	8b 51 04             	mov    0x4(%ecx),%edx
411de5:	8b 09                	mov    (%ecx),%ecx
411de7:	89 45 d0             	mov    %eax,-0x30(%ebp)
411dea:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
411df1:	89 45 fc             	mov    %eax,-0x4(%ebp)
411df4:	89 4d ec             	mov    %ecx,-0x14(%ebp)
411df7:	76 49                	jbe    0x411e42
411df9:	8b f9                	mov    %ecx,%edi
411dfb:	8b c2                	mov    %edx,%eax
411dfd:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411e00:	33 f6                	xor    %esi,%esi
411e02:	8b 55 fc             	mov    -0x4(%ebp),%edx
411e05:	d3 ef                	shr    %cl,%edi
411e07:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411e0a:	e8 f1 65 00 00       	call   0x418400
411e0f:	8b 4d dc             	mov    -0x24(%ebp),%ecx
411e12:	0b f2                	or     %edx,%esi
411e14:	0b f8                	or     %eax,%edi
411e16:	8b c6                	mov    %esi,%eax
411e18:	8b 75 ec             	mov    -0x14(%ebp),%esi
411e1b:	8b d7                	mov    %edi,%edx
411e1d:	d3 e6                	shl    %cl,%esi
411e1f:	83 7d f8 03          	cmpl   $0x3,-0x8(%ebp)
411e23:	89 45 fc             	mov    %eax,-0x4(%ebp)
411e26:	89 75 ec             	mov    %esi,-0x14(%ebp)
411e29:	72 17                	jb     0x411e42
411e2b:	8b 45 c8             	mov    -0x38(%ebp),%eax
411e2e:	03 45 e4             	add    -0x1c(%ebp),%eax
411e31:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
411e34:	8b 44 83 f8          	mov    -0x8(%ebx,%eax,4),%eax
411e38:	d3 e8                	shr    %cl,%eax
411e3a:	0b f0                	or     %eax,%esi
411e3c:	8b 45 fc             	mov    -0x4(%ebp),%eax
411e3f:	89 75 ec             	mov    %esi,-0x14(%ebp)
411e42:	6a 00                	push   $0x0
411e44:	ff 75 cc             	push   -0x34(%ebp)
411e47:	50                   	push   %eax
411e48:	52                   	push   %edx
411e49:	e8 a2 61 00 00       	call   0x417ff0
411e4e:	89 5d d8             	mov    %ebx,-0x28(%ebp)
411e51:	33 f6                	xor    %esi,%esi
411e53:	8b d8                	mov    %eax,%ebx
411e55:	89 75 d8             	mov    %esi,-0x28(%ebp)
411e58:	8b c2                	mov    %edx,%eax
411e5a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
411e5d:	89 45 e8             	mov    %eax,-0x18(%ebp)