5fb149:	58                   	pop    %eax
5fb14a:	e8 25 5a ff ff       	call   0x5f0b74
5fb14f:	8b d0                	mov    %eax,%edx
5fb151:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb157:	8b 40 3c             	mov    0x3c(%eax),%eax
5fb15a:	e8 bd e2 fa ff       	call   0x5a941c
5fb15f:	8b d8                	mov    %eax,%ebx
5fb161:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb167:	8b 40 34             	mov    0x34(%eax),%eax
5fb16a:	48                   	dec    %eax
5fb16b:	85 c0                	test   %eax,%eax
5fb16d:	0f 8c a5 05 00 00    	jl     0x5fb718
5fb173:	40                   	inc    %eax
5fb174:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
5fb17a:	c7 85 f4 fb ff ff 00 	movl   $0x0,-0x40c(%ebp)
5fb181:	00 00 00
5fb184:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb18a:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb190:	8b 08                	mov    (%eax),%ecx
5fb192:	ff 11                	call   *(%ecx)
5fb194:	50                   	push   %eax
5fb195:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb19b:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb1a1:	e8 62 27 e3 ff       	call   0x42d908
5fb1a6:	8b d0                	mov    %eax,%edx
5fb1a8:	8b cb                	mov    %ebx,%ecx
5fb1aa:	58                   	pop    %eax
5fb1ab:	e8 10 cd e0 ff       	call   0x407ec0
5fb1b0:	ff 85 f4 fb ff ff    	incl   -0x40c(%ebp)
5fb1b6:	ff 8d ec fb ff ff    	decl   -0x414(%ebp)
5fb1bc:	75 c6                	jne    0x5fb184
5fb1be:	e9 55 05 00 00       	jmp    0x5fb718
5fb1c3:	6a 02                	push   $0x2
5fb1c5:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb1cb:	8b 10                	mov    (%eax),%edx
5fb1cd:	ff 52 20             	call   *0x20(%edx)
5fb1d0:	50                   	push   %eax
5fb1d1:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb1d7:	8b 10                	mov    (%eax),%edx
5fb1d9:	ff 52 2c             	call   *0x2c(%edx)
5fb1dc:	8b d0                	mov    %eax,%edx
5fb1de:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb1e4:	59                   	pop    %ecx
5fb1e5:	8b 18                	mov    (%eax),%ebx
5fb1e7:	ff 53 24             	call   *0x24(%ebx)
5fb1ea:	55                   	push   %ebp
5fb1eb:	b8 02 00 00 00       	mov    $0x2,%eax
5fb1f0:	e8 0f fe ff ff       	call   0x5fb004
5fb1f5:	59                   	pop    %ecx
5fb1f6:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb1fc:	8b 40 34             	mov    0x34(%eax),%eax
5fb1ff:	48                   	dec    %eax
5fb200:	85 c0                	test   %eax,%eax
5fb202:	0f 8c 10 05 00 00    	jl     0x5fb718
5fb208:	40                   	inc    %eax
5fb209:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
5fb20f:	c7 85 f4 fb ff ff 00 	movl   $0x0,-0x40c(%ebp)
5fb216:	00 00 00
5fb219:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb21f:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb225:	e8 de 26 e3 ff       	call   0x42d908
5fb22a:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
5fb230:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb236:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb23c:	8b 08                	mov    (%eax),%ecx
5fb23e:	ff 11                	call   *(%ecx)
5fb240:	8b f0                	mov    %eax,%esi
5fb242:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb248:	8b 58 30             	mov    0x30(%eax),%ebx
5fb24b:	4b                   	dec    %ebx
5fb24c:	85 db                	test   %ebx,%ebx
5fb24e:	7c 1c                	jl     0x5fb26c
5fb250:	43                   	inc    %ebx
5fb251:	33 ff                	xor    %edi,%edi
5fb253:	8b d7                	mov    %edi,%edx
5fb255:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
5fb25b:	e8 a0 48 fb ff       	call   0x5afb00
5fb260:	85 c0                	test   %eax,%eax
5fb262:	0f 95 c0             	setne  %al
5fb265:	88 06                	mov    %al,(%esi)
5fb267:	46                   	inc    %esi
5fb268:	47                   	inc    %edi
5fb269:	4b                   	dec    %ebx
5fb26a:	75 e7                	jne    0x5fb253
5fb26c:	ff 85 f4 fb ff ff    	incl   -0x40c(%ebp)
5fb272:	ff 8d ec fb ff ff    	decl   -0x414(%ebp)
5fb278:	75 9f                	jne    0x5fb219
5fb27a:	e9 99 04 00 00       	jmp    0x5fb718
5fb27f:	6a 02                	push   $0x2
5fb281:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb287:	8b 10                	mov    (%eax),%edx
5fb289:	ff 52 20             	call   *0x20(%edx)
5fb28c:	50                   	push   %eax
5fb28d:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb293:	8b 10                	mov    (%eax),%edx
5fb295:	ff 52 2c             	call   *0x2c(%edx)
5fb298:	8b d0                	mov    %eax,%edx
5fb29a:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb2a0:	59                   	pop    %ecx
5fb2a1:	8b 18                	mov    (%eax),%ebx
5fb2a3:	ff 53 24             	call   *0x24(%ebx)
5fb2a6:	55                   	push   %ebp
5fb2a7:	b8 10 00 00 00       	mov    $0x10,%eax
5fb2ac:	e8 53 fd ff ff       	call   0x5fb004
5fb2b1:	59                   	pop    %ecx
5fb2b2:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb2b8:	8b 40 34             	mov    0x34(%eax),%eax
5fb2bb:	48                   	dec    %eax
5fb2bc:	85 c0                	test   %eax,%eax
5fb2be:	0f 8c 54 04 00 00    	jl     0x5fb718
5fb2c4:	40                   	inc    %eax
5fb2c5:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
5fb2cb:	c7 85 f4 fb ff ff 00 	movl   $0x0,-0x40c(%ebp)
5fb2d2:	00 00 00
5fb2d5:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb2db:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb2e1:	e8 22 26 e3 ff       	call   0x42d908
5fb2e6:	89 85 f0 fb ff ff    	mov    %eax,-0x410(%ebp)
5fb2ec:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb2f2:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb2f8:	8b 08                	mov    (%eax),%ecx
5fb2fa:	ff 11                	call   *(%ecx)
5fb2fc:	8b f0                	mov    %eax,%esi
5fb2fe:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb304:	8b 58 30             	mov    0x30(%eax),%ebx
5fb307:	4b                   	dec    %ebx
5fb308:	85 db                	test   %ebx,%ebx
5fb30a:	7c 42                	jl     0x5fb34e
5fb30c:	43                   	inc    %ebx
5fb30d:	33 ff                	xor    %edi,%edi
5fb30f:	8b c7                	mov    %edi,%eax
5fb311:	25 01 00 00 80       	and    $0x80000001,%eax
5fb316:	79 05                	jns    0x5fb31d
5fb318:	48                   	dec    %eax
5fb319:	83 c8 fe             	or     $0xfffffffe,%eax
5fb31c:	40                   	inc    %eax
5fb31d:	85 c0                	test   %eax,%eax
5fb31f:	75 16                	jne    0x5fb337
5fb321:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
5fb327:	8a 00                	mov    (%eax),%al
5fb329:	24 f0                	and    $0xf0,%al
5fb32b:	25 ff 00 00 00       	and    $0xff,%eax
5fb330:	c1 e8 04             	shr    $0x4,%eax
5fb333:	88 06                	mov    %al,(%esi)
5fb335:	eb 12                	jmp    0x5fb349
5fb337:	8b 85 f0 fb ff ff    	mov    -0x410(%ebp),%eax
5fb33d:	8a 00                	mov    (%eax),%al
5fb33f:	24 0f                	and    $0xf,%al
5fb341:	88 06                	mov    %al,(%esi)
5fb343:	ff 85 f0 fb ff ff    	incl   -0x410(%ebp)
5fb349:	46                   	inc    %esi
5fb34a:	47                   	inc    %edi
5fb34b:	4b                   	dec    %ebx
5fb34c:	75 c1                	jne    0x5fb30f
5fb34e:	ff 85 f4 fb ff ff    	incl   -0x40c(%ebp)
5fb354:	ff 8d ec fb ff ff    	decl   -0x414(%ebp)
5fb35a:	0f 85 75 ff ff ff    	jne    0x5fb2d5
5fb360:	e9 b3 03 00 00       	jmp    0x5fb718
5fb365:	6a 02                	push   $0x2
5fb367:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb36d:	8b 10                	mov    (%eax),%edx
5fb36f:	ff 52 20             	call   *0x20(%edx)
5fb372:	50                   	push   %eax
5fb373:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb379:	8b 10                	mov    (%eax),%edx
5fb37b:	ff 52 2c             	call   *0x2c(%edx)
5fb37e:	8b d0                	mov    %eax,%edx
5fb380:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb386:	59                   	pop    %ecx
5fb387:	8b 18                	mov    (%eax),%ebx
5fb389:	ff 53 24             	call   *0x24(%ebx)
5fb38c:	55                   	push   %ebp
5fb38d:	b8 00 01 00 00       	mov    $0x100,%eax
5fb392:	e8 6d fc ff ff       	call   0x5fb004
5fb397:	59                   	pop    %ecx
5fb398:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb39e:	8b 10                	mov    (%eax),%edx
5fb3a0:	ff 52 2c             	call   *0x2c(%edx)
5fb3a3:	50                   	push   %eax
5fb3a4:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb3aa:	e8 d5 24 e3 ff       	call   0x42d884
5fb3af:	8b d0                	mov    %eax,%edx
5fb3b1:	58                   	pop    %eax
5fb3b2:	e8 bd 57 ff ff       	call   0x5f0b74
5fb3b7:	8b d0                	mov    %eax,%edx
5fb3b9:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb3bf:	8b 40 3c             	mov    0x3c(%eax),%eax
5fb3c2:	e8 55 e0 fa ff       	call   0x5a941c
5fb3c7:	8b d8                	mov    %eax,%ebx
5fb3c9:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb3cf:	8b 40 34             	mov    0x34(%eax),%eax
5fb3d2:	48                   	dec    %eax
5fb3d3:	85 c0                	test   %eax,%eax
5fb3d5:	0f 8c 3d 03 00 00    	jl     0x5fb718
5fb3db:	40                   	inc    %eax
5fb3dc:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
5fb3e2:	c7 85 f4 fb ff ff 00 	movl   $0x0,-0x40c(%ebp)
5fb3e9:	00 00 00
5fb3ec:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb3f2:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb3f8:	8b 08                	mov    (%eax),%ecx
5fb3fa:	ff 11                	call   *(%ecx)
5fb3fc:	50                   	push   %eax
5fb3fd:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb403:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb409:	e8 fa 24 e3 ff       	call   0x42d908
5fb40e:	8b d0                	mov    %eax,%edx
5fb410:	8b cb                	mov    %ebx,%ecx
5fb412:	58                   	pop    %eax
5fb413:	e8 a8 ca e0 ff       	call   0x407ec0
5fb418:	ff 85 f4 fb ff ff    	incl   -0x40c(%ebp)
5fb41e:	ff 8d ec fb ff ff    	decl   -0x414(%ebp)
5fb424:	75 c6                	jne    0x5fb3ec
5fb426:	e9 ed 02 00 00       	jmp    0x5fb718
5fb42b:	6a 05                	push   $0x5
5fb42d:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb433:	8b 10                	mov    (%eax),%edx
5fb435:	ff 52 20             	call   *0x20(%edx)
5fb438:	50                   	push   %eax
5fb439:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb43f:	8b 10                	mov    (%eax),%edx
5fb441:	ff 52 2c             	call   *0x2c(%edx)
5fb444:	8b d0                	mov    %eax,%edx
5fb446:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb44c:	59                   	pop    %ecx
5fb44d:	8b 18                	mov    (%eax),%ebx
5fb44f:	ff 53 24             	call   *0x24(%ebx)
5fb452:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb458:	8b 40 34             	mov    0x34(%eax),%eax
5fb45b:	48                   	dec    %eax
5fb45c:	85 c0                	test   %eax,%eax
5fb45e:	0f 8c b4 02 00 00    	jl     0x5fb718
5fb464:	40                   	inc    %eax
5fb465:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
5fb46b:	c7 85 f4 fb ff ff 00 	movl   $0x0,-0x40c(%ebp)
5fb472:	00 00 00
5fb475:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb47b:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb481:	e8 82 24 e3 ff       	call   0x42d908
5fb486:	8b f0                	mov    %eax,%esi
5fb488:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb48e:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb494:	8b 08                	mov    (%eax),%ecx
5fb496:	ff 11                	call   *(%ecx)
5fb498:	8b 95 f8 fb ff ff    	mov    -0x408(%ebp),%edx
5fb49e:	8b 5a 30             	mov    0x30(%edx),%ebx
5fb4a1:	4b                   	dec    %ebx
5fb4a2:	85 db                	test   %ebx,%ebx
5fb4a4:	7c 3e                	jl     0x5fb4e4
5fb4a6:	43                   	inc    %ebx
5fb4a7:	8b d0                	mov    %eax,%edx
5fb4a9:	66 8b 0e             	mov    (%esi),%cx
5fb4ac:	66 81 e1 00 7c       	and    $0x7c00,%cx
5fb4b1:	0f b7 c9             	movzwl %cx,%ecx
5fb4b4:	c1 e9 0a             	shr    $0xa,%ecx
5fb4b7:	c1 e1 03             	shl    $0x3,%ecx
5fb4ba:	88 4a 02             	mov    %cl,0x2(%edx)
5fb4bd:	66 8b 0e             	mov    (%esi),%cx
5fb4c0:	66 81 e1 e0 03       	and    $0x3e0,%cx
5fb4c5:	0f b7 c9             	movzwl %cx,%ecx
5fb4c8:	c1 e9 05             	shr    $0x5,%ecx
5fb4cb:	c1 e1 03             	shl    $0x3,%ecx
5fb4ce:	88 4a 01             	mov    %cl,0x1(%edx)
5fb4d1:	8a 0e                	mov    (%esi),%cl
5fb4d3:	80 e1 1f             	and    $0x1f,%cl
5fb4d6:	c1 e1 03             	shl    $0x3,%ecx
5fb4d9:	88 0a                	mov    %cl,(%edx)
5fb4db:	83 c6 02             	add    $0x2,%esi
5fb4de:	83 c0 03             	add    $0x3,%eax
5fb4e1:	4b                   	dec    %ebx
5fb4e2:	75 c3                	jne    0x5fb4a7
5fb4e4:	ff 85 f4 fb ff ff    	incl   -0x40c(%ebp)
5fb4ea:	ff 8d ec fb ff ff    	decl   -0x414(%ebp)
5fb4f0:	75 83                	jne    0x5fb475
5fb4f2:	e9 21 02 00 00       	jmp    0x5fb718
5fb4f7:	6a 05                	push   $0x5
5fb4f9:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb4ff:	8b 10                	mov    (%eax),%edx
5fb501:	ff 52 20             	call   *0x20(%edx)
5fb504:	50                   	push   %eax
5fb505:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb50b:	8b 10                	mov    (%eax),%edx
5fb50d:	ff 52 2c             	call   *0x2c(%edx)
5fb510:	8b d0                	mov    %eax,%edx
5fb512:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb518:	59                   	pop    %ecx
5fb519:	8b 18                	mov    (%eax),%ebx
5fb51b:	ff 53 24             	call   *0x24(%ebx)
5fb51e:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb524:	8b 40 34             	mov    0x34(%eax),%eax
5fb527:	48                   	dec    %eax
5fb528:	85 c0                	test   %eax,%eax
5fb52a:	0f 8c e8 01 00 00    	jl     0x5fb718
5fb530:	40                   	inc    %eax
5fb531:	89 85 ec fb ff ff    	mov    %eax,-0x414(%ebp)
5fb537:	c7 85 f4 fb ff ff 00 	movl   $0x0,-0x40c(%ebp)
5fb53e:	00 00 00
5fb541:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb547:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb54d:	e8 b6 23 e3 ff       	call   0x42d908
5fb552:	8b f0                	mov    %eax,%esi
5fb554:	8b 95 f4 fb ff ff    	mov    -0x40c(%ebp),%edx
5fb55a:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb560:	8b 08                	mov    (%eax),%ecx
5fb562:	ff 11                	call   *(%ecx)
5fb564:	8b 95 f8 fb ff ff    	mov    -0x408(%ebp),%edx
5fb56a:	8b 5a 30             	mov    0x30(%edx),%ebx
5fb56d:	4b                   	dec    %ebx
5fb56e:	85 db                	test   %ebx,%ebx
5fb570:	7c 3e                	jl     0x5fb5b0
5fb572:	43                   	inc    %ebx
5fb573:	8b d0                	mov    %eax,%edx
5fb575:	66 8b 0e             	mov    (%esi),%cx
5fb578:	66 81 e1 00 f8       	and    $0xf800,%cx
5fb57d:	0f b7 c9             	movzwl %cx,%ecx
5fb580:	c1 e9 0b             	shr    $0xb,%ecx
5fb583:	c1 e1 03             	shl    $0x3,%ecx
5fb586:	88 4a 02             	mov    %cl,0x2(%edx)
5fb589:	66 8b 0e             	mov    (%esi),%cx
5fb58c:	66 81 e1 e0 07       	and    $0x7e0,%cx
5fb591:	0f b7 c9             	movzwl %cx,%ecx
5fb594:	c1 e9 05             	shr    $0x5,%ecx
5fb597:	c1 e1 02             	shl    $0x2,%ecx
5fb59a:	88 4a 01             	mov    %cl,0x1(%edx)
5fb59d:	8a 0e                	mov    (%esi),%cl
5fb59f:	80 e1 1f             	and    $0x1f,%cl
5fb5a2:	c1 e1 03             	shl    $0x3,%ecx
5fb5a5:	88 0a                	mov    %cl,(%edx)
5fb5a7:	83 c6 02             	add    $0x2,%esi
5fb5aa:	83 c0 03             	add    $0x3,%eax
5fb5ad:	4b                   	dec    %ebx
5fb5ae:	75 c3                	jne    0x5fb573
5fb5b0:	ff 85 f4 fb ff ff    	incl   -0x40c(%ebp)
5fb5b6:	ff 8d ec fb ff ff    	decl   -0x414(%ebp)
5fb5bc:	75 83                	jne    0x5fb541
5fb5be:	e9 55 01 00 00       	jmp    0x5fb718
5fb5c3:	6a 05                	push   $0x5
5fb5c5:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb5cb:	8b 10                	mov    (%eax),%edx
5fb5cd:	ff 52 20             	call   *0x20(%edx)
5fb5d0:	50                   	push   %eax
5fb5d1:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax
5fb5d7:	8b 10                	mov    (%eax),%edx
5fb5d9:	ff 52 2c             	call   *0x2c(%edx)
5fb5dc:	8b d0                	mov    %eax,%edx
5fb5de:	8b 85 f8 fb ff ff    	mov    -0x408(%ebp),%eax
5fb5e4:	59                   	pop    %ecx
5fb5e5:	8b 18                	mov    (%eax),%ebx
5fb5e7:	ff 53 24             	call   *0x24(%ebx)
5fb5ea:	8b 85 fc fb ff ff    	mov    -0x404(%ebp),%eax