54f3cc:	8b 08                	mov    (%eax),%ecx
54f3ce:	50                   	push   %eax
54f3cf:	8b 41 38             	mov    0x38(%ecx),%eax
54f3d2:	ff d0                	call   *%eax
54f3d4:	83 c4 10             	add    $0x10,%esp
54f3d7:	c6 46 2c 00          	movb   $0x0,0x2c(%esi)
54f3db:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
54f3e2:	c6 46 2f 00          	movb   $0x0,0x2f(%esi)
54f3e6:	0f b7 46 28          	movzwl 0x28(%esi),%eax
54f3ea:	66 85 c0             	test   %ax,%ax
54f3ed:	78 24                	js     0x54f413
54f3ef:	80 7e 2b 00          	cmpb   $0x0,0x2b(%esi)
54f3f3:	75 17                	jne    0x54f40c
54f3f5:	8b 4e 04             	mov    0x4(%esi),%ecx
54f3f8:	6a 05                	push   $0x5
54f3fa:	98                   	cwtl
54f3fb:	83 c0 03             	add    $0x3,%eax
54f3fe:	8b 11                	mov    (%ecx),%edx
54f400:	6a 01                	push   $0x1
54f402:	50                   	push   %eax
54f403:	51                   	push   %ecx
54f404:	8b 42 38             	mov    0x38(%edx),%eax
54f407:	ff d0                	call   *%eax
54f409:	83 c4 10             	add    $0x10,%esp
54f40c:	83 c8 ff             	or     $0xffffffff,%eax
54f40f:	66 89 46 28          	mov    %ax,0x28(%esi)
54f413:	5e                   	pop    %esi
54f414:	5d                   	pop    %ebp
54f415:	c3                   	ret
54f416:	cc                   	int3
54f417:	cc                   	int3
54f418:	cc                   	int3
54f419:	cc                   	int3
54f41a:	cc                   	int3
54f41b:	cc                   	int3
54f41c:	cc                   	int3
54f41d:	cc                   	int3
54f41e:	cc                   	int3
54f41f:	cc                   	int3
54f420:	55                   	push   %ebp
54f421:	8b ec                	mov    %esp,%ebp
54f423:	83 ec 18             	sub    $0x18,%esp
54f426:	8b 55 08             	mov    0x8(%ebp),%edx
54f429:	53                   	push   %ebx
54f42a:	33 db                	xor    %ebx,%ebx
54f42c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
54f42f:	8b 42 44             	mov    0x44(%edx),%eax
54f432:	89 45 f8             	mov    %eax,-0x8(%ebp)
54f435:	85 c0                	test   %eax,%eax
54f437:	0f 84 41 01 00 00    	je     0x54f57e
54f43d:	66 39 5a 28          	cmp    %bx,0x28(%edx)
54f441:	75 09                	jne    0x54f44c
54f443:	38 5a 32             	cmp    %bl,0x32(%edx)
54f446:	0f 84 32 01 00 00    	je     0x54f57e
54f44c:	8b 4a 64             	mov    0x64(%edx),%ecx
54f44f:	56                   	push   %esi
54f450:	57                   	push   %edi
54f451:	83 c1 21             	add    $0x21,%ecx
54f454:	8d 78 21             	lea    0x21(%eax),%edi
54f457:	c1 e9 0c             	shr    $0xc,%ecx
54f45a:	c1 ef 0c             	shr    $0xc,%edi
54f45d:	89 4d f4             	mov    %ecx,-0xc(%ebp)
54f460:	3b f9                	cmp    %ecx,%edi
54f462:	0f 82 08 01 00 00    	jb     0x54f570
54f468:	39 7a 18             	cmp    %edi,0x18(%edx)
54f46b:	7e 11                	jle    0x54f47e
54f46d:	8b 42 20             	mov    0x20(%edx),%eax
54f470:	8b 0c b8             	mov    (%eax,%edi,4),%ecx
54f473:	89 4d ec             	mov    %ecx,-0x14(%ebp)
54f476:	85 c9                	test   %ecx,%ecx
54f478:	74 04                	je     0x54f47e
54f47a:	33 d2                	xor    %edx,%edx
54f47c:	eb 1b                	jmp    0x54f499
54f47e:	8d 45 ec             	lea    -0x14(%ebp),%eax
54f481:	50                   	push   %eax
54f482:	57                   	push   %edi
54f483:	52                   	push   %edx
54f484:	e8 a7 f4 00 00       	call   0x55e930
54f489:	8b d0                	mov    %eax,%edx
54f48b:	83 c4 0c             	add    $0xc,%esp
54f48e:	85 d2                	test   %edx,%edx
54f490:	0f 85 d1 00 00 00    	jne    0x54f567
54f496:	8b 4d ec             	mov    -0x14(%ebp),%ecx
54f499:	8d b1 00 40 00 00    	lea    0x4000(%ecx),%esi
54f49f:	89 75 e8             	mov    %esi,-0x18(%ebp)
54f4a2:	85 ff                	test   %edi,%edi
54f4a4:	75 0b                	jne    0x54f4b1
54f4a6:	81 c1 88 00 00 00    	add    $0x88,%ecx
54f4ac:	89 7d f0             	mov    %edi,-0x10(%ebp)
54f4af:	eb 0b                	jmp    0x54f4bc
54f4b1:	8b c7                	mov    %edi,%eax
54f4b3:	c1 e0 0c             	shl    $0xc,%eax
54f4b6:	83 e8 22             	sub    $0x22,%eax
54f4b9:	89 45 f0             	mov    %eax,-0x10(%ebp)
54f4bc:	83 e9 04             	sub    $0x4,%ecx
54f4bf:	89 4d ec             	mov    %ecx,-0x14(%ebp)
54f4c2:	85 d2                	test   %edx,%edx
54f4c4:	0f 85 9d 00 00 00    	jne    0x54f567
54f4ca:	69 45 0c 7f 01 00 00 	imul   $0x17f,0xc(%ebp),%eax
54f4d1:	ba 00 20 00 00       	mov    $0x2000,%edx
54f4d6:	25 ff 1f 00 00       	and    $0x1fff,%eax
54f4db:	66 83 3c 46 00       	cmpw   $0x0,(%esi,%eax,2)
54f4e0:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
54f4e3:	74 4a                	je     0x54f52f
54f4e5:	0f b7 19             	movzwl (%ecx),%ebx
54f4e8:	8b 75 f0             	mov    -0x10(%ebp),%esi
54f4eb:	03 f3                	add    %ebx,%esi
54f4ed:	3b 75 f8             	cmp    -0x8(%ebp),%esi
54f4f0:	77 1c                	ja     0x54f50e
54f4f2:	8b 4d 08             	mov    0x8(%ebp),%ecx
54f4f5:	3b 71 64             	cmp    0x64(%ecx),%esi
54f4f8:	72 14                	jb     0x54f50e
54f4fa:	8b 4d ec             	mov    -0x14(%ebp),%ecx
54f4fd:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
54f500:	8b 5d fc             	mov    -0x4(%ebp),%ebx
54f503:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
54f506:	0f 44 de             	cmove  %esi,%ebx
54f509:	89 5d fc             	mov    %ebx,-0x4(%ebp)
54f50c:	eb 03                	jmp    0x54f511
54f50e:	8b 5d fc             	mov    -0x4(%ebp),%ebx
54f511:	8b ca                	mov    %edx,%ecx
54f513:	4a                   	dec    %edx
54f514:	85 c9                	test   %ecx,%ecx
54f516:	74 25                	je     0x54f53d
54f518:	8b 4d e8             	mov    -0x18(%ebp),%ecx
54f51b:	40                   	inc    %eax
54f51c:	25 ff 1f 00 00       	and    $0x1fff,%eax
54f521:	66 83 3c 41 00       	cmpw   $0x0,(%ecx,%eax,2)
54f526:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
54f529:	75 ba                	jne    0x54f4e5
54f52b:	85 db                	test   %ebx,%ebx
54f52d:	75 41                	jne    0x54f570
54f52f:	4f                   	dec    %edi
54f530:	3b 7d f4             	cmp    -0xc(%ebp),%edi
54f533:	7c 3b                	jl     0x54f570
54f535:	8b 55 08             	mov    0x8(%ebp),%edx
54f538:	e9 2b ff ff ff       	jmp    0x54f468
54f53d:	68 fc c4 6b 00       	push   $0x6bc4fc
54f542:	68 b8 f2 00 00       	push   $0xf2b8
54f547:	68 94 c4 6b 00       	push   $0x6bc494
54f54c:	68 78 c4 6b 00       	push   $0x6bc478
54f551:	6a 0b                	push   $0xb
54f553:	e8 88 0a f9 ff       	call   0x4dffe0
54f558:	83 c4 14             	add    $0x14,%esp
54f55b:	b8 0b 00 00 00       	mov    $0xb,%eax
54f560:	5f                   	pop    %edi
54f561:	5e                   	pop    %esi
54f562:	5b                   	pop    %ebx
54f563:	8b e5                	mov    %ebp,%esp
54f565:	5d                   	pop    %ebp
54f566:	c3                   	ret
54f567:	5f                   	pop    %edi
54f568:	5e                   	pop    %esi
54f569:	8b c2                	mov    %edx,%eax
54f56b:	5b                   	pop    %ebx
54f56c:	8b e5                	mov    %ebp,%esp
54f56e:	5d                   	pop    %ebp
54f56f:	c3                   	ret
54f570:	8b 45 10             	mov    0x10(%ebp),%eax
54f573:	5f                   	pop    %edi
54f574:	5e                   	pop    %esi
54f575:	89 18                	mov    %ebx,(%eax)
54f577:	33 c0                	xor    %eax,%eax
54f579:	5b                   	pop    %ebx
54f57a:	8b e5                	mov    %ebp,%esp
54f57c:	5d                   	pop    %ebp
54f57d:	c3                   	ret
54f57e:	8b 45 10             	mov    0x10(%ebp),%eax
54f581:	89 18                	mov    %ebx,(%eax)
54f583:	33 c0                	xor    %eax,%eax
54f585:	5b                   	pop    %ebx
54f586:	8b e5                	mov    %ebp,%esp
54f588:	5d                   	pop    %ebp
54f589:	c3                   	ret
54f58a:	cc                   	int3
54f58b:	cc                   	int3
54f58c:	cc                   	int3
54f58d:	cc                   	int3
54f58e:	cc                   	int3
54f58f:	cc                   	int3
54f590:	55                   	push   %ebp
54f591:	8b ec                	mov    %esp,%ebp
54f593:	83 ec 78             	sub    $0x78,%esp
54f596:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54f59b:	33 c5                	xor    %ebp,%eax
54f59d:	89 45 fc             	mov    %eax,-0x4(%ebp)
54f5a0:	53                   	push   %ebx
54f5a1:	8b 5d 10             	mov    0x10(%ebp),%ebx
54f5a4:	56                   	push   %esi
54f5a5:	8b 75 08             	mov    0x8(%ebp),%esi
54f5a8:	57                   	push   %edi
54f5a9:	89 5d bc             	mov    %ebx,-0x44(%ebp)
54f5ac:	bf 2c 00 00 00       	mov    $0x2c,%edi
54f5b1:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
54f5b8:	8b 46 20             	mov    0x20(%esi),%eax
54f5bb:	8d 4e 34             	lea    0x34(%esi),%ecx
54f5be:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
54f5c5:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
54f5cc:	8b 00                	mov    (%eax),%eax
54f5ce:	8b d0                	mov    %eax,%edx
54f5d0:	89 45 b0             	mov    %eax,-0x50(%ebp)
54f5d3:	8b 01                	mov    (%ecx),%eax
54f5d5:	3b 02                	cmp    (%edx),%eax
54f5d7:	75 0d                	jne    0x54f5e6
54f5d9:	83 c1 04             	add    $0x4,%ecx
54f5dc:	83 c2 04             	add    $0x4,%edx
54f5df:	83 ef 04             	sub    $0x4,%edi
54f5e2:	73 ef                	jae    0x54f5d3
54f5e4:	eb 0a                	jmp    0x54f5f0
54f5e6:	8b 45 b0             	mov    -0x50(%ebp),%eax
54f5e9:	8b 40 10             	mov    0x10(%eax),%eax
54f5ec:	40                   	inc    %eax
54f5ed:	89 45 d4             	mov    %eax,-0x2c(%ebp)
54f5f0:	56                   	push   %esi
54f5f1:	e8 3a 03 01 00       	call   0x55f930
54f5f6:	8b f8                	mov    %eax,%edi
54f5f8:	83 c4 04             	add    $0x4,%esp
54f5fb:	85 ff                	test   %edi,%edi
54f5fd:	0f 85 77 05 00 00    	jne    0x54fb7a
54f603:	8b 46 44             	mov    0x44(%esi),%eax
54f606:	89 45 c8             	mov    %eax,-0x38(%ebp)
54f609:	85 c0                	test   %eax,%eax
54f60b:	0f 85 d8 00 00 00    	jne    0x54f6e9
54f611:	8b 45 0c             	mov    0xc(%ebp),%eax
54f614:	8b 4e 70             	mov    0x70(%esi),%ecx
54f617:	c7 45 dc 37 7f 06 82 	movl   $0x82067f37,-0x24(%ebp)
54f61e:	c7 45 e0 00 2d e2 18 	movl   $0x18e22d00,-0x20(%ebp)
54f625:	0f c8                	bswap  %eax
54f627:	89 45 e4             	mov    %eax,-0x1c(%ebp)
54f62a:	8b c1                	mov    %ecx,%eax
54f62c:	0f c8                	bswap  %eax
54f62e:	89 45 e8             	mov    %eax,-0x18(%ebp)
54f631:	85 c9                	test   %ecx,%ecx
54f633:	75 0e                	jne    0x54f643
54f635:	8d 46 54             	lea    0x54(%esi),%eax
54f638:	50                   	push   %eax
54f639:	6a 08                	push   $0x8
54f63b:	e8 f0 c5 f9 ff       	call   0x4ebc30
54f640:	83 c4 08             	add    $0x8,%esp
54f643:	8b 46 54             	mov    0x54(%esi),%eax
54f646:	8d 4d dc             	lea    -0x24(%ebp),%ecx
54f649:	89 45 ec             	mov    %eax,-0x14(%ebp)
54f64c:	33 d2                	xor    %edx,%edx
54f64e:	8b 46 58             	mov    0x58(%esi),%eax
54f651:	33 ff                	xor    %edi,%edi
54f653:	89 45 f0             	mov    %eax,-0x10(%ebp)
54f656:	8b 01                	mov    (%ecx),%eax
54f658:	03 c2                	add    %edx,%eax
54f65a:	03 f8                	add    %eax,%edi
54f65c:	8b 41 04             	mov    0x4(%ecx),%eax
54f65f:	03 c7                	add    %edi,%eax
54f661:	83 c1 08             	add    $0x8,%ecx
54f664:	03 d0                	add    %eax,%edx
54f666:	8d 45 f4             	lea    -0xc(%ebp),%eax
54f669:	3b c8                	cmp    %eax,%ecx
54f66b:	72 e9                	jb     0x54f656
54f66d:	8b c7                	mov    %edi,%eax
54f66f:	c6 46 41 00          	movb   $0x0,0x41(%esi)
54f673:	0f c8                	bswap  %eax
54f675:	89 45 f4             	mov    %eax,-0xc(%ebp)
54f678:	8b c2                	mov    %edx,%eax
54f67a:	0f c8                	bswap  %eax
54f67c:	89 45 f8             	mov    %eax,-0x8(%ebp)
54f67f:	8b 45 0c             	mov    0xc(%ebp),%eax
54f682:	89 46 24             	mov    %eax,0x24(%esi)
54f685:	89 56 50             	mov    %edx,0x50(%esi)
54f688:	8d 55 dc             	lea    -0x24(%ebp),%edx
54f68b:	89 7e 4c             	mov    %edi,0x4c(%esi)
54f68e:	8b 46 08             	mov    0x8(%esi),%eax
54f691:	6a 00                	push   $0x0
54f693:	6a 00                	push   $0x0
54f695:	c6 46 2f 01          	movb   $0x1,0x2f(%esi)
54f699:	8b 08                	mov    (%eax),%ecx
54f69b:	6a 20                	push   $0x20
54f69d:	52                   	push   %edx
54f69e:	50                   	push   %eax
54f69f:	8b 41 0c             	mov    0xc(%ecx),%eax
54f6a2:	ff d0                	call   *%eax
54f6a4:	8b f8                	mov    %eax,%edi
54f6a6:	83 c4 14             	add    $0x14,%esp
54f6a9:	85 ff                	test   %edi,%edi
54f6ab:	0f 85 c7 04 00 00    	jne    0x54fb78
54f6b1:	38 46 30             	cmp    %al,0x30(%esi)
54f6b4:	74 33                	je     0x54f6e9
54f6b6:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
54f6b9:	8b 56 08             	mov    0x8(%esi),%edx
54f6bc:	c1 f9 02             	sar    $0x2,%ecx
54f6bf:	83 e1 03             	and    $0x3,%ecx
54f6c2:	74 23                	je     0x54f6e7
54f6c4:	8b 02                	mov    (%edx),%eax
54f6c6:	51                   	push   %ecx
54f6c7:	52                   	push   %edx
54f6c8:	8b 40 14             	mov    0x14(%eax),%eax
54f6cb:	ff d0                	call   *%eax
54f6cd:	8b f8                	mov    %eax,%edi
54f6cf:	83 c4 08             	add    $0x8,%esp
54f6d2:	85 ff                	test   %edi,%edi
54f6d4:	74 13                	je     0x54f6e9
54f6d6:	5f                   	pop    %edi
54f6d7:	5e                   	pop    %esi
54f6d8:	5b                   	pop    %ebx
54f6d9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54f6dc:	33 cd                	xor    %ebp,%ecx
54f6de:	e8 f7 1d 09 00       	call   0x5e14da
54f6e3:	8b e5                	mov    %ebp,%esp
54f6e5:	5d                   	pop    %ebp
54f6e6:	c3                   	ret
54f6e7:	33 ff                	xor    %edi,%edi
54f6e9:	8b 46 08             	mov    0x8(%esi),%eax
54f6ec:	0f 57 c0             	xorps  %xmm0,%xmm0
54f6ef:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
54f6f2:	89 45 a0             	mov    %eax,-0x60(%ebp)
54f6f5:	89 45 8c             	mov    %eax,-0x74(%ebp)
54f6f8:	8b 45 0c             	mov    0xc(%ebp),%eax
54f6fb:	89 45 9c             	mov    %eax,-0x64(%ebp)
54f6fe:	83 c0 18             	add    $0x18,%eax
54f701:	89 45 ac             	mov    %eax,-0x54(%ebp)
54f704:	99                   	cltd
54f705:	89 4d 98             	mov    %ecx,-0x68(%ebp)
54f708:	8b c8                	mov    %eax,%ecx
54f70a:	8b c2                	mov    %edx,%eax
54f70c:	89 75 88             	mov    %esi,-0x78(%ebp)
54f70f:	50                   	push   %eax
54f710:	51                   	push   %ecx
54f711:	6a 00                	push   $0x0
54f713:	ff 75 c8             	push   -0x38(%ebp)
54f716:	66 0f 13 45 90       	movlpd %xmm0,-0x70(%ebp)
54f71b:	89 4d b0             	mov    %ecx,-0x50(%ebp)
54f71e:	89 45 a4             	mov    %eax,-0x5c(%ebp)
54f721:	e8 da 23 09 00       	call   0x5e1b00
54f726:	83 c0 20             	add    $0x20,%eax
54f729:	8b ca                	mov    %edx,%ecx
54f72b:	89 45 cc             	mov    %eax,-0x34(%ebp)
54f72e:	83 d1 00             	adc    $0x0,%ecx
54f731:	89 4d d8             	mov    %ecx,-0x28(%ebp)
54f734:	8b 45 18             	mov    0x18(%ebp),%eax
54f737:	89 5d c0             	mov    %ebx,-0x40(%ebp)
54f73a:	85 db                	test   %ebx,%ebx
54f73c:	0f 84 74 01 00 00    	je     0x54f8b6
54f742:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
54f746:	0f 84 87 00 00 00    	je     0x54f7d3
54f74c:	83 7b 10 00          	cmpl   $0x0,0x10(%ebx)
54f750:	75 04                	jne    0x54f756
54f752:	85 c0                	test   %eax,%eax
54f754:	75 7d                	jne    0x54f7d3
54f756:	8d 45 d0             	lea    -0x30(%ebp),%eax
54f759:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
54f760:	50                   	push   %eax
54f761:	ff 73 18             	push   0x18(%ebx)
54f764:	56                   	push   %esi