46c001:	e8 2a 89 ff ff       	call   0x464930
46c006:	3b d8                	cmp    %eax,%ebx
46c008:	0f 9c c0             	setl   %al
46c00b:	e9 f6 01 00 00       	jmp    0x46c206
46c010:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46c013:	56                   	push   %esi
46c014:	53                   	push   %ebx
46c015:	e8 f6 89 ff ff       	call   0x464a10
46c01a:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46c01d:	8b da                	mov    %edx,%ebx
46c01f:	56                   	push   %esi
46c020:	ff 75 94             	push   -0x6c(%ebp)
46c023:	89 45 90             	mov    %eax,-0x70(%ebp)
46c026:	e8 e5 89 ff ff       	call   0x464a10
46c02b:	3b da                	cmp    %edx,%ebx
46c02d:	7f 0f                	jg     0x46c03e
46c02f:	0f 8c 2a 02 00 00    	jl     0x46c25f
46c035:	39 45 90             	cmp    %eax,-0x70(%ebp)
46c038:	0f 82 21 02 00 00    	jb     0x46c25f
46c03e:	8b 4d 88             	mov    -0x78(%ebp),%ecx
46c041:	8b 45 80             	mov    -0x80(%ebp),%eax
46c044:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
46c04a:	8b bd 78 ff ff ff    	mov    -0x88(%ebp),%edi
46c050:	89 01                	mov    %eax,(%ecx)
46c052:	8b 8d 74 ff ff ff    	mov    -0x8c(%ebp),%ecx
46c058:	83 c6 04             	add    $0x4,%esi
46c05b:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
46c061:	3b f1                	cmp    %ecx,%esi
46c063:	0f 85 e7 fe ff ff    	jne    0x46bf50
46c069:	8b 45 10             	mov    0x10(%ebp),%eax
46c06c:	8b f9                	mov    %ecx,%edi
46c06e:	83 e8 20             	sub    $0x20,%eax
46c071:	89 bd 78 ff ff ff    	mov    %edi,-0x88(%ebp)
46c077:	89 45 10             	mov    %eax,0x10(%ebp)
46c07a:	83 f8 20             	cmp    $0x20,%eax
46c07d:	0f 8f 9e fe ff ff    	jg     0x46bf21
46c083:	ff 75 14             	push   0x14(%ebp)
46c086:	ff 75 0c             	push   0xc(%ebp)
46c089:	57                   	push   %edi
46c08a:	e8 11 02 00 00       	call   0x46c2a0
46c08f:	83 c4 0c             	add    $0xc,%esp
46c092:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46c095:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46c09c:	59                   	pop    %ecx
46c09d:	5f                   	pop    %edi
46c09e:	5e                   	pop    %esi
46c09f:	5b                   	pop    %ebx
46c0a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46c0a3:	33 cd                	xor    %ebp,%ecx
46c0a5:	e8 7c 59 16 00       	call   0x5d1a26
46c0aa:	8b e5                	mov    %ebp,%esp
46c0ac:	5d                   	pop    %ebp
46c0ad:	c3                   	ret
46c0ae:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46c0b1:	56                   	push   %esi
46c0b2:	53                   	push   %ebx
46c0b3:	e8 d8 98 ff ff       	call   0x465990
46c0b8:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46c0bb:	8b d8                	mov    %eax,%ebx
46c0bd:	56                   	push   %esi
46c0be:	ff 75 94             	push   -0x6c(%ebp)
46c0c1:	e8 ca 98 ff ff       	call   0x465990
46c0c6:	3b d8                	cmp    %eax,%ebx
46c0c8:	0f 92 c0             	setb   %al
46c0cb:	e9 36 01 00 00       	jmp    0x46c206
46c0d0:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46c0d3:	56                   	push   %esi
46c0d4:	53                   	push   %ebx
46c0d5:	e8 96 99 ff ff       	call   0x465a70
46c0da:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46c0dd:	8b da                	mov    %edx,%ebx
46c0df:	56                   	push   %esi
46c0e0:	ff 75 94             	push   -0x6c(%ebp)
46c0e3:	89 45 90             	mov    %eax,-0x70(%ebp)
46c0e6:	e8 85 99 ff ff       	call   0x465a70
46c0eb:	3b da                	cmp    %edx,%ebx
46c0ed:	0f 87 4b ff ff ff    	ja     0x46c03e
46c0f3:	0f 82 66 01 00 00    	jb     0x46c25f
46c0f9:	39 45 90             	cmp    %eax,-0x70(%ebp)
46c0fc:	0f 83 3c ff ff ff    	jae    0x46c03e
46c102:	8b 4d 88             	mov    -0x78(%ebp),%ecx
46c105:	8b 07                	mov    (%edi),%eax
46c107:	8b 5d 80             	mov    -0x80(%ebp),%ebx
46c10a:	89 7d 88             	mov    %edi,-0x78(%ebp)
46c10d:	89 01                	mov    %eax,(%ecx)
46c10f:	e9 7c fe ff ff       	jmp    0x46bf90
46c114:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46c117:	8d 45 d8             	lea    -0x28(%ebp),%eax
46c11a:	56                   	push   %esi
46c11b:	53                   	push   %ebx
46c11c:	50                   	push   %eax
46c11d:	e8 6e 96 ff ff       	call   0x465790
46c122:	8b 4d 98             	mov    -0x68(%ebp),%ecx
46c125:	8d 45 c0             	lea    -0x40(%ebp),%eax
46c128:	56                   	push   %esi
46c129:	ff 75 94             	push   -0x6c(%ebp)
46c12c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
46c133:	50                   	push   %eax
46c134:	e8 57 96 ff ff       	call   0x465790
46c139:	83 7d d4 10          	cmpl   $0x10,-0x2c(%ebp)
46c13d:	8d 4d c0             	lea    -0x40(%ebp),%ecx
46c140:	8b 45 c0             	mov    -0x40(%ebp),%eax
46c143:	ff 75 d0             	push   -0x30(%ebp)
46c146:	8b 5d d8             	mov    -0x28(%ebp),%ebx
46c149:	0f 43 c8             	cmovae %eax,%ecx
46c14c:	83 7d ec 10          	cmpl   $0x10,-0x14(%ebp)
46c150:	89 45 90             	mov    %eax,-0x70(%ebp)
46c153:	8d 45 d8             	lea    -0x28(%ebp),%eax
46c156:	51                   	push   %ecx
46c157:	ff 75 e8             	push   -0x18(%ebp)
46c15a:	0f 43 c3             	cmovae %ebx,%eax
46c15d:	50                   	push   %eax
46c15e:	e8 ad 23 00 00       	call   0x46e510
46c163:	c1 e8 1f             	shr    $0x1f,%eax
46c166:	83 c4 10             	add    $0x10,%esp
46c169:	89 45 94             	mov    %eax,-0x6c(%ebp)
46c16c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46c16f:	83 f8 10             	cmp    $0x10,%eax
46c172:	72 31                	jb     0x46c1a5
46c174:	8b 4d 90             	mov    -0x70(%ebp),%ecx
46c177:	8d 50 01             	lea    0x1(%eax),%edx
46c17a:	8b c1                	mov    %ecx,%eax
46c17c:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
46c182:	72 14                	jb     0x46c198
46c184:	8b 49 fc             	mov    -0x4(%ecx),%ecx
46c187:	83 c2 23             	add    $0x23,%edx
46c18a:	2b c1                	sub    %ecx,%eax
46c18c:	83 c0 fc             	add    $0xfffffffc,%eax
46c18f:	83 f8 1f             	cmp    $0x1f,%eax
46c192:	0f 87 d9 00 00 00    	ja     0x46c271
46c198:	52                   	push   %edx
46c199:	51                   	push   %ecx
46c19a:	e8 b6 50 16 00       	call   0x5d1255
46c19f:	8b 5d d8             	mov    -0x28(%ebp),%ebx
46c1a2:	83 c4 08             	add    $0x8,%esp
46c1a5:	8b 45 ec             	mov    -0x14(%ebp),%eax
46c1a8:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
46c1af:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
46c1b6:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
46c1ba:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46c1c1:	83 f8 10             	cmp    $0x10,%eax
46c1c4:	72 2b                	jb     0x46c1f1
46c1c6:	8d 48 01             	lea    0x1(%eax),%ecx
46c1c9:	8b c3                	mov    %ebx,%eax
46c1cb:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
46c1d1:	72 14                	jb     0x46c1e7
46c1d3:	8b 5b fc             	mov    -0x4(%ebx),%ebx
46c1d6:	83 c1 23             	add    $0x23,%ecx
46c1d9:	2b c3                	sub    %ebx,%eax
46c1db:	83 c0 fc             	add    $0xfffffffc,%eax
46c1de:	83 f8 1f             	cmp    $0x1f,%eax
46c1e1:	0f 87 8a 00 00 00    	ja     0x46c271
46c1e7:	51                   	push   %ecx
46c1e8:	53                   	push   %ebx
46c1e9:	e8 67 50 16 00       	call   0x5d1255
46c1ee:	83 c4 08             	add    $0x8,%esp
46c1f1:	8b 45 94             	mov    -0x6c(%ebp),%eax
46c1f4:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
46c1fb:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
46c202:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
46c206:	84 c0                	test   %al,%al
46c208:	0f 84 30 fe ff ff    	je     0x46c03e
46c20e:	8b 4d 88             	mov    -0x78(%ebp),%ecx
46c211:	8b 07                	mov    (%edi),%eax
46c213:	8b 5d 80             	mov    -0x80(%ebp),%ebx
46c216:	89 7d 88             	mov    %edi,-0x78(%ebp)
46c219:	89 01                	mov    %eax,(%ecx)
46c21b:	e9 70 fd ff ff       	jmp    0x46bf90
46c220:	68 d2 00 00 00       	push   $0xd2
46c225:	68 e0 76 60 00       	push   $0x6076e0
46c22a:	6a 02                	push   $0x2
46c22c:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
46c22f:	e8 ac 90 00 00       	call   0x4752e0
46c234:	68 48 77 60 00       	push   $0x607748
46c239:	8b c8                	mov    %eax,%ecx
46c23b:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46c242:	e8 a9 96 00 00       	call   0x4758f0
46c247:	50                   	push   %eax
46c248:	8d 4d 8f             	lea    -0x71(%ebp),%ecx
46c24b:	e8 30 94 00 00       	call   0x475680
46c250:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
46c253:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
46c25a:	e8 b1 93 00 00       	call   0x475610
46c25f:	8b 4d 88             	mov    -0x78(%ebp),%ecx
46c262:	8b 07                	mov    (%edi),%eax
46c264:	8b 5d 80             	mov    -0x80(%ebp),%ebx
46c267:	89 7d 88             	mov    %edi,-0x78(%ebp)
46c26a:	89 01                	mov    %eax,(%ecx)
46c26c:	e9 1f fd ff ff       	jmp    0x46bf90
46c271:	e8 7a 9f 16 00       	call   0x5d61f0
46c276:	66 90                	xchg   %ax,%ax
46c278:	ee                   	out    %al,(%dx)
46c279:	bf 46 00 10 c0       	mov    $0xc0100046,%edi
46c27e:	46                   	inc    %esi
46c27f:	00 ae c0 46 00 d0    	add    %ch,-0x2fffb940(%esi)
46c285:	c0 46 00 20          	rolb   $0x20,0x0(%esi)
46c289:	c2 46 00             	ret    $0x46
46c28c:	20 c2                	and    %al,%dl
46c28e:	46                   	inc    %esi
46c28f:	00 cc                	add    %cl,%ah
46c291:	bf 46 00 20 c2       	mov    $0xc2200046,%edi
46c296:	46                   	inc    %esi
46c297:	00 14 c1             	add    %dl,(%ecx,%eax,8)
46c29a:	46                   	inc    %esi
46c29b:	00 cc                	add    %cl,%ah
46c29d:	cc                   	int3
46c29e:	cc                   	int3
46c29f:	cc                   	int3
46c2a0:	55                   	push   %ebp
46c2a1:	8b ec                	mov    %esp,%ebp
46c2a3:	6a ff                	push   $0xffffffff
46c2a5:	68 25 98 5f 00       	push   $0x5f9825
46c2aa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
46c2b0:	50                   	push   %eax
46c2b1:	81 ec 80 00 00 00    	sub    $0x80,%esp
46c2b7:	a1 c0 14 69 00       	mov    0x6914c0,%eax
46c2bc:	33 c5                	xor    %ebp,%eax
46c2be:	89 45 f0             	mov    %eax,-0x10(%ebp)
46c2c1:	53                   	push   %ebx
46c2c2:	56                   	push   %esi
46c2c3:	57                   	push   %edi
46c2c4:	50                   	push   %eax
46c2c5:	8d 45 f4             	lea    -0xc(%ebp),%eax
46c2c8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
46c2ce:	8b 7d 08             	mov    0x8(%ebp),%edi
46c2d1:	8b 45 0c             	mov    0xc(%ebp),%eax
46c2d4:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
46c2da:	3b f8                	cmp    %eax,%edi
46c2dc:	0f 84 1b 01 00 00    	je     0x46c3fd
46c2e2:	8d 77 04             	lea    0x4(%edi),%esi
46c2e5:	89 75 84             	mov    %esi,-0x7c(%ebp)
46c2e8:	3b f0                	cmp    %eax,%esi
46c2ea:	0f 84 0d 01 00 00    	je     0x46c3fd
46c2f0:	ff 37                	push   (%edi)
46c2f2:	8b 1e                	mov    (%esi),%ebx
46c2f4:	8d 4d 10             	lea    0x10(%ebp),%ecx
46c2f7:	53                   	push   %ebx
46c2f8:	89 75 88             	mov    %esi,-0x78(%ebp)
46c2fb:	89 5d 80             	mov    %ebx,-0x80(%ebp)
46c2fe:	e8 bd 2a 00 00       	call   0x46edc0
46c303:	84 c0                	test   %al,%al
46c305:	74 1d                	je     0x46c324
46c307:	8b ce                	mov    %esi,%ecx
46c309:	8b c6                	mov    %esi,%eax
46c30b:	2b cf                	sub    %edi,%ecx
46c30d:	51                   	push   %ecx
46c30e:	2b c1                	sub    %ecx,%eax
46c310:	83 c0 04             	add    $0x4,%eax
46c313:	57                   	push   %edi
46c314:	50                   	push   %eax
46c315:	e8 b6 6a 16 00       	call   0x5d2dd0
46c31a:	83 c4 0c             	add    $0xc,%esp
46c31d:	89 1f                	mov    %ebx,(%edi)
46c31f:	e9 c8 00 00 00       	jmp    0x46c3ec
46c324:	8b 46 fc             	mov    -0x4(%esi),%eax
46c327:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
46c32d:	83 ee 04             	sub    $0x4,%esi
46c330:	89 45 98             	mov    %eax,-0x68(%ebp)
46c333:	8b 03                	mov    (%ebx),%eax
46c335:	51                   	push   %ecx
46c336:	8b cb                	mov    %ebx,%ecx
46c338:	ff 50 48             	call   *0x48(%eax)
46c33b:	8b 4d 10             	mov    0x10(%ebp),%ecx
46c33e:	8b 78 04             	mov    0x4(%eax),%edi
46c341:	89 7d 94             	mov    %edi,-0x6c(%ebp)
46c344:	e8 57 ce fe ff       	call   0x4591a0
46c349:	8b 04 85 98 7b 60 00 	mov    0x607b98(,%eax,4),%eax
46c350:	48                   	dec    %eax
46c351:	83 f8 08             	cmp    $0x8,%eax
46c354:	0f 87 33 02 00 00    	ja     0x46c58d
46c35a:	ff 24 85 e0 c5 46 00 	jmp    *0x46c5e0(,%eax,4)
46c361:	ff 75 10             	push   0x10(%ebp)
46c364:	8b cf                	mov    %edi,%ecx
46c366:	53                   	push   %ebx
46c367:	e8 e4 7f ff ff       	call   0x464350
46c36c:	ff 75 10             	push   0x10(%ebp)
46c36f:	8b cf                	mov    %edi,%ecx
46c371:	8a d8                	mov    %al,%bl
46c373:	ff 75 98             	push   -0x68(%ebp)
46c376:	e8 d5 7f ff ff       	call   0x464350
46c37b:	3a d8                	cmp    %al,%bl
46c37d:	8b 5d 80             	mov    -0x80(%ebp),%ebx
46c380:	0f 92 c0             	setb   %al
46c383:	e9 ee 01 00 00       	jmp    0x46c576
46c388:	ff 75 10             	push   0x10(%ebp)
46c38b:	8b cf                	mov    %edi,%ecx
46c38d:	53                   	push   %ebx
46c38e:	e8 9d 85 ff ff       	call   0x464930
46c393:	ff 75 10             	push   0x10(%ebp)
46c396:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
46c399:	8b f8                	mov    %eax,%edi
46c39b:	ff 75 98             	push   -0x68(%ebp)
46c39e:	e8 8d 85 ff ff       	call   0x464930
46c3a3:	3b f8                	cmp    %eax,%edi
46c3a5:	0f 9c c0             	setl   %al
46c3a8:	e9 c9 01 00 00       	jmp    0x46c576
46c3ad:	ff 75 10             	push   0x10(%ebp)
46c3b0:	8b cf                	mov    %edi,%ecx
46c3b2:	53                   	push   %ebx
46c3b3:	e8 58 86 ff ff       	call   0x464a10
46c3b8:	ff 75 10             	push   0x10(%ebp)
46c3bb:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
46c3be:	8b fa                	mov    %edx,%edi
46c3c0:	ff 75 98             	push   -0x68(%ebp)
46c3c3:	89 45 90             	mov    %eax,-0x70(%ebp)
46c3c6:	e8 45 86 ff ff       	call   0x464a10
46c3cb:	3b fa                	cmp    %edx,%edi
46c3cd:	7f 0f                	jg     0x46c3de
46c3cf:	0f 8c f7 01 00 00    	jl     0x46c5cc
46c3d5:	39 45 90             	cmp    %eax,-0x70(%ebp)
46c3d8:	0f 82 ee 01 00 00    	jb     0x46c5cc
46c3de:	8b 4d 88             	mov    -0x78(%ebp),%ecx
46c3e1:	8b 75 84             	mov    -0x7c(%ebp),%esi
46c3e4:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
46c3ea:	89 19                	mov    %ebx,(%ecx)
46c3ec:	8b 45 0c             	mov    0xc(%ebp),%eax
46c3ef:	83 c6 04             	add    $0x4,%esi
46c3f2:	89 75 84             	mov    %esi,-0x7c(%ebp)
46c3f5:	3b f0                	cmp    %eax,%esi
46c3f7:	0f 85 f3 fe ff ff    	jne    0x46c2f0
46c3fd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46c400:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46c407:	59                   	pop    %ecx
46c408:	5f                   	pop    %edi
46c409:	5e                   	pop    %esi
46c40a:	5b                   	pop    %ebx
46c40b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46c40e:	33 cd                	xor    %ebp,%ecx
46c410:	e8 11 56 16 00       	call   0x5d1a26
46c415:	8b e5                	mov    %ebp,%esp
46c417:	5d                   	pop    %ebp
46c418:	c3                   	ret
46c419:	ff 75 10             	push   0x10(%ebp)
46c41c:	8b cf                	mov    %edi,%ecx
46c41e:	53                   	push   %ebx
46c41f:	e8 6c 95 ff ff       	call   0x465990
46c424:	ff 75 10             	push   0x10(%ebp)
46c427:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
46c42a:	8b f8                	mov    %eax,%edi
46c42c:	ff 75 98             	push   -0x68(%ebp)
46c42f:	e8 5c 95 ff ff       	call   0x465990
46c434:	3b f8                	cmp    %eax,%edi
46c436:	0f 92 c0             	setb   %al
46c439:	e9 38 01 00 00       	jmp    0x46c576
46c43e:	ff 75 10             	push   0x10(%ebp)
46c441:	8b cf                	mov    %edi,%ecx
46c443:	53                   	push   %ebx
46c444:	e8 27 96 ff ff       	call   0x465a70
46c449:	ff 75 10             	push   0x10(%ebp)
46c44c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx