5651f7:	8b 0a                	mov    (%edx),%ecx
5651f9:	0f b7 01             	movzwl (%ecx),%eax
5651fc:	29 43 04             	sub    %eax,0x4(%ebx)
5651ff:	8b 4b 0c             	mov    0xc(%ebx),%ecx
565202:	8b 13                	mov    (%ebx),%edx
565204:	c1 ea 10             	shr    $0x10,%edx
565207:	8b 01                	mov    (%ecx),%eax
565209:	0f b7 08             	movzwl (%eax),%ecx
56520c:	3b d1                	cmp    %ecx,%edx
56520e:	72 27                	jb     0x565237
565210:	8b 53 0c             	mov    0xc(%ebx),%edx
565213:	8b 02                	mov    (%edx),%eax
565215:	0f b7 10             	movzwl (%eax),%edx
565218:	c1 e2 10             	shl    $0x10,%edx
56521b:	29 13                	sub    %edx,(%ebx)
56521d:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
565221:	74 0b                	je     0x56522e
565223:	8b 4b 0c             	mov    0xc(%ebx),%ecx
565226:	8b 01                	mov    (%ecx),%eax
565228:	0f b7 40 02          	movzwl 0x2(%eax),%eax
56522c:	eb 10                	jmp    0x56523e
56522e:	8b c3                	mov    %ebx,%eax
565230:	e8 7b ca 00 00       	call   0x571cb0
565235:	eb 07                	jmp    0x56523e
565237:	8b c3                	mov    %ebx,%eax
565239:	e8 92 cb 00 00       	call   0x571dd0
56523e:	85 c0                	test   %eax,%eax
565240:	0f 84 15 01 00 00    	je     0x56535b
565246:	8b d7                	mov    %edi,%edx
565248:	8b 43 10             	mov    0x10(%ebx),%eax
56524b:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
565251:	c1 fa 04             	sar    $0x4,%edx
565254:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
56525b:	c1 e1 02             	shl    $0x2,%ecx
56525e:	03 c8                	add    %eax,%ecx
565260:	89 4b 0c             	mov    %ecx,0xc(%ebx)
565263:	8b 53 0c             	mov    0xc(%ebx),%edx
565266:	8b 0a                	mov    (%edx),%ecx
565268:	0f b7 01             	movzwl (%ecx),%eax
56526b:	29 43 04             	sub    %eax,0x4(%ebx)
56526e:	8b 4b 0c             	mov    0xc(%ebx),%ecx
565271:	8b 13                	mov    (%ebx),%edx
565273:	c1 ea 10             	shr    $0x10,%edx
565276:	8b 01                	mov    (%ecx),%eax
565278:	0f b7 08             	movzwl (%eax),%ecx
56527b:	3b d1                	cmp    %ecx,%edx
56527d:	72 27                	jb     0x5652a6
56527f:	8b 53 0c             	mov    0xc(%ebx),%edx
565282:	8b 02                	mov    (%edx),%eax
565284:	0f b7 10             	movzwl (%eax),%edx
565287:	c1 e2 10             	shl    $0x10,%edx
56528a:	29 13                	sub    %edx,(%ebx)
56528c:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
565290:	74 0b                	je     0x56529d
565292:	8b 4b 0c             	mov    0xc(%ebx),%ecx
565295:	8b 01                	mov    (%ecx),%eax
565297:	0f b7 40 02          	movzwl 0x2(%eax),%eax
56529b:	eb 10                	jmp    0x5652ad
56529d:	8b c3                	mov    %ebx,%eax
56529f:	e8 0c ca 00 00       	call   0x571cb0
5652a4:	eb 07                	jmp    0x5652ad
5652a6:	8b c3                	mov    %ebx,%eax
5652a8:	e8 23 cb 00 00       	call   0x571dd0
5652ad:	81 e7 f0 0f 00 00    	and    $0xff0,%edi
5652b3:	c1 ff 04             	sar    $0x4,%edi
5652b6:	33 04 bd 14 c4 6a 00 	xor    0x6ac414(,%edi,4),%eax
5652bd:	85 c0                	test   %eax,%eax
5652bf:	74 07                	je     0x5652c8
5652c1:	8b 55 d0             	mov    -0x30(%ebp),%edx
5652c4:	f7 da                	neg    %edx
5652c6:	eb 03                	jmp    0x5652cb
5652c8:	8b 55 d0             	mov    -0x30(%ebp),%edx
5652cb:	8b 4d bc             	mov    -0x44(%ebp),%ecx
5652ce:	89 11                	mov    %edx,(%ecx)
5652d0:	8b 55 cc             	mov    -0x34(%ebp),%edx
5652d3:	c1 e2 02             	shl    $0x2,%edx
5652d6:	8b ce                	mov    %esi,%ecx
5652d8:	2b ca                	sub    %edx,%ecx
5652da:	8b 55 cc             	mov    -0x34(%ebp),%edx
5652dd:	c1 e2 02             	shl    $0x2,%edx
5652e0:	03 d6                	add    %esi,%edx
5652e2:	eb 30                	jmp    0x565314
5652e4:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
5652e8:	83 4a 04 08          	orl    $0x8,0x4(%edx)
5652ec:	85 c0                	test   %eax,%eax
5652ee:	74 14                	je     0x565304
5652f0:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
5652f6:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
5652fd:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
565304:	83 0a 10             	orl    $0x10,(%edx)
565307:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
56530b:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
565312:	eb 41                	jmp    0x565355
565314:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
565318:	83 49 04 04          	orl    $0x4,0x4(%ecx)
56531c:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
565320:	83 4a 04 08          	orl    $0x8,0x4(%edx)
565324:	85 c0                	test   %eax,%eax
565326:	74 1c                	je     0x565344
565328:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
56532e:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
565334:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
56533b:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
565342:	eb 11                	jmp    0x565355
565344:	83 09 40             	orl    $0x40,(%ecx)
565347:	83 0a 10             	orl    $0x10,(%edx)
56534a:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
56534e:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
565355:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
56535b:	81 26 ff bf ff ff    	andl   $0xffffbfff,(%esi)
565361:	ff 4d ec             	decl   -0x14(%ebp)
565364:	8b 45 ec             	mov    -0x14(%ebp),%eax
565367:	85 c0                	test   %eax,%eax
565369:	0f 8e ae 01 00 00    	jle    0x56551d
56536f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
565372:	8b 45 b8             	mov    -0x48(%ebp),%eax
565375:	c1 e1 02             	shl    $0x2,%ecx
565378:	c1 e0 02             	shl    $0x2,%eax
56537b:	03 f1                	add    %ecx,%esi
56537d:	01 45 bc             	add    %eax,-0x44(%ebp)
565380:	8b 3e                	mov    (%esi),%edi
565382:	f7 c7 00 50 00 00    	test   $0x5000,%edi
565388:	0f 85 89 01 00 00    	jne    0x565517
56538e:	8b 45 18             	mov    0x18(%ebp),%eax
565391:	8b d7                	mov    %edi,%edx
565393:	c1 e0 08             	shl    $0x8,%eax
565396:	81 e2 ff 00 00 00    	and    $0xff,%edx
56539c:	0b c2                	or     %edx,%eax
56539e:	8b 0c 85 10 b4 6a 00 	mov    0x6ab410(,%eax,4),%ecx
5653a5:	8b 43 10             	mov    0x10(%ebx),%eax
5653a8:	c1 e1 02             	shl    $0x2,%ecx
5653ab:	03 c8                	add    %eax,%ecx
5653ad:	89 4b 0c             	mov    %ecx,0xc(%ebx)
5653b0:	8b 53 0c             	mov    0xc(%ebx),%edx
5653b3:	8b 0a                	mov    (%edx),%ecx
5653b5:	0f b7 01             	movzwl (%ecx),%eax
5653b8:	29 43 04             	sub    %eax,0x4(%ebx)
5653bb:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5653be:	8b 13                	mov    (%ebx),%edx
5653c0:	c1 ea 10             	shr    $0x10,%edx
5653c3:	8b 01                	mov    (%ecx),%eax
5653c5:	0f b7 08             	movzwl (%eax),%ecx
5653c8:	3b d1                	cmp    %ecx,%edx
5653ca:	72 27                	jb     0x5653f3
5653cc:	8b 53 0c             	mov    0xc(%ebx),%edx
5653cf:	8b 02                	mov    (%edx),%eax
5653d1:	0f b7 10             	movzwl (%eax),%edx
5653d4:	c1 e2 10             	shl    $0x10,%edx
5653d7:	29 13                	sub    %edx,(%ebx)
5653d9:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5653dd:	74 0b                	je     0x5653ea
5653df:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5653e2:	8b 01                	mov    (%ecx),%eax
5653e4:	0f b7 40 02          	movzwl 0x2(%eax),%eax
5653e8:	eb 10                	jmp    0x5653fa
5653ea:	8b c3                	mov    %ebx,%eax
5653ec:	e8 bf c8 00 00       	call   0x571cb0
5653f1:	eb 07                	jmp    0x5653fa
5653f3:	8b c3                	mov    %ebx,%eax
5653f5:	e8 d6 c9 00 00       	call   0x571dd0
5653fa:	85 c0                	test   %eax,%eax
5653fc:	0f 84 15 01 00 00    	je     0x565517
565402:	8b d7                	mov    %edi,%edx
565404:	8b 43 10             	mov    0x10(%ebx),%eax
565407:	81 e2 f0 0f 00 00    	and    $0xff0,%edx
56540d:	c1 fa 04             	sar    $0x4,%edx
565410:	8b 0c 95 18 c8 6a 00 	mov    0x6ac818(,%edx,4),%ecx
565417:	c1 e1 02             	shl    $0x2,%ecx
56541a:	03 c8                	add    %eax,%ecx
56541c:	89 4b 0c             	mov    %ecx,0xc(%ebx)
56541f:	8b 53 0c             	mov    0xc(%ebx),%edx
565422:	8b 0a                	mov    (%edx),%ecx
565424:	0f b7 01             	movzwl (%ecx),%eax
565427:	29 43 04             	sub    %eax,0x4(%ebx)
56542a:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56542d:	8b 13                	mov    (%ebx),%edx
56542f:	c1 ea 10             	shr    $0x10,%edx
565432:	8b 01                	mov    (%ecx),%eax
565434:	0f b7 08             	movzwl (%eax),%ecx
565437:	3b d1                	cmp    %ecx,%edx
565439:	72 27                	jb     0x565462
56543b:	8b 53 0c             	mov    0xc(%ebx),%edx
56543e:	8b 02                	mov    (%edx),%eax
565440:	0f b7 10             	movzwl (%eax),%edx
565443:	c1 e2 10             	shl    $0x10,%edx
565446:	29 13                	sub    %edx,(%ebx)
565448:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
56544c:	74 0b                	je     0x565459
56544e:	8b 4b 0c             	mov    0xc(%ebx),%ecx
565451:	8b 01                	mov    (%ecx),%eax
565453:	0f b7 40 02          	movzwl 0x2(%eax),%eax
565457:	eb 10                	jmp    0x565469
565459:	8b c3                	mov    %ebx,%eax
56545b:	e8 50 c8 00 00       	call   0x571cb0
565460:	eb 07                	jmp    0x565469
565462:	8b c3                	mov    %ebx,%eax
565464:	e8 67 c9 00 00       	call   0x571dd0
565469:	81 e7 f0 0f 00 00    	and    $0xff0,%edi
56546f:	c1 ff 04             	sar    $0x4,%edi
565472:	33 04 bd 14 c4 6a 00 	xor    0x6ac414(,%edi,4),%eax
565479:	85 c0                	test   %eax,%eax
56547b:	74 07                	je     0x565484
56547d:	8b 55 d0             	mov    -0x30(%ebp),%edx
565480:	f7 da                	neg    %edx
565482:	eb 03                	jmp    0x565487
565484:	8b 55 d0             	mov    -0x30(%ebp),%edx
565487:	8b 4d bc             	mov    -0x44(%ebp),%ecx
56548a:	89 11                	mov    %edx,(%ecx)
56548c:	8b 55 cc             	mov    -0x34(%ebp),%edx
56548f:	c1 e2 02             	shl    $0x2,%edx
565492:	8b ce                	mov    %esi,%ecx
565494:	2b ca                	sub    %edx,%ecx
565496:	8b 55 cc             	mov    -0x34(%ebp),%edx
565499:	c1 e2 02             	shl    $0x2,%edx
56549c:	03 d6                	add    %esi,%edx
56549e:	eb 30                	jmp    0x5654d0
5654a0:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
5654a4:	83 4a 04 08          	orl    $0x8,0x4(%edx)
5654a8:	85 c0                	test   %eax,%eax
5654aa:	74 14                	je     0x5654c0
5654ac:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
5654b2:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
5654b9:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
5654c0:	83 0a 10             	orl    $0x10,(%edx)
5654c3:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
5654c7:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
5654ce:	eb 41                	jmp    0x565511
5654d0:	83 49 fc 02          	orl    $0x2,-0x4(%ecx)
5654d4:	83 49 04 04          	orl    $0x4,0x4(%ecx)
5654d8:	83 4a fc 01          	orl    $0x1,-0x4(%edx)
5654dc:	83 4a 04 08          	orl    $0x8,0x4(%edx)
5654e0:	85 c0                	test   %eax,%eax
5654e2:	74 1c                	je     0x565500
5654e4:	81 09 40 04 00 00    	orl    $0x440,(%ecx)
5654ea:	81 0a 10 01 00 00    	orl    $0x110,(%edx)
5654f0:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
5654f7:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
5654fe:	eb 11                	jmp    0x565511
565500:	83 09 40             	orl    $0x40,(%ecx)
565503:	83 0a 10             	orl    $0x10,(%edx)
565506:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
56550a:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
565511:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
565517:	81 26 ff bf ff ff    	andl   $0xffffbfff,(%esi)
56551d:	ff 4d f0             	decl   -0x10(%ebp)
565520:	83 45 c0 04          	addl   $0x4,-0x40(%ebp)
565524:	83 45 ac 04          	addl   $0x4,-0x54(%ebp)
565528:	8b 45 f0             	mov    -0x10(%ebp),%eax
56552b:	85 c0                	test   %eax,%eax
56552d:	0f 8f 41 f7 ff ff    	jg     0x564c74
565533:	83 45 f4 04          	addl   $0x4,-0xc(%ebp)
565537:	8b 4d c8             	mov    -0x38(%ebp),%ecx
56553a:	c1 e1 02             	shl    $0x2,%ecx
56553d:	01 4d c4             	add    %ecx,-0x3c(%ebp)
565540:	8b 45 b4             	mov    -0x4c(%ebp),%eax
565543:	c1 e0 02             	shl    $0x2,%eax
565546:	01 45 b0             	add    %eax,-0x50(%ebp)
565549:	8b 55 f4             	mov    -0xc(%ebp),%edx
56554c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
56554f:	3b d1                	cmp    %ecx,%edx
565551:	0f 8c e1 f6 ff ff    	jl     0x564c38
565557:	8b 45 10             	mov    0x10(%ebp),%eax
56555a:	85 c0                	test   %eax,%eax
56555c:	0f 84 84 01 00 00    	je     0x5656e6
565562:	33 d2                	xor    %edx,%edx
565564:	89 55 a8             	mov    %edx,-0x58(%ebp)
565567:	8b 4b 10             	mov    0x10(%ebx),%ecx
56556a:	83 c1 48             	add    $0x48,%ecx
56556d:	89 4b 0c             	mov    %ecx,0xc(%ebx)
565570:	8b 43 0c             	mov    0xc(%ebx),%eax
565573:	8b 10                	mov    (%eax),%edx
565575:	0f b7 0a             	movzwl (%edx),%ecx
565578:	29 4b 04             	sub    %ecx,0x4(%ebx)
56557b:	8b 53 0c             	mov    0xc(%ebx),%edx
56557e:	8b 03                	mov    (%ebx),%eax
565580:	c1 e8 10             	shr    $0x10,%eax
565583:	8b 0a                	mov    (%edx),%ecx
565585:	0f b7 11             	movzwl (%ecx),%edx
565588:	3b c2                	cmp    %edx,%eax
56558a:	72 27                	jb     0x5655b3
56558c:	8b 43 0c             	mov    0xc(%ebx),%eax
56558f:	8b 08                	mov    (%eax),%ecx
565591:	0f b7 01             	movzwl (%ecx),%eax
565594:	c1 e0 10             	shl    $0x10,%eax
565597:	29 03                	sub    %eax,(%ebx)
565599:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
56559d:	74 0b                	je     0x5655aa
56559f:	8b 53 0c             	mov    0xc(%ebx),%edx
5655a2:	8b 0a                	mov    (%edx),%ecx
5655a4:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
5655a8:	eb 10                	jmp    0x5655ba
5655aa:	8b c3                	mov    %ebx,%eax
5655ac:	e8 ff c6 00 00       	call   0x571cb0
5655b1:	eb 07                	jmp    0x5655ba
5655b3:	8b c3                	mov    %ebx,%eax
5655b5:	e8 16 c8 00 00       	call   0x571dd0
5655ba:	8b 55 a8             	mov    -0x58(%ebp),%edx
5655bd:	83 e0 01             	and    $0x1,%eax
5655c0:	03 d2                	add    %edx,%edx
5655c2:	0b d0                	or     %eax,%edx
5655c4:	89 55 a8             	mov    %edx,-0x58(%ebp)
5655c7:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5655ca:	8b 01                	mov    (%ecx),%eax
5655cc:	0f b7 10             	movzwl (%eax),%edx
5655cf:	29 53 04             	sub    %edx,0x4(%ebx)
5655d2:	8b 43 0c             	mov    0xc(%ebx),%eax
5655d5:	8b 0b                	mov    (%ebx),%ecx
5655d7:	c1 e9 10             	shr    $0x10,%ecx
5655da:	8b 10                	mov    (%eax),%edx
5655dc:	0f b7 02             	movzwl (%edx),%eax
5655df:	3b c8                	cmp    %eax,%ecx
5655e1:	72 27                	jb     0x56560a
5655e3:	8b 53 0c             	mov    0xc(%ebx),%edx
5655e6:	8b 0a                	mov    (%edx),%ecx
5655e8:	0f b7 01             	movzwl (%ecx),%eax
5655eb:	c1 e0 10             	shl    $0x10,%eax
5655ee:	29 03                	sub    %eax,(%ebx)
5655f0:	f6 43 05 80          	testb  $0x80,0x5(%ebx)
5655f4:	74 0b                	je     0x565601
5655f6:	8b 53 0c             	mov    0xc(%ebx),%edx
5655f9:	8b 0a                	mov    (%edx),%ecx
5655fb:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
5655ff:	eb 10                	jmp    0x565611
565601:	8b c3                	mov    %ebx,%eax
565603:	e8 a8 c6 00 00       	call   0x571cb0
565608:	eb 07                	jmp    0x565611
56560a:	8b c3                	mov    %ebx,%eax
56560c:	e8 bf c7 00 00       	call   0x571dd0
565611:	8b 55 a8             	mov    -0x58(%ebp),%edx
565614:	83 e0 01             	and    $0x1,%eax
565617:	03 d2                	add    %edx,%edx
565619:	0b d0                	or     %eax,%edx
56561b:	89 55 a8             	mov    %edx,-0x58(%ebp)
56561e:	8b 4b 0c             	mov    0xc(%ebx),%ecx
565621:	8b 01                	mov    (%ecx),%eax
565623:	0f b7 10             	movzwl (%eax),%edx
565626:	29 53 04             	sub    %edx,0x4(%ebx)
565629:	8b 43 0c             	mov    0xc(%ebx),%eax
56562c:	8b 0b                	mov    (%ebx),%ecx
56562e:	c1 e9 10             	shr    $0x10,%ecx
565631:	8b 10                	mov    (%eax),%edx
565633:	0f b7 02             	movzwl (%edx),%eax
565636:	3b c8                	cmp    %eax,%ecx
565638:	72 27                	jb     0x565661
56563a:	8b 53 0c             	mov    0xc(%ebx),%edx
56563d:	8b 0a                	mov    (%edx),%ecx
56563f:	0f b7 01             	movzwl (%ecx),%eax
565642:	c1 e0 10             	shl    $0x10,%eax
565645:	29 03                	sub    %eax,(%ebx)
565647:	f6 43 05 80          	testb  $0x80,0x5(%ebx)