469edf:	f7 f9                	idiv   %ecx
469ee1:	81 ff 6c 01 00 00    	cmp    $0x16c,%edi
469ee7:	7c 05                	jl     0x469eee
469ee9:	83 fa 02             	cmp    $0x2,%edx
469eec:	74 1a                	je     0x469f08
469eee:	81 ff 6b 01 00 00    	cmp    $0x16b,%edi
469ef4:	7c 05                	jl     0x469efb
469ef6:	83 fa 03             	cmp    $0x3,%edx
469ef9:	74 0d                	je     0x469f08
469efb:	81 ff 6a 01 00 00    	cmp    $0x16a,%edi
469f01:	7c 0a                	jl     0x469f0d
469f03:	83 fa 04             	cmp    $0x4,%edx
469f06:	75 05                	jne    0x469f0d
469f08:	83 c8 ff             	or     $0xffffffff,%eax
469f0b:	eb 14                	jmp    0x469f21
469f0d:	83 fe 02             	cmp    $0x2,%esi
469f10:	74 0c                	je     0x469f1e
469f12:	83 fe 03             	cmp    $0x3,%esi
469f15:	74 07                	je     0x469f1e
469f17:	8b c3                	mov    %ebx,%eax
469f19:	83 fe 04             	cmp    $0x4,%esi
469f1c:	75 03                	jne    0x469f21
469f1e:	8d 43 01             	lea    0x1(%ebx),%eax
469f21:	5f                   	pop    %edi
469f22:	5e                   	pop    %esi
469f23:	5b                   	pop    %ebx
469f24:	5d                   	pop    %ebp
469f25:	c3                   	ret
469f26:	8b ff                	mov    %edi,%edi
469f28:	55                   	push   %ebp
469f29:	8b ec                	mov    %esp,%ebp
469f2b:	56                   	push   %esi
469f2c:	ff 75 10             	push   0x10(%ebp)
469f2f:	8b 75 08             	mov    0x8(%ebp),%esi
469f32:	ff 75 0c             	push   0xc(%ebp)
469f35:	56                   	push   %esi
469f36:	e8 56 ff ff ff       	call   0x469e91
469f3b:	83 c4 0c             	add    $0xc,%esp
469f3e:	85 c0                	test   %eax,%eax
469f40:	75 05                	jne    0x469f47
469f42:	8d 46 ff             	lea    -0x1(%esi),%eax
469f45:	eb 07                	jmp    0x469f4e
469f47:	8b c6                	mov    %esi,%eax
469f49:	7f 03                	jg     0x469f4e
469f4b:	8d 46 01             	lea    0x1(%esi),%eax
469f4e:	5e                   	pop    %esi
469f4f:	5d                   	pop    %ebp
469f50:	c3                   	ret
469f51:	8b ff                	mov    %edi,%edi
469f53:	55                   	push   %ebp
469f54:	8b ec                	mov    %esp,%ebp
469f56:	8b 45 0c             	mov    0xc(%ebp),%eax
469f59:	2b 45 08             	sub    0x8(%ebp),%eax
469f5c:	6a 07                	push   $0x7
469f5e:	59                   	pop    %ecx
469f5f:	03 c1                	add    %ecx,%eax
469f61:	99                   	cltd
469f62:	f7 f9                	idiv   %ecx
469f64:	8b 45 10             	mov    0x10(%ebp),%eax
469f67:	2b c2                	sub    %edx,%eax
469f69:	03 c1                	add    %ecx,%eax
469f6b:	99                   	cltd
469f6c:	f7 f9                	idiv   %ecx
469f6e:	5d                   	pop    %ebp
469f6f:	c3                   	ret
469f70:	8b ff                	mov    %edi,%edi
469f72:	55                   	push   %ebp
469f73:	8b ec                	mov    %esp,%ebp
469f75:	51                   	push   %ecx
469f76:	51                   	push   %ecx
469f77:	8b 55 0c             	mov    0xc(%ebp),%edx
469f7a:	53                   	push   %ebx
469f7b:	0f b7 c2             	movzwl %dx,%eax
469f7e:	56                   	push   %esi
469f7f:	57                   	push   %edi
469f80:	83 f8 5a             	cmp    $0x5a,%eax
469f83:	0f 8e c6 05 00 00    	jle    0x46a54f
469f89:	83 f8 6e             	cmp    $0x6e,%eax
469f8c:	0f 8f 33 03 00 00    	jg     0x46a2c5
469f92:	0f 84 1d 03 00 00    	je     0x46a2b5
469f98:	83 f8 65             	cmp    $0x65,%eax
469f9b:	0f 8e e3 00 00 00    	jle    0x46a084
469fa1:	83 e8 67             	sub    $0x67,%eax
469fa4:	0f 84 91 00 00 00    	je     0x46a03b
469faa:	83 e8 01             	sub    $0x1,%eax
469fad:	75 07                	jne    0x469fb6
469faf:	6a 62                	push   $0x62
469fb1:	5a                   	pop    %edx
469fb2:	52                   	push   %edx
469fb3:	58                   	pop    %eax
469fb4:	eb d3                	jmp    0x469f89
469fb6:	48                   	dec    %eax
469fb7:	83 e8 01             	sub    $0x1,%eax
469fba:	74 4a                	je     0x46a006
469fbc:	83 e8 03             	sub    $0x3,%eax
469fbf:	0f 85 ba 02 00 00    	jne    0x46a27f
469fc5:	8b 45 10             	mov    0x10(%ebp),%eax
469fc8:	8b 48 10             	mov    0x10(%eax),%ecx
469fcb:	85 c9                	test   %ecx,%ecx
469fcd:	0f 88 9c 02 00 00    	js     0x46a26f
469fd3:	83 f9 0b             	cmp    $0xb,%ecx
469fd6:	0f 8f 93 02 00 00    	jg     0x46a26f
469fdc:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
469fe0:	0f 95 c0             	setne  %al
469fe3:	fe c8                	dec    %al
469fe5:	24 30                	and    $0x30,%al
469fe7:	66 98                	cbtw
469fe9:	0f b7 c0             	movzwl %ax,%eax
469fec:	50                   	push   %eax
469fed:	ff 75 18             	push   0x18(%ebp)
469ff0:	ff 75 14             	push   0x14(%ebp)
469ff3:	6a 02                	push   $0x2
469ff5:	8d 41 01             	lea    0x1(%ecx),%eax
469ff8:	50                   	push   %eax
469ff9:	e8 6e 0a 00 00       	call   0x46aa6c
469ffe:	83 c4 14             	add    $0x14,%esp
46a001:	e9 33 0a 00 00       	jmp    0x46aa39
46a006:	8b 45 10             	mov    0x10(%ebp),%eax
46a009:	8b 48 1c             	mov    0x1c(%eax),%ecx
46a00c:	85 c9                	test   %ecx,%ecx
46a00e:	0f 88 5b 02 00 00    	js     0x46a26f
46a014:	81 f9 6d 01 00 00    	cmp    $0x16d,%ecx
46a01a:	0f 8f 4f 02 00 00    	jg     0x46a26f
46a020:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a024:	0f 95 c0             	setne  %al
46a027:	fe c8                	dec    %al
46a029:	24 30                	and    $0x30,%al
46a02b:	66 98                	cbtw
46a02d:	0f b7 c0             	movzwl %ax,%eax
46a030:	50                   	push   %eax
46a031:	ff 75 18             	push   0x18(%ebp)
46a034:	ff 75 14             	push   0x14(%ebp)
46a037:	6a 03                	push   $0x3
46a039:	eb ba                	jmp    0x469ff5
46a03b:	8b 45 10             	mov    0x10(%ebp),%eax
46a03e:	81 78 14 94 f8 ff ff 	cmpl   $0xfffff894,0x14(%eax)
46a045:	0f 8c 24 02 00 00    	jl     0x46a26f
46a04b:	81 78 14 a3 1f 00 00 	cmpl   $0x1fa3,0x14(%eax)
46a052:	0f 8f 17 02 00 00    	jg     0x46a26f
46a058:	6a 30                	push   $0x30
46a05a:	ff 75 18             	push   0x18(%ebp)
46a05d:	ff 75 14             	push   0x14(%ebp)
46a060:	6a 02                	push   $0x2
46a062:	ff 70 1c             	push   0x1c(%eax)
46a065:	ff 70 18             	push   0x18(%eax)
46a068:	ff 70 14             	push   0x14(%eax)
46a06b:	e8 b6 fe ff ff       	call   0x469f26
46a070:	83 c4 0c             	add    $0xc,%esp
46a073:	05 6c 07 00 00       	add    $0x76c,%eax
46a078:	6a 64                	push   $0x64
46a07a:	99                   	cltd
46a07b:	59                   	pop    %ecx
46a07c:	f7 f9                	idiv   %ecx
46a07e:	52                   	push   %edx
46a07f:	e9 75 ff ff ff       	jmp    0x469ff9
46a084:	0f 84 fc 01 00 00    	je     0x46a286
46a08a:	83 e8 61             	sub    $0x61,%eax
46a08d:	0f 84 bb 01 00 00    	je     0x46a24e
46a093:	83 e8 01             	sub    $0x1,%eax
46a096:	0f 84 86 01 00 00    	je     0x46a222
46a09c:	83 e8 01             	sub    $0x1,%eax
46a09f:	74 44                	je     0x46a0e5
46a0a1:	83 e8 01             	sub    $0x1,%eax
46a0a4:	0f 85 d5 01 00 00    	jne    0x46a27f
46a0aa:	8b 45 10             	mov    0x10(%ebp),%eax
46a0ad:	83 78 0c 01          	cmpl   $0x1,0xc(%eax)
46a0b1:	0f 8c b8 01 00 00    	jl     0x46a26f
46a0b7:	83 78 0c 1f          	cmpl   $0x1f,0xc(%eax)
46a0bb:	0f 8f ae 01 00 00    	jg     0x46a26f
46a0c1:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a0c5:	0f 95 c1             	setne  %cl
46a0c8:	fe c9                	dec    %cl
46a0ca:	80 e1 30             	and    $0x30,%cl
46a0cd:	66 0f be c9          	movsbw %cl,%cx
46a0d1:	0f b7 c9             	movzwl %cx,%ecx
46a0d4:	51                   	push   %ecx
46a0d5:	ff 75 18             	push   0x18(%ebp)
46a0d8:	ff 75 14             	push   0x14(%ebp)
46a0db:	6a 02                	push   $0x2
46a0dd:	ff 70 0c             	push   0xc(%eax)
46a0e0:	e9 14 ff ff ff       	jmp    0x469ff9
46a0e5:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
46a0e8:	8b 4d 20             	mov    0x20(%ebp),%ecx
46a0eb:	81 fb f8 dc 49 00    	cmp    $0x49dcf8,%ebx
46a0f1:	0f 85 dd 00 00 00    	jne    0x46a1d4
46a0f7:	84 c9                	test   %cl,%cl
46a0f9:	0f 85 d5 00 00 00    	jne    0x46a1d4
46a0ff:	8b 7d 18             	mov    0x18(%ebp),%edi
46a102:	33 f6                	xor    %esi,%esi
46a104:	56                   	push   %esi
46a105:	53                   	push   %ebx
46a106:	8b 5d 14             	mov    0x14(%ebp),%ebx
46a109:	57                   	push   %edi
46a10a:	53                   	push   %ebx
46a10b:	ff 75 10             	push   0x10(%ebp)
46a10e:	6a 61                	push   $0x61
46a110:	ff 75 08             	push   0x8(%ebp)
46a113:	e8 58 fe ff ff       	call   0x469f70
46a118:	83 c4 1c             	add    $0x1c,%esp
46a11b:	84 c0                	test   %al,%al
46a11d:	75 10                	jne    0x46a12f
46a11f:	e8 0b 2d fe ff       	call   0x44ce2f
46a124:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46a12a:	e9 50 01 00 00       	jmp    0x46a27f
46a12f:	57                   	push   %edi
46a130:	53                   	push   %ebx
46a131:	68 14 d4 49 00       	push   $0x49d414
46a136:	e8 3a 0a 00 00       	call   0x46ab75
46a13b:	56                   	push   %esi
46a13c:	ff 75 1c             	push   0x1c(%ebp)
46a13f:	57                   	push   %edi
46a140:	53                   	push   %ebx
46a141:	ff 75 10             	push   0x10(%ebp)
46a144:	6a 62                	push   $0x62
46a146:	ff 75 08             	push   0x8(%ebp)
46a149:	e8 22 fe ff ff       	call   0x469f70
46a14e:	83 c4 28             	add    $0x28,%esp
46a151:	84 c0                	test   %al,%al
46a153:	74 ca                	je     0x46a11f
46a155:	57                   	push   %edi
46a156:	53                   	push   %ebx
46a157:	68 14 d4 49 00       	push   $0x49d414
46a15c:	e8 14 0a 00 00       	call   0x46ab75
46a161:	56                   	push   %esi
46a162:	ff 75 1c             	push   0x1c(%ebp)
46a165:	57                   	push   %edi
46a166:	53                   	push   %ebx
46a167:	ff 75 10             	push   0x10(%ebp)
46a16a:	6a 65                	push   $0x65
46a16c:	ff 75 08             	push   0x8(%ebp)
46a16f:	e8 fc fd ff ff       	call   0x469f70
46a174:	83 c4 28             	add    $0x28,%esp
46a177:	84 c0                	test   %al,%al
46a179:	74 a4                	je     0x46a11f
46a17b:	57                   	push   %edi
46a17c:	53                   	push   %ebx
46a17d:	68 14 d4 49 00       	push   $0x49d414
46a182:	e8 ee 09 00 00       	call   0x46ab75
46a187:	56                   	push   %esi
46a188:	ff 75 1c             	push   0x1c(%ebp)
46a18b:	57                   	push   %edi
46a18c:	53                   	push   %ebx
46a18d:	ff 75 10             	push   0x10(%ebp)
46a190:	6a 54                	push   $0x54
46a192:	ff 75 08             	push   0x8(%ebp)
46a195:	e8 d6 fd ff ff       	call   0x469f70
46a19a:	83 c4 28             	add    $0x28,%esp
46a19d:	84 c0                	test   %al,%al
46a19f:	0f 84 7a ff ff ff    	je     0x46a11f
46a1a5:	57                   	push   %edi
46a1a6:	53                   	push   %ebx
46a1a7:	68 14 d4 49 00       	push   $0x49d414
46a1ac:	e8 c4 09 00 00       	call   0x46ab75
46a1b1:	56                   	push   %esi
46a1b2:	ff 75 1c             	push   0x1c(%ebp)
46a1b5:	57                   	push   %edi
46a1b6:	53                   	push   %ebx
46a1b7:	ff 75 10             	push   0x10(%ebp)
46a1ba:	6a 59                	push   $0x59
46a1bc:	ff 75 08             	push   0x8(%ebp)
46a1bf:	e8 ac fd ff ff       	call   0x469f70
46a1c4:	83 c4 28             	add    $0x28,%esp
46a1c7:	84 c0                	test   %al,%al
46a1c9:	0f 85 6a 08 00 00    	jne    0x46aa39
46a1cf:	e9 4b ff ff ff       	jmp    0x46a11f
46a1d4:	53                   	push   %ebx
46a1d5:	ff 75 18             	push   0x18(%ebp)
46a1d8:	33 c0                	xor    %eax,%eax
46a1da:	84 c9                	test   %cl,%cl
46a1dc:	ff 75 14             	push   0x14(%ebp)
46a1df:	0f 95 c0             	setne  %al
46a1e2:	ff 75 10             	push   0x10(%ebp)
46a1e5:	50                   	push   %eax
46a1e6:	ff 75 08             	push   0x8(%ebp)
46a1e9:	e8 b8 09 00 00       	call   0x46aba6
46a1ee:	83 c4 18             	add    $0x18,%esp
46a1f1:	84 c0                	test   %al,%al
46a1f3:	0f 84 26 ff ff ff    	je     0x46a11f
46a1f9:	ff 75 18             	push   0x18(%ebp)
46a1fc:	ff 75 14             	push   0x14(%ebp)
46a1ff:	68 14 d4 49 00       	push   $0x49d414
46a204:	e8 6c 09 00 00       	call   0x46ab75
46a209:	53                   	push   %ebx
46a20a:	ff 75 18             	push   0x18(%ebp)
46a20d:	ff 75 14             	push   0x14(%ebp)
46a210:	ff 75 10             	push   0x10(%ebp)
46a213:	6a 02                	push   $0x2
46a215:	ff 75 08             	push   0x8(%ebp)
46a218:	e8 89 09 00 00       	call   0x46aba6
46a21d:	83 c4 24             	add    $0x24,%esp
46a220:	eb a5                	jmp    0x46a1c7
46a222:	8b 45 10             	mov    0x10(%ebp),%eax
46a225:	8b 48 10             	mov    0x10(%eax),%ecx
46a228:	85 c9                	test   %ecx,%ecx
46a22a:	78 43                	js     0x46a26f
46a22c:	83 f9 0b             	cmp    $0xb,%ecx
46a22f:	7f 3e                	jg     0x46a26f
46a231:	ff 75 18             	push   0x18(%ebp)
46a234:	8b 45 1c             	mov    0x1c(%ebp),%eax
46a237:	ff 75 14             	push   0x14(%ebp)
46a23a:	ff b4 88 ec 00 00 00 	push   0xec(%eax,%ecx,4)
46a241:	e8 2f 09 00 00       	call   0x46ab75
46a246:	83 c4 0c             	add    $0xc,%esp
46a249:	e9 eb 07 00 00       	jmp    0x46aa39
46a24e:	8b 45 10             	mov    0x10(%ebp),%eax
46a251:	8b 48 18             	mov    0x18(%eax),%ecx
46a254:	85 c9                	test   %ecx,%ecx
46a256:	78 17                	js     0x46a26f
46a258:	83 f9 06             	cmp    $0x6,%ecx
46a25b:	7f 12                	jg     0x46a26f
46a25d:	ff 75 18             	push   0x18(%ebp)
46a260:	8b 45 1c             	mov    0x1c(%ebp),%eax
46a263:	ff 75 14             	push   0x14(%ebp)
46a266:	ff b4 88 b4 00 00 00 	push   0xb4(%eax,%ecx,4)
46a26d:	eb d2                	jmp    0x46a241
46a26f:	e8 bb 2b fe ff       	call   0x44ce2f
46a274:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46a27a:	e8 57 2a fe ff       	call   0x44ccd6
46a27f:	32 c0                	xor    %al,%al
46a281:	e9 b5 07 00 00       	jmp    0x46aa3b
46a286:	8b 45 10             	mov    0x10(%ebp),%eax
46a289:	8b 48 0c             	mov    0xc(%eax),%ecx
46a28c:	83 f9 01             	cmp    $0x1,%ecx
46a28f:	7c de                	jl     0x46a26f
46a291:	83 f9 1f             	cmp    $0x1f,%ecx
46a294:	7f d9                	jg     0x46a26f
46a296:	80 7d 20 00          	cmpb   $0x0,0x20(%ebp)
46a29a:	0f 95 c0             	setne  %al
46a29d:	fe c8                	dec    %al
46a29f:	24 20                	and    $0x20,%al
46a2a1:	66 98                	cbtw
46a2a3:	0f b7 c0             	movzwl %ax,%eax
46a2a6:	50                   	push   %eax
46a2a7:	ff 75 18             	push   0x18(%ebp)
46a2aa:	ff 75 14             	push   0x14(%ebp)
46a2ad:	6a 02                	push   $0x2
46a2af:	51                   	push   %ecx
46a2b0:	e9 44 fd ff ff       	jmp    0x469ff9
46a2b5:	ff 75 18             	push   0x18(%ebp)
46a2b8:	ff 75 14             	push   0x14(%ebp)
46a2bb:	68 20 d4 49 00       	push   $0x49d420
46a2c0:	e9 7c ff ff ff       	jmp    0x46a241
46a2c5:	83 f8 77             	cmp    $0x77,%eax
46a2c8:	0f 8f 62 01 00 00    	jg     0x46a430
46a2ce:	74 1a                	je     0x46a2ea
46a2d0:	83 e8 70             	sub    $0x70,%eax
46a2d3:	0f 84 1e 01 00 00    	je     0x46a3f7
46a2d9:	48                   	dec    %eax
46a2da:	83 e8 01             	sub    $0x1,%eax
46a2dd:	74 5a                	je     0x46a339