512398:	e8 b3 f6 ee ff       	call   0x401a50
51239d:	83 c4 34             	add    $0x34,%esp
5123a0:	85 c0                	test   %eax,%eax
5123a2:	74 20                	je     0x5123c4
5123a4:	5f                   	pop    %edi
5123a5:	5e                   	pop    %esi
5123a6:	5d                   	pop    %ebp
5123a7:	33 c0                	xor    %eax,%eax
5123a9:	5b                   	pop    %ebx
5123aa:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5123ae:	33 cc                	xor    %esp,%ecx
5123b0:	e8 71 f6 0b 00       	call   0x5d1a26
5123b5:	83 c4 20             	add    $0x20,%esp
5123b8:	c3                   	ret
5123b9:	57                   	push   %edi
5123ba:	53                   	push   %ebx
5123bb:	50                   	push   %eax
5123bc:	e8 ff 4d fc ff       	call   0x4d71c0
5123c1:	83 c4 0c             	add    $0xc,%esp
5123c4:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
5123c8:	b8 01 00 00 00       	mov    $0x1,%eax
5123cd:	5f                   	pop    %edi
5123ce:	5e                   	pop    %esi
5123cf:	c7 85 1c 05 00 00 ff 	movl   $0xffffffff,0x51c(%ebp)
5123d6:	ff ff ff
5123d9:	5d                   	pop    %ebp
5123da:	5b                   	pop    %ebx
5123db:	33 cc                	xor    %esp,%ecx
5123dd:	e8 44 f6 0b 00       	call   0x5d1a26
5123e2:	83 c4 20             	add    $0x20,%esp
5123e5:	c3                   	ret
5123e6:	cc                   	int3
5123e7:	cc                   	int3
5123e8:	cc                   	int3
5123e9:	cc                   	int3
5123ea:	cc                   	int3
5123eb:	cc                   	int3
5123ec:	cc                   	int3
5123ed:	cc                   	int3
5123ee:	cc                   	int3
5123ef:	cc                   	int3
5123f0:	b8 44 00 00 00       	mov    $0x44,%eax
5123f5:	e8 b6 f3 0b 00       	call   0x5d17b0
5123fa:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5123ff:	33 c4                	xor    %esp,%eax
512401:	89 44 24 40          	mov    %eax,0x40(%esp)
512405:	53                   	push   %ebx
512406:	8b 5c 24 54          	mov    0x54(%esp),%ebx
51240a:	55                   	push   %ebp
51240b:	8b 6c 24 5c          	mov    0x5c(%esp),%ebp
51240f:	56                   	push   %esi
512410:	57                   	push   %edi
512411:	8b 7c 24 58          	mov    0x58(%esp),%edi
512415:	57                   	push   %edi
512416:	e8 b5 dc fd ff       	call   0x4f00d0
51241b:	8b f0                	mov    %eax,%esi
51241d:	83 c4 04             	add    $0x4,%esp
512420:	8b 44 24 5c          	mov    0x5c(%esp),%eax
512424:	83 e8 16             	sub    $0x16,%eax
512427:	0f 84 3a 01 00 00    	je     0x512567
51242d:	83 e8 01             	sub    $0x1,%eax
512430:	0f 85 a2 01 00 00    	jne    0x5125d8
512436:	6a 40                	push   $0x40
512438:	50                   	push   %eax
512439:	8d 44 24 18          	lea    0x18(%esp),%eax
51243d:	50                   	push   %eax
51243e:	e8 2d 08 0c 00       	call   0x5d2c70
512443:	83 c4 0c             	add    $0xc,%esp
512446:	83 fb 40             	cmp    $0x40,%ebx
512449:	7e 24                	jle    0x51246f
51244b:	8d be 08 04 00 00    	lea    0x408(%esi),%edi
512451:	57                   	push   %edi
512452:	e8 09 4d fc ff       	call   0x4d7160
512457:	53                   	push   %ebx
512458:	55                   	push   %ebp
512459:	57                   	push   %edi
51245a:	e8 61 4d fc ff       	call   0x4d71c0
51245f:	8d 44 24 20          	lea    0x20(%esp),%eax
512463:	57                   	push   %edi
512464:	50                   	push   %eax
512465:	e8 d6 4b fc ff       	call   0x4d7040
51246a:	83 c4 18             	add    $0x18,%esp
51246d:	eb 15                	jmp    0x512484
51246f:	53                   	push   %ebx
512470:	8d 44 24 14          	lea    0x14(%esp),%eax
512474:	55                   	push   %ebp
512475:	50                   	push   %eax
512476:	e8 55 09 0c 00       	call   0x5d2dd0
51247b:	83 c4 0c             	add    $0xc,%esp
51247e:	8d be 08 04 00 00    	lea    0x408(%esi),%edi
512484:	0f 28 15 50 07 63 00 	movaps 0x630750,%xmm2
51248b:	0f 10 44 24 10       	movups 0x10(%esp),%xmm0
512490:	57                   	push   %edi
512491:	0f 28 ca             	movaps %xmm2,%xmm1
512494:	66 0f ef c8          	pxor   %xmm0,%xmm1
512498:	0f 10 44 24 24       	movups 0x24(%esp),%xmm0
51249d:	0f 11 4c 24 14       	movups %xmm1,0x14(%esp)
5124a2:	0f 28 ca             	movaps %xmm2,%xmm1
5124a5:	66 0f ef c8          	pxor   %xmm0,%xmm1
5124a9:	0f 10 44 24 34       	movups 0x34(%esp),%xmm0
5124ae:	0f 11 4c 24 24       	movups %xmm1,0x24(%esp)
5124b3:	0f 28 ca             	movaps %xmm2,%xmm1
5124b6:	66 0f ef c8          	pxor   %xmm0,%xmm1
5124ba:	0f 10 44 24 44       	movups 0x44(%esp),%xmm0
5124bf:	0f 11 4c 24 34       	movups %xmm1,0x34(%esp)
5124c4:	66 0f ef d0          	pxor   %xmm0,%xmm2
5124c8:	0f 11 54 24 44       	movups %xmm2,0x44(%esp)
5124cd:	e8 8e 4c fc ff       	call   0x4d7160
5124d2:	6a 40                	push   $0x40
5124d4:	8d 44 24 18          	lea    0x18(%esp),%eax
5124d8:	50                   	push   %eax
5124d9:	57                   	push   %edi
5124da:	e8 e1 4c fc ff       	call   0x4d71c0
5124df:	0f 28 15 60 07 63 00 	movaps 0x630760,%xmm2
5124e6:	81 c6 64 04 00 00    	add    $0x464,%esi
5124ec:	0f 10 44 24 20       	movups 0x20(%esp),%xmm0
5124f1:	56                   	push   %esi
5124f2:	0f 28 ca             	movaps %xmm2,%xmm1
5124f5:	66 0f ef c8          	pxor   %xmm0,%xmm1
5124f9:	0f 10 44 24 34       	movups 0x34(%esp),%xmm0
5124fe:	0f 11 4c 24 24       	movups %xmm1,0x24(%esp)
512503:	0f 28 ca             	movaps %xmm2,%xmm1
512506:	66 0f ef c8          	pxor   %xmm0,%xmm1
51250a:	0f 10 44 24 44       	movups 0x44(%esp),%xmm0
51250f:	0f 11 4c 24 34       	movups %xmm1,0x34(%esp)
512514:	0f 28 ca             	movaps %xmm2,%xmm1
512517:	66 0f ef c8          	pxor   %xmm0,%xmm1
51251b:	0f 10 44 24 54       	movups 0x54(%esp),%xmm0
512520:	0f 11 4c 24 44       	movups %xmm1,0x44(%esp)
512525:	66 0f ef d0          	pxor   %xmm0,%xmm2
512529:	0f 11 54 24 54       	movups %xmm2,0x54(%esp)
51252e:	e8 2d 4c fc ff       	call   0x4d7160
512533:	6a 40                	push   $0x40
512535:	8d 44 24 28          	lea    0x28(%esp),%eax
512539:	50                   	push   %eax
51253a:	56                   	push   %esi
51253b:	e8 80 4c fc ff       	call   0x4d71c0
512540:	8d 44 24 30          	lea    0x30(%esp),%eax
512544:	6a 40                	push   $0x40
512546:	50                   	push   %eax
512547:	e8 94 f4 ee ff       	call   0x4019e0
51254c:	83 c4 28             	add    $0x28,%esp
51254f:	b8 01 00 00 00       	mov    $0x1,%eax
512554:	5f                   	pop    %edi
512555:	5e                   	pop    %esi
512556:	5d                   	pop    %ebp
512557:	5b                   	pop    %ebx
512558:	8b 4c 24 40          	mov    0x40(%esp),%ecx
51255c:	33 cc                	xor    %esp,%ecx
51255e:	e8 c3 f4 0b 00       	call   0x5d1a26
512563:	83 c4 44             	add    $0x44,%esp
512566:	c3                   	ret
512567:	83 fb 0d             	cmp    $0xd,%ebx
51256a:	75 6c                	jne    0x5125d8
51256c:	0f b6 5d 0b          	movzbl 0xb(%ebp),%ebx
512570:	0f b6 45 0c          	movzbl 0xc(%ebp),%eax
512574:	c1 e3 08             	shl    $0x8,%ebx
512577:	57                   	push   %edi
512578:	0b d8                	or     %eax,%ebx
51257a:	e8 d1 4c fd ff       	call   0x4e7250
51257f:	83 c4 04             	add    $0x4,%esp
512582:	85 c0                	test   %eax,%eax
512584:	75 13                	jne    0x512599
512586:	83 fb 10             	cmp    $0x10,%ebx
512589:	72 4d                	jb     0x5125d8
51258b:	83 eb 10             	sub    $0x10,%ebx
51258e:	8b c3                	mov    %ebx,%eax
512590:	88 5d 0c             	mov    %bl,0xc(%ebp)
512593:	c1 e8 08             	shr    $0x8,%eax
512596:	88 45 0b             	mov    %al,0xb(%ebp)
512599:	8d 86 c0 04 00 00    	lea    0x4c0(%esi),%eax
51259f:	89 9e 1c 05 00 00    	mov    %ebx,0x51c(%esi)
5125a5:	6a 0d                	push   $0xd
5125a7:	8b f8                	mov    %eax,%edi
5125a9:	81 c6 08 04 00 00    	add    $0x408,%esi
5125af:	b9 17 00 00 00       	mov    $0x17,%ecx
5125b4:	55                   	push   %ebp
5125b5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5125b7:	50                   	push   %eax
5125b8:	e8 03 4c fc ff       	call   0x4d71c0
5125bd:	83 c4 0c             	add    $0xc,%esp
5125c0:	b8 10 00 00 00       	mov    $0x10,%eax
5125c5:	5f                   	pop    %edi
5125c6:	5e                   	pop    %esi
5125c7:	5d                   	pop    %ebp
5125c8:	5b                   	pop    %ebx
5125c9:	8b 4c 24 40          	mov    0x40(%esp),%ecx
5125cd:	33 cc                	xor    %esp,%ecx
5125cf:	e8 52 f4 0b 00       	call   0x5d1a26
5125d4:	83 c4 44             	add    $0x44,%esp
5125d7:	c3                   	ret
5125d8:	8b 4c 24 50          	mov    0x50(%esp),%ecx
5125dc:	83 c8 ff             	or     $0xffffffff,%eax
5125df:	5f                   	pop    %edi
5125e0:	5e                   	pop    %esi
5125e1:	5d                   	pop    %ebp
5125e2:	5b                   	pop    %ebx
5125e3:	33 cc                	xor    %esp,%ecx
5125e5:	e8 3c f4 0b 00       	call   0x5d1a26
5125ea:	83 c4 44             	add    $0x44,%esp
5125ed:	c3                   	ret
5125ee:	cc                   	int3
5125ef:	cc                   	int3
5125f0:	b8 a8 e1 68 00       	mov    $0x68e1a8,%eax
5125f5:	c3                   	ret
5125f6:	cc                   	int3
5125f7:	cc                   	int3
5125f8:	cc                   	int3
5125f9:	cc                   	int3
5125fa:	cc                   	int3
5125fb:	cc                   	int3
5125fc:	cc                   	int3
5125fd:	cc                   	int3
5125fe:	cc                   	int3
5125ff:	cc                   	int3
512600:	ff 74 24 08          	push   0x8(%esp)
512604:	ff 74 24 08          	push   0x8(%esp)
512608:	e8 23 db fd ff       	call   0x4f0130
51260d:	83 c4 04             	add    $0x4,%esp
512610:	50                   	push   %eax
512611:	ff 74 24 0c          	push   0xc(%esp)
512615:	e8 b6 da fd ff       	call   0x4f00d0
51261a:	83 c4 04             	add    $0x4,%esp
51261d:	50                   	push   %eax
51261e:	e8 2d e0 02 00       	call   0x540650
512623:	83 c4 0c             	add    $0xc,%esp
512626:	b8 01 00 00 00       	mov    $0x1,%eax
51262b:	c3                   	ret
51262c:	cc                   	int3
51262d:	cc                   	int3
51262e:	cc                   	int3
51262f:	cc                   	int3
512630:	53                   	push   %ebx
512631:	8b 5c 24 10          	mov    0x10(%esp),%ebx
512635:	55                   	push   %ebp
512636:	8b 6c 24 10          	mov    0x10(%esp),%ebp
51263a:	56                   	push   %esi
51263b:	8b 74 24 1c          	mov    0x1c(%esp),%esi
51263f:	57                   	push   %edi
512640:	8b 7c 24 14          	mov    0x14(%esp),%edi
512644:	81 fe 00 00 00 40    	cmp    $0x40000000,%esi
51264a:	72 4f                	jb     0x51269b
51264c:	8b c6                	mov    %esi,%eax
51264e:	c1 e8 1e             	shr    $0x1e,%eax
512651:	89 44 24 20          	mov    %eax,0x20(%esp)
512655:	57                   	push   %edi
512656:	e8 f5 4b fd ff       	call   0x4e7250
51265b:	83 c4 04             	add    $0x4,%esp
51265e:	50                   	push   %eax
51265f:	57                   	push   %edi
512660:	e8 bb da fd ff       	call   0x4f0120
512665:	83 c4 04             	add    $0x4,%esp
512668:	50                   	push   %eax
512669:	57                   	push   %edi
51266a:	e8 61 da fd ff       	call   0x4f00d0
51266f:	83 c4 04             	add    $0x4,%esp
512672:	50                   	push   %eax
512673:	68 00 00 00 40       	push   $0x40000000
512678:	55                   	push   %ebp
512679:	53                   	push   %ebx
51267a:	e8 01 42 f0 ff       	call   0x416880
51267f:	83 c4 18             	add    $0x18,%esp
512682:	81 ee 00 00 00 40    	sub    $0x40000000,%esi
512688:	81 c3 00 00 00 40    	add    $0x40000000,%ebx
51268e:	81 c5 00 00 00 40    	add    $0x40000000,%ebp
512694:	83 6c 24 20 01       	subl   $0x1,0x20(%esp)
512699:	75 ba                	jne    0x512655
51269b:	85 f6                	test   %esi,%esi
51269d:	74 29                	je     0x5126c8
51269f:	57                   	push   %edi
5126a0:	e8 ab 4b fd ff       	call   0x4e7250
5126a5:	83 c4 04             	add    $0x4,%esp
5126a8:	50                   	push   %eax
5126a9:	57                   	push   %edi
5126aa:	e8 71 da fd ff       	call   0x4f0120
5126af:	83 c4 04             	add    $0x4,%esp
5126b2:	50                   	push   %eax
5126b3:	57                   	push   %edi
5126b4:	e8 17 da fd ff       	call   0x4f00d0
5126b9:	83 c4 04             	add    $0x4,%esp
5126bc:	50                   	push   %eax
5126bd:	56                   	push   %esi
5126be:	55                   	push   %ebp
5126bf:	53                   	push   %ebx
5126c0:	e8 bb 41 f0 ff       	call   0x416880
5126c5:	83 c4 18             	add    $0x18,%esp
5126c8:	5f                   	pop    %edi
5126c9:	5e                   	pop    %esi
5126ca:	5d                   	pop    %ebp
5126cb:	b8 01 00 00 00       	mov    $0x1,%eax
5126d0:	5b                   	pop    %ebx
5126d1:	c3                   	ret
5126d2:	cc                   	int3
5126d3:	cc                   	int3
5126d4:	cc                   	int3
5126d5:	cc                   	int3
5126d6:	cc                   	int3
5126d7:	cc                   	int3
5126d8:	cc                   	int3
5126d9:	cc                   	int3
5126da:	cc                   	int3
5126db:	cc                   	int3
5126dc:	cc                   	int3
5126dd:	cc                   	int3
5126de:	cc                   	int3
5126df:	cc                   	int3
5126e0:	57                   	push   %edi
5126e1:	8b 7c 24 14          	mov    0x14(%esp),%edi
5126e5:	85 ff                	test   %edi,%edi
5126e7:	74 7f                	je     0x512768
5126e9:	53                   	push   %ebx
5126ea:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
5126ee:	b8 00 00 00 40       	mov    $0x40000000,%eax
5126f3:	55                   	push   %ebp
5126f4:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5126f8:	3b f8                	cmp    %eax,%edi
5126fa:	56                   	push   %esi
5126fb:	8b f7                	mov    %edi,%esi
5126fd:	0f 43 f0             	cmovae %eax,%esi
512700:	3b fe                	cmp    %esi,%edi
512702:	72 5a                	jb     0x51275e
512704:	53                   	push   %ebx
512705:	e8 36 da fd ff       	call   0x4f0140
51270a:	53                   	push   %ebx
51270b:	89 44 24 28          	mov    %eax,0x28(%esp)
51270f:	e8 3c 4b fd ff       	call   0x4e7250
512714:	83 c4 08             	add    $0x8,%esp
512717:	50                   	push   %eax
512718:	8d 44 24 24          	lea    0x24(%esp),%eax
51271c:	50                   	push   %eax
51271d:	53                   	push   %ebx
51271e:	e8 fd d9 fd ff       	call   0x4f0120
512723:	83 c4 04             	add    $0x4,%esp
512726:	50                   	push   %eax
512727:	53                   	push   %ebx
512728:	e8 a3 d9 fd ff       	call   0x4f00d0
51272d:	83 c4 04             	add    $0x4,%esp
512730:	50                   	push   %eax
512731:	56                   	push   %esi
512732:	ff 74 24 2c          	push   0x2c(%esp)
512736:	55                   	push   %ebp
512737:	e8 c4 e0 02 00       	call   0x540800
51273c:	ff 74 24 3c          	push   0x3c(%esp)
512740:	53                   	push   %ebx
512741:	e8 1a da fd ff       	call   0x4f0160
512746:	01 74 24 3c          	add    %esi,0x3c(%esp)
51274a:	2b fe                	sub    %esi,%edi
51274c:	03 ee                	add    %esi,%ebp
51274e:	83 c4 24             	add    $0x24,%esp
512751:	3b fe                	cmp    %esi,%edi