510209:	e8 72 8d fc ff       	call   0x4d8f80
51020e:	83 c4 14             	add    $0x14,%esp
510211:	33 c0                	xor    %eax,%eax
510213:	5f                   	pop    %edi
510214:	5e                   	pop    %esi
510215:	83 c4 08             	add    $0x8,%esp
510218:	c3                   	ret
510219:	68 c1 00 00 00       	push   $0xc1
51021e:	68 d4 02 63 00       	push   $0x6302d4
510223:	6a 65                	push   $0x65
510225:	6a 6b                	push   $0x6b
510227:	6a 0a                	push   $0xa
510229:	e8 52 8d fc ff       	call   0x4d8f80
51022e:	83 c4 14             	add    $0x14,%esp
510231:	33 c0                	xor    %eax,%eax
510233:	5f                   	pop    %edi
510234:	5e                   	pop    %esi
510235:	83 c4 08             	add    $0x8,%esp
510238:	c3                   	ret
510239:	cc                   	int3
51023a:	cc                   	int3
51023b:	cc                   	int3
51023c:	cc                   	int3
51023d:	cc                   	int3
51023e:	cc                   	int3
51023f:	cc                   	int3
510240:	6a 01                	push   $0x1
510242:	68 84 68 69 00       	push   $0x696884
510247:	e8 d4 87 ff ff       	call   0x508a20
51024c:	83 c4 08             	add    $0x8,%esp
51024f:	c3                   	ret
510250:	8b 44 24 04          	mov    0x4(%esp),%eax
510254:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
510258:	74 1d                	je     0x510277
51025a:	6a 00                	push   $0x0
51025c:	6a 01                	push   $0x1
51025e:	68 ec 02 63 00       	push   $0x6302ec
510263:	50                   	push   %eax
510264:	68 b0 02 51 00       	push   $0x5102b0
510269:	68 84 68 69 00       	push   $0x696884
51026e:	e8 ed 85 ff ff       	call   0x508860
510273:	83 c4 18             	add    $0x18,%esp
510276:	c3                   	ret
510277:	b8 01 00 00 00       	mov    $0x1,%eax
51027c:	c3                   	ret
51027d:	cc                   	int3
51027e:	cc                   	int3
51027f:	cc                   	int3
510280:	8b 44 24 04          	mov    0x4(%esp),%eax
510284:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
510288:	74 1d                	je     0x5102a7
51028a:	6a 01                	push   $0x1
51028c:	6a 01                	push   $0x1
51028e:	68 ec 02 63 00       	push   $0x6302ec
510293:	50                   	push   %eax
510294:	68 b0 02 51 00       	push   $0x5102b0
510299:	68 84 68 69 00       	push   $0x696884
51029e:	e8 bd 85 ff ff       	call   0x508860
5102a3:	83 c4 18             	add    $0x18,%esp
5102a6:	c3                   	ret
5102a7:	b8 01 00 00 00       	mov    $0x1,%eax
5102ac:	c3                   	ret
5102ad:	cc                   	int3
5102ae:	cc                   	int3
5102af:	cc                   	int3
5102b0:	68 84 68 69 00       	push   $0x696884
5102b5:	e8 16 85 ff ff       	call   0x5087d0
5102ba:	59                   	pop    %ecx
5102bb:	c3                   	ret
5102bc:	cc                   	int3
5102bd:	cc                   	int3
5102be:	cc                   	int3
5102bf:	cc                   	int3
5102c0:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
5102c5:	56                   	push   %esi
5102c6:	57                   	push   %edi
5102c7:	8b 7c 24 0c          	mov    0xc(%esp),%edi
5102cb:	8d 77 6c             	lea    0x6c(%edi),%esi
5102ce:	74 5b                	je     0x51032b
5102d0:	6a ff                	push   $0xffffffff
5102d2:	8d 46 18             	lea    0x18(%esi),%eax
5102d5:	0f 57 c0             	xorps  %xmm0,%xmm0
5102d8:	6a 00                	push   $0x0
5102da:	50                   	push   %eax
5102db:	0f 11 00             	movups %xmm0,(%eax)
5102de:	6a 00                	push   $0x0
5102e0:	0f 11 40 10          	movups %xmm0,0x10(%eax)
5102e4:	6a 00                	push   $0x0
5102e6:	0f 11 46 38          	movups %xmm0,0x38(%esi)
5102ea:	ff 36                	push   (%esi)
5102ec:	e8 ff c2 fc ff       	call   0x4dc5f0
5102f1:	83 c4 18             	add    $0x18,%esp
5102f4:	85 c0                	test   %eax,%eax
5102f6:	74 33                	je     0x51032b
5102f8:	56                   	push   %esi
5102f9:	e8 92 0b 00 00       	call   0x510e90
5102fe:	ff 74 24 20          	push   0x20(%esp)
510302:	ff 74 24 20          	push   0x20(%esp)
510306:	ff 74 24 30          	push   0x30(%esp)
51030a:	ff 74 24 30          	push   0x30(%esp)
51030e:	ff 74 24 28          	push   0x28(%esp)
510312:	ff 74 24 28          	push   0x28(%esp)
510316:	57                   	push   %edi
510317:	e8 14 08 00 00       	call   0x510b30
51031c:	83 c4 20             	add    $0x20,%esp
51031f:	85 c0                	test   %eax,%eax
510321:	74 08                	je     0x51032b
510323:	5f                   	pop    %edi
510324:	b8 01 00 00 00       	mov    $0x1,%eax
510329:	5e                   	pop    %esi
51032a:	c3                   	ret
51032b:	5f                   	pop    %edi
51032c:	33 c0                	xor    %eax,%eax
51032e:	5e                   	pop    %esi
51032f:	c3                   	ret
510330:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
510335:	74 58                	je     0x51038f
510337:	57                   	push   %edi
510338:	8b 7c 24 08          	mov    0x8(%esp),%edi
51033c:	ba 10 00 00 00       	mov    $0x10,%edx
510341:	b9 01 00 00 00       	mov    $0x1,%ecx
510346:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
51034d:	00 00 00
510350:	0f b6 84 3a a3 00 00 	movzbl 0xa3(%edx,%edi,1),%eax
510357:	00
510358:	4a                   	dec    %edx
510359:	03 c8                	add    %eax,%ecx
51035b:	88 8c 3a a4 00 00 00 	mov    %cl,0xa4(%edx,%edi,1)
510362:	c1 e9 08             	shr    $0x8,%ecx
510365:	85 d2                	test   %edx,%edx
510367:	75 e7                	jne    0x510350
510369:	52                   	push   %edx
51036a:	52                   	push   %edx
51036b:	ff 74 24 20          	push   0x20(%esp)
51036f:	ff 74 24 20          	push   0x20(%esp)
510373:	ff 74 24 20          	push   0x20(%esp)
510377:	ff 74 24 20          	push   0x20(%esp)
51037b:	57                   	push   %edi
51037c:	e8 af 07 00 00       	call   0x510b30
510381:	83 c4 1c             	add    $0x1c,%esp
510384:	5f                   	pop    %edi
510385:	85 c0                	test   %eax,%eax
510387:	74 06                	je     0x51038f
510389:	b8 01 00 00 00       	mov    $0x1,%eax
51038e:	c3                   	ret
51038f:	33 c0                	xor    %eax,%eax
510391:	c3                   	ret
510392:	cc                   	int3
510393:	cc                   	int3
510394:	cc                   	int3
510395:	cc                   	int3
510396:	cc                   	int3
510397:	cc                   	int3
510398:	cc                   	int3
510399:	cc                   	int3
51039a:	cc                   	int3
51039b:	cc                   	int3
51039c:	cc                   	int3
51039d:	cc                   	int3
51039e:	cc                   	int3
51039f:	cc                   	int3
5103a0:	b8 08 00 00 00       	mov    $0x8,%eax
5103a5:	e8 06 14 0c 00       	call   0x5d17b0
5103aa:	53                   	push   %ebx
5103ab:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5103af:	55                   	push   %ebp
5103b0:	8b 6c 24 20          	mov    0x20(%esp),%ebp
5103b4:	56                   	push   %esi
5103b5:	57                   	push   %edi
5103b6:	8d 7b 6c             	lea    0x6c(%ebx),%edi
5103b9:	85 ed                	test   %ebp,%ebp
5103bb:	74 4d                	je     0x51040a
5103bd:	8b 74 24 2c          	mov    0x2c(%esp),%esi
5103c1:	85 f6                	test   %esi,%esi
5103c3:	74 45                	je     0x51040a
5103c5:	57                   	push   %edi
5103c6:	e8 c5 0a 00 00       	call   0x510e90
5103cb:	6a 00                	push   $0x0
5103cd:	6a 00                	push   $0x0
5103cf:	6a 00                	push   $0x0
5103d1:	6a 00                	push   $0x0
5103d3:	56                   	push   %esi
5103d4:	55                   	push   %ebp
5103d5:	53                   	push   %ebx
5103d6:	e8 55 07 00 00       	call   0x510b30
5103db:	83 c4 20             	add    $0x20,%esp
5103de:	85 c0                	test   %eax,%eax
5103e0:	0f 84 6e 01 00 00    	je     0x510554
5103e6:	66 8b 4b 14          	mov    0x14(%ebx),%cx
5103ea:	b8 01 00 00 00       	mov    $0x1,%eax
5103ef:	66 83 e1 01          	and    $0x1,%cx
5103f3:	0f 45 c6             	cmovne %esi,%eax
5103f6:	89 44 24 10          	mov    %eax,0x10(%esp)
5103fa:	33 c0                	xor    %eax,%eax
5103fc:	66 85 c9             	test   %cx,%cx
5103ff:	0f 45 c5             	cmovne %ebp,%eax
510402:	8b e8                	mov    %eax,%ebp
510404:	89 6c 24 28          	mov    %ebp,0x28(%esp)
510408:	eb 08                	jmp    0x510412
51040a:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
510411:	00
510412:	8d 5f 38             	lea    0x38(%edi),%ebx
510415:	ba 10 00 00 00       	mov    $0x10,%edx
51041a:	b9 01 00 00 00       	mov    $0x1,%ecx
51041f:	90                   	nop
510420:	0f b6 44 1a ff       	movzbl -0x1(%edx,%ebx,1),%eax
510425:	4a                   	dec    %edx
510426:	03 c8                	add    %eax,%ecx
510428:	88 0c 1a             	mov    %cl,(%edx,%ebx,1)
51042b:	c1 e9 08             	shr    $0x8,%ecx
51042e:	85 d2                	test   %edx,%edx
510430:	75 ee                	jne    0x510420
510432:	8b 74 24 24          	mov    0x24(%esp),%esi
510436:	85 f6                	test   %esi,%esi
510438:	75 46                	jne    0x510480
51043a:	ba 10 00 00 00       	mov    $0x10,%edx
51043f:	b9 01 00 00 00       	mov    $0x1,%ecx
510444:	0f b6 44 1a ff       	movzbl -0x1(%edx,%ebx,1),%eax
510449:	4a                   	dec    %edx
51044a:	03 c8                	add    %eax,%ecx
51044c:	88 0c 1a             	mov    %cl,(%edx,%ebx,1)
51044f:	c1 e9 08             	shr    $0x8,%ecx
510452:	85 d2                	test   %edx,%edx
510454:	75 ee                	jne    0x510444
510456:	52                   	push   %edx
510457:	52                   	push   %edx
510458:	52                   	push   %edx
510459:	52                   	push   %edx
51045a:	ff 74 24 20          	push   0x20(%esp)
51045e:	55                   	push   %ebp
51045f:	ff 74 24 34          	push   0x34(%esp)
510463:	e8 c8 06 00 00       	call   0x510b30
510468:	83 c4 1c             	add    $0x1c,%esp
51046b:	85 c0                	test   %eax,%eax
51046d:	0f 84 e1 00 00 00    	je     0x510554
510473:	5f                   	pop    %edi
510474:	5e                   	pop    %esi
510475:	5d                   	pop    %ebp
510476:	b8 01 00 00 00       	mov    $0x1,%eax
51047b:	5b                   	pop    %ebx
51047c:	83 c4 08             	add    $0x8,%esp
51047f:	c3                   	ret
510480:	8b 6c 24 20          	mov    0x20(%esp),%ebp
510484:	56                   	push   %esi
510485:	6a 00                	push   $0x0
510487:	55                   	push   %ebp
510488:	e8 e3 27 0c 00       	call   0x5d2c70
51048d:	83 c4 0c             	add    $0xc,%esp
510490:	6a ff                	push   $0xffffffff
510492:	53                   	push   %ebx
510493:	6a 00                	push   $0x0
510495:	6a 00                	push   $0x0
510497:	6a 00                	push   $0x0
510499:	ff 77 04             	push   0x4(%edi)
51049c:	e8 4f c1 fc ff       	call   0x4dc5f0
5104a1:	83 c4 18             	add    $0x18,%esp
5104a4:	85 c0                	test   %eax,%eax
5104a6:	0f 84 a8 00 00 00    	je     0x510554
5104ac:	81 7c 24 24 00 00 00 	cmpl   $0x40000000,0x24(%esp)
5104b3:	40
5104b4:	b8 00 00 00 40       	mov    $0x40000000,%eax
5104b9:	8b 7f 44             	mov    0x44(%edi),%edi
5104bc:	0f 47 f0             	cmova  %eax,%esi
5104bf:	0f cf                	bswap  %edi
5104c1:	8d 46 0f             	lea    0xf(%esi),%eax
5104c4:	99                   	cltd
5104c5:	83 e2 0f             	and    $0xf,%edx
5104c8:	03 c2                	add    %edx,%eax
5104ca:	c1 f8 04             	sar    $0x4,%eax
5104cd:	03 f8                	add    %eax,%edi
5104cf:	3b f8                	cmp    %eax,%edi
5104d1:	73 30                	jae    0x510503
5104d3:	85 ff                	test   %edi,%edi
5104d5:	74 07                	je     0x5104de
5104d7:	8b f0                	mov    %eax,%esi
5104d9:	2b f7                	sub    %edi,%esi
5104db:	c1 e6 04             	shl    $0x4,%esi
5104de:	33 c0                	xor    %eax,%eax
5104e0:	ba 0c 00 00 00       	mov    $0xc,%edx
5104e5:	85 ff                	test   %edi,%edi
5104e7:	0f 44 c7             	cmove  %edi,%eax
5104ea:	8b f8                	mov    %eax,%edi
5104ec:	b8 01 00 00 00       	mov    $0x1,%eax
5104f1:	0f b6 4c 1a ff       	movzbl -0x1(%edx,%ebx,1),%ecx
5104f6:	4a                   	dec    %edx
5104f7:	03 c1                	add    %ecx,%eax
5104f9:	88 04 1a             	mov    %al,(%edx,%ebx,1)
5104fc:	c1 e8 08             	shr    $0x8,%eax
5104ff:	85 d2                	test   %edx,%edx
510501:	75 ee                	jne    0x5104f1
510503:	8b 44 24 1c          	mov    0x1c(%esp),%eax
510507:	8d 4c 24 14          	lea    0x14(%esp),%ecx
51050b:	56                   	push   %esi
51050c:	55                   	push   %ebp
51050d:	0f cf                	bswap  %edi
51050f:	51                   	push   %ecx
510510:	89 b8 b0 00 00 00    	mov    %edi,0xb0(%eax)
510516:	8d 78 6c             	lea    0x6c(%eax),%edi
510519:	55                   	push   %ebp
51051a:	ff 77 04             	push   0x4(%edi)
51051d:	e8 4e c4 fc ff       	call   0x4dc970
510522:	83 c4 14             	add    $0x14,%esp
510525:	85 c0                	test   %eax,%eax
510527:	74 2b                	je     0x510554
510529:	39 74 24 14          	cmp    %esi,0x14(%esp)
51052d:	75 25                	jne    0x510554
51052f:	03 ee                	add    %esi,%ebp
510531:	29 74 24 24          	sub    %esi,0x24(%esp)
510535:	8b 74 24 24          	mov    0x24(%esp),%esi
510539:	0f 85 51 ff ff ff    	jne    0x510490
51053f:	6a 00                	push   $0x0
510541:	6a 00                	push   $0x0
510543:	6a 00                	push   $0x0
510545:	6a 00                	push   $0x0
510547:	ff 74 24 20          	push   0x20(%esp)
51054b:	ff 74 24 3c          	push   0x3c(%esp)
51054f:	e9 0b ff ff ff       	jmp    0x51045f
510554:	5f                   	pop    %edi
510555:	5e                   	pop    %esi
510556:	5d                   	pop    %ebp
510557:	33 c0                	xor    %eax,%eax
510559:	5b                   	pop    %ebx
51055a:	83 c4 08             	add    $0x8,%esp
51055d:	c3                   	ret
51055e:	cc                   	int3
51055f:	cc                   	int3
510560:	56                   	push   %esi
510561:	8b 74 24 08          	mov    0x8(%esp),%esi
510565:	57                   	push   %edi
510566:	ff 76 6c             	push   0x6c(%esi)
510569:	8d 7e 6c             	lea    0x6c(%esi),%edi
51056c:	e8 7f be fc ff       	call   0x4dc3f0
510571:	ff 76 70             	push   0x70(%esi)
510574:	e8 77 be fc ff       	call   0x4dc3f0
510579:	ff 76 74             	push   0x74(%esi)
51057c:	e8 6f be fc ff       	call   0x4dc3f0
510581:	68 8c 00 00 00       	push   $0x8c
510586:	57                   	push   %edi
510587:	e8 54 14 ef ff       	call   0x4019e0
51058c:	83 c4 14             	add    $0x14,%esp
51058f:	b8 01 00 00 00       	mov    $0x1,%eax
510594:	5f                   	pop    %edi
510595:	5e                   	pop    %esi
510596:	c3                   	ret
510597:	cc                   	int3
510598:	cc                   	int3
510599:	cc                   	int3
51059a:	cc                   	int3
51059b:	cc                   	int3
51059c:	cc                   	int3