5444ba:	eb 39                	jmp    0x5444f5
5444bc:	8b 4d 08             	mov    0x8(%ebp),%ecx
5444bf:	33 c0                	xor    %eax,%eax
5444c1:	83 c1 08             	add    $0x8,%ecx
5444c4:	89 4f 34             	mov    %ecx,0x34(%edi)
5444c7:	89 47 30             	mov    %eax,0x30(%edi)
5444ca:	8b 57 34             	mov    0x34(%edi),%edx
5444cd:	8b 45 fc             	mov    -0x4(%ebp),%eax
5444d0:	c1 e2 04             	shl    $0x4,%edx
5444d3:	e8 38 69 00 00       	call   0x54ae10
5444d8:	8b d8                	mov    %eax,%ebx
5444da:	89 5f 38             	mov    %ebx,0x38(%edi)
5444dd:	85 db                	test   %ebx,%ebx
5444df:	75 0a                	jne    0x5444eb
5444e1:	b8 01 00 00 00       	mov    $0x1,%eax
5444e6:	e9 44 01 00 00       	jmp    0x54462f
5444eb:	81 8f b8 00 00 00 00 	orl    $0x4000,0xb8(%edi)
5444f2:	40 00 00
5444f5:	33 d2                	xor    %edx,%edx
5444f7:	89 55 f4             	mov    %edx,-0xc(%ebp)
5444fa:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5444fd:	8b 55 08             	mov    0x8(%ebp),%edx
544500:	8b 45 f4             	mov    -0xc(%ebp),%eax
544503:	3b c2                	cmp    %edx,%eax
544505:	8d 59 04             	lea    0x4(%ecx),%ebx
544508:	0f 8d 1f 01 00 00    	jge    0x54462d
54450e:	8b 77 38             	mov    0x38(%edi),%esi
544511:	8b 47 30             	mov    0x30(%edi),%eax
544514:	c1 e0 04             	shl    $0x4,%eax
544517:	03 f0                	add    %eax,%esi
544519:	8b 03                	mov    (%ebx),%eax
54451b:	85 c0                	test   %eax,%eax
54451d:	0f 84 f6 00 00 00    	je     0x544619
544523:	50                   	push   %eax
544524:	e8 07 20 fe ff       	call   0x526530
544529:	59                   	pop    %ecx
54452a:	89 45 ec             	mov    %eax,-0x14(%ebp)
54452d:	8b 53 fc             	mov    -0x4(%ebx),%edx
544530:	85 d2                	test   %edx,%edx
544532:	7f 0c                	jg     0x544540
544534:	33 c9                	xor    %ecx,%ecx
544536:	89 4d e8             	mov    %ecx,-0x18(%ebp)
544539:	33 c0                	xor    %eax,%eax
54453b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
54453e:	eb 12                	jmp    0x544552
544540:	ba e5 a8 69 00       	mov    $0x69a8e5,%edx
544545:	8b 45 fc             	mov    -0x4(%ebp),%eax
544548:	e8 0f 6a 00 00       	call   0x54af5c
54454d:	e9 c7 00 00 00       	jmp    0x544619
544552:	8b 43 04             	mov    0x4(%ebx),%eax
544555:	85 c0                	test   %eax,%eax
544557:	74 06                	je     0x54455f
544559:	8a 10                	mov    (%eax),%dl
54455b:	84 d2                	test   %dl,%dl
54455d:	75 0d                	jne    0x54456c
54455f:	33 c9                	xor    %ecx,%ecx
544561:	89 4d f0             	mov    %ecx,-0x10(%ebp)
544564:	c7 06 ff ff ff ff    	movl   $0xffffffff,(%esi)
54456a:	eb 12                	jmp    0x54457e
54456c:	8b 43 04             	mov    0x4(%ebx),%eax
54456f:	50                   	push   %eax
544570:	e8 bb 1f fe ff       	call   0x526530
544575:	59                   	pop    %ecx
544576:	89 45 f0             	mov    %eax,-0x10(%ebp)
544579:	8b 53 fc             	mov    -0x4(%ebx),%edx
54457c:	89 16                	mov    %edx,(%esi)
54457e:	8b 55 ec             	mov    -0x14(%ebp),%edx
544581:	8b 45 f0             	mov    -0x10(%ebp),%eax
544584:	03 d0                	add    %eax,%edx
544586:	8b 4d e8             	mov    -0x18(%ebp),%ecx
544589:	03 d1                	add    %ecx,%edx
54458b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
54458e:	03 d0                	add    %eax,%edx
544590:	8b 45 fc             	mov    -0x4(%ebp),%eax
544593:	83 c2 04             	add    $0x4,%edx
544596:	e8 75 68 00 00       	call   0x54ae10
54459b:	89 46 04             	mov    %eax,0x4(%esi)
54459e:	8b 56 04             	mov    0x4(%esi),%edx
5445a1:	85 d2                	test   %edx,%edx
5445a3:	75 0a                	jne    0x5445af
5445a5:	b8 01 00 00 00       	mov    $0x1,%eax
5445aa:	e9 80 00 00 00       	jmp    0x54462f
5445af:	8b 55 ec             	mov    -0x14(%ebp),%edx
5445b2:	52                   	push   %edx
5445b3:	8b 0b                	mov    (%ebx),%ecx
5445b5:	51                   	push   %ecx
5445b6:	8b 46 04             	mov    0x4(%esi),%eax
5445b9:	50                   	push   %eax
5445ba:	e8 21 1e fe ff       	call   0x5263e0
5445bf:	8b 46 04             	mov    0x4(%esi),%eax
5445c2:	8b 55 ec             	mov    -0x14(%ebp),%edx
5445c5:	83 c4 0c             	add    $0xc,%esp
5445c8:	c6 04 10 00          	movb   $0x0,(%eax,%edx,1)
5445cc:	8b d0                	mov    %eax,%edx
5445ce:	8b 45 ec             	mov    -0x14(%ebp),%eax
5445d1:	03 d0                	add    %eax,%edx
5445d3:	42                   	inc    %edx
5445d4:	89 56 08             	mov    %edx,0x8(%esi)
5445d7:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5445da:	85 c9                	test   %ecx,%ecx
5445dc:	74 11                	je     0x5445ef
5445de:	8b 45 f0             	mov    -0x10(%ebp),%eax
5445e1:	50                   	push   %eax
5445e2:	8b 4b 04             	mov    0x4(%ebx),%ecx
5445e5:	51                   	push   %ecx
5445e6:	52                   	push   %edx
5445e7:	e8 f4 1d fe ff       	call   0x5263e0
5445ec:	83 c4 0c             	add    $0xc,%esp
5445ef:	8b 56 08             	mov    0x8(%esi),%edx
5445f2:	8b 45 f0             	mov    -0x10(%ebp),%eax
5445f5:	c6 04 02 00          	movb   $0x0,(%edx,%eax,1)
5445f9:	8b 55 f0             	mov    -0x10(%ebp),%edx
5445fc:	89 56 0c             	mov    %edx,0xc(%esi)
5445ff:	8b 4f 30             	mov    0x30(%edi),%ecx
544602:	c1 e1 04             	shl    $0x4,%ecx
544605:	8b 47 38             	mov    0x38(%edi),%eax
544608:	56                   	push   %esi
544609:	57                   	push   %edi
54460a:	8d 3c 08             	lea    (%eax,%ecx,1),%edi
54460d:	b9 04 00 00 00       	mov    $0x4,%ecx
544612:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
544614:	5f                   	pop    %edi
544615:	5e                   	pop    %esi
544616:	ff 47 30             	incl   0x30(%edi)
544619:	ff 45 f4             	incl   -0xc(%ebp)
54461c:	83 c3 10             	add    $0x10,%ebx
54461f:	8b 45 f4             	mov    -0xc(%ebp),%eax
544622:	8b 55 08             	mov    0x8(%ebp),%edx
544625:	3b c2                	cmp    %edx,%eax
544627:	0f 8c e1 fe ff ff    	jl     0x54450e
54462d:	33 c0                	xor    %eax,%eax
54462f:	5f                   	pop    %edi
544630:	5e                   	pop    %esi
544631:	5b                   	pop    %ebx
544632:	8b e5                	mov    %ebp,%esp
544634:	5d                   	pop    %ebp
544635:	c2 04 00             	ret    $0x4
544638:	53                   	push   %ebx
544639:	8b da                	mov    %edx,%ebx
54463b:	85 c0                	test   %eax,%eax
54463d:	74 20                	je     0x54465f
54463f:	85 db                	test   %ebx,%ebx
544641:	74 1c                	je     0x54465f
544643:	f6 40 29 02          	testb  $0x2,0x29(%eax)
544647:	75 16                	jne    0x54465f
544649:	6a 08                	push   $0x8
54464b:	51                   	push   %ecx
54464c:	8d 43 3c             	lea    0x3c(%ebx),%eax
54464f:	50                   	push   %eax
544650:	e8 8b 1d fe ff       	call   0x5263e0
544655:	83 c4 0c             	add    $0xc,%esp
544658:	81 4b 08 00 02 00 00 	orl    $0x200,0x8(%ebx)
54465f:	5b                   	pop    %ebx
544660:	c3                   	ret
544661:	90                   	nop
544662:	90                   	nop
544663:	90                   	nop
544664:	55                   	push   %ebp
544665:	8b ec                	mov    %esp,%ebp
544667:	51                   	push   %ecx
544668:	53                   	push   %ebx
544669:	56                   	push   %esi
54466a:	57                   	push   %edi
54466b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
54466e:	8b da                	mov    %edx,%ebx
544670:	8b f0                	mov    %eax,%esi
544672:	8b 7d 0c             	mov    0xc(%ebp),%edi
544675:	85 f6                	test   %esi,%esi
544677:	74 75                	je     0x5446ee
544679:	85 db                	test   %ebx,%ebx
54467b:	74 71                	je     0x5446ee
54467d:	8b 45 fc             	mov    -0x4(%ebp),%eax
544680:	85 c0                	test   %eax,%eax
544682:	74 40                	je     0x5446c4
544684:	6a 00                	push   $0x0
544686:	b9 00 20 00 00       	mov    $0x2000,%ecx
54468b:	8b d3                	mov    %ebx,%edx
54468d:	8b c6                	mov    %esi,%eax
54468f:	e8 98 a7 00 00       	call   0x54ee2c
544694:	ba 00 01 00 00       	mov    $0x100,%edx
544699:	8b c6                	mov    %esi,%eax
54469b:	e8 c8 66 00 00       	call   0x54ad68
5446a0:	89 43 4c             	mov    %eax,0x4c(%ebx)
5446a3:	89 86 48 01 00 00    	mov    %eax,0x148(%esi)
5446a9:	57                   	push   %edi
5446aa:	8b 55 fc             	mov    -0x4(%ebp),%edx
5446ad:	52                   	push   %edx
5446ae:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
5446b1:	51                   	push   %ecx
5446b2:	e8 29 1d fe ff       	call   0x5263e0
5446b7:	83 c4 0c             	add    $0xc,%esp
5446ba:	81 8b b8 00 00 00 00 	orl    $0x2000,0xb8(%ebx)
5446c1:	20 00 00
5446c4:	8b 45 08             	mov    0x8(%ebp),%eax
5446c7:	85 c0                	test   %eax,%eax
5446c9:	74 1b                	je     0x5446e6
5446cb:	6a 0a                	push   $0xa
5446cd:	8b 55 08             	mov    0x8(%ebp),%edx
5446d0:	52                   	push   %edx
5446d1:	8d 4b 50             	lea    0x50(%ebx),%ecx
5446d4:	51                   	push   %ecx
5446d5:	e8 06 1d fe ff       	call   0x5263e0
5446da:	83 c4 0c             	add    $0xc,%esp
5446dd:	85 ff                	test   %edi,%edi
5446df:	75 05                	jne    0x5446e6
5446e1:	bf 01 00 00 00       	mov    $0x1,%edi
5446e6:	66 89 7b 16          	mov    %di,0x16(%ebx)
5446ea:	83 4b 08 10          	orl    $0x10,0x8(%ebx)
5446ee:	5f                   	pop    %edi
5446ef:	5e                   	pop    %esi
5446f0:	5b                   	pop    %ebx
5446f1:	59                   	pop    %ecx
5446f2:	5d                   	pop    %ebp
5446f3:	c2 08 00             	ret    $0x8
5446f6:	90                   	nop
5446f7:	90                   	nop
5446f8:	55                   	push   %ebp
5446f9:	8b ec                	mov    %esp,%ebp
5446fb:	83 c4 f0             	add    $0xfffffff0,%esp
5446fe:	53                   	push   %ebx
5446ff:	56                   	push   %esi
544700:	57                   	push   %edi
544701:	89 4d f4             	mov    %ecx,-0xc(%ebp)
544704:	89 55 f8             	mov    %edx,-0x8(%ebp)
544707:	89 45 fc             	mov    %eax,-0x4(%ebp)
54470a:	8b 45 f8             	mov    -0x8(%ebp),%eax
54470d:	8b 4d 08             	mov    0x8(%ebp),%ecx
544710:	8b 90 d8 00 00 00    	mov    0xd8(%eax),%edx
544716:	8b 45 fc             	mov    -0x4(%ebp),%eax
544719:	03 d1                	add    %ecx,%edx
54471b:	c1 e2 04             	shl    $0x4,%edx
54471e:	e8 ed 66 00 00       	call   0x54ae10
544723:	89 45 f0             	mov    %eax,-0x10(%ebp)
544726:	8b 55 f0             	mov    -0x10(%ebp),%edx
544729:	85 d2                	test   %edx,%edx
54472b:	75 12                	jne    0x54473f
54472d:	ba ff a8 69 00       	mov    $0x69a8ff,%edx
544732:	8b 45 fc             	mov    -0x4(%ebp),%eax
544735:	e8 22 68 00 00       	call   0x54af5c
54473a:	e9 16 01 00 00       	jmp    0x544855
54473f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
544742:	8b 81 d8 00 00 00    	mov    0xd8(%ecx),%eax
544748:	c1 e0 04             	shl    $0x4,%eax
54474b:	50                   	push   %eax
54474c:	8b 55 f8             	mov    -0x8(%ebp),%edx
54474f:	8b 8a d4 00 00 00    	mov    0xd4(%edx),%ecx
544755:	51                   	push   %ecx
544756:	8b 45 f0             	mov    -0x10(%ebp),%eax
544759:	50                   	push   %eax
54475a:	e8 81 1c fe ff       	call   0x5263e0
54475f:	83 c4 0c             	add    $0xc,%esp
544762:	8b 55 f8             	mov    -0x8(%ebp),%edx
544765:	8b 92 d4 00 00 00    	mov    0xd4(%edx),%edx
54476b:	8b 45 fc             	mov    -0x4(%ebp),%eax
54476e:	e8 69 66 00 00       	call   0x54addc
544773:	8b 4d f8             	mov    -0x8(%ebp),%ecx
544776:	33 c0                	xor    %eax,%eax
544778:	89 81 d4 00 00 00    	mov    %eax,0xd4(%ecx)
54477e:	33 ff                	xor    %edi,%edi
544780:	8b 45 08             	mov    0x8(%ebp),%eax
544783:	3b f8                	cmp    %eax,%edi
544785:	0f 8d 9e 00 00 00    	jge    0x544829
54478b:	8b 55 f8             	mov    -0x8(%ebp),%edx
54478e:	8b c7                	mov    %edi,%eax
544790:	c1 e0 04             	shl    $0x4,%eax
544793:	8b d8                	mov    %eax,%ebx
544795:	8b b2 d8 00 00 00    	mov    0xd8(%edx),%esi
54479b:	c1 e6 04             	shl    $0x4,%esi
54479e:	8b 55 f0             	mov    -0x10(%ebp),%edx
5447a1:	03 f2                	add    %edx,%esi
5447a3:	03 f0                	add    %eax,%esi
5447a5:	8b 45 f4             	mov    -0xc(%ebp),%eax
5447a8:	03 d8                	add    %eax,%ebx
5447aa:	8b 13                	mov    (%ebx),%edx
5447ac:	52                   	push   %edx
5447ad:	e8 7e 1d fe ff       	call   0x526530
5447b2:	59                   	pop    %ecx
5447b3:	8b d0                	mov    %eax,%edx
5447b5:	42                   	inc    %edx
5447b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5447b9:	e8 aa 65 00 00       	call   0x54ad68
5447be:	89 06                	mov    %eax,(%esi)
5447c0:	8b 03                	mov    (%ebx),%eax
5447c2:	8b 0e                	mov    (%esi),%ecx
5447c4:	56                   	push   %esi
5447c5:	57                   	push   %edi
5447c6:	8b f8                	mov    %eax,%edi
5447c8:	33 c0                	xor    %eax,%eax
5447ca:	8b f1                	mov    %ecx,%esi
5447cc:	83 c9 ff             	or     $0xffffffff,%ecx
5447cf:	f2 ae                	repnz scas %es:(%edi),%al
5447d1:	f7 d1                	not    %ecx
5447d3:	2b f9                	sub    %ecx,%edi
5447d5:	8b d1                	mov    %ecx,%edx
5447d7:	87 f7                	xchg   %esi,%edi
5447d9:	c1 e9 02             	shr    $0x2,%ecx
5447dc:	8b c7                	mov    %edi,%eax
5447de:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5447e0:	8b ca                	mov    %edx,%ecx
5447e2:	83 e1 03             	and    $0x3,%ecx
5447e5:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
5447e7:	8b 53 0c             	mov    0xc(%ebx),%edx
5447ea:	5f                   	pop    %edi
5447eb:	c1 e2 04             	shl    $0x4,%edx
5447ee:	5e                   	pop    %esi
5447ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
5447f2:	e8 71 65 00 00       	call   0x54ad68
5447f7:	89 46 08             	mov    %eax,0x8(%esi)
5447fa:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5447fd:	c1 e1 04             	shl    $0x4,%ecx
544800:	51                   	push   %ecx
544801:	8b 43 08             	mov    0x8(%ebx),%eax
544804:	50                   	push   %eax
544805:	8b 56 08             	mov    0x8(%esi),%edx
544808:	52                   	push   %edx
544809:	e8 d2 1b fe ff       	call   0x5263e0
54480e:	83 c4 0c             	add    $0xc,%esp
544811:	8b 4b 0c             	mov    0xc(%ebx),%ecx
544814:	89 4e 0c             	mov    %ecx,0xc(%esi)
544817:	8a 43 04             	mov    0x4(%ebx),%al
54481a:	88 46 04             	mov    %al,0x4(%esi)
54481d:	47                   	inc    %edi
54481e:	8b 55 08             	mov    0x8(%ebp),%edx
544821:	3b fa                	cmp    %edx,%edi
544823:	0f 8c 62 ff ff ff    	jl     0x54478b
544829:	8b 4d f8             	mov    -0x8(%ebp),%ecx
54482c:	8b 45 f0             	mov    -0x10(%ebp),%eax
54482f:	89 81 d4 00 00 00    	mov    %eax,0xd4(%ecx)
544835:	8b 55 f8             	mov    -0x8(%ebp),%edx
544838:	8b 4d 08             	mov    0x8(%ebp),%ecx
54483b:	01 8a d8 00 00 00    	add    %ecx,0xd8(%edx)
544841:	8b 45 f8             	mov    -0x8(%ebp),%eax
544844:	81 48 08 00 20 00 00 	orl    $0x2000,0x8(%eax)
54484b:	8b 55 f8             	mov    -0x8(%ebp),%edx
54484e:	83 8a b8 00 00 00 20 	orl    $0x20,0xb8(%edx)
544855:	5f                   	pop    %edi
544856:	5e                   	pop    %esi
544857:	5b                   	pop    %ebx
544858:	8b e5                	mov    %ebp,%esp
54485a:	5d                   	pop    %ebp
54485b:	c2 04 00             	ret    $0x4
54485e:	90                   	nop
54485f:	90                   	nop
544860:	55                   	push   %ebp
544861:	8b ec                	mov    %esp,%ebp
544863:	83 c4 f0             	add    $0xfffffff0,%esp
544866:	53                   	push   %ebx
544867:	56                   	push   %esi
544868:	57                   	push   %edi
544869:	89 4d f4             	mov    %ecx,-0xc(%ebp)