56321c:	8b 53 1c             	mov    0x1c(%ebx),%edx
56321f:	e8 38 19 00 00       	call   0x564b5c
563224:	8b f8                	mov    %eax,%edi
563226:	eb 03                	jmp    0x56322b
563228:	83 cf ff             	or     $0xffffffff,%edi
56322b:	8b 45 e8             	mov    -0x18(%ebp),%eax
56322e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
563231:	8b d0                	mov    %eax,%edx
563233:	8d 04 c2             	lea    (%edx,%eax,8),%eax
563236:	c1 e0 03             	shl    $0x3,%eax
563239:	2b c2                	sub    %edx,%eax
56323b:	8b 51 20             	mov    0x20(%ecx),%edx
56323e:	8b 4a 10             	mov    0x10(%edx),%ecx
563241:	f6 84 81 d6 00 00 00 	testb  $0x2,0xd6(%ecx,%eax,4)
563248:	02
563249:	74 12                	je     0x56325d
56324b:	b9 30 14 6b 00       	mov    $0x6b1430,%ecx
563250:	ba 13 00 00 00       	mov    $0x13,%edx
563255:	8b 43 1c             	mov    0x1c(%ebx),%eax
563258:	e8 93 e9 00 00       	call   0x571bf0
56325d:	85 ff                	test   %edi,%edi
56325f:	74 22                	je     0x563283
563261:	8b 46 14             	mov    0x14(%esi),%eax
563264:	50                   	push   %eax
563265:	8b 55 ec             	mov    -0x14(%ebp),%edx
563268:	52                   	push   %edx
563269:	68 26 f2 69 00       	push   $0x69f226
56326e:	68 80 2e 6a 00       	push   $0x6a2e80
563273:	e8 54 6e 01 00       	call   0x57a0cc
563278:	83 c4 10             	add    $0x10,%esp
56327b:	83 c8 ff             	or     $0xffffffff,%eax
56327e:	e9 2c 01 00 00       	jmp    0x5633af
563283:	ff 45 f0             	incl   -0x10(%ebp)
563286:	8b 55 f0             	mov    -0x10(%ebp),%edx
563289:	8b 4e 0c             	mov    0xc(%esi),%ecx
56328c:	3b d1                	cmp    %ecx,%edx
56328e:	0f 8c 11 fd ff ff    	jl     0x562fa5
563294:	8b 46 14             	mov    0x14(%esi),%eax
563297:	83 f8 01             	cmp    $0x1,%eax
56329a:	0f 84 95 00 00 00    	je     0x563335
5632a0:	83 f8 02             	cmp    $0x2,%eax
5632a3:	74 17                	je     0x5632bc
5632a5:	68 64 01 00 00       	push   $0x164
5632aa:	68 6a f2 69 00       	push   $0x69f26a
5632af:	68 51 f2 69 00       	push   $0x69f251
5632b4:	e8 87 78 ff ff       	call   0x55ab40
5632b9:	83 c4 0c             	add    $0xc,%esp
5632bc:	8b 55 e8             	mov    -0x18(%ebp),%edx
5632bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
5632c2:	8b ca                	mov    %edx,%ecx
5632c4:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
5632c7:	c1 e2 03             	shl    $0x3,%edx
5632ca:	2b d1                	sub    %ecx,%edx
5632cc:	8b 48 20             	mov    0x20(%eax),%ecx
5632cf:	8b 41 10             	mov    0x10(%ecx),%eax
5632d2:	f6 84 90 d6 00 00 00 	testb  $0x10,0xd6(%eax,%edx,4)
5632d9:	10
5632da:	74 10                	je     0x5632ec
5632dc:	c7 45 e0 7f 00 00 00 	movl   $0x7f,-0x20(%ebp)
5632e3:	c7 45 e4 2a 00 00 00 	movl   $0x2a,-0x1c(%ebp)
5632ea:	eb 0a                	jmp    0x5632f6
5632ec:	33 d2                	xor    %edx,%edx
5632ee:	33 c9                	xor    %ecx,%ecx
5632f0:	89 55 e0             	mov    %edx,-0x20(%ebp)
5632f3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5632f6:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5632f9:	8b 55 e0             	mov    -0x20(%ebp),%edx
5632fc:	8b 43 20             	mov    0x20(%ebx),%eax
5632ff:	e8 58 db 00 00       	call   0x570e5c
563304:	8b f8                	mov    %eax,%edi
563306:	85 c0                	test   %eax,%eax
563308:	7d 08                	jge    0x563312
56330a:	83 c8 ff             	or     $0xffffffff,%eax
56330d:	e9 9d 00 00 00       	jmp    0x5633af
563312:	85 ff                	test   %edi,%edi
563314:	7e 12                	jle    0x563328
563316:	68 76 f2 69 00       	push   $0x69f276
56331b:	68 80 2e 6a 00       	push   $0x6a2e80
563320:	e8 a7 6d 01 00       	call   0x57a0cc
563325:	83 c4 08             	add    $0x8,%esp
563328:	8b 43 20             	mov    0x20(%ebx),%eax
56332b:	e8 a4 d5 00 00       	call   0x5708d4
563330:	33 d2                	xor    %edx,%edx
563332:	89 53 20             	mov    %edx,0x20(%ebx)
563335:	8b 0e                	mov    (%esi),%ecx
563337:	89 4b 0c             	mov    %ecx,0xc(%ebx)
56333a:	8d 43 04             	lea    0x4(%ebx),%eax
56333d:	8b d6                	mov    %esi,%edx
56333f:	e8 c0 f2 ff ff       	call   0x562604
563344:	8b c6                	mov    %esi,%eax
563346:	e8 31 f3 ff ff       	call   0x56267c
56334b:	8b 73 0c             	mov    0xc(%ebx),%esi
56334e:	85 f6                	test   %esi,%esi
563350:	74 27                	je     0x563379
563352:	8b 43 0c             	mov    0xc(%ebx),%eax
563355:	3b f0                	cmp    %eax,%esi
563357:	75 07                	jne    0x563360
563359:	8b 55 0c             	mov    0xc(%ebp),%edx
56335c:	85 d2                	test   %edx,%edx
56335e:	74 19                	je     0x563379
563360:	8b 4d 08             	mov    0x8(%ebp),%ecx
563363:	85 c9                	test   %ecx,%ecx
563365:	0f 8c 38 fb ff ff    	jl     0x562ea3
56336b:	8b 46 24             	mov    0x24(%esi),%eax
56336e:	8b 55 08             	mov    0x8(%ebp),%edx
563371:	3b c2                	cmp    %edx,%eax
563373:	0f 8c 2a fb ff ff    	jl     0x562ea3
563379:	8b 4d 0c             	mov    0xc(%ebp),%ecx
56337c:	85 c9                	test   %ecx,%ecx
56337e:	74 0d                	je     0x56338d
563380:	8b 43 0c             	mov    0xc(%ebx),%eax
563383:	85 c0                	test   %eax,%eax
563385:	0f 94 c2             	sete   %dl
563388:	83 e2 01             	and    $0x1,%edx
56338b:	eb 05                	jmp    0x563392
56338d:	ba 01 00 00 00       	mov    $0x1,%edx
563392:	85 d2                	test   %edx,%edx
563394:	75 17                	jne    0x5633ad
563396:	68 7c 01 00 00       	push   $0x17c
56339b:	68 c1 f2 69 00       	push   $0x69f2c1
5633a0:	68 a1 f2 69 00       	push   $0x69f2a1
5633a5:	e8 96 77 ff ff       	call   0x55ab40
5633aa:	83 c4 0c             	add    $0xc,%esp
5633ad:	33 c0                	xor    %eax,%eax
5633af:	5f                   	pop    %edi
5633b0:	5e                   	pop    %esi
5633b1:	5b                   	pop    %ebx
5633b2:	8b e5                	mov    %ebp,%esp
5633b4:	5d                   	pop    %ebp
5633b5:	c2 10 00             	ret    $0x10
5633b8:	55                   	push   %ebp
5633b9:	8b ec                	mov    %esp,%ebp
5633bb:	83 c4 94             	add    $0xffffff94,%esp
5633be:	53                   	push   %ebx
5633bf:	56                   	push   %esi
5633c0:	57                   	push   %edi
5633c1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5633c4:	8b da                	mov    %edx,%ebx
5633c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
5633c9:	8b 45 08             	mov    0x8(%ebp),%eax
5633cc:	8b 50 18             	mov    0x18(%eax),%edx
5633cf:	89 55 dc             	mov    %edx,-0x24(%ebp)
5633d2:	8b 4d 08             	mov    0x8(%ebp),%ecx
5633d5:	8b 41 14             	mov    0x14(%ecx),%eax
5633d8:	89 45 d8             	mov    %eax,-0x28(%ebp)
5633db:	8b 55 0c             	mov    0xc(%ebp),%edx
5633de:	8b 4a 14             	mov    0x14(%edx),%ecx
5633e1:	49                   	dec    %ecx
5633e2:	7e 1f                	jle    0x563403
5633e4:	8b 45 0c             	mov    0xc(%ebp),%eax
5633e7:	8b 50 1c             	mov    0x1c(%eax),%edx
5633ea:	8b 45 0c             	mov    0xc(%ebp),%eax
5633ed:	8b 7a 04             	mov    0x4(%edx),%edi
5633f0:	8b 50 1c             	mov    0x1c(%eax),%edx
5633f3:	8b 0a                	mov    (%edx),%ecx
5633f5:	2b f9                	sub    %ecx,%edi
5633f7:	85 ff                	test   %edi,%edi
5633f9:	79 03                	jns    0x5633fe
5633fb:	83 c7 03             	add    $0x3,%edi
5633fe:	c1 ff 02             	sar    $0x2,%edi
563401:	eb 02                	jmp    0x563405
563403:	33 ff                	xor    %edi,%edi
563405:	8b 45 08             	mov    0x8(%ebp),%eax
563408:	8b 50 14             	mov    0x14(%eax),%edx
56340b:	4a                   	dec    %edx
56340c:	7e 1f                	jle    0x56342d
56340e:	8b 4d 08             	mov    0x8(%ebp),%ecx
563411:	8b 41 1c             	mov    0x1c(%ecx),%eax
563414:	8b 4d 08             	mov    0x8(%ebp),%ecx
563417:	8b 50 04             	mov    0x4(%eax),%edx
56341a:	8b 41 1c             	mov    0x1c(%ecx),%eax
56341d:	8b 08                	mov    (%eax),%ecx
56341f:	2b d1                	sub    %ecx,%edx
563421:	85 d2                	test   %edx,%edx
563423:	79 03                	jns    0x563428
563425:	83 c2 03             	add    $0x3,%edx
563428:	c1 fa 02             	sar    $0x2,%edx
56342b:	eb 02                	jmp    0x56342f
56342d:	33 d2                	xor    %edx,%edx
56342f:	89 55 c4             	mov    %edx,-0x3c(%ebp)
563432:	8b c7                	mov    %edi,%eax
563434:	c1 e0 02             	shl    $0x2,%eax
563437:	89 45 d4             	mov    %eax,-0x2c(%ebp)
56343a:	8b 55 c4             	mov    -0x3c(%ebp),%edx
56343d:	c1 e2 02             	shl    $0x2,%edx
563440:	89 55 c0             	mov    %edx,-0x40(%ebp)
563443:	8b 4d f8             	mov    -0x8(%ebp),%ecx
563446:	b8 01 00 00 00       	mov    $0x1,%eax
56344b:	d3 e0                	shl    %cl,%eax
56344d:	89 45 ec             	mov    %eax,-0x14(%ebp)
563450:	8b 55 ec             	mov    -0x14(%ebp),%edx
563453:	d1 fa                	sar    $1,%edx
563455:	89 55 e8             	mov    %edx,-0x18(%ebp)
563458:	8b 4d ec             	mov    -0x14(%ebp),%ecx
56345b:	8b 45 e8             	mov    -0x18(%ebp),%eax
56345e:	0b c8                	or     %eax,%ecx
563460:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
563463:	8b 55 0c             	mov    0xc(%ebp),%edx
563466:	8b 4a 1c             	mov    0x1c(%edx),%ecx
563469:	8b 41 04             	mov    0x4(%ecx),%eax
56346c:	83 c0 04             	add    $0x4,%eax
56346f:	89 45 d0             	mov    %eax,-0x30(%ebp)
563472:	8b 55 08             	mov    0x8(%ebp),%edx
563475:	8b 4a 1c             	mov    0x1c(%edx),%ecx
563478:	8b 01                	mov    (%ecx),%eax
56347a:	89 45 bc             	mov    %eax,-0x44(%ebp)
56347d:	8b 55 d8             	mov    -0x28(%ebp),%edx
563480:	89 55 f4             	mov    %edx,-0xc(%ebp)
563483:	8b 4d f4             	mov    -0xc(%ebp),%ecx
563486:	85 c9                	test   %ecx,%ecx
563488:	0f 8e d0 07 00 00    	jle    0x563c5e
56348e:	8b 45 d0             	mov    -0x30(%ebp),%eax
563491:	89 45 cc             	mov    %eax,-0x34(%ebp)
563494:	8b 55 bc             	mov    -0x44(%ebp),%edx
563497:	89 55 b8             	mov    %edx,-0x48(%ebp)
56349a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
56349d:	83 f9 04             	cmp    $0x4,%ecx
5634a0:	7d 05                	jge    0x5634a7
5634a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
5634a5:	eb 05                	jmp    0x5634ac
5634a7:	b8 04 00 00 00       	mov    $0x4,%eax
5634ac:	89 45 e0             	mov    %eax,-0x20(%ebp)
5634af:	8b 55 dc             	mov    -0x24(%ebp),%edx
5634b2:	89 55 f0             	mov    %edx,-0x10(%ebp)
5634b5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5634b8:	85 c9                	test   %ecx,%ecx
5634ba:	0f 8e 7d 07 00 00    	jle    0x563c3d
5634c0:	8b 75 cc             	mov    -0x34(%ebp),%esi
5634c3:	8b 45 b8             	mov    -0x48(%ebp),%eax
5634c6:	89 45 c8             	mov    %eax,-0x38(%ebp)
5634c9:	8b 55 e0             	mov    -0x20(%ebp),%edx
5634cc:	89 55 b4             	mov    %edx,-0x4c(%ebp)
5634cf:	8b 0e                	mov    (%esi),%ecx
5634d1:	89 4d b0             	mov    %ecx,-0x50(%ebp)
5634d4:	8b 45 b0             	mov    -0x50(%ebp),%eax
5634d7:	25 ff 00 00 00       	and    $0xff,%eax
5634dc:	85 c0                	test   %eax,%eax
5634de:	0f 84 a9 01 00 00    	je     0x56368d
5634e4:	f6 45 b1 50          	testb  $0x50,-0x4f(%ebp)
5634e8:	0f 85 9f 01 00 00    	jne    0x56368d
5634ee:	8b 55 14             	mov    0x14(%ebp),%edx
5634f1:	c1 e2 08             	shl    $0x8,%edx
5634f4:	0b d0                	or     %eax,%edx
5634f6:	8b 43 10             	mov    0x10(%ebx),%eax
5634f9:	8b 0c 95 10 b4 6a 00 	mov    0x6ab410(,%edx,4),%ecx
563500:	c1 e1 02             	shl    $0x2,%ecx
563503:	03 c8                	add    %eax,%ecx
563505:	89 4b 0c             	mov    %ecx,0xc(%ebx)
563508:	8b 53 0c             	mov    0xc(%ebx),%edx
56350b:	8b 0a                	mov    (%edx),%ecx
56350d:	0f b7 01             	movzwl (%ecx),%eax
563510:	29 43 04             	sub    %eax,0x4(%ebx)
563513:	8b 4b 0c             	mov    0xc(%ebx),%ecx
563516:	8b 13                	mov    (%ebx),%edx
563518:	c1 ea 10             	shr    $0x10,%edx
56351b:	8b 01                	mov    (%ecx),%eax
56351d:	0f b7 08             	movzwl (%eax),%ecx
563520:	3b d1                	cmp    %ecx,%edx
563522:	72 27                	jb     0x56354b
563524:	8b 53 0c             	mov    0xc(%ebx),%edx
563527:	8b 02                	mov    (%edx),%eax
563529:	0f b7 10             	movzwl (%eax),%edx
56352c:	c1 e2 10             	shl    $0x10,%edx
56352f:	29 13                	sub    %edx,(%ebx)
563531:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
563535:	74 0b                	je     0x563542
563537:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56353a:	8b 01                	mov    (%ecx),%eax
56353c:	0f b7 40 02          	movzwl 0x2(%eax),%eax
563540:	eb 10                	jmp    0x563552
563542:	8b c3                	mov    %ebx,%eax
563544:	e8 67 e7 00 00       	call   0x571cb0
563549:	eb 07                	jmp    0x563552
56354b:	8b c3                	mov    %ebx,%eax
56354d:	e8 7e e8 00 00       	call   0x571dd0
563552:	85 c0                	test   %eax,%eax
563554:	0f 84 2d 01 00 00    	je     0x563687
56355a:	8b 55 b0             	mov    -0x50(%ebp),%edx
56355d:	8b 43 10             	mov    0x10(%ebx),%eax
563560:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
563566:	c1 fa 04             	sar    $0x4,%edx
563569:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
563570:	c1 e1 02             	shl    $0x2,%ecx
563573:	03 c8                	add    %eax,%ecx
563575:	89 4b 0c             	mov    %ecx,0xc(%ebx)
563578:	8b 53 0c             	mov    0xc(%ebx),%edx
56357b:	8b 0a                	mov    (%edx),%ecx
56357d:	0f b7 01             	movzwl (%ecx),%eax
563580:	29 43 04             	sub    %eax,0x4(%ebx)
563583:	8b 4b 0c             	mov    0xc(%ebx),%ecx
563586:	8b 13                	mov    (%ebx),%edx
563588:	c1 ea 10             	shr    $0x10,%edx
56358b:	8b 01                	mov    (%ecx),%eax
56358d:	0f b7 08             	movzwl (%eax),%ecx
563590:	3b d1                	cmp    %ecx,%edx
563592:	72 27                	jb     0x5635bb
563594:	8b 53 0c             	mov    0xc(%ebx),%edx
563597:	8b 02                	mov    (%edx),%eax
563599:	0f b7 10             	movzwl (%eax),%edx
56359c:	c1 e2 10             	shl    $0x10,%edx
56359f:	29 13                	sub    %edx,(%ebx)
5635a1:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5635a5:	74 0b                	je     0x5635b2
5635a7:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5635aa:	8b 01                	mov    (%ecx),%eax
5635ac:	0f b7 40 02          	movzwl 0x2(%eax),%eax
5635b0:	eb 10                	jmp    0x5635c2
5635b2:	8b c3                	mov    %ebx,%eax
5635b4:	e8 f7 e6 00 00       	call   0x571cb0
5635b9:	eb 07                	jmp    0x5635c2
5635bb:	8b c3                	mov    %ebx,%eax
5635bd:	e8 0e e8 00 00       	call   0x571dd0
5635c2:	8b 55 b0             	mov    -0x50(%ebp),%edx
5635c5:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
5635cb:	c1 fa 04             	sar    $0x4,%edx
5635ce:	33 04 95 14 c4 6a 00 	xor    0x6ac414(,%edx,4),%eax
5635d5:	8b cf                	mov    %edi,%ecx
5635d7:	c1 e1 02             	shl    $0x2,%ecx
5635da:	8b d6                	mov    %esi,%edx
5635dc:	2b d1                	sub    %ecx,%edx
5635de:	89 55 ac             	mov    %edx,-0x54(%ebp)
5635e1:	8b d7                	mov    %edi,%edx
5635e3:	c1 e2 02             	shl    $0x2,%edx
5635e6:	03 d6                	add    %esi,%edx
5635e8:	8b 4d 10             	mov    0x10(%ebp),%ecx
5635eb:	85 c9                	test   %ecx,%ecx
5635ed:	74 32                	je     0x563621
5635ef:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
5635f3:	83 4a 04 08          	orl    $0x8,0x4(%edx)
5635f7:	85 c0                	test   %eax,%eax
5635f9:	74 16                	je     0x563611
5635fb:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
563601:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
563608:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
56360f:	eb 5d                	jmp    0x56366e
563611:	83 0a 10             	orl    $0x10,(%edx)
563614:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
563618:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
56361f:	eb 4d                	jmp    0x56366e
563621:	8b 4d ac             	mov    -0x54(%ebp),%ecx
563624:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
563628:	8b 4d ac             	mov    -0x54(%ebp),%ecx
56362b:	83 49 04 04          	orl    $0x4,0x4(%ecx)
56362f:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
563633:	83 4a 04 08          	orl    $0x8,0x4(%edx)
563637:	85 c0                	test   %eax,%eax
563639:	74 1f                	je     0x56365a
56363b:	8b 4d ac             	mov    -0x54(%ebp),%ecx
56363e:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
563644:	81 0a 10 01 00 00    	orl    $0x110,(%edx)