5113fa:	56                   	push   %esi
5113fb:	57                   	push   %edi
5113fc:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
511403:	8b 73 14             	mov    0x14(%ebx),%esi
511406:	89 75 fc             	mov    %esi,-0x4(%ebp)
511409:	8b 86 d8 00 00 00    	mov    0xd8(%esi),%eax
51140f:	85 c0                	test   %eax,%eax
511411:	74 6f                	je     0x511482
511413:	8d 4d f8             	lea    -0x8(%ebp),%ecx
511416:	51                   	push   %ecx
511417:	ff 73 18             	push   0x18(%ebx)
51141a:	50                   	push   %eax
51141b:	e8 00 e0 03 00       	call   0x54f420
511420:	83 c4 0c             	add    $0xc,%esp
511423:	85 c0                	test   %eax,%eax
511425:	0f 85 c5 00 00 00    	jne    0x5114f0
51142b:	8b 55 f8             	mov    -0x8(%ebp),%edx
51142e:	85 d2                	test   %edx,%edx
511430:	74 50                	je     0x511482
511432:	8b 8e d8 00 00 00    	mov    0xd8(%esi),%ecx
511438:	0f b7 41 42          	movzwl 0x42(%ecx),%eax
51143c:	8b 71 08             	mov    0x8(%ecx),%esi
51143f:	8b d8                	mov    %eax,%ebx
511441:	25 00 fe 00 00       	and    $0xfe00,%eax
511446:	8d 4a ff             	lea    -0x1(%edx),%ecx
511449:	83 e3 01             	and    $0x1,%ebx
51144c:	c1 e3 10             	shl    $0x10,%ebx
51144f:	03 d8                	add    %eax,%ebx
511451:	8b 3e                	mov    (%esi),%edi
511453:	8d 43 18             	lea    0x18(%ebx),%eax
511456:	f7 e1                	mul    %ecx
511458:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51145b:	83 c0 38             	add    $0x38,%eax
51145e:	83 d2 00             	adc    $0x0,%edx
511461:	52                   	push   %edx
511462:	50                   	push   %eax
511463:	8b 81 98 00 00 00    	mov    0x98(%ecx),%eax
511469:	3b c3                	cmp    %ebx,%eax
51146b:	0f 4f c3             	cmovg  %ebx,%eax
51146e:	8b 5d 08             	mov    0x8(%ebp),%ebx
511471:	50                   	push   %eax
511472:	8b 47 08             	mov    0x8(%edi),%eax
511475:	ff 73 04             	push   0x4(%ebx)
511478:	56                   	push   %esi
511479:	ff d0                	call   *%eax
51147b:	83 c4 14             	add    $0x14,%esp
51147e:	8b c8                	mov    %eax,%ecx
511480:	eb 3d                	jmp    0x5114bf
511482:	8b be 98 00 00 00    	mov    0x98(%esi),%edi
511488:	8b c7                	mov    %edi,%eax
51148a:	8b 4b 18             	mov    0x18(%ebx),%ecx
51148d:	99                   	cltd
51148e:	49                   	dec    %ecx
51148f:	52                   	push   %edx
511490:	50                   	push   %eax
511491:	6a 00                	push   $0x0
511493:	51                   	push   %ecx
511494:	e8 67 06 0d 00       	call   0x5e1b00
511499:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51149c:	8b f0                	mov    %eax,%esi
51149e:	52                   	push   %edx
51149f:	56                   	push   %esi
5114a0:	57                   	push   %edi
5114a1:	8b 49 3c             	mov    0x3c(%ecx),%ecx
5114a4:	ff 73 04             	push   0x4(%ebx)
5114a7:	51                   	push   %ecx
5114a8:	8b 01                	mov    (%ecx),%eax
5114aa:	8b 40 08             	mov    0x8(%eax),%eax
5114ad:	ff d0                	call   *%eax
5114af:	8b c8                	mov    %eax,%ecx
5114b1:	83 c4 14             	add    $0x14,%esp
5114b4:	33 c0                	xor    %eax,%eax
5114b6:	81 f9 0a 02 00 00    	cmp    $0x20a,%ecx
5114bc:	0f 44 c8             	cmove  %eax,%ecx
5114bf:	83 7b 18 01          	cmpl   $0x1,0x18(%ebx)
5114c3:	75 29                	jne    0x5114ee
5114c5:	85 c9                	test   %ecx,%ecx
5114c7:	74 17                	je     0x5114e0
5114c9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5114cc:	0f 28 05 60 0f 6b 00 	movaps 0x6b0f60,%xmm0
5114d3:	5f                   	pop    %edi
5114d4:	5e                   	pop    %esi
5114d5:	0f 11 40 68          	movups %xmm0,0x68(%eax)
5114d9:	8b c1                	mov    %ecx,%eax
5114db:	5b                   	pop    %ebx
5114dc:	8b e5                	mov    %ebp,%esp
5114de:	5d                   	pop    %ebp
5114df:	c3                   	ret
5114e0:	8b 43 04             	mov    0x4(%ebx),%eax
5114e3:	0f 10 40 18          	movups 0x18(%eax),%xmm0
5114e7:	8b 45 fc             	mov    -0x4(%ebp),%eax
5114ea:	0f 11 40 68          	movups %xmm0,0x68(%eax)
5114ee:	8b c1                	mov    %ecx,%eax
5114f0:	5f                   	pop    %edi
5114f1:	5e                   	pop    %esi
5114f2:	5b                   	pop    %ebx
5114f3:	8b e5                	mov    %ebp,%esp
5114f5:	5d                   	pop    %ebp
5114f6:	c3                   	ret
5114f7:	cc                   	int3
5114f8:	cc                   	int3
5114f9:	cc                   	int3
5114fa:	cc                   	int3
5114fb:	cc                   	int3
5114fc:	cc                   	int3
5114fd:	cc                   	int3
5114fe:	cc                   	int3
5114ff:	cc                   	int3
511500:	55                   	push   %ebp
511501:	8b ec                	mov    %esp,%ebp
511503:	83 ec 20             	sub    $0x20,%esp
511506:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51150b:	33 c5                	xor    %ebp,%eax
51150d:	89 45 fc             	mov    %eax,-0x4(%ebp)
511510:	8b 45 18             	mov    0x18(%ebp),%eax
511513:	0f 57 c0             	xorps  %xmm0,%xmm0
511516:	53                   	push   %ebx
511517:	56                   	push   %esi
511518:	57                   	push   %edi
511519:	8b 7d 08             	mov    0x8(%ebp),%edi
51151c:	89 45 f0             	mov    %eax,-0x10(%ebp)
51151f:	8b 45 1c             	mov    0x1c(%ebp),%eax
511522:	89 45 e0             	mov    %eax,-0x20(%ebp)
511525:	8b 4f 48             	mov    0x48(%edi),%ecx
511528:	8b c1                	mov    %ecx,%eax
51152a:	8b 57 4c             	mov    0x4c(%edi),%edx
51152d:	0b c2                	or     %edx,%eax
51152f:	66 0f 13 45 e8       	movlpd %xmm0,-0x18(%ebp)
511534:	74 2a                	je     0x511560
511536:	8b b7 94 00 00 00    	mov    0x94(%edi),%esi
51153c:	83 e9 01             	sub    $0x1,%ecx
51153f:	6a 00                	push   $0x0
511541:	56                   	push   %esi
511542:	83 da 00             	sbb    $0x0,%edx
511545:	52                   	push   %edx
511546:	51                   	push   %ecx
511547:	e8 f4 05 0d 00       	call   0x5e1b40
51154c:	83 c0 01             	add    $0x1,%eax
51154f:	6a 00                	push   $0x0
511551:	56                   	push   %esi
511552:	83 d2 00             	adc    $0x0,%edx
511555:	52                   	push   %edx
511556:	50                   	push   %eax
511557:	e8 a4 05 0d 00       	call   0x5e1b00
51155c:	8b d8                	mov    %eax,%ebx
51155e:	eb 06                	jmp    0x511566
511560:	8b 55 ec             	mov    -0x14(%ebp),%edx
511563:	8b 5d e8             	mov    -0x18(%ebp),%ebx
511566:	8b 8f 94 00 00 00    	mov    0x94(%edi),%ecx
51156c:	33 c0                	xor    %eax,%eax
51156e:	03 cb                	add    %ebx,%ecx
511570:	89 55 e4             	mov    %edx,-0x1c(%ebp)
511573:	89 5f 48             	mov    %ebx,0x48(%edi)
511576:	13 c2                	adc    %edx,%eax
511578:	89 57 4c             	mov    %edx,0x4c(%edi)
51157b:	3b 45 14             	cmp    0x14(%ebp),%eax
51157e:	7c 0f                	jl     0x51158f
511580:	0f 8f a3 01 00 00    	jg     0x511729
511586:	3b 4d 10             	cmp    0x10(%ebp),%ecx
511589:	0f 87 9a 01 00 00    	ja     0x511729
51158f:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
511593:	75 0a                	jne    0x51159f
511595:	3b 5f 50             	cmp    0x50(%edi),%ebx
511598:	75 05                	jne    0x51159f
51159a:	3b 57 54             	cmp    0x54(%edi),%edx
51159d:	74 3e                	je     0x5115dd
51159f:	8b 47 40             	mov    0x40(%edi),%eax
5115a2:	52                   	push   %edx
5115a3:	53                   	push   %ebx
5115a4:	6a 08                	push   $0x8
5115a6:	8b 08                	mov    (%eax),%ecx
5115a8:	8d 55 f4             	lea    -0xc(%ebp),%edx
5115ab:	52                   	push   %edx
5115ac:	50                   	push   %eax
5115ad:	8b 41 08             	mov    0x8(%ecx),%eax
5115b0:	ff d0                	call   *%eax
5115b2:	83 c4 14             	add    $0x14,%esp
5115b5:	85 c0                	test   %eax,%eax
5115b7:	0f 85 71 01 00 00    	jne    0x51172e
5115bd:	8d 4d f4             	lea    -0xc(%ebp),%ecx
5115c0:	8b 01                	mov    (%ecx),%eax
5115c2:	3b 05 a4 27 6b 00    	cmp    0x6b27a4,%eax
5115c8:	0f 85 5b 01 00 00    	jne    0x511729
5115ce:	8b 41 04             	mov    0x4(%ecx),%eax
5115d1:	3b 05 a8 27 6b 00    	cmp    0x6b27a8,%eax
5115d7:	0f 85 4c 01 00 00    	jne    0x511729
5115dd:	8b 57 40             	mov    0x40(%edi),%edx
5115e0:	8b cb                	mov    %ebx,%ecx
5115e2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5115e5:	83 c1 08             	add    $0x8,%ecx
5115e8:	83 d0 00             	adc    $0x0,%eax
5115eb:	8b 32                	mov    (%edx),%esi
5115ed:	50                   	push   %eax
5115ee:	51                   	push   %ecx
5115ef:	6a 04                	push   $0x4
5115f1:	8d 45 ec             	lea    -0x14(%ebp),%eax
5115f4:	50                   	push   %eax
5115f5:	8b 46 08             	mov    0x8(%esi),%eax
5115f8:	52                   	push   %edx
5115f9:	ff d0                	call   *%eax
5115fb:	8b d0                	mov    %eax,%edx
5115fd:	83 c4 14             	add    $0x14,%esp
511600:	85 d2                	test   %edx,%edx
511602:	0f 85 0e 01 00 00    	jne    0x511716
511608:	8b 4d f0             	mov    -0x10(%ebp),%ecx
51160b:	8b 45 ec             	mov    -0x14(%ebp),%eax
51160e:	0f c8                	bswap  %eax
511610:	89 01                	mov    %eax,(%ecx)
511612:	8b cb                	mov    %ebx,%ecx
511614:	8b 57 40             	mov    0x40(%edi),%edx
511617:	83 c1 0c             	add    $0xc,%ecx
51161a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
51161d:	83 d0 00             	adc    $0x0,%eax
511620:	50                   	push   %eax
511621:	8b 32                	mov    (%edx),%esi
511623:	8d 45 f0             	lea    -0x10(%ebp),%eax
511626:	51                   	push   %ecx
511627:	6a 04                	push   $0x4
511629:	50                   	push   %eax
51162a:	8b 46 08             	mov    0x8(%esi),%eax
51162d:	52                   	push   %edx
51162e:	ff d0                	call   *%eax
511630:	8b d0                	mov    %eax,%edx
511632:	83 c4 14             	add    $0x14,%esp
511635:	85 d2                	test   %edx,%edx
511637:	0f 85 d9 00 00 00    	jne    0x511716
51163d:	8b 45 f0             	mov    -0x10(%ebp),%eax
511640:	8b cb                	mov    %ebx,%ecx
511642:	ff 75 e0             	push   -0x20(%ebp)
511645:	8b 75 e4             	mov    -0x1c(%ebp),%esi
511648:	83 c1 10             	add    $0x10,%ecx
51164b:	0f c8                	bswap  %eax
51164d:	89 47 30             	mov    %eax,0x30(%edi)
511650:	8b c6                	mov    %esi,%eax
511652:	13 c2                	adc    %edx,%eax
511654:	50                   	push   %eax
511655:	51                   	push   %ecx
511656:	ff 77 40             	push   0x40(%edi)
511659:	e8 42 fd ff ff       	call   0x5113a0
51165e:	8b d0                	mov    %eax,%edx
511660:	83 c4 10             	add    $0x10,%esp
511663:	85 d2                	test   %edx,%edx
511665:	0f 85 ab 00 00 00    	jne    0x511716
51166b:	8b 4f 48             	mov    0x48(%edi),%ecx
51166e:	0b 4f 4c             	or     0x4c(%edi),%ecx
511671:	0f 85 92 00 00 00    	jne    0x511709
511677:	8d 45 e0             	lea    -0x20(%ebp),%eax
51167a:	8b cb                	mov    %ebx,%ecx
51167c:	50                   	push   %eax
51167d:	83 c1 14             	add    $0x14,%ecx
511680:	8b c6                	mov    %esi,%eax
511682:	13 c2                	adc    %edx,%eax
511684:	50                   	push   %eax
511685:	51                   	push   %ecx
511686:	ff 77 40             	push   0x40(%edi)
511689:	e8 12 fd ff ff       	call   0x5113a0
51168e:	83 c4 10             	add    $0x10,%esp
511691:	85 c0                	test   %eax,%eax
511693:	0f 85 95 00 00 00    	jne    0x51172e
511699:	83 c3 18             	add    $0x18,%ebx
51169c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
51169f:	50                   	push   %eax
5116a0:	83 d6 00             	adc    $0x0,%esi
5116a3:	56                   	push   %esi
5116a4:	53                   	push   %ebx
5116a5:	ff 77 40             	push   0x40(%edi)
5116a8:	e8 f3 fc ff ff       	call   0x5113a0
5116ad:	83 c4 10             	add    $0x10,%esp
5116b0:	85 c0                	test   %eax,%eax
5116b2:	75 7a                	jne    0x51172e
5116b4:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
5116b7:	85 c9                	test   %ecx,%ecx
5116b9:	75 09                	jne    0x5116c4
5116bb:	8b 8f 98 00 00 00    	mov    0x98(%edi),%ecx
5116c1:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
5116c4:	81 f9 00 02 00 00    	cmp    $0x200,%ecx
5116ca:	72 5d                	jb     0x511729
5116cc:	8b 75 e0             	mov    -0x20(%ebp),%esi
5116cf:	83 fe 20             	cmp    $0x20,%esi
5116d2:	72 55                	jb     0x511729
5116d4:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
5116da:	77 4d                	ja     0x511729
5116dc:	81 fe 00 00 01 00    	cmp    $0x10000,%esi
5116e2:	77 45                	ja     0x511729
5116e4:	8d 41 ff             	lea    -0x1(%ecx),%eax
5116e7:	85 c1                	test   %eax,%ecx
5116e9:	75 3e                	jne    0x511729
5116eb:	8d 46 ff             	lea    -0x1(%esi),%eax
5116ee:	85 c6                	test   %eax,%esi
5116f0:	75 37                	jne    0x511729
5116f2:	6a ff                	push   $0xffffffff
5116f4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5116f7:	50                   	push   %eax
5116f8:	57                   	push   %edi
5116f9:	e8 b2 1d 02 00       	call   0x5334b0
5116fe:	83 c4 0c             	add    $0xc,%esp
511701:	89 b7 94 00 00 00    	mov    %esi,0x94(%edi)
511707:	8b d0                	mov    %eax,%edx
511709:	8b 87 94 00 00 00    	mov    0x94(%edi),%eax
51170f:	01 47 48             	add    %eax,0x48(%edi)
511712:	83 57 4c 00          	adcl   $0x0,0x4c(%edi)
511716:	5f                   	pop    %edi
511717:	5e                   	pop    %esi
511718:	8b c2                	mov    %edx,%eax
51171a:	5b                   	pop    %ebx
51171b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51171e:	33 cd                	xor    %ebp,%ecx
511720:	e8 b5 fd 0c 00       	call   0x5e14da
511725:	8b e5                	mov    %ebp,%esp
511727:	5d                   	pop    %ebp
511728:	c3                   	ret
511729:	b8 65 00 00 00       	mov    $0x65,%eax
51172e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
511731:	5f                   	pop    %edi
511732:	5e                   	pop    %esi
511733:	33 cd                	xor    %ebp,%ecx
511735:	5b                   	pop    %ebx
511736:	e8 9f fd 0c 00       	call   0x5e14da
51173b:	8b e5                	mov    %ebp,%esp
51173d:	5d                   	pop    %ebp
51173e:	c3                   	ret
51173f:	cc                   	int3
511740:	55                   	push   %ebp
511741:	8b ec                	mov    %esp,%ebp
511743:	83 ec 1c             	sub    $0x1c,%esp
511746:	a1 d4 89 72 00       	mov    0x7289d4,%eax
51174b:	33 c5                	xor    %ebp,%eax
51174d:	89 45 fc             	mov    %eax,-0x4(%ebp)
511750:	53                   	push   %ebx
511751:	8b 5d 08             	mov    0x8(%ebp),%ebx
511754:	8d 4d e8             	lea    -0x18(%ebp),%ecx
511757:	56                   	push   %esi
511758:	57                   	push   %edi
511759:	8b 7d 0c             	mov    0xc(%ebp),%edi
51175c:	51                   	push   %ecx
51175d:	53                   	push   %ebx
51175e:	c6 07 00             	movb   $0x0,(%edi)
511761:	8b 03                	mov    (%ebx),%eax
511763:	8b 40 18             	mov    0x18(%eax),%eax
511766:	ff d0                	call   *%eax
511768:	8b c8                	mov    %eax,%ecx
51176a:	83 c4 08             	add    $0x8,%esp
51176d:	85 c9                	test   %ecx,%ecx
51176f:	0f 85 34 01 00 00    	jne    0x5118a9
511775:	8b 55 ec             	mov    -0x14(%ebp),%edx
511778:	85 d2                	test   %edx,%edx
51177a:	0f 8c 29 01 00 00    	jl     0x5118a9
511780:	8b 75 e8             	mov    -0x18(%ebp),%esi
511783:	7f 09                	jg     0x51178e
511785:	83 fe 10             	cmp    $0x10,%esi