54a51d:	cc                   	int3
54a51e:	cc                   	int3
54a51f:	cc                   	int3
54a520:	55                   	push   %ebp
54a521:	8b ec                	mov    %esp,%ebp
54a523:	83 ec 5c             	sub    $0x5c,%esp
54a526:	a1 d4 89 72 00       	mov    0x7289d4,%eax
54a52b:	33 c5                	xor    %ebp,%eax
54a52d:	89 45 fc             	mov    %eax,-0x4(%ebp)
54a530:	8b 45 10             	mov    0x10(%ebp),%eax
54a533:	53                   	push   %ebx
54a534:	8b 5d 0c             	mov    0xc(%ebp),%ebx
54a537:	56                   	push   %esi
54a538:	57                   	push   %edi
54a539:	53                   	push   %ebx
54a53a:	89 45 cc             	mov    %eax,-0x34(%ebp)
54a53d:	e8 6e b6 fb ff       	call   0x505bb0
54a542:	8b 7b 28             	mov    0x28(%ebx),%edi
54a545:	33 c0                	xor    %eax,%eax
54a547:	0f b7 4b 30          	movzwl 0x30(%ebx),%ecx
54a54b:	83 c4 04             	add    $0x4,%esp
54a54e:	8b 73 2c             	mov    0x2c(%ebx),%esi
54a551:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
54a555:	8b 45 08             	mov    0x8(%ebp),%eax
54a558:	89 45 f4             	mov    %eax,-0xc(%ebp)
54a55b:	8b 43 74             	mov    0x74(%ebx),%eax
54a55e:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
54a565:	8b 40 3c             	mov    0x3c(%eax),%eax
54a568:	2b c7                	sub    %edi,%eax
54a56a:	3b c8                	cmp    %eax,%ecx
54a56c:	7e 09                	jle    0x54a577
54a56e:	33 d2                	xor    %edx,%edx
54a570:	8b c8                	mov    %eax,%ecx
54a572:	85 c0                	test   %eax,%eax
54a574:	0f 48 ca             	cmovs  %edx,%ecx
54a577:	3b f1                	cmp    %ecx,%esi
54a579:	77 11                	ja     0x54a58c
54a57b:	b8 10 10 00 00       	mov    $0x1010,%eax
54a580:	89 7d e4             	mov    %edi,-0x1c(%ebp)
54a583:	66 89 45 dc          	mov    %ax,-0x24(%ebp)
54a587:	89 75 e0             	mov    %esi,-0x20(%ebp)
54a58a:	eb 1e                	jmp    0x54a5aa
54a58c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54a58f:	50                   	push   %eax
54a590:	56                   	push   %esi
54a591:	6a 00                	push   $0x0
54a593:	53                   	push   %ebx
54a594:	e8 f7 08 01 00       	call   0x55ae90
54a599:	83 c4 10             	add    $0x10,%esp
54a59c:	85 c0                	test   %eax,%eax
54a59e:	0f 85 e0 00 00 00    	jne    0x54a684
54a5a4:	8b 7d e4             	mov    -0x1c(%ebp),%edi
54a5a7:	8b 75 e0             	mov    -0x20(%ebp),%esi
54a5aa:	8a 07                	mov    (%edi),%al
54a5ac:	3c 80                	cmp    $0x80,%al
54a5ae:	73 05                	jae    0x54a5b5
54a5b0:	0f b6 d8             	movzbl %al,%ebx
54a5b3:	eb 10                	jmp    0x54a5c5
54a5b5:	8d 45 d0             	lea    -0x30(%ebp),%eax
54a5b8:	50                   	push   %eax
54a5b9:	57                   	push   %edi
54a5ba:	e8 81 32 fe ff       	call   0x52d840
54a5bf:	8b 5d d0             	mov    -0x30(%ebp),%ebx
54a5c2:	83 c4 08             	add    $0x8,%esp
54a5c5:	83 fb 03             	cmp    $0x3,%ebx
54a5c8:	72 7c                	jb     0x54a646
54a5ca:	3b de                	cmp    %esi,%ebx
54a5cc:	77 78                	ja     0x54a646
54a5ce:	8d 47 ff             	lea    -0x1(%edi),%eax
54a5d1:	03 c3                	add    %ebx,%eax
54a5d3:	8a 08                	mov    (%eax),%cl
54a5d5:	80 f9 80             	cmp    $0x80,%cl
54a5d8:	73 05                	jae    0x54a5df
54a5da:	0f b6 c9             	movzbl %cl,%ecx
54a5dd:	eb 10                	jmp    0x54a5ef
54a5df:	8d 4d d0             	lea    -0x30(%ebp),%ecx
54a5e2:	51                   	push   %ecx
54a5e3:	50                   	push   %eax
54a5e4:	e8 57 32 fe ff       	call   0x52d840
54a5e9:	8b 4d d0             	mov    -0x30(%ebp),%ecx
54a5ec:	83 c4 08             	add    $0x8,%esp
54a5ef:	8d 41 ff             	lea    -0x1(%ecx),%eax
54a5f2:	83 f8 08             	cmp    $0x8,%eax
54a5f5:	77 4f                	ja     0x54a646
54a5f7:	83 f9 07             	cmp    $0x7,%ecx
54a5fa:	74 4a                	je     0x54a646
54a5fc:	0f b6 91 d8 2f 6b 00 	movzbl 0x6b2fd8(%ecx),%edx
54a603:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
54a606:	3b f0                	cmp    %eax,%esi
54a608:	72 3c                	jb     0x54a646
54a60a:	8d 45 a4             	lea    -0x5c(%ebp),%eax
54a60d:	2b f2                	sub    %edx,%esi
54a60f:	50                   	push   %eax
54a610:	51                   	push   %ecx
54a611:	03 f7                	add    %edi,%esi
54a613:	56                   	push   %esi
54a614:	e8 f7 26 00 00       	call   0x54cd10
54a619:	8b 4d cc             	mov    -0x34(%ebp),%ecx
54a61c:	8b 45 a4             	mov    -0x5c(%ebp),%eax
54a61f:	89 01                	mov    %eax,(%ecx)
54a621:	8b 45 a8             	mov    -0x58(%ebp),%eax
54a624:	89 41 04             	mov    %eax,0x4(%ecx)
54a627:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54a62a:	50                   	push   %eax
54a62b:	e8 40 13 00 00       	call   0x54b970
54a630:	83 c4 10             	add    $0x10,%esp
54a633:	33 c0                	xor    %eax,%eax
54a635:	5f                   	pop    %edi
54a636:	5e                   	pop    %esi
54a637:	5b                   	pop    %ebx
54a638:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54a63b:	33 cd                	xor    %ebp,%ecx
54a63d:	e8 98 6e 09 00       	call   0x5e14da
54a642:	8b e5                	mov    %ebp,%esp
54a644:	5d                   	pop    %ebp
54a645:	c3                   	ret
54a646:	f7 45 dc 00 24 00 00 	testl  $0x2400,-0x24(%ebp)
54a64d:	75 06                	jne    0x54a655
54a64f:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
54a653:	74 0c                	je     0x54a661
54a655:	8d 45 d4             	lea    -0x2c(%ebp),%eax
54a658:	50                   	push   %eax
54a659:	e8 b2 07 01 00       	call   0x55ae10
54a65e:	83 c4 04             	add    $0x4,%esp
54a661:	68 fc c4 6b 00       	push   $0x6bc4fc
54a666:	68 36 41 01 00       	push   $0x14136
54a66b:	68 94 c4 6b 00       	push   $0x6bc494
54a670:	68 78 c4 6b 00       	push   $0x6bc478
54a675:	6a 0b                	push   $0xb
54a677:	e8 64 59 f9 ff       	call   0x4dffe0
54a67c:	83 c4 14             	add    $0x14,%esp
54a67f:	b8 0b 00 00 00       	mov    $0xb,%eax
54a684:	8b 4d fc             	mov    -0x4(%ebp),%ecx
54a687:	5f                   	pop    %edi
54a688:	5e                   	pop    %esi
54a689:	33 cd                	xor    %ebp,%ecx
54a68b:	5b                   	pop    %ebx
54a68c:	e8 49 6e 09 00       	call   0x5e14da
54a691:	8b e5                	mov    %ebp,%esp
54a693:	5d                   	pop    %ebp
54a694:	c3                   	ret
54a695:	cc                   	int3
54a696:	cc                   	int3
54a697:	cc                   	int3
54a698:	cc                   	int3
54a699:	cc                   	int3
54a69a:	cc                   	int3
54a69b:	cc                   	int3
54a69c:	cc                   	int3
54a69d:	cc                   	int3
54a69e:	cc                   	int3
54a69f:	cc                   	int3
54a6a0:	55                   	push   %ebp
54a6a1:	8b ec                	mov    %esp,%ebp
54a6a3:	8b 4d 08             	mov    0x8(%ebp),%ecx
54a6a6:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
54a6aa:	a8 24                	test   $0x24,%al
54a6ac:	74 07                	je     0x54a6b5
54a6ae:	8b 01                	mov    (%ecx),%eax
54a6b0:	8b 51 04             	mov    0x4(%ecx),%edx
54a6b3:	5d                   	pop    %ebp
54a6b4:	c3                   	ret
54a6b5:	a8 08                	test   $0x8,%al
54a6b7:	74 16                	je     0x54a6cf
54a6b9:	f2 0f 10 01          	movsd  (%ecx),%xmm0
54a6bd:	83 ec 08             	sub    $0x8,%esp
54a6c0:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
54a6c5:	e8 b6 3d fb ff       	call   0x4fe480
54a6ca:	83 c4 08             	add    $0x8,%esp
54a6cd:	5d                   	pop    %ebp
54a6ce:	c3                   	ret
54a6cf:	a8 12                	test   $0x12,%al
54a6d1:	74 0f                	je     0x54a6e2
54a6d3:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
54a6d7:	74 09                	je     0x54a6e2
54a6d9:	89 4d 08             	mov    %ecx,0x8(%ebp)
54a6dc:	5d                   	pop    %ebp
54a6dd:	e9 ee ed fb ff       	jmp    0x5094d0
54a6e2:	33 c0                	xor    %eax,%eax
54a6e4:	33 d2                	xor    %edx,%edx
54a6e6:	5d                   	pop    %ebp
54a6e7:	c3                   	ret
54a6e8:	cc                   	int3
54a6e9:	cc                   	int3
54a6ea:	cc                   	int3
54a6eb:	cc                   	int3
54a6ec:	cc                   	int3
54a6ed:	cc                   	int3
54a6ee:	cc                   	int3
54a6ef:	cc                   	int3
54a6f0:	55                   	push   %ebp
54a6f1:	8b ec                	mov    %esp,%ebp
54a6f3:	53                   	push   %ebx
54a6f4:	56                   	push   %esi
54a6f5:	8b 75 08             	mov    0x8(%ebp),%esi
54a6f8:	57                   	push   %edi
54a6f9:	83 ec 08             	sub    $0x8,%esp
54a6fc:	f2 0f 10 06          	movsd  (%esi),%xmm0
54a700:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
54a705:	e8 76 3d fb ff       	call   0x4fe480
54a70a:	83 c4 08             	add    $0x8,%esp
54a70d:	8b f8                	mov    %eax,%edi
54a70f:	8b cf                	mov    %edi,%ecx
54a711:	8b da                	mov    %edx,%ebx
54a713:	e8 88 71 09 00       	call   0x5e18a0
54a718:	f2 0f 10 0e          	movsd  (%esi),%xmm1
54a71c:	66 0f 2e c8          	ucomisd %xmm0,%xmm1
54a720:	9f                   	lahf
54a721:	f6 c4 44             	test   $0x44,%ah
54a724:	7a 31                	jp     0x54a757
54a726:	8b cf                	mov    %edi,%ecx
54a728:	8b c3                	mov    %ebx,%eax
54a72a:	83 c1 ff             	add    $0xffffffff,%ecx
54a72d:	15 ff ff ff 7f       	adc    $0x7fffffff,%eax
54a732:	83 f8 ff             	cmp    $0xffffffff,%eax
54a735:	77 20                	ja     0x54a757
54a737:	72 05                	jb     0x54a73e
54a739:	83 f9 fd             	cmp    $0xfffffffd,%ecx
54a73c:	77 19                	ja     0x54a757
54a73e:	66 8b 46 08          	mov    0x8(%esi),%ax
54a742:	b9 40 3e 00 00       	mov    $0x3e40,%ecx
54a747:	66 23 c1             	and    %cx,%ax
54a74a:	89 3e                	mov    %edi,(%esi)
54a74c:	66 83 c8 04          	or     $0x4,%ax
54a750:	89 5e 04             	mov    %ebx,0x4(%esi)
54a753:	66 89 46 08          	mov    %ax,0x8(%esi)
54a757:	5f                   	pop    %edi
54a758:	5e                   	pop    %esi
54a759:	5b                   	pop    %ebx
54a75a:	5d                   	pop    %ebp
54a75b:	c3                   	ret
54a75c:	cc                   	int3
54a75d:	cc                   	int3
54a75e:	cc                   	int3
54a75f:	cc                   	int3
54a760:	55                   	push   %ebp
54a761:	8b ec                	mov    %esp,%ebp
54a763:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54a766:	56                   	push   %esi
54a767:	8b 75 08             	mov    0x8(%ebp),%esi
54a76a:	8b 56 6c             	mov    0x6c(%esi),%edx
54a76d:	85 c9                	test   %ecx,%ecx
54a76f:	79 03                	jns    0x54a774
54a771:	8d 4a ff             	lea    -0x1(%edx),%ecx
54a774:	8b 06                	mov    (%esi),%eax
54a776:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
54a77a:	74 09                	je     0x54a785
54a77c:	89 15 f4 02 73 00    	mov    %edx,0x7302f4
54a782:	5e                   	pop    %esi
54a783:	5d                   	pop    %ebp
54a784:	c3                   	ret
54a785:	8b 46 68             	mov    0x68(%esi),%eax
54a788:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
54a78b:	5e                   	pop    %esi
54a78c:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
54a790:	5d                   	pop    %ebp
54a791:	c3                   	ret
54a792:	cc                   	int3
54a793:	cc                   	int3
54a794:	cc                   	int3
54a795:	cc                   	int3
54a796:	cc                   	int3
54a797:	cc                   	int3
54a798:	cc                   	int3
54a799:	cc                   	int3
54a79a:	cc                   	int3
54a79b:	cc                   	int3
54a79c:	cc                   	int3
54a79d:	cc                   	int3
54a79e:	cc                   	int3
54a79f:	cc                   	int3
54a7a0:	55                   	push   %ebp
54a7a1:	8b ec                	mov    %esp,%ebp
54a7a3:	8b 45 08             	mov    0x8(%ebp),%eax
54a7a6:	83 b8 a0 00 00 00 00 	cmpl   $0x0,0xa0(%eax)
54a7ad:	74 09                	je     0x54a7b8
54a7af:	89 45 08             	mov    %eax,0x8(%ebp)
54a7b2:	5d                   	pop    %ebp
54a7b3:	e9 88 05 01 00       	jmp    0x55ad40
54a7b8:	5d                   	pop    %ebp
54a7b9:	c3                   	ret
54a7ba:	cc                   	int3
54a7bb:	cc                   	int3
54a7bc:	cc                   	int3
54a7bd:	cc                   	int3
54a7be:	cc                   	int3
54a7bf:	cc                   	int3
54a7c0:	55                   	push   %ebp
54a7c1:	8b ec                	mov    %esp,%ebp
54a7c3:	83 ec 20             	sub    $0x20,%esp
54a7c6:	53                   	push   %ebx
54a7c7:	8b 5d 08             	mov    0x8(%ebp),%ebx
54a7ca:	56                   	push   %esi
54a7cb:	57                   	push   %edi
54a7cc:	33 f6                	xor    %esi,%esi
54a7ce:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
54a7d5:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
54a7db:	8b 7b 58             	mov    0x58(%ebx),%edi
54a7de:	24 0c                	and    $0xc,%al
54a7e0:	8b 0b                	mov    (%ebx),%ecx
54a7e2:	83 c7 28             	add    $0x28,%edi
54a7e5:	89 75 e8             	mov    %esi,-0x18(%ebp)
54a7e8:	89 75 f4             	mov    %esi,-0xc(%ebp)
54a7eb:	89 4d e0             	mov    %ecx,-0x20(%ebp)
54a7ee:	89 7d e4             	mov    %edi,-0x1c(%ebp)
54a7f1:	3c 04                	cmp    $0x4,%al
54a7f3:	74 0f                	je     0x54a804
54a7f5:	8b 41 20             	mov    0x20(%ecx),%eax
54a7f8:	25 00 00 00 01       	and    $0x1000000,%eax
54a7fd:	89 75 f0             	mov    %esi,-0x10(%ebp)
54a800:	0b c6                	or     %esi,%eax
54a802:	74 07                	je     0x54a80b
54a804:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
54a80b:	6a 08                	push   $0x8
54a80d:	57                   	push   %edi
54a80e:	e8 fd 77 fc ff       	call   0x512010
54a813:	83 c4 08             	add    $0x8,%esp
54a816:	89 73 78             	mov    %esi,0x78(%ebx)
54a819:	83 7b 28 07          	cmpl   $0x7,0x28(%ebx)
54a81d:	75 51                	jne    0x54a870
54a81f:	8b 45 e0             	mov    -0x20(%ebp),%eax
54a822:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
54a826:	75 3c                	jne    0x54a864
54a828:	80 78 52 00          	cmpb   $0x0,0x52(%eax)
54a82c:	75 36                	jne    0x54a864
54a82e:	c6 40 51 01          	movb   $0x1,0x51(%eax)
54a832:	39 b0 bc 00 00 00    	cmp    %esi,0xbc(%eax)
54a838:	7e 0a                	jle    0x54a844
54a83a:	c7 80 10 01 00 00 01 	movl   $0x1,0x110(%eax)
54a841:	00 00 00
54a844:	ff 80 18 01 00 00    	incl   0x118(%eax)
54a84a:	33 c9                	xor    %ecx,%ecx
54a84c:	66 89 88 1c 01 00 00 	mov    %cx,0x11c(%eax)
54a853:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
54a859:	85 c0                	test   %eax,%eax
54a85b:	74 07                	je     0x54a864
54a85d:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
54a864:	5f                   	pop    %edi
54a865:	5e                   	pop    %esi
54a866:	b8 01 00 00 00       	mov    $0x1,%eax
54a86b:	5b                   	pop    %ebx
54a86c:	8b e5                	mov    %ebp,%esp
54a86e:	5d                   	pop    %ebp
54a86f:	c3                   	ret
54a870:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
54a873:	89 4d f8             	mov    %ecx,-0x8(%ebp)
54a876:	39 75 f0             	cmp    %esi,-0x10(%ebp)
54a879:	74 75                	je     0x54a8f0
54a87b:	8b 4b 58             	mov    0x58(%ebx),%ecx
54a87e:	81 c1 68 01 00 00    	add    $0x168,%ecx