5763e6:	85 c0                	test   %eax,%eax
5763e8:	75 1d                	jne    0x576407
5763ea:	8b 53 20             	mov    0x20(%ebx),%edx
5763ed:	8b c7                	mov    %edi,%eax
5763ef:	e8 2c 16 00 00       	call   0x577a20
5763f4:	85 c0                	test   %eax,%eax
5763f6:	75 0f                	jne    0x576407
5763f8:	66 8b 53 24          	mov    0x24(%ebx),%dx
5763fc:	8b c7                	mov    %edi,%eax
5763fe:	e8 e9 13 00 00       	call   0x5777ec
576403:	85 c0                	test   %eax,%eax
576405:	74 05                	je     0x57640c
576407:	83 c8 ff             	or     $0xffffffff,%eax
57640a:	eb 5c                	jmp    0x576468
57640c:	33 f6                	xor    %esi,%esi
57640e:	eb 4e                	jmp    0x57645e
576410:	8b 43 28             	mov    0x28(%ebx),%eax
576413:	8b 4b 28             	mov    0x28(%ebx),%ecx
576416:	8a 54 b0 01          	mov    0x1(%eax,%esi,4),%dl
57641a:	8a 04 b1             	mov    (%ecx,%esi,4),%al
57641d:	80 e2 01             	and    $0x1,%dl
576420:	04 ff                	add    $0xff,%al
576422:	c1 e2 07             	shl    $0x7,%edx
576425:	24 7f                	and    $0x7f,%al
576427:	0a d0                	or     %al,%dl
576429:	8b c7                	mov    %edi,%eax
57642b:	e8 90 12 00 00       	call   0x5776c0
576430:	85 c0                	test   %eax,%eax
576432:	75 24                	jne    0x576458
576434:	8b 53 28             	mov    0x28(%ebx),%edx
576437:	8b c7                	mov    %edi,%eax
576439:	8a 54 b2 02          	mov    0x2(%edx,%esi,4),%dl
57643d:	e8 7e 12 00 00       	call   0x5776c0
576442:	85 c0                	test   %eax,%eax
576444:	75 12                	jne    0x576458
576446:	8b 4b 28             	mov    0x28(%ebx),%ecx
576449:	8b c7                	mov    %edi,%eax
57644b:	8a 54 b1 03          	mov    0x3(%ecx,%esi,4),%dl
57644f:	e8 6c 12 00 00       	call   0x5776c0
576454:	85 c0                	test   %eax,%eax
576456:	74 05                	je     0x57645d
576458:	83 c8 ff             	or     $0xffffffff,%eax
57645b:	eb 0b                	jmp    0x576468
57645d:	46                   	inc    %esi
57645e:	0f b7 53 24          	movzwl 0x24(%ebx),%edx
576462:	3b f2                	cmp    %edx,%esi
576464:	7c aa                	jl     0x576410
576466:	33 c0                	xor    %eax,%eax
576468:	5f                   	pop    %edi
576469:	5e                   	pop    %esi
57646a:	5b                   	pop    %ebx
57646b:	c3                   	ret
57646c:	53                   	push   %ebx
57646d:	56                   	push   %esi
57646e:	8d 70 08             	lea    0x8(%eax),%esi
576471:	57                   	push   %edi
576472:	8b fa                	mov    %edx,%edi
576474:	0f b7 06             	movzwl (%esi),%eax
576477:	50                   	push   %eax
576478:	68 e4 23 6a 00       	push   $0x6a23e4
57647d:	57                   	push   %edi
57647e:	e8 49 3c 00 00       	call   0x57a0cc
576483:	83 c4 0c             	add    $0xc,%esp
576486:	8b 56 10             	mov    0x10(%esi),%edx
576489:	52                   	push   %edx
57648a:	8b 4e 0c             	mov    0xc(%esi),%ecx
57648d:	51                   	push   %ecx
57648e:	8b 46 08             	mov    0x8(%esi),%eax
576491:	50                   	push   %eax
576492:	8b 56 04             	mov    0x4(%esi),%edx
576495:	52                   	push   %edx
576496:	68 f4 23 6a 00       	push   $0x6a23f4
57649b:	57                   	push   %edi
57649c:	e8 2b 3c 00 00       	call   0x57a0cc
5764a1:	83 c4 18             	add    $0x18,%esp
5764a4:	8b 4e 20             	mov    0x20(%esi),%ecx
5764a7:	51                   	push   %ecx
5764a8:	8b 46 1c             	mov    0x1c(%esi),%eax
5764ab:	50                   	push   %eax
5764ac:	8b 56 18             	mov    0x18(%esi),%edx
5764af:	52                   	push   %edx
5764b0:	8b 4e 14             	mov    0x14(%esi),%ecx
5764b3:	51                   	push   %ecx
5764b4:	68 24 24 6a 00       	push   $0x6a2424
5764b9:	57                   	push   %edi
5764ba:	e8 0d 3c 00 00       	call   0x57a0cc
5764bf:	83 c4 18             	add    $0x18,%esp
5764c2:	33 db                	xor    %ebx,%ebx
5764c4:	eb 3a                	jmp    0x576500
5764c6:	8b 46 28             	mov    0x28(%esi),%eax
5764c9:	33 d2                	xor    %edx,%edx
5764cb:	8a 54 98 03          	mov    0x3(%eax,%ebx,4),%dl
5764cf:	52                   	push   %edx
5764d0:	53                   	push   %ebx
5764d1:	8b 4e 28             	mov    0x28(%esi),%ecx
5764d4:	33 c0                	xor    %eax,%eax
5764d6:	8a 44 99 02          	mov    0x2(%ecx,%ebx,4),%al
5764da:	50                   	push   %eax
5764db:	53                   	push   %ebx
5764dc:	8b 56 28             	mov    0x28(%esi),%edx
5764df:	33 c9                	xor    %ecx,%ecx
5764e1:	8a 4c 9a 01          	mov    0x1(%edx,%ebx,4),%cl
5764e5:	51                   	push   %ecx
5764e6:	53                   	push   %ebx
5764e7:	8b 46 28             	mov    0x28(%esi),%eax
5764ea:	33 d2                	xor    %edx,%edx
5764ec:	8a 14 98             	mov    (%eax,%ebx,4),%dl
5764ef:	52                   	push   %edx
5764f0:	53                   	push   %ebx
5764f1:	68 64 24 6a 00       	push   $0x6a2464
5764f6:	57                   	push   %edi
5764f7:	e8 d0 3b 00 00       	call   0x57a0cc
5764fc:	83 c4 28             	add    $0x28,%esp
5764ff:	43                   	inc    %ebx
576500:	0f b7 4e 24          	movzwl 0x24(%esi),%ecx
576504:	3b d9                	cmp    %ecx,%ebx
576506:	7c be                	jl     0x5764c6
576508:	33 c0                	xor    %eax,%eax
57650a:	5f                   	pop    %edi
57650b:	5e                   	pop    %esi
57650c:	5b                   	pop    %ebx
57650d:	c3                   	ret
57650e:	90                   	nop
57650f:	90                   	nop
576510:	83 c0 08             	add    $0x8,%eax
576513:	83 c0 08             	add    $0x8,%eax
576516:	e8 85 03 00 00       	call   0x5768a0
57651b:	c3                   	ret
57651c:	53                   	push   %ebx
57651d:	56                   	push   %esi
57651e:	57                   	push   %edi
57651f:	8b f8                	mov    %eax,%edi
576521:	55                   	push   %ebp
576522:	8b ea                	mov    %edx,%ebp
576524:	8d 5f 08             	lea    0x8(%edi),%ebx
576527:	8b f1                	mov    %ecx,%esi
576529:	8b c6                	mov    %esi,%eax
57652b:	8b d3                	mov    %ebx,%edx
57652d:	e8 2a 11 00 00       	call   0x57765c
576532:	85 c0                	test   %eax,%eax
576534:	74 05                	je     0x57653b
576536:	83 c8 ff             	or     $0xffffffff,%eax
576539:	eb 65                	jmp    0x5765a0
57653b:	8d 53 01             	lea    0x1(%ebx),%edx
57653e:	8b c6                	mov    %esi,%eax
576540:	e8 17 11 00 00       	call   0x57765c
576545:	85 c0                	test   %eax,%eax
576547:	75 1c                	jne    0x576565
576549:	8d 53 02             	lea    0x2(%ebx),%edx
57654c:	8b c6                	mov    %esi,%eax
57654e:	e8 d5 11 00 00       	call   0x577728
576553:	85 c0                	test   %eax,%eax
576555:	75 0e                	jne    0x576565
576557:	8d 53 04             	lea    0x4(%ebx),%edx
57655a:	8b c6                	mov    %esi,%eax
57655c:	e8 fb 10 00 00       	call   0x57765c
576561:	85 c0                	test   %eax,%eax
576563:	74 05                	je     0x57656a
576565:	83 c8 ff             	or     $0xffffffff,%eax
576568:	eb 36                	jmp    0x5765a0
57656a:	f6 03 01             	testb  $0x1,(%ebx)
57656d:	0f 95 c2             	setne  %dl
576570:	83 e2 01             	and    $0x1,%edx
576573:	83 c3 08             	add    $0x8,%ebx
576576:	52                   	push   %edx
576577:	8b d5                	mov    %ebp,%edx
576579:	53                   	push   %ebx
57657a:	8b ce                	mov    %esi,%ecx
57657c:	8b c7                	mov    %edi,%eax
57657e:	e8 21 03 00 00       	call   0x5768a4
576583:	85 c0                	test   %eax,%eax
576585:	74 05                	je     0x57658c
576587:	83 c8 ff             	or     $0xffffffff,%eax
57658a:	eb 14                	jmp    0x5765a0
57658c:	f6 46 08 01          	testb  $0x1,0x8(%esi)
576590:	74 0c                	je     0x57659e
576592:	8b c7                	mov    %edi,%eax
576594:	e8 77 ff ff ff       	call   0x576510
576599:	83 c8 ff             	or     $0xffffffff,%eax
57659c:	eb 02                	jmp    0x5765a0
57659e:	33 c0                	xor    %eax,%eax
5765a0:	5d                   	pop    %ebp
5765a1:	5f                   	pop    %edi
5765a2:	5e                   	pop    %esi
5765a3:	5b                   	pop    %ebx
5765a4:	c3                   	ret
5765a5:	90                   	nop
5765a6:	90                   	nop
5765a7:	90                   	nop
5765a8:	53                   	push   %ebx
5765a9:	56                   	push   %esi
5765aa:	57                   	push   %edi
5765ab:	8b f8                	mov    %eax,%edi
5765ad:	55                   	push   %ebp
5765ae:	8b ea                	mov    %edx,%ebp
5765b0:	8d 5f 08             	lea    0x8(%edi),%ebx
5765b3:	8b f1                	mov    %ecx,%esi
5765b5:	66 83 7b 02 00       	cmpw   $0x0,0x2(%ebx)
5765ba:	76 07                	jbe    0x5765c3
5765bc:	8a 43 09             	mov    0x9(%ebx),%al
5765bf:	3c 20                	cmp    $0x20,%al
5765c1:	76 17                	jbe    0x5765da
5765c3:	68 85 02 00 00       	push   $0x285
5765c8:	68 d4 24 6a 00       	push   $0x6a24d4
5765cd:	68 a2 24 6a 00       	push   $0x6a24a2
5765d2:	e8 69 45 fe ff       	call   0x55ab40
5765d7:	83 c4 0c             	add    $0xc,%esp
5765da:	33 d2                	xor    %edx,%edx
5765dc:	8b 4b 10             	mov    0x10(%ebx),%ecx
5765df:	49                   	dec    %ecx
5765e0:	8a 53 09             	mov    0x9(%ebx),%dl
5765e3:	3b d1                	cmp    %ecx,%edx
5765e5:	74 17                	je     0x5765fe
5765e7:	68 86 02 00 00       	push   $0x286
5765ec:	68 14 25 6a 00       	push   $0x6a2514
5765f1:	68 dd 24 6a 00       	push   $0x6a24dd
5765f6:	e8 45 45 fe ff       	call   0x55ab40
5765fb:	83 c4 0c             	add    $0xc,%esp
5765fe:	8a 53 08             	mov    0x8(%ebx),%dl
576601:	8b c6                	mov    %esi,%eax
576603:	e8 b8 10 00 00       	call   0x5776c0
576608:	85 c0                	test   %eax,%eax
57660a:	75 2b                	jne    0x576637
57660c:	8a 53 01             	mov    0x1(%ebx),%dl
57660f:	8b c6                	mov    %esi,%eax
576611:	e8 aa 10 00 00       	call   0x5776c0
576616:	85 c0                	test   %eax,%eax
576618:	75 1d                	jne    0x576637
57661a:	66 8b 53 02          	mov    0x2(%ebx),%dx
57661e:	8b c6                	mov    %esi,%eax
576620:	e8 c7 11 00 00       	call   0x5777ec
576625:	85 c0                	test   %eax,%eax
576627:	75 0e                	jne    0x576637
576629:	8a 53 04             	mov    0x4(%ebx),%dl
57662c:	8b c6                	mov    %esi,%eax
57662e:	e8 8d 10 00 00       	call   0x5776c0
576633:	85 c0                	test   %eax,%eax
576635:	74 05                	je     0x57663c
576637:	83 c8 ff             	or     $0xffffffff,%eax
57663a:	eb 24                	jmp    0x576660
57663c:	f6 03 01             	testb  $0x1,(%ebx)
57663f:	0f 95 c2             	setne  %dl
576642:	83 e2 01             	and    $0x1,%edx
576645:	83 c3 08             	add    $0x8,%ebx
576648:	52                   	push   %edx
576649:	8b d5                	mov    %ebp,%edx
57664b:	53                   	push   %ebx
57664c:	8b ce                	mov    %esi,%ecx
57664e:	8b c7                	mov    %edi,%eax
576650:	e8 23 03 00 00       	call   0x576978
576655:	85 c0                	test   %eax,%eax
576657:	74 05                	je     0x57665e
576659:	83 c8 ff             	or     $0xffffffff,%eax
57665c:	eb 02                	jmp    0x576660
57665e:	33 c0                	xor    %eax,%eax
576660:	5d                   	pop    %ebp
576661:	5f                   	pop    %edi
576662:	5e                   	pop    %esi
576663:	5b                   	pop    %ebx
576664:	c3                   	ret
576665:	90                   	nop
576666:	90                   	nop
576667:	90                   	nop
576668:	53                   	push   %ebx
576669:	8d 58 08             	lea    0x8(%eax),%ebx
57666c:	56                   	push   %esi
57666d:	57                   	push   %edi
57666e:	33 c0                	xor    %eax,%eax
576670:	8b f2                	mov    %edx,%esi
576672:	8a 43 08             	mov    0x8(%ebx),%al
576675:	50                   	push   %eax
576676:	68 1d 25 6a 00       	push   $0x6a251d
57667b:	56                   	push   %esi
57667c:	e8 4b 3a 00 00       	call   0x57a0cc
576681:	83 c4 0c             	add    $0xc,%esp
576684:	33 d2                	xor    %edx,%edx
576686:	8a 53 04             	mov    0x4(%ebx),%dl
576689:	52                   	push   %edx
57668a:	33 c9                	xor    %ecx,%ecx
57668c:	8a 4b 0d             	mov    0xd(%ebx),%cl
57668f:	51                   	push   %ecx
576690:	33 c0                	xor    %eax,%eax
576692:	8a 43 09             	mov    0x9(%ebx),%al
576695:	50                   	push   %eax
576696:	68 2d 25 6a 00       	push   $0x6a252d
57669b:	56                   	push   %esi
57669c:	e8 2b 3a 00 00       	call   0x57a0cc
5766a1:	83 c4 14             	add    $0x14,%esp
5766a4:	0f b7 53 02          	movzwl 0x2(%ebx),%edx
5766a8:	52                   	push   %edx
5766a9:	33 c9                	xor    %ecx,%ecx
5766ab:	8a 4b 01             	mov    0x1(%ebx),%cl
5766ae:	51                   	push   %ecx
5766af:	68 57 25 6a 00       	push   $0x6a2557
5766b4:	56                   	push   %esi
5766b5:	e8 12 3a 00 00       	call   0x57a0cc
5766ba:	83 c4 10             	add    $0x10,%esp
5766bd:	33 c0                	xor    %eax,%eax
5766bf:	8a 43 0c             	mov    0xc(%ebx),%al
5766c2:	50                   	push   %eax
5766c3:	33 d2                	xor    %edx,%edx
5766c5:	8a 53 0b             	mov    0xb(%ebx),%dl
5766c8:	52                   	push   %edx
5766c9:	33 c9                	xor    %ecx,%ecx
5766cb:	8a 4b 0a             	mov    0xa(%ebx),%cl
5766ce:	51                   	push   %ecx
5766cf:	68 70 25 6a 00       	push   $0x6a2570
5766d4:	56                   	push   %esi
5766d5:	e8 f2 39 00 00       	call   0x57a0cc
5766da:	83 c4 14             	add    $0x14,%esp
5766dd:	f6 03 01             	testb  $0x1,(%ebx)
5766e0:	74 31                	je     0x576713
5766e2:	33 ff                	xor    %edi,%edi
5766e4:	8d 73 14             	lea    0x14(%ebx),%esi
5766e7:	eb 23                	jmp    0x57670c
5766e9:	33 c0                	xor    %eax,%eax
5766eb:	33 d2                	xor    %edx,%edx
5766ed:	8a 46 01             	mov    0x1(%esi),%al
5766f0:	50                   	push   %eax
5766f1:	57                   	push   %edi
5766f2:	8a 16                	mov    (%esi),%dl
5766f4:	52                   	push   %edx
5766f5:	57                   	push   %edi
5766f6:	68 aa 25 6a 00       	push   $0x6a25aa
5766fb:	68 80 2e 6a 00       	push   $0x6a2e80
576700:	e8 c7 39 00 00       	call   0x57a0cc
576705:	83 c4 18             	add    $0x18,%esp
576708:	47                   	inc    %edi
576709:	83 c6 02             	add    $0x2,%esi
57670c:	8b 4b 10             	mov    0x10(%ebx),%ecx
57670f:	3b f9                	cmp    %ecx,%edi
576711:	7c d6                	jl     0x5766e9
576713:	33 c0                	xor    %eax,%eax
576715:	5f                   	pop    %edi
576716:	5e                   	pop    %esi
576717:	5b                   	pop    %ebx
576718:	c3                   	ret
576719:	90                   	nop
57671a:	90                   	nop
57671b:	90                   	nop
57671c:	83 c0 08             	add    $0x8,%eax
57671f:	83 c0 04             	add    $0x4,%eax
576722:	e8 79 01 00 00       	call   0x5768a0
576727:	c3                   	ret
576728:	53                   	push   %ebx
576729:	56                   	push   %esi
57672a:	57                   	push   %edi
57672b:	55                   	push   %ebp
57672c:	8b ea                	mov    %edx,%ebp
57672e:	8b f8                	mov    %eax,%edi