5213cc:	83 ee 04             	sub    $0x4,%esi
5213cf:	73 ef                	jae    0x5213c0
5213d1:	66 8b 01             	mov    (%ecx),%ax
5213d4:	66 3b 02             	cmp    (%edx),%ax
5213d7:	75 2a                	jne    0x521403
5213d9:	8a 41 02             	mov    0x2(%ecx),%al
5213dc:	3a 42 02             	cmp    0x2(%edx),%al
5213df:	75 22                	jne    0x521403
5213e1:	b8 0f 00 00 00       	mov    $0xf,%eax
5213e6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
5213ed:	00 00 00
5213f0:	8a 0c 38             	mov    (%eax,%edi,1),%cl
5213f3:	3a 8c 04 7c 02 00 00 	cmp    0x27c(%esp,%eax,1),%cl
5213fa:	72 22                	jb     0x52141e
5213fc:	77 05                	ja     0x521403
5213fe:	83 e8 01             	sub    $0x1,%eax
521401:	79 ed                	jns    0x5213f0
521403:	33 c0                	xor    %eax,%eax
521405:	8b 8c 24 dc 02 00 00 	mov    0x2dc(%esp),%ecx
52140c:	5f                   	pop    %edi
52140d:	5e                   	pop    %esi
52140e:	5d                   	pop    %ebp
52140f:	5b                   	pop    %ebx
521410:	33 cc                	xor    %esp,%ecx
521412:	e8 0f 06 0b 00       	call   0x5d1a26
521417:	81 c4 d0 02 00 00    	add    $0x2d0,%esp
52141d:	c3                   	ret
52141e:	8b 74 24 10          	mov    0x10(%esp),%esi
521422:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
521429:	55                   	push   %ebp
52142a:	50                   	push   %eax
52142b:	e8 70 35 00 00       	call   0x5249a0
521430:	83 c4 08             	add    $0x8,%esp
521433:	85 c0                	test   %eax,%eax
521435:	75 cc                	jne    0x521403
521437:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
52143e:	50                   	push   %eax
52143f:	50                   	push   %eax
521440:	e8 2b 17 00 00       	call   0x522b70
521445:	8d 84 24 0c 01 00 00 	lea    0x10c(%esp),%eax
52144c:	50                   	push   %eax
52144d:	50                   	push   %eax
52144e:	e8 1d 17 00 00       	call   0x522b70
521453:	8d 84 24 b4 01 00 00 	lea    0x1b4(%esp),%eax
52145a:	50                   	push   %eax
52145b:	e8 a0 6e fb ff       	call   0x4d8300
521460:	6a 20                	push   $0x20
521462:	8d 84 24 bc 01 00 00 	lea    0x1bc(%esp),%eax
521469:	53                   	push   %ebx
52146a:	50                   	push   %eax
52146b:	e8 60 6f fb ff       	call   0x4d83d0
521470:	6a 20                	push   $0x20
521472:	8d 84 24 c8 01 00 00 	lea    0x1c8(%esp),%eax
521479:	55                   	push   %ebp
52147a:	50                   	push   %eax
52147b:	e8 50 6f fb ff       	call   0x4d83d0
521480:	ff b4 24 14 03 00 00 	push   0x314(%esp)
521487:	8d 84 24 d4 01 00 00 	lea    0x1d4(%esp),%eax
52148e:	56                   	push   %esi
52148f:	50                   	push   %eax
521490:	e8 3b 6f fb ff       	call   0x4d83d0
521495:	8d 84 24 dc 01 00 00 	lea    0x1dc(%esp),%eax
52149c:	50                   	push   %eax
52149d:	8d 84 24 d8 02 00 00 	lea    0x2d8(%esp),%eax
5214a4:	50                   	push   %eax
5214a5:	e8 26 67 fb ff       	call   0x4d7bd0
5214aa:	83 c4 40             	add    $0x40,%esp
5214ad:	8d 84 24 9c 02 00 00 	lea    0x29c(%esp),%eax
5214b4:	50                   	push   %eax
5214b5:	e8 76 91 00 00       	call   0x52a630
5214ba:	57                   	push   %edi
5214bb:	8d 84 24 94 00 00 00 	lea    0x94(%esp),%eax
5214c2:	50                   	push   %eax
5214c3:	8d 84 24 a8 02 00 00 	lea    0x2a8(%esp),%eax
5214ca:	50                   	push   %eax
5214cb:	8d 84 24 3c 01 00 00 	lea    0x13c(%esp),%eax
5214d2:	50                   	push   %eax
5214d3:	e8 28 2c 00 00       	call   0x524100
5214d8:	8d 84 24 90 01 00 00 	lea    0x190(%esp),%eax
5214df:	50                   	push   %eax
5214e0:	8d 44 24 2c          	lea    0x2c(%esp),%eax
5214e4:	50                   	push   %eax
5214e5:	e8 46 08 00 00       	call   0x521d30
5214ea:	8d 44 24 30          	lea    0x30(%esp),%eax
5214ee:	50                   	push   %eax
5214ef:	8d 84 24 4c 01 00 00 	lea    0x14c(%esp),%eax
5214f6:	50                   	push   %eax
5214f7:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
5214fe:	50                   	push   %eax
5214ff:	e8 ac 0a 00 00       	call   0x521fb0
521504:	8d 44 24 3c          	lea    0x3c(%esp),%eax
521508:	50                   	push   %eax
521509:	8d 84 24 80 01 00 00 	lea    0x180(%esp),%eax
521510:	50                   	push   %eax
521511:	8d 44 24 6c          	lea    0x6c(%esp),%eax
521515:	50                   	push   %eax
521516:	e8 95 0a 00 00       	call   0x521fb0
52151b:	8d 44 24 70          	lea    0x70(%esp),%eax
52151f:	50                   	push   %eax
521520:	8d 84 24 b4 02 00 00 	lea    0x2b4(%esp),%eax
521527:	50                   	push   %eax
521528:	e8 a3 25 00 00       	call   0x523ad0
52152d:	8d 84 24 a0 00 00 00 	lea    0xa0(%esp),%eax
521534:	50                   	push   %eax
521535:	8d 44 24 54          	lea    0x54(%esp),%eax
521539:	50                   	push   %eax
52153a:	e8 91 25 00 00       	call   0x523ad0
52153f:	8a 44 24 58          	mov    0x58(%esp),%al
521543:	83 c4 44             	add    $0x44,%esp
521546:	c0 e0 07             	shl    $0x7,%al
521549:	30 84 24 9b 02 00 00 	xor    %al,0x29b(%esp)
521550:	8d 84 24 7c 02 00 00 	lea    0x27c(%esp),%eax
521557:	6a 20                	push   $0x20
521559:	53                   	push   %ebx
52155a:	50                   	push   %eax
52155b:	e8 f0 04 ee ff       	call   0x401a50
521560:	83 c4 0c             	add    $0xc,%esp
521563:	f7 d8                	neg    %eax
521565:	1b c0                	sbb    %eax,%eax
521567:	40                   	inc    %eax
521568:	e9 98 fe ff ff       	jmp    0x521405
52156d:	cc                   	int3
52156e:	cc                   	int3
52156f:	cc                   	int3
521570:	ff 74 24 0c          	push   0xc(%esp)
521574:	ff 74 24 0c          	push   0xc(%esp)
521578:	ff 74 24 0c          	push   0xc(%esp)
52157c:	e8 3f b1 00 00       	call   0x52c6c0
521581:	6a 20                	push   $0x20
521583:	ff 74 24 14          	push   0x14(%esp)
521587:	68 78 8e 64 00       	push   $0x648e78
52158c:	e8 bf 04 ee ff       	call   0x401a50
521591:	83 c4 18             	add    $0x18,%esp
521594:	f7 d8                	neg    %eax
521596:	1b c0                	sbb    %eax,%eax
521598:	f7 d8                	neg    %eax
52159a:	c3                   	ret
52159b:	cc                   	int3
52159c:	cc                   	int3
52159d:	cc                   	int3
52159e:	cc                   	int3
52159f:	cc                   	int3
5215a0:	b8 3c 01 00 00       	mov    $0x13c,%eax
5215a5:	e8 06 02 0b 00       	call   0x5d17b0
5215aa:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5215af:	33 c4                	xor    %esp,%eax
5215b1:	89 84 24 38 01 00 00 	mov    %eax,0x138(%esp)
5215b8:	8b 84 24 44 01 00 00 	mov    0x144(%esp),%eax
5215bf:	56                   	push   %esi
5215c0:	8b b4 24 44 01 00 00 	mov    0x144(%esp),%esi
5215c7:	0f 10 00             	movups (%eax),%xmm0
5215ca:	0f 10 48 10          	movups 0x10(%eax),%xmm1
5215ce:	66 0f 7e c0          	movd   %xmm0,%eax
5215d2:	0f 11 8c 24 2c 01 00 	movups %xmm1,0x12c(%esp)
5215d9:	00
5215da:	24 f8                	and    $0xf8,%al
5215dc:	66 0f 73 d9 0c       	psrldq $0xc,%xmm1
5215e1:	0f 11 84 24 1c 01 00 	movups %xmm0,0x11c(%esp)
5215e8:	00
5215e9:	88 84 24 1c 01 00 00 	mov    %al,0x11c(%esp)
5215f0:	66 0f 7e c8          	movd   %xmm1,%eax
5215f4:	c1 e8 18             	shr    $0x18,%eax
5215f7:	24 3f                	and    $0x3f,%al
5215f9:	0c 40                	or     $0x40,%al
5215fb:	88 84 24 3b 01 00 00 	mov    %al,0x13b(%esp)
521602:	8d 84 24 1c 01 00 00 	lea    0x11c(%esp),%eax
521609:	50                   	push   %eax
52160a:	8d 44 24 30          	lea    0x30(%esp),%eax
52160e:	50                   	push   %eax
52160f:	e8 fc 42 00 00       	call   0x525910
521614:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
521618:	8b 94 24 84 00 00 00 	mov    0x84(%esp),%edx
52161f:	8d 04 11             	lea    (%ecx,%edx,1),%eax
521622:	2b d1                	sub    %ecx,%edx
521624:	8b 4c 24 60          	mov    0x60(%esp),%ecx
521628:	89 94 24 fc 00 00 00 	mov    %edx,0xfc(%esp)
52162f:	8b 94 24 88 00 00 00 	mov    0x88(%esp),%edx
521636:	89 84 24 d4 00 00 00 	mov    %eax,0xd4(%esp)
52163d:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
521640:	2b d1                	sub    %ecx,%edx
521642:	8b 4c 24 64          	mov    0x64(%esp),%ecx
521646:	89 94 24 00 01 00 00 	mov    %edx,0x100(%esp)
52164d:	8b 94 24 8c 00 00 00 	mov    0x8c(%esp),%edx
521654:	89 84 24 d8 00 00 00 	mov    %eax,0xd8(%esp)
52165b:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
52165e:	2b d1                	sub    %ecx,%edx
521660:	8b 4c 24 68          	mov    0x68(%esp),%ecx
521664:	89 94 24 04 01 00 00 	mov    %edx,0x104(%esp)
52166b:	8b 94 24 90 00 00 00 	mov    0x90(%esp),%edx
521672:	89 84 24 dc 00 00 00 	mov    %eax,0xdc(%esp)
521679:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
52167c:	2b d1                	sub    %ecx,%edx
52167e:	8b 4c 24 6c          	mov    0x6c(%esp),%ecx
521682:	89 94 24 08 01 00 00 	mov    %edx,0x108(%esp)
521689:	8b 94 24 94 00 00 00 	mov    0x94(%esp),%edx
521690:	89 84 24 e0 00 00 00 	mov    %eax,0xe0(%esp)
521697:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
52169a:	2b d1                	sub    %ecx,%edx
52169c:	8b 4c 24 70          	mov    0x70(%esp),%ecx
5216a0:	89 94 24 0c 01 00 00 	mov    %edx,0x10c(%esp)
5216a7:	8b 94 24 98 00 00 00 	mov    0x98(%esp),%edx
5216ae:	89 84 24 e4 00 00 00 	mov    %eax,0xe4(%esp)
5216b5:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5216b8:	2b d1                	sub    %ecx,%edx
5216ba:	8b 4c 24 74          	mov    0x74(%esp),%ecx
5216be:	89 94 24 10 01 00 00 	mov    %edx,0x110(%esp)
5216c5:	8b 94 24 9c 00 00 00 	mov    0x9c(%esp),%edx
5216cc:	89 84 24 e8 00 00 00 	mov    %eax,0xe8(%esp)
5216d3:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5216d6:	2b d1                	sub    %ecx,%edx
5216d8:	8b 4c 24 78          	mov    0x78(%esp),%ecx
5216dc:	89 94 24 14 01 00 00 	mov    %edx,0x114(%esp)
5216e3:	8b 94 24 a0 00 00 00 	mov    0xa0(%esp),%edx
5216ea:	89 84 24 ec 00 00 00 	mov    %eax,0xec(%esp)
5216f1:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
5216f4:	2b d1                	sub    %ecx,%edx
5216f6:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
5216fa:	89 94 24 18 01 00 00 	mov    %edx,0x118(%esp)
521701:	8b 94 24 a4 00 00 00 	mov    0xa4(%esp),%edx
521708:	89 84 24 f0 00 00 00 	mov    %eax,0xf0(%esp)
52170f:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
521712:	2b d1                	sub    %ecx,%edx
521714:	8b 8c 24 80 00 00 00 	mov    0x80(%esp),%ecx
52171b:	89 94 24 1c 01 00 00 	mov    %edx,0x11c(%esp)
521722:	8b 94 24 a8 00 00 00 	mov    0xa8(%esp),%edx
521729:	89 84 24 f4 00 00 00 	mov    %eax,0xf4(%esp)
521730:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
521733:	2b d1                	sub    %ecx,%edx
521735:	89 84 24 f8 00 00 00 	mov    %eax,0xf8(%esp)
52173c:	89 94 24 20 01 00 00 	mov    %edx,0x120(%esp)
521743:	8d 84 24 fc 00 00 00 	lea    0xfc(%esp),%eax
52174a:	50                   	push   %eax
52174b:	8d 44 24 10          	lea    0x10(%esp),%eax
52174f:	50                   	push   %eax
521750:	e8 db 05 00 00       	call   0x521d30
521755:	8d 44 24 14          	lea    0x14(%esp),%eax
521759:	50                   	push   %eax
52175a:	8d 84 24 e0 00 00 00 	lea    0xe0(%esp),%eax
521761:	50                   	push   %eax
521762:	50                   	push   %eax
521763:	e8 48 08 00 00       	call   0x521fb0
521768:	8d 84 24 e8 00 00 00 	lea    0xe8(%esp),%eax
52176f:	50                   	push   %eax
521770:	56                   	push   %esi
521771:	e8 5a 23 00 00       	call   0x523ad0
521776:	8d 84 24 40 01 00 00 	lea    0x140(%esp),%eax
52177d:	6a 20                	push   $0x20
52177f:	50                   	push   %eax
521780:	e8 5b 02 ee ff       	call   0x4019e0
521785:	8b 8c 24 68 01 00 00 	mov    0x168(%esp),%ecx
52178c:	83 c4 2c             	add    $0x2c,%esp
52178f:	5e                   	pop    %esi
521790:	33 cc                	xor    %esp,%ecx
521792:	e8 8f 02 0b 00       	call   0x5d1a26
521797:	81 c4 3c 01 00 00    	add    $0x13c,%esp
52179d:	c3                   	ret
52179e:	cc                   	int3
52179f:	cc                   	int3
5217a0:	8b 54 24 08          	mov    0x8(%esp),%edx
5217a4:	56                   	push   %esi
5217a5:	8b 74 24 08          	mov    0x8(%esp),%esi
5217a9:	57                   	push   %edi
5217aa:	8b 02                	mov    (%edx),%eax
5217ac:	8b 7c 24 14          	mov    0x14(%esp),%edi
5217b0:	33 06                	xor    (%esi),%eax
5217b2:	f7 df                	neg    %edi
5217b4:	23 c7                	and    %edi,%eax
5217b6:	31 06                	xor    %eax,(%esi)
5217b8:	8b 4a 04             	mov    0x4(%edx),%ecx
5217bb:	33 4e 04             	xor    0x4(%esi),%ecx
5217be:	23 cf                	and    %edi,%ecx
5217c0:	31 4e 04             	xor    %ecx,0x4(%esi)
5217c3:	8b 4a 08             	mov    0x8(%edx),%ecx
5217c6:	33 4e 08             	xor    0x8(%esi),%ecx
5217c9:	23 cf                	and    %edi,%ecx
5217cb:	31 4e 08             	xor    %ecx,0x8(%esi)
5217ce:	8b 4a 0c             	mov    0xc(%edx),%ecx
5217d1:	33 4e 0c             	xor    0xc(%esi),%ecx
5217d4:	23 cf                	and    %edi,%ecx
5217d6:	31 4e 0c             	xor    %ecx,0xc(%esi)
5217d9:	8b 4a 10             	mov    0x10(%edx),%ecx
5217dc:	33 4e 10             	xor    0x10(%esi),%ecx
5217df:	23 cf                	and    %edi,%ecx
5217e1:	31 4e 10             	xor    %ecx,0x10(%esi)
5217e4:	8b 4a 14             	mov    0x14(%edx),%ecx
5217e7:	33 4e 14             	xor    0x14(%esi),%ecx
5217ea:	23 cf                	and    %edi,%ecx
5217ec:	31 4e 14             	xor    %ecx,0x14(%esi)
5217ef:	8b 4a 18             	mov    0x18(%edx),%ecx
5217f2:	33 4e 18             	xor    0x18(%esi),%ecx
5217f5:	23 cf                	and    %edi,%ecx
5217f7:	31 4e 18             	xor    %ecx,0x18(%esi)
5217fa:	8b 4a 1c             	mov    0x1c(%edx),%ecx
5217fd:	33 4e 1c             	xor    0x1c(%esi),%ecx
521800:	23 cf                	and    %edi,%ecx
521802:	31 4e 1c             	xor    %ecx,0x1c(%esi)
521805:	8b 4a 20             	mov    0x20(%edx),%ecx
521808:	33 4e 20             	xor    0x20(%esi),%ecx
52180b:	23 cf                	and    %edi,%ecx
52180d:	31 4e 20             	xor    %ecx,0x20(%esi)
521810:	8b 4a 24             	mov    0x24(%edx),%ecx
521813:	33 4e 24             	xor    0x24(%esi),%ecx
521816:	23 cf                	and    %edi,%ecx
521818:	31 4e 24             	xor    %ecx,0x24(%esi)
52181b:	5f                   	pop    %edi
52181c:	5e                   	pop    %esi
52181d:	c3                   	ret
52181e:	cc                   	int3
52181f:	cc                   	int3
521820:	8b 54 24 0c          	mov    0xc(%esp),%edx
521824:	56                   	push   %esi
521825:	8b 74 24 0c          	mov    0xc(%esp),%esi
521829:	f7 da                	neg    %edx
52182b:	57                   	push   %edi
52182c:	8b 7c 24 0c          	mov    0xc(%esp),%edi
521830:	8b 06                	mov    (%esi),%eax
521832:	8b 0f                	mov    (%edi),%ecx
521834:	33 c1                	xor    %ecx,%eax
521836:	23 c2                	and    %edx,%eax
521838:	33 c8                	xor    %eax,%ecx
52183a:	89 0f                	mov    %ecx,(%edi)
52183c:	31 06                	xor    %eax,(%esi)
52183e:	8b 4f 04             	mov    0x4(%edi),%ecx
521841:	8b 46 04             	mov    0x4(%esi),%eax
521844:	33 c1                	xor    %ecx,%eax
521846:	23 c2                	and    %edx,%eax
521848:	33 c8                	xor    %eax,%ecx
52184a:	89 4f 04             	mov    %ecx,0x4(%edi)
52184d:	31 46 04             	xor    %eax,0x4(%esi)
521850:	8b 4f 08             	mov    0x8(%edi),%ecx
521853:	8b 46 08             	mov    0x8(%esi),%eax
521856:	33 c1                	xor    %ecx,%eax
521858:	23 c2                	and    %edx,%eax
52185a:	33 c8                	xor    %eax,%ecx
52185c:	89 4f 08             	mov    %ecx,0x8(%edi)
52185f:	31 46 08             	xor    %eax,0x8(%esi)
521862:	8b 4f 0c             	mov    0xc(%edi),%ecx
521865:	8b 46 0c             	mov    0xc(%esi),%eax
521868:	33 c1                	xor    %ecx,%eax
52186a:	23 c2                	and    %edx,%eax
52186c:	33 c8                	xor    %eax,%ecx
52186e:	89 4f 0c             	mov    %ecx,0xc(%edi)
521871:	31 46 0c             	xor    %eax,0xc(%esi)
521874:	8b 4f 10             	mov    0x10(%edi),%ecx
521877:	8b 46 10             	mov    0x10(%esi),%eax
52187a:	33 c1                	xor    %ecx,%eax
52187c:	23 c2                	and    %edx,%eax
52187e:	33 c8                	xor    %eax,%ecx
521880:	89 4f 10             	mov    %ecx,0x10(%edi)
521883:	31 46 10             	xor    %eax,0x10(%esi)