479f24:	8b ff                	mov    %edi,%edi
479f26:	55                   	push   %ebp
479f27:	8b ec                	mov    %esp,%ebp
479f29:	b8 10 14 00 00       	mov    $0x1410,%eax
479f2e:	e8 1d 6f fc ff       	call   0x440e50
479f33:	a1 94 80 4b 00       	mov    0x4b8094,%eax
479f38:	33 c5                	xor    %ebp,%eax
479f3a:	89 45 fc             	mov    %eax,-0x4(%ebp)
479f3d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
479f40:	8b c1                	mov    %ecx,%eax
479f42:	c1 f8 06             	sar    $0x6,%eax
479f45:	83 e1 3f             	and    $0x3f,%ecx
479f48:	6b c9 30             	imul   $0x30,%ecx,%ecx
479f4b:	53                   	push   %ebx
479f4c:	8b 5d 10             	mov    0x10(%ebp),%ebx
479f4f:	8b 04 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%eax
479f56:	56                   	push   %esi
479f57:	57                   	push   %edi
479f58:	8b 7d 08             	mov    0x8(%ebp),%edi
479f5b:	8b 4c 08 18          	mov    0x18(%eax,%ecx,1),%ecx
479f5f:	8b 45 14             	mov    0x14(%ebp),%eax
479f62:	03 c3                	add    %ebx,%eax
479f64:	89 8d f0 eb ff ff    	mov    %ecx,-0x1410(%ebp)
479f6a:	33 d2                	xor    %edx,%edx
479f6c:	89 85 f8 eb ff ff    	mov    %eax,-0x1408(%ebp)
479f72:	89 17                	mov    %edx,(%edi)
479f74:	89 57 04             	mov    %edx,0x4(%edi)
479f77:	89 57 08             	mov    %edx,0x8(%edi)
479f7a:	eb 75                	jmp    0x479ff1
479f7c:	8d b5 fc eb ff ff    	lea    -0x1404(%ebp),%esi
479f82:	3b d8                	cmp    %eax,%ebx
479f84:	73 2b                	jae    0x479fb1
479f86:	0f b7 03             	movzwl (%ebx),%eax
479f89:	83 c3 02             	add    $0x2,%ebx
479f8c:	83 f8 0a             	cmp    $0xa,%eax
479f8f:	75 0d                	jne    0x479f9e
479f91:	83 47 08 02          	addl   $0x2,0x8(%edi)
479f95:	6a 0d                	push   $0xd
479f97:	5a                   	pop    %edx
479f98:	66 89 16             	mov    %dx,(%esi)
479f9b:	83 c6 02             	add    $0x2,%esi
479f9e:	66 89 06             	mov    %ax,(%esi)
479fa1:	8d 45 fa             	lea    -0x6(%ebp),%eax
479fa4:	83 c6 02             	add    $0x2,%esi
479fa7:	3b f0                	cmp    %eax,%esi
479fa9:	8b 85 f8 eb ff ff    	mov    -0x1408(%ebp),%eax
479faf:	72 d1                	jb     0x479f82
479fb1:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
479fb7:	2b f0                	sub    %eax,%esi
479fb9:	8d 85 f4 eb ff ff    	lea    -0x140c(%ebp),%eax
479fbf:	6a 00                	push   $0x0
479fc1:	50                   	push   %eax
479fc2:	83 e6 fe             	and    $0xfffffffe,%esi
479fc5:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
479fcb:	56                   	push   %esi
479fcc:	50                   	push   %eax
479fcd:	51                   	push   %ecx
479fce:	ff 15 8c 40 49 00    	call   *0x49408c
479fd4:	85 c0                	test   %eax,%eax
479fd6:	74 1f                	je     0x479ff7
479fd8:	8b 85 f4 eb ff ff    	mov    -0x140c(%ebp),%eax
479fde:	01 47 04             	add    %eax,0x4(%edi)
479fe1:	3b c6                	cmp    %esi,%eax
479fe3:	72 1a                	jb     0x479fff
479fe5:	8b 85 f8 eb ff ff    	mov    -0x1408(%ebp),%eax
479feb:	8b 8d f0 eb ff ff    	mov    -0x1410(%ebp),%ecx
479ff1:	3b d8                	cmp    %eax,%ebx
479ff3:	72 87                	jb     0x479f7c
479ff5:	eb 08                	jmp    0x479fff
479ff7:	ff 15 24 41 49 00    	call   *0x494124
479ffd:	89 07                	mov    %eax,(%edi)
479fff:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a002:	8b c7                	mov    %edi,%eax
47a004:	5f                   	pop    %edi
47a005:	5e                   	pop    %esi
47a006:	33 cd                	xor    %ebp,%ecx
47a008:	5b                   	pop    %ebx
47a009:	e8 f4 59 fc ff       	call   0x43fa02
47a00e:	8b e5                	mov    %ebp,%esp
47a010:	5d                   	pop    %ebp
47a011:	c3                   	ret
47a012:	8b ff                	mov    %edi,%edi
47a014:	55                   	push   %ebp
47a015:	8b ec                	mov    %esp,%ebp
47a017:	b8 18 14 00 00       	mov    $0x1418,%eax
47a01c:	e8 2f 6e fc ff       	call   0x440e50
47a021:	a1 94 80 4b 00       	mov    0x4b8094,%eax
47a026:	33 c5                	xor    %ebp,%eax
47a028:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a02b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
47a02e:	8b c1                	mov    %ecx,%eax
47a030:	c1 f8 06             	sar    $0x6,%eax
47a033:	83 e1 3f             	and    $0x3f,%ecx
47a036:	6b c9 30             	imul   $0x30,%ecx,%ecx
47a039:	53                   	push   %ebx
47a03a:	56                   	push   %esi
47a03b:	8b 04 85 00 c0 4b 00 	mov    0x4bc000(,%eax,4),%eax
47a042:	33 db                	xor    %ebx,%ebx
47a044:	8b 75 08             	mov    0x8(%ebp),%esi
47a047:	57                   	push   %edi
47a048:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
47a04c:	8b 4d 10             	mov    0x10(%ebp),%ecx
47a04f:	8b f9                	mov    %ecx,%edi
47a051:	89 85 f0 eb ff ff    	mov    %eax,-0x1410(%ebp)
47a057:	8b 45 14             	mov    0x14(%ebp),%eax
47a05a:	03 c1                	add    %ecx,%eax
47a05c:	89 1e                	mov    %ebx,(%esi)
47a05e:	89 5e 04             	mov    %ebx,0x4(%esi)
47a061:	89 85 f4 eb ff ff    	mov    %eax,-0x140c(%ebp)
47a067:	89 5e 08             	mov    %ebx,0x8(%esi)
47a06a:	3b c8                	cmp    %eax,%ecx
47a06c:	0f 83 ba 00 00 00    	jae    0x47a12c
47a072:	8b b5 f4 eb ff ff    	mov    -0x140c(%ebp),%esi
47a078:	8d 85 50 f9 ff ff    	lea    -0x6b0(%ebp),%eax
47a07e:	3b fe                	cmp    %esi,%edi
47a080:	73 21                	jae    0x47a0a3
47a082:	0f b7 0f             	movzwl (%edi),%ecx
47a085:	83 c7 02             	add    $0x2,%edi
47a088:	83 f9 0a             	cmp    $0xa,%ecx
47a08b:	75 09                	jne    0x47a096
47a08d:	6a 0d                	push   $0xd
47a08f:	5a                   	pop    %edx
47a090:	66 89 10             	mov    %dx,(%eax)
47a093:	83 c0 02             	add    $0x2,%eax
47a096:	66 89 08             	mov    %cx,(%eax)
47a099:	83 c0 02             	add    $0x2,%eax
47a09c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
47a09f:	3b c1                	cmp    %ecx,%eax
47a0a1:	72 db                	jb     0x47a07e
47a0a3:	53                   	push   %ebx
47a0a4:	53                   	push   %ebx
47a0a5:	68 55 0d 00 00       	push   $0xd55
47a0aa:	8d 8d f8 eb ff ff    	lea    -0x1408(%ebp),%ecx
47a0b0:	51                   	push   %ecx
47a0b1:	8d 8d 50 f9 ff ff    	lea    -0x6b0(%ebp),%ecx
47a0b7:	2b c1                	sub    %ecx,%eax
47a0b9:	d1 f8                	sar    $1,%eax
47a0bb:	50                   	push   %eax
47a0bc:	8b c1                	mov    %ecx,%eax
47a0be:	50                   	push   %eax
47a0bf:	53                   	push   %ebx
47a0c0:	68 e9 fd 00 00       	push   $0xfde9
47a0c5:	ff 15 78 41 49 00    	call   *0x494178
47a0cb:	8b 75 08             	mov    0x8(%ebp),%esi
47a0ce:	89 85 e8 eb ff ff    	mov    %eax,-0x1418(%ebp)
47a0d4:	85 c0                	test   %eax,%eax
47a0d6:	74 4c                	je     0x47a124
47a0d8:	6a 00                	push   $0x0
47a0da:	8d 8d ec eb ff ff    	lea    -0x1414(%ebp),%ecx
47a0e0:	2b c3                	sub    %ebx,%eax
47a0e2:	51                   	push   %ecx
47a0e3:	50                   	push   %eax
47a0e4:	8d 85 f8 eb ff ff    	lea    -0x1408(%ebp),%eax
47a0ea:	03 c3                	add    %ebx,%eax
47a0ec:	50                   	push   %eax
47a0ed:	ff b5 f0 eb ff ff    	push   -0x1410(%ebp)
47a0f3:	ff 15 8c 40 49 00    	call   *0x49408c
47a0f9:	85 c0                	test   %eax,%eax
47a0fb:	74 27                	je     0x47a124
47a0fd:	03 9d ec eb ff ff    	add    -0x1414(%ebp),%ebx
47a103:	8b 85 e8 eb ff ff    	mov    -0x1418(%ebp),%eax
47a109:	3b d8                	cmp    %eax,%ebx
47a10b:	72 cb                	jb     0x47a0d8
47a10d:	8b c7                	mov    %edi,%eax
47a10f:	2b 45 10             	sub    0x10(%ebp),%eax
47a112:	89 46 04             	mov    %eax,0x4(%esi)
47a115:	3b bd f4 eb ff ff    	cmp    -0x140c(%ebp),%edi
47a11b:	73 0f                	jae    0x47a12c
47a11d:	33 db                	xor    %ebx,%ebx
47a11f:	e9 4e ff ff ff       	jmp    0x47a072
47a124:	ff 15 24 41 49 00    	call   *0x494124
47a12a:	89 06                	mov    %eax,(%esi)
47a12c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
47a12f:	8b c6                	mov    %esi,%eax
47a131:	5f                   	pop    %edi
47a132:	5e                   	pop    %esi
47a133:	33 cd                	xor    %ebp,%ecx
47a135:	5b                   	pop    %ebx
47a136:	e8 c7 58 fc ff       	call   0x43fa02
47a13b:	8b e5                	mov    %ebp,%esp
47a13d:	5d                   	pop    %ebp
47a13e:	c3                   	ret
47a13f:	6a 14                	push   $0x14
47a141:	68 20 4f 4b 00       	push   $0x4b4f20
47a146:	e8 15 68 fc ff       	call   0x440960
47a14b:	8b 75 08             	mov    0x8(%ebp),%esi
47a14e:	83 fe fe             	cmp    $0xfffffffe,%esi
47a151:	75 18                	jne    0x47a16b
47a153:	e8 c4 2c fd ff       	call   0x44ce1c
47a158:	83 20 00             	andl   $0x0,(%eax)
47a15b:	e8 cf 2c fd ff       	call   0x44ce2f
47a160:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
47a166:	e9 b6 00 00 00       	jmp    0x47a221
47a16b:	85 f6                	test   %esi,%esi
47a16d:	0f 88 96 00 00 00    	js     0x47a209
47a173:	3b 35 00 c2 4b 00    	cmp    0x4bc200,%esi
47a179:	0f 83 8a 00 00 00    	jae    0x47a209
47a17f:	8b de                	mov    %esi,%ebx
47a181:	c1 fb 06             	sar    $0x6,%ebx
47a184:	8b c6                	mov    %esi,%eax
47a186:	83 e0 3f             	and    $0x3f,%eax
47a189:	6b c8 30             	imul   $0x30,%eax,%ecx
47a18c:	89 4d e0             	mov    %ecx,-0x20(%ebp)
47a18f:	8b 04 9d 00 c0 4b 00 	mov    0x4bc000(,%ebx,4),%eax
47a196:	0f b6 44 08 28       	movzbl 0x28(%eax,%ecx,1),%eax
47a19b:	83 e0 01             	and    $0x1,%eax
47a19e:	74 69                	je     0x47a209
47a1a0:	56                   	push   %esi
47a1a1:	e8 9f 51 00 00       	call   0x47f345
47a1a6:	59                   	pop    %ecx
47a1a7:	83 cf ff             	or     $0xffffffff,%edi
47a1aa:	89 7d e4             	mov    %edi,-0x1c(%ebp)
47a1ad:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47a1b1:	8b 04 9d 00 c0 4b 00 	mov    0x4bc000(,%ebx,4),%eax
47a1b8:	8b 4d e0             	mov    -0x20(%ebp),%ecx
47a1bb:	f6 44 08 28 01       	testb  $0x1,0x28(%eax,%ecx,1)
47a1c0:	75 15                	jne    0x47a1d7
47a1c2:	e8 68 2c fd ff       	call   0x44ce2f
47a1c7:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
47a1cd:	e8 4a 2c fd ff       	call   0x44ce1c
47a1d2:	83 20 00             	andl   $0x0,(%eax)
47a1d5:	eb 14                	jmp    0x47a1eb
47a1d7:	ff 75 10             	push   0x10(%ebp)
47a1da:	ff 75 0c             	push   0xc(%ebp)
47a1dd:	56                   	push   %esi
47a1de:	e8 47 00 00 00       	call   0x47a22a
47a1e3:	83 c4 0c             	add    $0xc,%esp
47a1e6:	8b f8                	mov    %eax,%edi
47a1e8:	89 7d e4             	mov    %edi,-0x1c(%ebp)
47a1eb:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
47a1f2:	e8 0a 00 00 00       	call   0x47a201
47a1f7:	8b c7                	mov    %edi,%eax
47a1f9:	eb 29                	jmp    0x47a224
47a1fb:	8b 75 08             	mov    0x8(%ebp),%esi
47a1fe:	8b 7d e4             	mov    -0x1c(%ebp),%edi
47a201:	56                   	push   %esi
47a202:	e8 f5 51 00 00       	call   0x47f3fc
47a207:	59                   	pop    %ecx
47a208:	c3                   	ret
47a209:	e8 0e 2c fd ff       	call   0x44ce1c
47a20e:	83 20 00             	andl   $0x0,(%eax)
47a211:	e8 19 2c fd ff       	call   0x44ce2f
47a216:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
47a21c:	e8 b5 2a fd ff       	call   0x44ccd6
47a221:	83 c8 ff             	or     $0xffffffff,%eax
47a224:	e8 7d 67 fc ff       	call   0x4409a6
47a229:	c3                   	ret
47a22a:	8b ff                	mov    %edi,%edi
47a22c:	55                   	push   %ebp
47a22d:	8b ec                	mov    %esp,%ebp
47a22f:	83 ec 30             	sub    $0x30,%esp
47a232:	a1 94 80 4b 00       	mov    0x4b8094,%eax
47a237:	33 c5                	xor    %ebp,%eax
47a239:	89 45 fc             	mov    %eax,-0x4(%ebp)
47a23c:	8b 4d 10             	mov    0x10(%ebp),%ecx
47a23f:	89 4d f0             	mov    %ecx,-0x10(%ebp)
47a242:	56                   	push   %esi
47a243:	8b 75 08             	mov    0x8(%ebp),%esi
47a246:	57                   	push   %edi
47a247:	8b 7d 0c             	mov    0xc(%ebp),%edi
47a24a:	89 7d ec             	mov    %edi,-0x14(%ebp)
47a24d:	85 c9                	test   %ecx,%ecx
47a24f:	75 07                	jne    0x47a258
47a251:	33 c0                	xor    %eax,%eax
47a253:	e9 db 01 00 00       	jmp    0x47a433
47a258:	85 ff                	test   %edi,%edi
47a25a:	75 1f                	jne    0x47a27b
47a25c:	e8 bb 2b fd ff       	call   0x44ce1c
47a261:	21 38                	and    %edi,(%eax)
47a263:	e8 c7 2b fd ff       	call   0x44ce2f
47a268:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a26e:	e8 63 2a fd ff       	call   0x44ccd6
47a273:	83 c8 ff             	or     $0xffffffff,%eax
47a276:	e9 b8 01 00 00       	jmp    0x47a433
47a27b:	53                   	push   %ebx
47a27c:	8b c6                	mov    %esi,%eax
47a27e:	8b de                	mov    %esi,%ebx
47a280:	c1 fb 06             	sar    $0x6,%ebx
47a283:	83 e0 3f             	and    $0x3f,%eax
47a286:	6b d0 30             	imul   $0x30,%eax,%edx
47a289:	89 5d f4             	mov    %ebx,-0xc(%ebp)
47a28c:	8b 04 9d 00 c0 4b 00 	mov    0x4bc000(,%ebx,4),%eax
47a293:	89 45 d0             	mov    %eax,-0x30(%ebp)
47a296:	89 55 f8             	mov    %edx,-0x8(%ebp)
47a299:	8a 5c 10 29          	mov    0x29(%eax,%edx,1),%bl
47a29d:	80 fb 02             	cmp    $0x2,%bl
47a2a0:	74 05                	je     0x47a2a7
47a2a2:	80 fb 01             	cmp    $0x1,%bl
47a2a5:	75 28                	jne    0x47a2cf
47a2a7:	8b c1                	mov    %ecx,%eax
47a2a9:	f7 d0                	not    %eax
47a2ab:	a8 01                	test   $0x1,%al
47a2ad:	75 1d                	jne    0x47a2cc
47a2af:	e8 68 2b fd ff       	call   0x44ce1c
47a2b4:	83 20 00             	andl   $0x0,(%eax)
47a2b7:	e8 73 2b fd ff       	call   0x44ce2f
47a2bc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
47a2c2:	e8 0f 2a fd ff       	call   0x44ccd6
47a2c7:	e9 5b 01 00 00       	jmp    0x47a427
47a2cc:	8b 45 d0             	mov    -0x30(%ebp),%eax
47a2cf:	33 c9                	xor    %ecx,%ecx
47a2d1:	f6 44 10 28 20       	testb  $0x20,0x28(%eax,%edx,1)
47a2d6:	74 0f                	je     0x47a2e7
47a2d8:	6a 02                	push   $0x2
47a2da:	51                   	push   %ecx
47a2db:	51                   	push   %ecx
47a2dc:	56                   	push   %esi
47a2dd:	e8 52 f8 ff ff       	call   0x479b34
47a2e2:	83 c4 10             	add    $0x10,%esp
47a2e5:	33 c9                	xor    %ecx,%ecx
47a2e7:	56                   	push   %esi
47a2e8:	89 4d e0             	mov    %ecx,-0x20(%ebp)
47a2eb:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
47a2ee:	89 4d e8             	mov    %ecx,-0x18(%ebp)
47a2f1:	e8 d9 fa ff ff       	call   0x479dcf
47a2f6:	59                   	pop    %ecx
47a2f7:	84 c0                	test   %al,%al
47a2f9:	74 39                	je     0x47a334
47a2fb:	84 db                	test   %bl,%bl
47a2fd:	74 22                	je     0x47a321
47a2ff:	fe cb                	dec    %bl
47a301:	80 fb 01             	cmp    $0x1,%bl
47a304:	0f 87 ba 00 00 00    	ja     0x47a3c4
47a30a:	ff 75 f0             	push   -0x10(%ebp)
47a30d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47a310:	57                   	push   %edi
47a311:	50                   	push   %eax
47a312:	e8 4b fa ff ff       	call   0x479d62
47a317:	83 c4 0c             	add    $0xc,%esp
47a31a:	8b f0                	mov    %eax,%esi
47a31c:	e9 9a 00 00 00       	jmp    0x47a3bb
47a321:	ff 75 f0             	push   -0x10(%ebp)
47a324:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47a327:	57                   	push   %edi
47a328:	56                   	push   %esi
47a329:	50                   	push   %eax
47a32a:	e8 6e f8 ff ff       	call   0x479b9d
47a32f:	83 c4 10             	add    $0x10,%esp
47a332:	eb e6                	jmp    0x47a31a
47a334:	8b 55 f4             	mov    -0xc(%ebp),%edx
47a337:	8b 4d f8             	mov    -0x8(%ebp),%ecx
47a33a:	8b 04 95 00 c0 4b 00 	mov    0x4bc000(,%edx,4),%eax
47a341:	f6 44 08 28 80       	testb  $0x80,0x28(%eax,%ecx,1)
47a346:	74 42                	je     0x47a38a
47a348:	0f be c3             	movsbl %bl,%eax
47a34b:	83 e8 00             	sub    $0x0,%eax
47a34e:	74 2a                	je     0x47a37a
47a350:	83 e8 01             	sub    $0x1,%eax
47a353:	74 15                	je     0x47a36a
47a355:	83 e8 01             	sub    $0x1,%eax