54e44a:	74 08                	je     0x54e454
54e44c:	85 d2                	test   %edx,%edx
54e44e:	74 04                	je     0x54e454
54e450:	8a 42 1d             	mov    0x1d(%edx),%al
54e453:	c3                   	ret
54e454:	33 c0                	xor    %eax,%eax
54e456:	c3                   	ret
54e457:	90                   	nop
54e458:	85 c0                	test   %eax,%eax
54e45a:	74 08                	je     0x54e464
54e45c:	85 d2                	test   %edx,%edx
54e45e:	74 04                	je     0x54e464
54e460:	8d 42 20             	lea    0x20(%edx),%eax
54e463:	c3                   	ret
54e464:	33 c0                	xor    %eax,%eax
54e466:	c3                   	ret
54e467:	90                   	nop
54e468:	85 c0                	test   %eax,%eax
54e46a:	74 19                	je     0x54e485
54e46c:	85 d2                	test   %edx,%edx
54e46e:	74 15                	je     0x54e485
54e470:	f6 42 08 20          	testb  $0x20,0x8(%edx)
54e474:	74 0f                	je     0x54e485
54e476:	85 c9                	test   %ecx,%ecx
54e478:	74 0b                	je     0x54e485
54e47a:	83 c2 5a             	add    $0x5a,%edx
54e47d:	b8 20 00 00 00       	mov    $0x20,%eax
54e482:	89 11                	mov    %edx,(%ecx)
54e484:	c3                   	ret
54e485:	33 c0                	xor    %eax,%eax
54e487:	c3                   	ret
54e488:	55                   	push   %ebp
54e489:	8b ec                	mov    %esp,%ebp
54e48b:	85 c0                	test   %eax,%eax
54e48d:	0f 84 a3 00 00 00    	je     0x54e536
54e493:	85 d2                	test   %edx,%edx
54e495:	0f 84 9b 00 00 00    	je     0x54e536
54e49b:	f6 42 08 04          	testb  $0x4,0x8(%edx)
54e49f:	0f 84 91 00 00 00    	je     0x54e536
54e4a5:	85 c9                	test   %ecx,%ecx
54e4a7:	74 08                	je     0x54e4b1
54e4a9:	d9 82 80 00 00 00    	flds   0x80(%edx)
54e4af:	dd 19                	fstpl  (%ecx)
54e4b1:	8b 45 20             	mov    0x20(%ebp),%eax
54e4b4:	85 c0                	test   %eax,%eax
54e4b6:	74 0b                	je     0x54e4c3
54e4b8:	8b 4d 20             	mov    0x20(%ebp),%ecx
54e4bb:	d9 82 84 00 00 00    	flds   0x84(%edx)
54e4c1:	dd 19                	fstpl  (%ecx)
54e4c3:	8b 45 1c             	mov    0x1c(%ebp),%eax
54e4c6:	85 c0                	test   %eax,%eax
54e4c8:	74 0b                	je     0x54e4d5
54e4ca:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
54e4cd:	d9 82 88 00 00 00    	flds   0x88(%edx)
54e4d3:	dd 19                	fstpl  (%ecx)
54e4d5:	8b 45 18             	mov    0x18(%ebp),%eax
54e4d8:	85 c0                	test   %eax,%eax
54e4da:	74 0b                	je     0x54e4e7
54e4dc:	8b 4d 18             	mov    0x18(%ebp),%ecx
54e4df:	d9 82 8c 00 00 00    	flds   0x8c(%edx)
54e4e5:	dd 19                	fstpl  (%ecx)
54e4e7:	8b 45 14             	mov    0x14(%ebp),%eax
54e4ea:	85 c0                	test   %eax,%eax
54e4ec:	74 0b                	je     0x54e4f9
54e4ee:	8b 4d 14             	mov    0x14(%ebp),%ecx
54e4f1:	d9 82 90 00 00 00    	flds   0x90(%edx)
54e4f7:	dd 19                	fstpl  (%ecx)
54e4f9:	8b 45 10             	mov    0x10(%ebp),%eax
54e4fc:	85 c0                	test   %eax,%eax
54e4fe:	74 0b                	je     0x54e50b
54e500:	8b 4d 10             	mov    0x10(%ebp),%ecx
54e503:	d9 82 94 00 00 00    	flds   0x94(%edx)
54e509:	dd 19                	fstpl  (%ecx)
54e50b:	8b 45 0c             	mov    0xc(%ebp),%eax
54e50e:	85 c0                	test   %eax,%eax
54e510:	74 0b                	je     0x54e51d
54e512:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54e515:	d9 82 98 00 00 00    	flds   0x98(%edx)
54e51b:	dd 19                	fstpl  (%ecx)
54e51d:	8b 45 08             	mov    0x8(%ebp),%eax
54e520:	85 c0                	test   %eax,%eax
54e522:	74 0b                	je     0x54e52f
54e524:	d9 82 9c 00 00 00    	flds   0x9c(%edx)
54e52a:	8b 55 08             	mov    0x8(%ebp),%edx
54e52d:	dd 1a                	fstpl  (%edx)
54e52f:	b8 04 00 00 00       	mov    $0x4,%eax
54e534:	eb 02                	jmp    0x54e538
54e536:	33 c0                	xor    %eax,%eax
54e538:	5d                   	pop    %ebp
54e539:	c2 1c 00             	ret    $0x1c
54e53c:	55                   	push   %ebp
54e53d:	8b ec                	mov    %esp,%ebp
54e53f:	85 c0                	test   %eax,%eax
54e541:	0f 84 a3 00 00 00    	je     0x54e5ea
54e547:	85 d2                	test   %edx,%edx
54e549:	0f 84 9b 00 00 00    	je     0x54e5ea
54e54f:	f6 42 08 04          	testb  $0x4,0x8(%edx)
54e553:	0f 84 91 00 00 00    	je     0x54e5ea
54e559:	85 c9                	test   %ecx,%ecx
54e55b:	74 08                	je     0x54e565
54e55d:	8b 82 00 01 00 00    	mov    0x100(%edx),%eax
54e563:	89 01                	mov    %eax,(%ecx)
54e565:	8b 4d 20             	mov    0x20(%ebp),%ecx
54e568:	85 c9                	test   %ecx,%ecx
54e56a:	74 0b                	je     0x54e577
54e56c:	8b 45 20             	mov    0x20(%ebp),%eax
54e56f:	8b 8a 04 01 00 00    	mov    0x104(%edx),%ecx
54e575:	89 08                	mov    %ecx,(%eax)
54e577:	8b 45 1c             	mov    0x1c(%ebp),%eax
54e57a:	85 c0                	test   %eax,%eax
54e57c:	74 0b                	je     0x54e589
54e57e:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
54e581:	8b 82 08 01 00 00    	mov    0x108(%edx),%eax
54e587:	89 01                	mov    %eax,(%ecx)
54e589:	8b 4d 18             	mov    0x18(%ebp),%ecx
54e58c:	85 c9                	test   %ecx,%ecx
54e58e:	74 0b                	je     0x54e59b
54e590:	8b 45 18             	mov    0x18(%ebp),%eax
54e593:	8b 8a 0c 01 00 00    	mov    0x10c(%edx),%ecx
54e599:	89 08                	mov    %ecx,(%eax)
54e59b:	8b 45 14             	mov    0x14(%ebp),%eax
54e59e:	85 c0                	test   %eax,%eax
54e5a0:	74 0b                	je     0x54e5ad
54e5a2:	8b 4d 14             	mov    0x14(%ebp),%ecx
54e5a5:	8b 82 10 01 00 00    	mov    0x110(%edx),%eax
54e5ab:	89 01                	mov    %eax,(%ecx)
54e5ad:	8b 4d 10             	mov    0x10(%ebp),%ecx
54e5b0:	85 c9                	test   %ecx,%ecx
54e5b2:	74 0b                	je     0x54e5bf
54e5b4:	8b 45 10             	mov    0x10(%ebp),%eax
54e5b7:	8b 8a 14 01 00 00    	mov    0x114(%edx),%ecx
54e5bd:	89 08                	mov    %ecx,(%eax)
54e5bf:	8b 45 0c             	mov    0xc(%ebp),%eax
54e5c2:	85 c0                	test   %eax,%eax
54e5c4:	74 0b                	je     0x54e5d1
54e5c6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54e5c9:	8b 82 18 01 00 00    	mov    0x118(%edx),%eax
54e5cf:	89 01                	mov    %eax,(%ecx)
54e5d1:	8b 4d 08             	mov    0x8(%ebp),%ecx
54e5d4:	85 c9                	test   %ecx,%ecx
54e5d6:	74 0b                	je     0x54e5e3
54e5d8:	8b 45 08             	mov    0x8(%ebp),%eax
54e5db:	8b 92 1c 01 00 00    	mov    0x11c(%edx),%edx
54e5e1:	89 10                	mov    %edx,(%eax)
54e5e3:	b8 04 00 00 00       	mov    $0x4,%eax
54e5e8:	eb 02                	jmp    0x54e5ec
54e5ea:	33 c0                	xor    %eax,%eax
54e5ec:	5d                   	pop    %ebp
54e5ed:	c2 1c 00             	ret    $0x1c
54e5f0:	85 c0                	test   %eax,%eax
54e5f2:	74 19                	je     0x54e60d
54e5f4:	85 d2                	test   %edx,%edx
54e5f6:	74 15                	je     0x54e60d
54e5f8:	f6 42 08 01          	testb  $0x1,0x8(%edx)
54e5fc:	74 0f                	je     0x54e60d
54e5fe:	85 c9                	test   %ecx,%ecx
54e600:	74 0b                	je     0x54e60d
54e602:	d9 42 28             	flds   0x28(%edx)
54e605:	dd 19                	fstpl  (%ecx)
54e607:	b8 01 00 00 00       	mov    $0x1,%eax
54e60c:	c3                   	ret
54e60d:	33 c0                	xor    %eax,%eax
54e60f:	c3                   	ret
54e610:	85 c0                	test   %eax,%eax
54e612:	74 1c                	je     0x54e630
54e614:	85 d2                	test   %edx,%edx
54e616:	74 18                	je     0x54e630
54e618:	f6 42 08 01          	testb  $0x1,0x8(%edx)
54e61c:	74 12                	je     0x54e630
54e61e:	85 c9                	test   %ecx,%ecx
54e620:	74 0e                	je     0x54e630
54e622:	8b 82 fc 00 00 00    	mov    0xfc(%edx),%eax
54e628:	89 01                	mov    %eax,(%ecx)
54e62a:	b8 01 00 00 00       	mov    $0x1,%eax
54e62f:	c3                   	ret
54e630:	33 c0                	xor    %eax,%eax
54e632:	c3                   	ret
54e633:	90                   	nop
54e634:	85 c0                	test   %eax,%eax
54e636:	74 1b                	je     0x54e653
54e638:	85 d2                	test   %edx,%edx
54e63a:	74 17                	je     0x54e653
54e63c:	f6 42 09 08          	testb  $0x8,0x9(%edx)
54e640:	74 11                	je     0x54e653
54e642:	85 c9                	test   %ecx,%ecx
54e644:	74 0d                	je     0x54e653
54e646:	33 c0                	xor    %eax,%eax
54e648:	8a 42 2c             	mov    0x2c(%edx),%al
54e64b:	89 01                	mov    %eax,(%ecx)
54e64d:	b8 00 08 00 00       	mov    $0x800,%eax
54e652:	c3                   	ret
54e653:	33 c0                	xor    %eax,%eax
54e655:	c3                   	ret
54e656:	90                   	nop
54e657:	90                   	nop
54e658:	55                   	push   %ebp
54e659:	8b ec                	mov    %esp,%ebp
54e65b:	51                   	push   %ecx
54e65c:	53                   	push   %ebx
54e65d:	56                   	push   %esi
54e65e:	89 45 fc             	mov    %eax,-0x4(%ebp)
54e661:	8b 45 08             	mov    0x8(%ebp),%eax
54e664:	8b 5d 0c             	mov    0xc(%ebp),%ebx
54e667:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
54e66b:	74 42                	je     0x54e6af
54e66d:	85 d2                	test   %edx,%edx
54e66f:	74 3e                	je     0x54e6af
54e671:	f6 42 09 10          	testb  $0x10,0x9(%edx)
54e675:	74 38                	je     0x54e6af
54e677:	85 c9                	test   %ecx,%ecx
54e679:	74 34                	je     0x54e6af
54e67b:	85 db                	test   %ebx,%ebx
54e67d:	74 30                	je     0x54e6af
54e67f:	85 c0                	test   %eax,%eax
54e681:	74 2c                	je     0x54e6af
54e683:	8b b2 c4 00 00 00    	mov    0xc4(%edx),%esi
54e689:	89 31                	mov    %esi,(%ecx)
54e68b:	8b 8a c8 00 00 00    	mov    0xc8(%edx),%ecx
54e691:	89 0b                	mov    %ecx,(%ebx)
54e693:	8b 8a cc 00 00 00    	mov    0xcc(%edx),%ecx
54e699:	89 08                	mov    %ecx,(%eax)
54e69b:	33 c0                	xor    %eax,%eax
54e69d:	8a 82 d0 00 00 00    	mov    0xd0(%edx),%al
54e6a3:	8b 55 10             	mov    0x10(%ebp),%edx
54e6a6:	89 02                	mov    %eax,(%edx)
54e6a8:	b8 00 10 00 00       	mov    $0x1000,%eax
54e6ad:	eb 02                	jmp    0x54e6b1
54e6af:	33 c0                	xor    %eax,%eax
54e6b1:	5e                   	pop    %esi
54e6b2:	5b                   	pop    %ebx
54e6b3:	59                   	pop    %ecx
54e6b4:	5d                   	pop    %ebp
54e6b5:	c2 0c 00             	ret    $0xc
54e6b8:	85 c0                	test   %eax,%eax
54e6ba:	74 10                	je     0x54e6cc
54e6bc:	85 d2                	test   %edx,%edx
54e6be:	74 0c                	je     0x54e6cc
54e6c0:	85 c9                	test   %ecx,%ecx
54e6c2:	74 08                	je     0x54e6cc
54e6c4:	8b 82 d4 00 00 00    	mov    0xd4(%edx),%eax
54e6ca:	89 01                	mov    %eax,(%ecx)
54e6cc:	8b 82 d8 00 00 00    	mov    0xd8(%edx),%eax
54e6d2:	c3                   	ret
54e6d3:	90                   	nop
54e6d4:	85 c0                	test   %eax,%eax
54e6d6:	74 19                	je     0x54e6f1
54e6d8:	85 d2                	test   %edx,%edx
54e6da:	74 15                	je     0x54e6f1
54e6dc:	f6 42 08 40          	testb  $0x40,0x8(%edx)
54e6e0:	74 0f                	je     0x54e6f1
54e6e2:	85 c9                	test   %ecx,%ecx
54e6e4:	74 0b                	je     0x54e6f1
54e6e6:	8b 42 7c             	mov    0x7c(%edx),%eax
54e6e9:	89 01                	mov    %eax,(%ecx)
54e6eb:	b8 40 00 00 00       	mov    $0x40,%eax
54e6f0:	c3                   	ret
54e6f1:	33 c0                	xor    %eax,%eax
54e6f3:	c3                   	ret
54e6f4:	55                   	push   %ebp
54e6f5:	8b ec                	mov    %esp,%ebp
54e6f7:	51                   	push   %ecx
54e6f8:	53                   	push   %ebx
54e6f9:	56                   	push   %esi
54e6fa:	57                   	push   %edi
54e6fb:	8b f1                	mov    %ecx,%esi
54e6fd:	8b da                	mov    %edx,%ebx
54e6ff:	89 45 fc             	mov    %eax,-0x4(%ebp)
54e702:	8b 7d 14             	mov    0x14(%ebp),%edi
54e705:	8b 45 fc             	mov    -0x4(%ebp),%eax
54e708:	85 c0                	test   %eax,%eax
54e70a:	0f 84 3f 01 00 00    	je     0x54e84f
54e710:	85 db                	test   %ebx,%ebx
54e712:	0f 84 37 01 00 00    	je     0x54e84f
54e718:	85 f6                	test   %esi,%esi
54e71a:	0f 84 2f 01 00 00    	je     0x54e84f
54e720:	8b 55 1c             	mov    0x1c(%ebp),%edx
54e723:	85 d2                	test   %edx,%edx
54e725:	0f 84 24 01 00 00    	je     0x54e84f
54e72b:	8b 4d 18             	mov    0x18(%ebp),%ecx
54e72e:	85 c9                	test   %ecx,%ecx
54e730:	0f 84 19 01 00 00    	je     0x54e84f
54e736:	85 ff                	test   %edi,%edi
54e738:	0f 84 11 01 00 00    	je     0x54e84f
54e73e:	8b 03                	mov    (%ebx),%eax
54e740:	89 06                	mov    %eax,(%esi)
54e742:	8b 55 1c             	mov    0x1c(%ebp),%edx
54e745:	8b 4b 04             	mov    0x4(%ebx),%ecx
54e748:	89 0a                	mov    %ecx,(%edx)
54e74a:	33 c0                	xor    %eax,%eax
54e74c:	8a 43 18             	mov    0x18(%ebx),%al
54e74f:	8b 55 18             	mov    0x18(%ebp),%edx
54e752:	89 02                	mov    %eax,(%edx)
54e754:	8a 43 18             	mov    0x18(%ebx),%al
54e757:	3c 01                	cmp    $0x1,%al
54e759:	72 04                	jb     0x54e75f
54e75b:	3c 10                	cmp    $0x10,%al
54e75d:	76 0d                	jbe    0x54e76c
54e75f:	ba d8 bc 69 00       	mov    $0x69bcd8,%edx
54e764:	8b 45 fc             	mov    -0x4(%ebp),%eax
54e767:	e8 54 c7 ff ff       	call   0x54aec0
54e76c:	33 d2                	xor    %edx,%edx
54e76e:	8a 53 19             	mov    0x19(%ebx),%dl
54e771:	89 17                	mov    %edx,(%edi)
54e773:	8a 4b 19             	mov    0x19(%ebx),%cl
54e776:	80 f9 06             	cmp    $0x6,%cl
54e779:	76 0d                	jbe    0x54e788
54e77b:	ba ea bc 69 00       	mov    $0x69bcea,%edx
54e780:	8b 45 fc             	mov    -0x4(%ebp),%eax
54e783:	e8 38 c7 ff ff       	call   0x54aec0
54e788:	8b 4d 0c             	mov    0xc(%ebp),%ecx
54e78b:	85 c9                	test   %ecx,%ecx
54e78d:	74 0a                	je     0x54e799
54e78f:	8b 55 0c             	mov    0xc(%ebp),%edx
54e792:	33 c0                	xor    %eax,%eax
54e794:	8a 43 1a             	mov    0x1a(%ebx),%al
54e797:	89 02                	mov    %eax,(%edx)
54e799:	8b 4d 08             	mov    0x8(%ebp),%ecx
54e79c:	85 c9                	test   %ecx,%ecx
54e79e:	74 0a                	je     0x54e7aa
54e7a0:	8b 55 08             	mov    0x8(%ebp),%edx
54e7a3:	33 c0                	xor    %eax,%eax
54e7a5:	8a 43 1b             	mov    0x1b(%ebx),%al
54e7a8:	89 02                	mov    %eax,(%edx)
54e7aa:	8b 4d 10             	mov    0x10(%ebp),%ecx
54e7ad:	85 c9                	test   %ecx,%ecx
54e7af:	74 0a                	je     0x54e7bb
54e7b1:	8b 55 10             	mov    0x10(%ebp),%edx
54e7b4:	33 c0                	xor    %eax,%eax
54e7b6:	8a 43 1c             	mov    0x1c(%ebx),%al
54e7b9:	89 02                	mov    %eax,(%edx)
54e7bb:	8b 07                	mov    (%edi),%eax
54e7bd:	83 f8 03             	cmp    $0x3,%eax
54e7c0:	75 07                	jne    0x54e7c9
54e7c2:	b8 01 00 00 00       	mov    $0x1,%eax
54e7c7:	eb 10                	jmp    0x54e7d9
54e7c9:	a8 02                	test   $0x2,%al
54e7cb:	74 07                	je     0x54e7d4
54e7cd:	b8 03 00 00 00       	mov    $0x3,%eax
54e7d2:	eb 05                	jmp    0x54e7d9
54e7d4:	b8 01 00 00 00       	mov    $0x1,%eax
54e7d9:	f6 07 04             	testb  $0x4,(%edi)
54e7dc:	74 01                	je     0x54e7df
54e7de:	40                   	inc    %eax
54e7df:	8b 55 18             	mov    0x18(%ebp),%edx
54e7e2:	8b 0a                	mov    (%edx),%ecx
54e7e4:	0f af c8             	imul   %eax,%ecx
54e7e7:	8b c1                	mov    %ecx,%eax
54e7e9:	8d 58 07             	lea    0x7(%eax),%ebx
54e7ec:	c1 fb 03             	sar    $0x3,%ebx
54e7ef:	85 f6                	test   %esi,%esi