5332da:	c1 e1 04             	shl    $0x4,%ecx
5332dd:	83 c0 d0             	add    $0xffffffd0,%eax
5332e0:	03 c1                	add    %ecx,%eax
5332e2:	50                   	push   %eax
5332e3:	56                   	push   %esi
5332e4:	e8 47 9c fd ff       	call   0x50cf30
5332e9:	83 c4 08             	add    $0x8,%esp
5332ec:	5b                   	pop    %ebx
5332ed:	5f                   	pop    %edi
5332ee:	5e                   	pop    %esi
5332ef:	8b e5                	mov    %ebp,%esp
5332f1:	5d                   	pop    %ebp
5332f2:	c3                   	ret
5332f3:	8b c7                	mov    %edi,%eax
5332f5:	5f                   	pop    %edi
5332f6:	5e                   	pop    %esi
5332f7:	8b e5                	mov    %ebp,%esp
5332f9:	5d                   	pop    %ebp
5332fa:	c3                   	ret
5332fb:	cc                   	int3
5332fc:	cc                   	int3
5332fd:	cc                   	int3
5332fe:	cc                   	int3
5332ff:	cc                   	int3
533300:	55                   	push   %ebp
533301:	8b ec                	mov    %esp,%ebp
533303:	8b 4d 08             	mov    0x8(%ebp),%ecx
533306:	53                   	push   %ebx
533307:	8b 5d 0c             	mov    0xc(%ebp),%ebx
53330a:	8b d3                	mov    %ebx,%edx
53330c:	83 e2 07             	and    $0x7,%edx
53330f:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
533313:	74 0c                	je     0x533321
533315:	66 c7 41 07 01 00    	movw   $0x1,0x7(%ecx)
53331b:	c6 41 09 00          	movb   $0x0,0x9(%ecx)
53331f:	eb 1b                	jmp    0x53333c
533321:	83 fa 01             	cmp    $0x1,%edx
533324:	0f 94 c0             	sete   %al
533327:	83 fa 03             	cmp    $0x3,%edx
53332a:	88 41 07             	mov    %al,0x7(%ecx)
53332d:	0f 93 c0             	setae  %al
533330:	83 fa 04             	cmp    $0x4,%edx
533333:	88 41 08             	mov    %al,0x8(%ecx)
533336:	0f 94 c0             	sete   %al
533339:	88 41 09             	mov    %al,0x9(%ecx)
53333c:	8a 51 07             	mov    0x7(%ecx),%dl
53333f:	84 d2                	test   %dl,%dl
533341:	74 06                	je     0x533349
533343:	c6 41 0a 00          	movb   $0x0,0xa(%ecx)
533347:	eb 0f                	jmp    0x533358
533349:	f6 c3 08             	test   $0x8,%bl
53334c:	74 06                	je     0x533354
53334e:	c6 41 0a 03          	movb   $0x3,0xa(%ecx)
533352:	eb 04                	jmp    0x533358
533354:	c6 41 0a 02          	movb   $0x2,0xa(%ecx)
533358:	8a 61 0a             	mov    0xa(%ecx),%ah
53335b:	8a c4                	mov    %ah,%al
53335d:	c0 e0 02             	shl    $0x2,%al
533360:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
533364:	88 41 0b             	mov    %al,0xb(%ecx)
533367:	74 05                	je     0x53336e
533369:	0a c4                	or     %ah,%al
53336b:	88 41 0b             	mov    %al,0xb(%ecx)
53336e:	f6 c3 10             	test   $0x10,%bl
533371:	74 08                	je     0x53337b
533373:	84 d2                	test   %dl,%dl
533375:	75 04                	jne    0x53337b
533377:	80 49 0b 0c          	orb    $0xc,0xb(%ecx)
53337b:	f6 c3 20             	test   $0x20,%bl
53337e:	5b                   	pop    %ebx
53337f:	74 06                	je     0x533387
533381:	80 61 14 fe          	andb   $0xfe,0x14(%ecx)
533385:	5d                   	pop    %ebp
533386:	c3                   	ret
533387:	80 49 14 01          	orb    $0x1,0x14(%ecx)
53338b:	5d                   	pop    %ebp
53338c:	c3                   	ret
53338d:	cc                   	int3
53338e:	cc                   	int3
53338f:	cc                   	int3
533390:	55                   	push   %ebp
533391:	8b ec                	mov    %esp,%ebp
533393:	8b 4d 0c             	mov    0xc(%ebp),%ecx
533396:	56                   	push   %esi
533397:	8b 75 08             	mov    0x8(%ebp),%esi
53339a:	80 7e 0f 00          	cmpb   $0x0,0xf(%esi)
53339e:	8a 56 05             	mov    0x5(%esi),%dl
5333a1:	74 0d                	je     0x5333b0
5333a3:	83 f9 04             	cmp    $0x4,%ecx
5333a6:	74 08                	je     0x5333b0
5333a8:	83 f9 02             	cmp    $0x2,%ecx
5333ab:	74 03                	je     0x5333b0
5333ad:	0f b6 ca             	movzbl %dl,%ecx
5333b0:	0f b6 c2             	movzbl %dl,%eax
5333b3:	3b c8                	cmp    %eax,%ecx
5333b5:	0f 84 e0 00 00 00    	je     0x53349b
5333bb:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
5333bf:	57                   	push   %edi
5333c0:	88 4e 05             	mov    %cl,0x5(%esi)
5333c3:	0f 85 b4 00 00 00    	jne    0x53347d
5333c9:	80 e2 05             	and    $0x5,%dl
5333cc:	80 fa 01             	cmp    $0x1,%dl
5333cf:	0f 85 a8 00 00 00    	jne    0x53347d
5333d5:	84 ca                	test   %cl,%dl
5333d7:	0f 85 a0 00 00 00    	jne    0x53347d
5333dd:	8b 7e 40             	mov    0x40(%esi),%edi
5333e0:	8b 07                	mov    (%edi),%eax
5333e2:	85 c0                	test   %eax,%eax
5333e4:	74 0f                	je     0x5333f5
5333e6:	8b 40 04             	mov    0x4(%eax),%eax
5333e9:	57                   	push   %edi
5333ea:	ff d0                	call   *%eax
5333ec:	83 c4 04             	add    $0x4,%esp
5333ef:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5333f5:	80 7e 11 02          	cmpb   $0x2,0x11(%esi)
5333f9:	72 1b                	jb     0x533416
5333fb:	8b 06                	mov    (%esi),%eax
5333fd:	6a 00                	push   $0x0
5333ff:	ff b6 ac 00 00 00    	push   0xac(%esi)
533405:	50                   	push   %eax
533406:	8b 40 1c             	mov    0x1c(%eax),%eax
533409:	ff d0                	call   *%eax
53340b:	0f b6 46 05          	movzbl 0x5(%esi),%eax
53340f:	83 c4 0c             	add    $0xc,%esp
533412:	5f                   	pop    %edi
533413:	5e                   	pop    %esi
533414:	5d                   	pop    %ebp
533415:	c3                   	ret
533416:	0f b6 7e 10          	movzbl 0x10(%esi),%edi
53341a:	33 c0                	xor    %eax,%eax
53341c:	85 ff                	test   %edi,%edi
53341e:	75 09                	jne    0x533429
533420:	56                   	push   %esi
533421:	e8 ca 01 00 00       	call   0x5335f0
533426:	83 c4 04             	add    $0x4,%esp
533429:	80 7e 10 01          	cmpb   $0x1,0x10(%esi)
53342d:	75 0b                	jne    0x53343a
53342f:	6a 02                	push   $0x2
533431:	56                   	push   %esi
533432:	e8 09 98 fd ff       	call   0x50cc40
533437:	83 c4 08             	add    $0x8,%esp
53343a:	85 c0                	test   %eax,%eax
53343c:	75 2a                	jne    0x533468
53343e:	8b 06                	mov    (%esi),%eax
533440:	6a 00                	push   $0x0
533442:	ff b6 ac 00 00 00    	push   0xac(%esi)
533448:	50                   	push   %eax
533449:	8b 40 1c             	mov    0x1c(%eax),%eax
53344c:	ff d0                	call   *%eax
53344e:	83 c4 0c             	add    $0xc,%esp
533451:	83 ff 01             	cmp    $0x1,%edi
533454:	75 12                	jne    0x533468
533456:	57                   	push   %edi
533457:	56                   	push   %esi
533458:	e8 f3 9f fd ff       	call   0x50d450
53345d:	0f b6 46 05          	movzbl 0x5(%esi),%eax
533461:	83 c4 08             	add    $0x8,%esp
533464:	5f                   	pop    %edi
533465:	5e                   	pop    %esi
533466:	5d                   	pop    %ebp
533467:	c3                   	ret
533468:	85 ff                	test   %edi,%edi
53346a:	75 2e                	jne    0x53349a
53346c:	56                   	push   %esi
53346d:	e8 3e b2 fd ff       	call   0x50e6b0
533472:	0f b6 46 05          	movzbl 0x5(%esi),%eax
533476:	83 c4 04             	add    $0x4,%esp
533479:	5f                   	pop    %edi
53347a:	5e                   	pop    %esi
53347b:	5d                   	pop    %ebp
53347c:	c3                   	ret
53347d:	83 f9 02             	cmp    $0x2,%ecx
533480:	75 18                	jne    0x53349a
533482:	8b 7e 40             	mov    0x40(%esi),%edi
533485:	8b 07                	mov    (%edi),%eax
533487:	85 c0                	test   %eax,%eax
533489:	74 0f                	je     0x53349a
53348b:	8b 40 04             	mov    0x4(%eax),%eax
53348e:	57                   	push   %edi
53348f:	ff d0                	call   *%eax
533491:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
533497:	83 c4 04             	add    $0x4,%esp
53349a:	5f                   	pop    %edi
53349b:	0f b6 46 05          	movzbl 0x5(%esi),%eax
53349f:	5e                   	pop    %esi
5334a0:	5d                   	pop    %ebp
5334a1:	c3                   	ret
5334a2:	cc                   	int3
5334a3:	cc                   	int3
5334a4:	cc                   	int3
5334a5:	cc                   	int3
5334a6:	cc                   	int3
5334a7:	cc                   	int3
5334a8:	cc                   	int3
5334a9:	cc                   	int3
5334aa:	cc                   	int3
5334ab:	cc                   	int3
5334ac:	cc                   	int3
5334ad:	cc                   	int3
5334ae:	cc                   	int3
5334af:	cc                   	int3
5334b0:	55                   	push   %ebp
5334b1:	8b ec                	mov    %esp,%ebp
5334b3:	83 ec 14             	sub    $0x14,%esp
5334b6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5334bb:	33 c5                	xor    %ebp,%eax
5334bd:	89 45 fc             	mov    %eax,-0x4(%ebp)
5334c0:	8b 45 0c             	mov    0xc(%ebp),%eax
5334c3:	53                   	push   %ebx
5334c4:	56                   	push   %esi
5334c5:	8b 75 08             	mov    0x8(%ebp),%esi
5334c8:	8b 18                	mov    (%eax),%ebx
5334ca:	57                   	push   %edi
5334cb:	33 ff                	xor    %edi,%edi
5334cd:	89 45 ec             	mov    %eax,-0x14(%ebp)
5334d0:	80 7e 0f 00          	cmpb   $0x0,0xf(%esi)
5334d4:	74 05                	je     0x5334db
5334d6:	39 7e 18             	cmp    %edi,0x18(%esi)
5334d9:	75 68                	jne    0x533543
5334db:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
5334e1:	39 78 0c             	cmp    %edi,0xc(%eax)
5334e4:	75 5d                	jne    0x533543
5334e6:	85 db                	test   %ebx,%ebx
5334e8:	74 59                	je     0x533543
5334ea:	3b 9e 98 00 00 00    	cmp    0x98(%esi),%ebx
5334f0:	74 51                	je     0x533543
5334f2:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
5334f6:	0f 57 c0             	xorps  %xmm0,%xmm0
5334f9:	89 7d f0             	mov    %edi,-0x10(%ebp)
5334fc:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
533501:	76 1c                	jbe    0x53351f
533503:	8b 4e 3c             	mov    0x3c(%esi),%ecx
533506:	39 39                	cmp    %edi,(%ecx)
533508:	74 15                	je     0x53351f
53350a:	8b 01                	mov    (%ecx),%eax
53350c:	8d 55 f4             	lea    -0xc(%ebp),%edx
53350f:	52                   	push   %edx
533510:	51                   	push   %ecx
533511:	8b 40 18             	mov    0x18(%eax),%eax
533514:	ff d0                	call   *%eax
533516:	8b f8                	mov    %eax,%edi
533518:	83 c4 08             	add    $0x8,%esp
53351b:	85 ff                	test   %edi,%edi
53351d:	75 18                	jne    0x533537
53351f:	8d 43 08             	lea    0x8(%ebx),%eax
533522:	50                   	push   %eax
533523:	e8 08 c5 fd ff       	call   0x50fa30
533528:	8b f8                	mov    %eax,%edi
53352a:	83 c4 04             	add    $0x4,%esp
53352d:	89 7d f0             	mov    %edi,-0x10(%ebp)
533530:	85 ff                	test   %edi,%edi
533532:	75 4f                	jne    0x533583
533534:	8d 78 07             	lea    0x7(%eax),%edi
533537:	8b 45 f0             	mov    -0x10(%ebp),%eax
53353a:	50                   	push   %eax
53353b:	e8 50 c9 fd ff       	call   0x50fe90
533540:	83 c4 04             	add    $0x4,%esp
533543:	8b 4d ec             	mov    -0x14(%ebp),%ecx
533546:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
53354c:	89 01                	mov    %eax,(%ecx)
53354e:	85 ff                	test   %edi,%edi
533550:	75 1e                	jne    0x533570
533552:	8b 45 10             	mov    0x10(%ebp),%eax
533555:	85 c0                	test   %eax,%eax
533557:	79 07                	jns    0x533560
533559:	0f bf 86 8e 00 00 00 	movswl 0x8e(%esi),%eax
533560:	56                   	push   %esi
533561:	66 89 86 8e 00 00 00 	mov    %ax,0x8e(%esi)
533568:	e8 63 95 fd ff       	call   0x50cad0
53356d:	83 c4 04             	add    $0x4,%esp
533570:	8b 4d fc             	mov    -0x4(%ebp),%ecx
533573:	8b c7                	mov    %edi,%eax
533575:	5f                   	pop    %edi
533576:	5e                   	pop    %esi
533577:	33 cd                	xor    %ebp,%ecx
533579:	5b                   	pop    %ebx
53357a:	e8 5b df 0a 00       	call   0x5e14da
53357f:	8b e5                	mov    %ebp,%esp
533581:	5d                   	pop    %ebp
533582:	c3                   	ret
533583:	0f 57 c0             	xorps  %xmm0,%xmm0
533586:	56                   	push   %esi
533587:	66 0f d6 04 1f       	movq   %xmm0,(%edi,%ebx,1)
53358c:	e8 cf af fd ff       	call   0x50e560
533591:	53                   	push   %ebx
533592:	ff b6 d4 00 00 00    	push   0xd4(%esi)
533598:	e8 03 11 00 00       	call   0x5346a0
53359d:	8b f8                	mov    %eax,%edi
53359f:	83 c4 0c             	add    $0xc,%esp
5335a2:	85 ff                	test   %edi,%edi
5335a4:	75 91                	jne    0x533537
5335a6:	ff b6 d0 00 00 00    	push   0xd0(%esi)
5335ac:	e8 df c8 fd ff       	call   0x50fe90
5335b1:	8b 45 f0             	mov    -0x10(%ebp),%eax
5335b4:	83 c4 04             	add    $0x4,%esp
5335b7:	89 86 d0 00 00 00    	mov    %eax,0xd0(%esi)
5335bd:	8b cb                	mov    %ebx,%ecx
5335bf:	03 4d f4             	add    -0xc(%ebp),%ecx
5335c2:	8b c7                	mov    %edi,%eax
5335c4:	13 45 f8             	adc    -0x8(%ebp),%eax
5335c7:	83 e9 01             	sub    $0x1,%ecx
5335ca:	57                   	push   %edi
5335cb:	53                   	push   %ebx
5335cc:	1b c7                	sbb    %edi,%eax
5335ce:	50                   	push   %eax
5335cf:	51                   	push   %ecx
5335d0:	e8 6b e5 0a 00       	call   0x5e1b40
5335d5:	89 46 18             	mov    %eax,0x18(%esi)
5335d8:	89 9e 98 00 00 00    	mov    %ebx,0x98(%esi)
5335de:	e9 60 ff ff ff       	jmp    0x533543
5335e3:	cc                   	int3
5335e4:	cc                   	int3
5335e5:	cc                   	int3
5335e6:	cc                   	int3
5335e7:	cc                   	int3
5335e8:	cc                   	int3
5335e9:	cc                   	int3
5335ea:	cc                   	int3
5335eb:	cc                   	int3
5335ec:	cc                   	int3
5335ed:	cc                   	int3
5335ee:	cc                   	int3
5335ef:	cc                   	int3
5335f0:	55                   	push   %ebp
5335f1:	8b ec                	mov    %esp,%ebp
5335f3:	83 ec 1c             	sub    $0x1c,%esp
5335f6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5335fb:	33 c5                	xor    %ebp,%eax
5335fd:	89 45 fc             	mov    %eax,-0x4(%ebp)
533600:	56                   	push   %esi
533601:	8b 75 08             	mov    0x8(%ebp),%esi
533604:	57                   	push   %edi
533605:	33 ff                	xor    %edi,%edi
533607:	39 be d8 00 00 00    	cmp    %edi,0xd8(%esi)
53360d:	0f 85 ce 01 00 00    	jne    0x5337e1
533613:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
533617:	0f 85 c4 01 00 00    	jne    0x5337e1
53361d:	6a 01                	push   $0x1
53361f:	56                   	push   %esi
533620:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
533627:	e8 f4 b1 fd ff       	call   0x50e820
53362c:	8b f8                	mov    %eax,%edi
53362e:	83 c4 08             	add    $0x8,%esp
533631:	85 ff                	test   %edi,%edi
533633:	0f 85 df 01 00 00    	jne    0x533818
533639:	80 7e 11 01          	cmpb   $0x1,0x11(%esi)
53363d:	77 20                	ja     0x53365f
53363f:	8d 45 e8             	lea    -0x18(%ebp),%eax
533642:	50                   	push   %eax
533643:	56                   	push   %esi