480adc:	83 f8 17             	cmp    $0x17,%eax
480adf:	0f 87 c3 fb ff ff    	ja     0x4806a8
480ae5:	6a 0c                	push   $0xc
480ae7:	99                   	cltd
480ae8:	59                   	pop    %ecx
480ae9:	f7 f9                	idiv   %ecx
480aeb:	85 d2                	test   %edx,%edx
480aed:	75 02                	jne    0x480af1
480aef:	8b d1                	mov    %ecx,%edx
480af1:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
480af5:	0f 95 c0             	setne  %al
480af8:	fe c8                	dec    %al
480afa:	24 30                	and    $0x30,%al
480afc:	0f b6 c0             	movzbl %al,%eax
480aff:	50                   	push   %eax
480b00:	e9 ea fb ff ff       	jmp    0x4806ef
480b05:	8b 45 10             	mov    0x10(%ebp),%eax
480b08:	8b 48 08             	mov    0x8(%eax),%ecx
480b0b:	83 f9 17             	cmp    $0x17,%ecx
480b0e:	0f 86 13 fa ff ff    	jbe    0x480527
480b14:	e9 8f fb ff ff       	jmp    0x4806a8
480b19:	8b 4d 10             	mov    0x10(%ebp),%ecx
480b1c:	8b 51 14             	mov    0x14(%ecx),%edx
480b1f:	8d 82 6c 07 00 00    	lea    0x76c(%edx),%eax
480b25:	3d 0f 27 00 00       	cmp    $0x270f,%eax
480b2a:	0f 87 78 fb ff ff    	ja     0x4806a8
480b30:	6a 30                	push   $0x30
480b32:	ff 75 18             	push   0x18(%ebp)
480b35:	ff 75 14             	push   0x14(%ebp)
480b38:	6a 04                	push   $0x4
480b3a:	ff 71 1c             	push   0x1c(%ecx)
480b3d:	ff 71 18             	push   0x18(%ecx)
480b40:	52                   	push   %edx
480b41:	e8 8d f8 ff ff       	call   0x4803d3
480b46:	83 c4 0c             	add    $0xc,%esp
480b49:	05 6c 07 00 00       	add    $0x76c,%eax
480b4e:	e9 25 f9 ff ff       	jmp    0x480478
480b53:	ff 75 20             	push   0x20(%ebp)
480b56:	8b 75 18             	mov    0x18(%ebp),%esi
480b59:	ff 75 1c             	push   0x1c(%ebp)
480b5c:	8b 7d 14             	mov    0x14(%ebp),%edi
480b5f:	56                   	push   %esi
480b60:	57                   	push   %edi
480b61:	ff 75 10             	push   0x10(%ebp)
480b64:	6a 59                	push   $0x59
480b66:	ff 75 08             	push   0x8(%ebp)
480b69:	e8 90 f8 ff ff       	call   0x4803fe
480b6e:	83 c4 1c             	add    $0x1c,%esp
480b71:	84 c0                	test   %al,%al
480b73:	0f 84 05 fa ff ff    	je     0x48057e
480b79:	56                   	push   %esi
480b7a:	57                   	push   %edi
480b7b:	bb 58 32 4b 00       	mov    $0x4b3258,%ebx
480b80:	53                   	push   %ebx
480b81:	e8 5a 03 00 00       	call   0x480ee0
480b86:	ff 75 20             	push   0x20(%ebp)
480b89:	ff 75 1c             	push   0x1c(%ebp)
480b8c:	56                   	push   %esi
480b8d:	57                   	push   %edi
480b8e:	ff 75 10             	push   0x10(%ebp)
480b91:	6a 6d                	push   $0x6d
480b93:	ff 75 08             	push   0x8(%ebp)
480b96:	e8 63 f8 ff ff       	call   0x4803fe
480b9b:	83 c4 28             	add    $0x28,%esp
480b9e:	84 c0                	test   %al,%al
480ba0:	0f 84 d8 f9 ff ff    	je     0x48057e
480ba6:	56                   	push   %esi
480ba7:	57                   	push   %edi
480ba8:	53                   	push   %ebx
480ba9:	e8 32 03 00 00       	call   0x480ee0
480bae:	ff 75 20             	push   0x20(%ebp)
480bb1:	ff 75 1c             	push   0x1c(%ebp)
480bb4:	56                   	push   %esi
480bb5:	57                   	push   %edi
480bb6:	ff 75 10             	push   0x10(%ebp)
480bb9:	6a 64                	push   $0x64
480bbb:	e9 5b fa ff ff       	jmp    0x48061b
480bc0:	8b 45 10             	mov    0x10(%ebp),%eax
480bc3:	8b 48 04             	mov    0x4(%eax),%ecx
480bc6:	83 f9 3b             	cmp    $0x3b,%ecx
480bc9:	e9 40 ff ff ff       	jmp    0x480b0e
480bce:	6a 07                	push   $0x7
480bd0:	83 e8 52             	sub    $0x52,%eax
480bd3:	5b                   	pop    %ebx
480bd4:	3b c3                	cmp    %ebx,%eax
480bd6:	0f 87 dc fa ff ff    	ja     0x4806b8
480bdc:	ff 24 85 b2 0d 48 00 	jmp    *0x480db2(,%eax,4)
480be3:	ff 75 20             	push   0x20(%ebp)
480be6:	ff 75 1c             	push   0x1c(%ebp)
480be9:	ff 75 18             	push   0x18(%ebp)
480bec:	ff 75 14             	push   0x14(%ebp)
480bef:	ff 75 10             	push   0x10(%ebp)
480bf2:	6a 48                	push   $0x48
480bf4:	ff 75 08             	push   0x8(%ebp)
480bf7:	e8 02 f8 ff ff       	call   0x4803fe
480bfc:	83 c4 1c             	add    $0x1c,%esp
480bff:	84 c0                	test   %al,%al
480c01:	0f 84 77 f9 ff ff    	je     0x48057e
480c07:	ff 75 18             	push   0x18(%ebp)
480c0a:	ff 75 14             	push   0x14(%ebp)
480c0d:	68 0c 46 4b 00       	push   $0x4b460c
480c12:	e8 c9 02 00 00       	call   0x480ee0
480c17:	ff 75 20             	push   0x20(%ebp)
480c1a:	ff 75 1c             	push   0x1c(%ebp)
480c1d:	ff 75 18             	push   0x18(%ebp)
480c20:	ff 75 14             	push   0x14(%ebp)
480c23:	ff 75 10             	push   0x10(%ebp)
480c26:	6a 4d                	push   $0x4d
480c28:	e9 ee f9 ff ff       	jmp    0x48061b
480c2d:	8b 45 10             	mov    0x10(%ebp),%eax
480c30:	8b 08                	mov    (%eax),%ecx
480c32:	83 f9 3c             	cmp    $0x3c,%ecx
480c35:	e9 d4 fe ff ff       	jmp    0x480b0e
480c3a:	ff 75 20             	push   0x20(%ebp)
480c3d:	8b 75 18             	mov    0x18(%ebp),%esi
480c40:	ff 75 1c             	push   0x1c(%ebp)
480c43:	8b 7d 14             	mov    0x14(%ebp),%edi
480c46:	56                   	push   %esi
480c47:	57                   	push   %edi
480c48:	ff 75 10             	push   0x10(%ebp)
480c4b:	6a 48                	push   $0x48
480c4d:	ff 75 08             	push   0x8(%ebp)
480c50:	e8 a9 f7 ff ff       	call   0x4803fe
480c55:	83 c4 1c             	add    $0x1c,%esp
480c58:	84 c0                	test   %al,%al
480c5a:	0f 84 1e f9 ff ff    	je     0x48057e
480c60:	56                   	push   %esi
480c61:	57                   	push   %edi
480c62:	bb 0c 46 4b 00       	mov    $0x4b460c,%ebx
480c67:	53                   	push   %ebx
480c68:	e8 73 02 00 00       	call   0x480ee0
480c6d:	ff 75 20             	push   0x20(%ebp)
480c70:	ff 75 1c             	push   0x1c(%ebp)
480c73:	56                   	push   %esi
480c74:	57                   	push   %edi
480c75:	ff 75 10             	push   0x10(%ebp)
480c78:	6a 4d                	push   $0x4d
480c7a:	ff 75 08             	push   0x8(%ebp)
480c7d:	e8 7c f7 ff ff       	call   0x4803fe
480c82:	83 c4 28             	add    $0x28,%esp
480c85:	84 c0                	test   %al,%al
480c87:	0f 84 f1 f8 ff ff    	je     0x48057e
480c8d:	56                   	push   %esi
480c8e:	57                   	push   %edi
480c8f:	53                   	push   %ebx
480c90:	e8 4b 02 00 00       	call   0x480ee0
480c95:	ff 75 20             	push   0x20(%ebp)
480c98:	ff 75 1c             	push   0x1c(%ebp)
480c9b:	56                   	push   %esi
480c9c:	57                   	push   %edi
480c9d:	ff 75 10             	push   0x10(%ebp)
480ca0:	6a 53                	push   $0x53
480ca2:	e9 74 f9 ff ff       	jmp    0x48061b
480ca7:	8b 7d 10             	mov    0x10(%ebp),%edi
480caa:	8b 4f 18             	mov    0x18(%edi),%ecx
480cad:	83 f9 06             	cmp    $0x6,%ecx
480cb0:	0f 87 f2 f9 ff ff    	ja     0x4806a8
480cb6:	66 83 fa 57          	cmp    $0x57,%dx
480cba:	75 0a                	jne    0x480cc6
480cbc:	85 c9                	test   %ecx,%ecx
480cbe:	75 05                	jne    0x480cc5
480cc0:	6a 06                	push   $0x6
480cc2:	59                   	pop    %ecx
480cc3:	eb 01                	jmp    0x480cc6
480cc5:	49                   	dec    %ecx
480cc6:	8b 7f 1c             	mov    0x1c(%edi),%edi
480cc9:	81 ff 6d 01 00 00    	cmp    $0x16d,%edi
480ccf:	0f 87 d3 f9 ff ff    	ja     0x4806a8
480cd5:	33 f6                	xor    %esi,%esi
480cd7:	3b f9                	cmp    %ecx,%edi
480cd9:	7c 11                	jl     0x480cec
480cdb:	8b c7                	mov    %edi,%eax
480cdd:	99                   	cltd
480cde:	f7 fb                	idiv   %ebx
480ce0:	8b f0                	mov    %eax,%esi
480ce2:	8b c7                	mov    %edi,%eax
480ce4:	99                   	cltd
480ce5:	f7 fb                	idiv   %ebx
480ce7:	3b d1                	cmp    %ecx,%edx
480ce9:	7c 01                	jl     0x480cec
480ceb:	46                   	inc    %esi
480cec:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
480cf0:	0f 95 c0             	setne  %al
480cf3:	fe c8                	dec    %al
480cf5:	24 30                	and    $0x30,%al
480cf7:	0f b6 c0             	movzbl %al,%eax
480cfa:	50                   	push   %eax
480cfb:	ff 75 18             	push   0x18(%ebp)
480cfe:	ff 75 14             	push   0x14(%ebp)
480d01:	6a 02                	push   $0x2
480d03:	56                   	push   %esi
480d04:	e9 70 f7 ff ff       	jmp    0x480479
480d09:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
480d0d:	0f 95 c0             	setne  %al
480d10:	fe c8                	dec    %al
480d12:	24 30                	and    $0x30,%al
480d14:	0f b6 c0             	movzbl %al,%eax
480d17:	50                   	push   %eax
480d18:	ff 75 18             	push   0x18(%ebp)
480d1b:	8b 45 10             	mov    0x10(%ebp),%eax
480d1e:	ff 75 14             	push   0x14(%ebp)
480d21:	6a 02                	push   $0x2
480d23:	ff 70 1c             	push   0x1c(%eax)
480d26:	ff 70 18             	push   0x18(%eax)
480d29:	ff 70 14             	push   0x14(%eax)
480d2c:	e8 c4 f5 ff ff       	call   0x4802f5
480d31:	83 c4 0c             	add    $0xc,%esp
480d34:	e9 3f f7 ff ff       	jmp    0x480478
480d39:	ff 75 1c             	push   0x1c(%ebp)
480d3c:	ff 75 18             	push   0x18(%ebp)
480d3f:	ff 75 14             	push   0x14(%ebp)
480d42:	ff 75 10             	push   0x10(%ebp)
480d45:	6a 02                	push   $0x2
480d47:	e9 20 fc ff ff       	jmp    0x48096c
480d4c:	8b 45 10             	mov    0x10(%ebp),%eax
480d4f:	8b 48 14             	mov    0x14(%eax),%ecx
480d52:	81 c1 6c 07 00 00    	add    $0x76c,%ecx
480d58:	81 f9 0f 27 00 00    	cmp    $0x270f,%ecx
480d5e:	0f 87 44 f9 ff ff    	ja     0x4806a8
480d64:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
480d68:	0f 95 c0             	setne  %al
480d6b:	fe c8                	dec    %al
480d6d:	24 30                	and    $0x30,%al
480d6f:	0f b6 c0             	movzbl %al,%eax
480d72:	50                   	push   %eax
480d73:	ff 75 18             	push   0x18(%ebp)
480d76:	ff 75 14             	push   0x14(%ebp)
480d79:	6a 04                	push   $0x4
480d7b:	e9 be f7 ff ff       	jmp    0x48053e
480d80:	e8 20 a1 00 00       	call   0x48aea5
480d85:	e8 93 97 00 00       	call   0x48a51d
480d8a:	8b 4d 10             	mov    0x10(%ebp),%ecx
480d8d:	ff 75 18             	push   0x18(%ebp)
480d90:	ff 75 14             	push   0x14(%ebp)
480d93:	8b 49 20             	mov    0x20(%ecx),%ecx
480d96:	f7 d9                	neg    %ecx
480d98:	1b c9                	sbb    %ecx,%ecx
480d9a:	83 e1 04             	and    $0x4,%ecx
480d9d:	ff 34 01             	push   (%ecx,%eax,1)
480da0:	e8 3b 01 00 00       	call   0x480ee0
480da5:	83 c4 0c             	add    $0xc,%esp
480da8:	b0 01                	mov    $0x1,%al
480daa:	5f                   	pop    %edi
480dab:	5e                   	pop    %esi
480dac:	5b                   	pop    %ebx
480dad:	c9                   	leave
480dae:	c3                   	ret
480daf:	8d 49 00             	lea    0x0(%ecx),%ecx
480db2:	e3 0b                	jecxz  0x480dbf
480db4:	48                   	dec    %eax
480db5:	00 2d 0c 48 00 3a    	add    %ch,0x3a00480c
480dbb:	0c 48                	or     $0x48,%al
480dbd:	00 a7 0c 48 00 09    	add    %ah,0x900480c(%edi)
480dc3:	0d 48 00 a7 0c       	or     $0xca70048,%eax
480dc8:	48                   	dec    %eax
480dc9:	00 39                	add    %bh,(%ecx)
480dcb:	0d 48 00 4c 0d       	or     $0xd4c0048,%eax
480dd0:	48                   	dec    %eax
480dd1:	00 8b ff 55 8b ec    	add    %cl,-0x1374aa01(%ebx)
480dd7:	83 ec 10             	sub    $0x10,%esp
480dda:	66 8b 45 18          	mov    0x18(%ebp),%ax
480dde:	0f b7 c8             	movzwl %ax,%ecx
480de1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
480de4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
480de7:	8b d1                	mov    %ecx,%edx
480de9:	66 85 c0             	test   %ax,%ax
480dec:	75 13                	jne    0x480e01
480dee:	ff 75 14             	push   0x14(%ebp)
480df1:	ff 75 10             	push   0x10(%ebp)
480df4:	ff 75 08             	push   0x8(%ebp)
480df7:	e8 6a 00 00 00       	call   0x480e66
480dfc:	83 c4 0c             	add    $0xc,%esp
480dff:	c9                   	leave
480e00:	c3                   	ret
480e01:	56                   	push   %esi
480e02:	8b 75 14             	mov    0x14(%ebp),%esi
480e05:	3b 0e                	cmp    (%esi),%ecx
480e07:	73 57                	jae    0x480e60
480e09:	53                   	push   %ebx
480e0a:	33 db                	xor    %ebx,%ebx
480e0c:	49                   	dec    %ecx
480e0d:	57                   	push   %edi
480e0e:	8b 7d 10             	mov    0x10(%ebp),%edi
480e11:	85 d2                	test   %edx,%edx
480e13:	74 40                	je     0x480e55
480e15:	8b 75 08             	mov    0x8(%ebp),%esi
480e18:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
480e1f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
480e22:	85 f6                	test   %esi,%esi
480e24:	74 0e                	je     0x480e34
480e26:	8b c6                	mov    %esi,%eax
480e28:	99                   	cltd
480e29:	f7 7d fc             	idivl  -0x4(%ebp)
480e2c:	83 c2 30             	add    $0x30,%edx
480e2f:	0f b7 c2             	movzwl %dx,%eax
480e32:	eb 06                	jmp    0x480e3a
480e34:	8b 45 f8             	mov    -0x8(%ebp),%eax
480e37:	0f b7 c0             	movzwl %ax,%eax
480e3a:	8b 17                	mov    (%edi),%edx
480e3c:	6a 0a                	push   $0xa
480e3e:	66 89 04 4a          	mov    %ax,(%edx,%ecx,2)
480e42:	8b c6                	mov    %esi,%eax
480e44:	5e                   	pop    %esi
480e45:	99                   	cltd
480e46:	f7 fe                	idiv   %esi
480e48:	43                   	inc    %ebx
480e49:	49                   	dec    %ecx
480e4a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
480e4e:	8b f0                	mov    %eax,%esi
480e50:	75 cd                	jne    0x480e1f
480e52:	8b 75 14             	mov    0x14(%ebp),%esi
480e55:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
480e58:	01 07                	add    %eax,(%edi)
480e5a:	29 1e                	sub    %ebx,(%esi)
480e5c:	5f                   	pop    %edi
480e5d:	5b                   	pop    %ebx
480e5e:	eb 03                	jmp    0x480e63
480e60:	83 26 00             	andl   $0x0,(%esi)
480e63:	5e                   	pop    %esi
480e64:	c9                   	leave
480e65:	c3                   	ret
480e66:	8b ff                	mov    %edi,%edi
480e68:	55                   	push   %ebp
480e69:	8b ec                	mov    %esp,%ebp
480e6b:	51                   	push   %ecx
480e6c:	53                   	push   %ebx
480e6d:	8b 5d 10             	mov    0x10(%ebp),%ebx
480e70:	56                   	push   %esi
480e71:	57                   	push   %edi
480e72:	8b 7d 0c             	mov    0xc(%ebp),%edi
480e75:	8b 03                	mov    (%ebx),%eax
480e77:	8b 0f                	mov    (%edi),%ecx
480e79:	83 f8 01             	cmp    $0x1,%eax
480e7c:	76 54                	jbe    0x480ed2
480e7e:	8b 7d 08             	mov    0x8(%ebp),%edi
480e81:	c7 45 fc 0a 00 00 00 	movl   $0xa,-0x4(%ebp)
480e88:	8b c7                	mov    %edi,%eax
480e8a:	8b f1                	mov    %ecx,%esi
480e8c:	99                   	cltd
480e8d:	f7 7d fc             	idivl  -0x4(%ebp)
480e90:	8b c7                	mov    %edi,%eax
480e92:	83 c2 30             	add    $0x30,%edx
480e95:	66 89 11             	mov    %dx,(%ecx)
480e98:	83 c1 02             	add    $0x2,%ecx
480e9b:	99                   	cltd
480e9c:	6a 0a                	push   $0xa
480e9e:	5f                   	pop    %edi
480e9f:	f7 ff                	idiv   %edi
480ea1:	8b f8                	mov    %eax,%edi
480ea3:	8b 03                	mov    (%ebx),%eax