567325:	75 6e                	jne    0x567395
567327:	8b 43 0c             	mov    0xc(%ebx),%eax
56732a:	8b 50 40             	mov    0x40(%eax),%edx
56732d:	85 d2                	test   %edx,%edx
56732f:	7c 1c                	jl     0x56734d
567331:	8b 4b 0c             	mov    0xc(%ebx),%ecx
567334:	8b 53 0c             	mov    0xc(%ebx),%edx
567337:	8b 41 40             	mov    0x40(%ecx),%eax
56733a:	8b 4a 3c             	mov    0x3c(%edx),%ecx
56733d:	3b c1                	cmp    %ecx,%eax
56733f:	7f 0c                	jg     0x56734d
567341:	8b 43 0c             	mov    0xc(%ebx),%eax
567344:	83 48 08 04          	orl    $0x4,0x8(%eax)
567348:	83 ca ff             	or     $0xffffffff,%edx
56734b:	eb 4b                	jmp    0x567398
56734d:	8b 4b 0c             	mov    0xc(%ebx),%ecx
567350:	83 49 04 20          	orl    $0x20,0x4(%ecx)
567354:	8b 43 0c             	mov    0xc(%ebx),%eax
567357:	ff 48 1c             	decl   0x1c(%eax)
56735a:	79 19                	jns    0x567375
56735c:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
567360:	c1 fa 08             	sar    $0x8,%edx
567363:	8b 43 0c             	mov    0xc(%ebx),%eax
567366:	81 e2 ff 00 00 00    	and    $0xff,%edx
56736c:	e8 a7 1a 01 00       	call   0x578e18
567371:	8b d0                	mov    %eax,%edx
567373:	eb 23                	jmp    0x567398
567375:	8b 43 0c             	mov    0xc(%ebx),%eax
567378:	ff 40 3c             	incl   0x3c(%eax)
56737b:	8b 4b 0c             	mov    0xc(%ebx),%ecx
56737e:	8b 41 18             	mov    0x18(%ecx),%eax
567381:	ff 41 18             	incl   0x18(%ecx)
567384:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
567388:	c1 fa 08             	sar    $0x8,%edx
56738b:	88 10                	mov    %dl,(%eax)
56738d:	81 e2 ff 00 00 00    	and    $0xff,%edx
567393:	eb 03                	jmp    0x567398
567395:	83 ca ff             	or     $0xffffffff,%edx
567398:	42                   	inc    %edx
567399:	75 05                	jne    0x5673a0
56739b:	83 c8 ff             	or     $0xffffffff,%eax
56739e:	eb 20                	jmp    0x5673c0
5673a0:	8b 45 b0             	mov    -0x50(%ebp),%eax
5673a3:	83 e0 01             	and    $0x1,%eax
5673a6:	eb 18                	jmp    0x5673c0
5673a8:	66 8b 55 b0          	mov    -0x50(%ebp),%dx
5673ac:	8b 4b 08             	mov    0x8(%ebx),%ecx
5673af:	66 83 e2 01          	and    $0x1,%dx
5673b3:	66 d3 e2             	shl    %cl,%dx
5673b6:	66 09 53 04          	or     %dx,0x4(%ebx)
5673ba:	8b 45 b0             	mov    -0x50(%ebp),%eax
5673bd:	83 e0 01             	and    $0x1,%eax
5673c0:	40                   	inc    %eax
5673c1:	75 08                	jne    0x5673cb
5673c3:	83 c8 ff             	or     $0xffffffff,%eax
5673c6:	e9 01 06 00 00       	jmp    0x5679cc
5673cb:	8b 55 b0             	mov    -0x50(%ebp),%edx
5673ce:	85 d2                	test   %edx,%edx
5673d0:	0f 84 1a 02 00 00    	je     0x5675f0
5673d6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5673d9:	83 c1 06             	add    $0x6,%ecx
5673dc:	83 f9 06             	cmp    $0x6,%ecx
5673df:	7e 2f                	jle    0x567410
5673e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5673e4:	85 c0                	test   %eax,%eax
5673e6:	7c 0e                	jl     0x5673f6
5673e8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5673eb:	8b 07                	mov    (%edi),%eax
5673ed:	99                   	cltd
5673ee:	33 c2                	xor    %edx,%eax
5673f0:	2b c2                	sub    %edx,%eax
5673f2:	d3 f8                	sar    %cl,%eax
5673f4:	eb 0e                	jmp    0x567404
5673f6:	8b 07                	mov    (%edi),%eax
5673f8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5673fb:	99                   	cltd
5673fc:	33 c2                	xor    %edx,%eax
5673fe:	f7 d9                	neg    %ecx
567400:	2b c2                	sub    %edx,%eax
567402:	d3 e0                	shl    %cl,%eax
567404:	83 e0 7f             	and    $0x7f,%eax
567407:	8b 0c 85 20 0c 6b 00 	mov    0x6b0c20(,%eax,4),%ecx
56740e:	eb 2d                	jmp    0x56743d
567410:	8b 45 fc             	mov    -0x4(%ebp),%eax
567413:	85 c0                	test   %eax,%eax
567415:	7c 0e                	jl     0x567425
567417:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56741a:	8b 07                	mov    (%edi),%eax
56741c:	99                   	cltd
56741d:	33 c2                	xor    %edx,%eax
56741f:	2b c2                	sub    %edx,%eax
567421:	d3 f8                	sar    %cl,%eax
567423:	eb 0e                	jmp    0x567433
567425:	8b 07                	mov    (%edi),%eax
567427:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56742a:	99                   	cltd
56742b:	33 c2                	xor    %edx,%eax
56742d:	f7 d9                	neg    %ecx
56742f:	2b c2                	sub    %edx,%eax
567431:	d3 e0                	shl    %cl,%eax
567433:	83 e0 7f             	and    $0x7f,%eax
567436:	8b 0c 85 28 10 6b 00 	mov    0x6b1028(,%eax,4),%ecx
56743d:	8b 45 08             	mov    0x8(%ebp),%eax
567440:	01 08                	add    %ecx,(%eax)
567442:	8b 17                	mov    (%edi),%edx
567444:	85 d2                	test   %edx,%edx
567446:	7d 07                	jge    0x56744f
567448:	b9 01 00 00 00       	mov    $0x1,%ecx
56744d:	eb 02                	jmp    0x567451
56744f:	33 c9                	xor    %ecx,%ecx
567451:	89 4d b0             	mov    %ecx,-0x50(%ebp)
567454:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
567458:	75 17                	jne    0x567471
56745a:	68 7d 02 00 00       	push   $0x27d
56745f:	68 a2 f7 69 00       	push   $0x69f7a2
567464:	68 7b f7 69 00       	push   $0x69f77b
567469:	e8 d2 36 ff ff       	call   0x55ab40
56746e:	83 c4 0c             	add    $0xc,%esp
567471:	ff 4b 08             	decl   0x8(%ebx)
567474:	0f 89 c0 00 00 00    	jns    0x56753a
56747a:	66 8b 43 04          	mov    0x4(%ebx),%ax
56747e:	c1 e0 08             	shl    $0x8,%eax
567481:	66 25 ff ff          	and    $0xffff,%ax
567485:	66 89 43 04          	mov    %ax,0x4(%ebx)
567489:	66 81 7b 04 00 ff    	cmpw   $0xff00,0x4(%ebx)
56748f:	75 07                	jne    0x567498
567491:	ba 06 00 00 00       	mov    $0x6,%edx
567496:	eb 05                	jmp    0x56749d
567498:	ba 07 00 00 00       	mov    $0x7,%edx
56749d:	89 53 08             	mov    %edx,0x8(%ebx)
5674a0:	66 8b 45 b0          	mov    -0x50(%ebp),%ax
5674a4:	8b 4b 08             	mov    0x8(%ebx),%ecx
5674a7:	66 83 e0 01          	and    $0x1,%ax
5674ab:	66 d3 e0             	shl    %cl,%ax
5674ae:	66 09 43 04          	or     %ax,0x4(%ebx)
5674b2:	8b 43 0c             	mov    0xc(%ebx),%eax
5674b5:	f6 40 08 07          	testb  $0x7,0x8(%eax)
5674b9:	75 6c                	jne    0x567527
5674bb:	8b 53 0c             	mov    0xc(%ebx),%edx
5674be:	8b 4a 40             	mov    0x40(%edx),%ecx
5674c1:	85 c9                	test   %ecx,%ecx
5674c3:	7c 1c                	jl     0x5674e1
5674c5:	8b 43 0c             	mov    0xc(%ebx),%eax
5674c8:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5674cb:	8b 50 40             	mov    0x40(%eax),%edx
5674ce:	8b 41 3c             	mov    0x3c(%ecx),%eax
5674d1:	3b d0                	cmp    %eax,%edx
5674d3:	7f 0c                	jg     0x5674e1
5674d5:	8b 53 0c             	mov    0xc(%ebx),%edx
5674d8:	83 4a 08 04          	orl    $0x4,0x8(%edx)
5674dc:	83 c9 ff             	or     $0xffffffff,%ecx
5674df:	eb 49                	jmp    0x56752a
5674e1:	8b 43 0c             	mov    0xc(%ebx),%eax
5674e4:	83 48 04 20          	orl    $0x20,0x4(%eax)
5674e8:	8b 53 0c             	mov    0xc(%ebx),%edx
5674eb:	ff 4a 1c             	decl   0x1c(%edx)
5674ee:	79 19                	jns    0x567509
5674f0:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
5674f4:	c1 fa 08             	sar    $0x8,%edx
5674f7:	8b 43 0c             	mov    0xc(%ebx),%eax
5674fa:	81 e2 ff 00 00 00    	and    $0xff,%edx
567500:	e8 13 19 01 00       	call   0x578e18
567505:	8b c8                	mov    %eax,%ecx
567507:	eb 21                	jmp    0x56752a
567509:	8b 43 0c             	mov    0xc(%ebx),%eax
56750c:	ff 40 3c             	incl   0x3c(%eax)
56750f:	8b 53 0c             	mov    0xc(%ebx),%edx
567512:	8b 4a 18             	mov    0x18(%edx),%ecx
567515:	ff 42 18             	incl   0x18(%edx)
567518:	0f b7 43 04          	movzwl 0x4(%ebx),%eax
56751c:	c1 f8 08             	sar    $0x8,%eax
56751f:	88 01                	mov    %al,(%ecx)
567521:	33 c9                	xor    %ecx,%ecx
567523:	8a c8                	mov    %al,%cl
567525:	eb 03                	jmp    0x56752a
567527:	83 c9 ff             	or     $0xffffffff,%ecx
56752a:	41                   	inc    %ecx
56752b:	75 05                	jne    0x567532
56752d:	83 c8 ff             	or     $0xffffffff,%eax
567530:	eb 20                	jmp    0x567552
567532:	8b 45 b0             	mov    -0x50(%ebp),%eax
567535:	83 e0 01             	and    $0x1,%eax
567538:	eb 18                	jmp    0x567552
56753a:	66 8b 55 b0          	mov    -0x50(%ebp),%dx
56753e:	8b 4b 08             	mov    0x8(%ebx),%ecx
567541:	66 83 e2 01          	and    $0x1,%dx
567545:	66 d3 e2             	shl    %cl,%dx
567548:	66 09 53 04          	or     %dx,0x4(%ebx)
56754c:	8b 45 b0             	mov    -0x50(%ebp),%eax
56754f:	83 e0 01             	and    $0x1,%eax
567552:	40                   	inc    %eax
567553:	75 08                	jne    0x56755d
567555:	83 c8 ff             	or     $0xffffffff,%eax
567558:	e9 6f 04 00 00       	jmp    0x5679cc
56755d:	8b 55 d8             	mov    -0x28(%ebp),%edx
567560:	c1 e2 02             	shl    $0x2,%edx
567563:	52                   	push   %edx
567564:	8b d6                	mov    %esi,%edx
567566:	58                   	pop    %eax
567567:	2b d0                	sub    %eax,%edx
567569:	8b 45 d8             	mov    -0x28(%ebp),%eax
56756c:	c1 e0 02             	shl    $0x2,%eax
56756f:	03 c6                	add    %esi,%eax
567571:	eb 33                	jmp    0x5675a6
567573:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
567577:	83 48 04 08          	orl    $0x8,0x4(%eax)
56757b:	8b 55 b0             	mov    -0x50(%ebp),%edx
56757e:	85 d2                	test   %edx,%edx
567580:	74 14                	je     0x567596
567582:	81 08 10 01 00 00    	orl    $0x110,(%eax)
567588:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
56758f:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
567596:	83 08 10             	orl    $0x10,(%eax)
567599:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
56759d:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
5675a4:	eb 44                	jmp    0x5675ea
5675a6:	83 4a fc 02          	orl    $0x2,-0x4(%edx)
5675aa:	83 4a 04 04          	orl    $0x4,0x4(%edx)
5675ae:	83 48 fc 01          	orl    $0x1,-0x4(%eax)
5675b2:	83 48 04 08          	orl    $0x8,0x4(%eax)
5675b6:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5675b9:	85 c9                	test   %ecx,%ecx
5675bb:	74 1c                	je     0x5675d9
5675bd:	81 0a 40 04 00 00    	orl    $0x440,(%edx)
5675c3:	81 08 10 01 00 00    	orl    $0x110,(%eax)
5675c9:	81 4e fc 20 02 00 00 	orl    $0x220,-0x4(%esi)
5675d0:	81 4e 04 80 08 00 00 	orl    $0x880,0x4(%esi)
5675d7:	eb 11                	jmp    0x5675ea
5675d9:	83 0a 40             	orl    $0x40,(%edx)
5675dc:	83 08 10             	orl    $0x10,(%eax)
5675df:	83 4e fc 20          	orl    $0x20,-0x4(%esi)
5675e3:	81 4e 04 80 00 00 00 	orl    $0x80,0x4(%esi)
5675ea:	81 0e 00 10 00 00    	orl    $0x1000,(%esi)
5675f0:	81 0e 00 40 00 00    	orl    $0x4000,(%esi)
5675f6:	ff 4d ec             	decl   -0x14(%ebp)
5675f9:	8b 45 ec             	mov    -0x14(%ebp),%eax
5675fc:	85 c0                	test   %eax,%eax
5675fe:	0f 8e 7c 03 00 00    	jle    0x567980
567604:	8b 55 d8             	mov    -0x28(%ebp),%edx
567607:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
56760a:	c1 e2 02             	shl    $0x2,%edx
56760d:	c1 e1 02             	shl    $0x2,%ecx
567610:	03 f2                	add    %edx,%esi
567612:	03 f9                	add    %ecx,%edi
567614:	8b 06                	mov    (%esi),%eax
567616:	a8 ff                	test   $0xff,%al
567618:	0f 84 5a 03 00 00    	je     0x567978
56761e:	f6 c4 50             	test   $0x50,%ah
567621:	0f 85 51 03 00 00    	jne    0x567978
567627:	8b 07                	mov    (%edi),%eax
567629:	99                   	cltd
56762a:	33 c2                	xor    %edx,%eax
56762c:	2b c2                	sub    %edx,%eax
56762e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
567631:	23 c1                	and    %ecx,%eax
567633:	74 07                	je     0x56763c
567635:	b8 01 00 00 00       	mov    $0x1,%eax
56763a:	eb 02                	jmp    0x56763e
56763c:	33 c0                	xor    %eax,%eax
56763e:	89 45 ac             	mov    %eax,-0x54(%ebp)
567641:	f6 43 10 02          	testb  $0x2,0x10(%ebx)
567645:	75 17                	jne    0x56765e
567647:	68 85 02 00 00       	push   $0x285
56764c:	68 d7 f7 69 00       	push   $0x69f7d7
567651:	68 ae f7 69 00       	push   $0x69f7ae
567656:	e8 e5 34 ff ff       	call   0x55ab40
56765b:	83 c4 0c             	add    $0xc,%esp
56765e:	ff 4b 08             	decl   0x8(%ebx)
567661:	0f 89 c3 00 00 00    	jns    0x56772a
567667:	66 8b 53 04          	mov    0x4(%ebx),%dx
56766b:	c1 e2 08             	shl    $0x8,%edx
56766e:	66 81 e2 ff ff       	and    $0xffff,%dx
567673:	66 89 53 04          	mov    %dx,0x4(%ebx)
567677:	66 81 7b 04 00 ff    	cmpw   $0xff00,0x4(%ebx)
56767d:	75 07                	jne    0x567686
56767f:	b9 06 00 00 00       	mov    $0x6,%ecx
567684:	eb 05                	jmp    0x56768b
567686:	b9 07 00 00 00       	mov    $0x7,%ecx
56768b:	89 4b 08             	mov    %ecx,0x8(%ebx)
56768e:	66 8b 45 ac          	mov    -0x54(%ebp),%ax
567692:	8b 4b 08             	mov    0x8(%ebx),%ecx
567695:	66 83 e0 01          	and    $0x1,%ax
567699:	66 d3 e0             	shl    %cl,%ax
56769c:	66 09 43 04          	or     %ax,0x4(%ebx)
5676a0:	8b 53 0c             	mov    0xc(%ebx),%edx
5676a3:	f6 42 08 07          	testb  $0x7,0x8(%edx)
5676a7:	75 6e                	jne    0x567717
5676a9:	8b 43 0c             	mov    0xc(%ebx),%eax
5676ac:	8b 50 40             	mov    0x40(%eax),%edx
5676af:	85 d2                	test   %edx,%edx
5676b1:	7c 1c                	jl     0x5676cf
5676b3:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5676b6:	8b 53 0c             	mov    0xc(%ebx),%edx
5676b9:	8b 41 40             	mov    0x40(%ecx),%eax
5676bc:	8b 4a 3c             	mov    0x3c(%edx),%ecx
5676bf:	3b c1                	cmp    %ecx,%eax
5676c1:	7f 0c                	jg     0x5676cf
5676c3:	8b 43 0c             	mov    0xc(%ebx),%eax
5676c6:	83 48 08 04          	orl    $0x4,0x8(%eax)
5676ca:	83 ca ff             	or     $0xffffffff,%edx
5676cd:	eb 4b                	jmp    0x56771a
5676cf:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5676d2:	83 49 04 20          	orl    $0x20,0x4(%ecx)
5676d6:	8b 43 0c             	mov    0xc(%ebx),%eax
5676d9:	ff 48 1c             	decl   0x1c(%eax)
5676dc:	79 19                	jns    0x5676f7
5676de:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
5676e2:	c1 fa 08             	sar    $0x8,%edx
5676e5:	8b 43 0c             	mov    0xc(%ebx),%eax
5676e8:	81 e2 ff 00 00 00    	and    $0xff,%edx
5676ee:	e8 25 17 01 00       	call   0x578e18
5676f3:	8b d0                	mov    %eax,%edx
5676f5:	eb 23                	jmp    0x56771a
5676f7:	8b 43 0c             	mov    0xc(%ebx),%eax
5676fa:	ff 40 3c             	incl   0x3c(%eax)
5676fd:	8b 4b 0c             	mov    0xc(%ebx),%ecx
567700:	8b 41 18             	mov    0x18(%ecx),%eax
567703:	ff 41 18             	incl   0x18(%ecx)
567706:	0f b7 53 04          	movzwl 0x4(%ebx),%edx
56770a:	c1 fa 08             	sar    $0x8,%edx
56770d:	88 10                	mov    %dl,(%eax)
56770f:	81 e2 ff 00 00 00    	and    $0xff,%edx
567715:	eb 03                	jmp    0x56771a
567717:	83 ca ff             	or     $0xffffffff,%edx
56771a:	42                   	inc    %edx
56771b:	75 05                	jne    0x567722
56771d:	83 c8 ff             	or     $0xffffffff,%eax
567720:	eb 20                	jmp    0x567742
567722:	8b 45 ac             	mov    -0x54(%ebp),%eax
567725:	83 e0 01             	and    $0x1,%eax
567728:	eb 18                	jmp    0x567742
56772a:	66 8b 55 ac          	mov    -0x54(%ebp),%dx
56772e:	8b 4b 08             	mov    0x8(%ebx),%ecx
567731:	66 83 e2 01          	and    $0x1,%dx
567735:	66 d3 e2             	shl    %cl,%dx
567738:	66 09 53 04          	or     %dx,0x4(%ebx)
56773c:	8b 45 ac             	mov    -0x54(%ebp),%eax
56773f:	83 e0 01             	and    $0x1,%eax
567742:	40                   	inc    %eax
567743:	75 08                	jne    0x56774d
567745:	83 c8 ff             	or     $0xffffffff,%eax
567748:	e9 7f 02 00 00       	jmp    0x5679cc
56774d:	8b 55 ac             	mov    -0x54(%ebp),%edx
567750:	85 d2                	test   %edx,%edx
567752:	0f 84 1a 02 00 00    	je     0x567972
567758:	8b 4d fc             	mov    -0x4(%ebp),%ecx
56775b:	83 c1 06             	add    $0x6,%ecx
56775e:	83 f9 06             	cmp    $0x6,%ecx
567761:	7e 2f                	jle    0x567792
567763:	8b 45 fc             	mov    -0x4(%ebp),%eax