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)
54486c:	89 55 f8             	mov    %edx,-0x8(%ebp)
54486f:	89 45 fc             	mov    %eax,-0x4(%ebp)
544872:	8b 45 fc             	mov    -0x4(%ebp),%eax
544875:	85 c0                	test   %eax,%eax
544877:	0f 84 62 01 00 00    	je     0x5449df
54487d:	8b 55 f8             	mov    -0x8(%ebp),%edx
544880:	85 d2                	test   %edx,%edx
544882:	0f 84 57 01 00 00    	je     0x5449df
544888:	8b 4d 08             	mov    0x8(%ebp),%ecx
54488b:	85 c9                	test   %ecx,%ecx
54488d:	0f 84 4c 01 00 00    	je     0x5449df
544893:	8b 45 f8             	mov    -0x8(%ebp),%eax
544896:	8b 4d 08             	mov    0x8(%ebp),%ecx
544899:	8b 90 c0 00 00 00    	mov    0xc0(%eax),%edx
54489f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5448a2:	03 d1                	add    %ecx,%edx
5448a4:	c1 e2 02             	shl    $0x2,%edx
5448a7:	8d 14 92             	lea    (%edx,%edx,4),%edx
5448aa:	e8 61 65 00 00       	call   0x54ae10
5448af:	89 45 f0             	mov    %eax,-0x10(%ebp)
5448b2:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5448b5:	85 c9                	test   %ecx,%ecx
5448b7:	75 12                	jne    0x5448cb
5448b9:	ba 1c a9 69 00       	mov    $0x69a91c,%edx
5448be:	8b 45 fc             	mov    -0x4(%ebp),%eax
5448c1:	e8 96 66 00 00       	call   0x54af5c
5448c6:	e9 14 01 00 00       	jmp    0x5449df
5448cb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5448ce:	8b 81 c0 00 00 00    	mov    0xc0(%ecx),%eax
5448d4:	c1 e0 02             	shl    $0x2,%eax
5448d7:	8d 04 80             	lea    (%eax,%eax,4),%eax
5448da:	50                   	push   %eax
5448db:	8b 55 f8             	mov    -0x8(%ebp),%edx
5448de:	8b 8a bc 00 00 00    	mov    0xbc(%edx),%ecx
5448e4:	51                   	push   %ecx
5448e5:	8b 45 f0             	mov    -0x10(%ebp),%eax
5448e8:	50                   	push   %eax
5448e9:	e8 f2 1a fe ff       	call   0x5263e0
5448ee:	83 c4 0c             	add    $0xc,%esp
5448f1:	8b 55 f8             	mov    -0x8(%ebp),%edx
5448f4:	8b 92 bc 00 00 00    	mov    0xbc(%edx),%edx
5448fa:	8b 45 fc             	mov    -0x4(%ebp),%eax
5448fd:	e8 da 64 00 00       	call   0x54addc
544902:	8b 4d f8             	mov    -0x8(%ebp),%ecx
544905:	33 c0                	xor    %eax,%eax
544907:	89 81 bc 00 00 00    	mov    %eax,0xbc(%ecx)
54490d:	33 ff                	xor    %edi,%edi
54490f:	8b 45 08             	mov    0x8(%ebp),%eax
544912:	3b f8                	cmp    %eax,%edi
544914:	0f 8d a0 00 00 00    	jge    0x5449ba
54491a:	8b 55 f8             	mov    -0x8(%ebp),%edx
54491d:	8b c7                	mov    %edi,%eax
54491f:	c1 e0 02             	shl    $0x2,%eax
544922:	8b 9a c0 00 00 00    	mov    0xc0(%edx),%ebx
544928:	c1 e3 02             	shl    $0x2,%ebx
54492b:	8b 55 f0             	mov    -0x10(%ebp),%edx
54492e:	8d 04 80             	lea    (%eax,%eax,4),%eax
544931:	8b f0                	mov    %eax,%esi
544933:	8d 1c 9b             	lea    (%ebx,%ebx,4),%ebx
544936:	03 da                	add    %edx,%ebx
544938:	03 d8                	add    %eax,%ebx
54493a:	8b 45 f4             	mov    -0xc(%ebp),%eax
54493d:	03 f0                	add    %eax,%esi
54493f:	33 c0                	xor    %eax,%eax
544941:	56                   	push   %esi
544942:	57                   	push   %edi
544943:	8b fe                	mov    %esi,%edi
544945:	83 c9 ff             	or     $0xffffffff,%ecx
544948:	f2 ae                	repnz scas %es:(%edi),%al
54494a:	f7 d1                	not    %ecx
54494c:	2b f9                	sub    %ecx,%edi
54494e:	8b f3                	mov    %ebx,%esi
544950:	87 f7                	xchg   %esi,%edi
544952:	8b d1                	mov    %ecx,%edx
544954:	8b c7                	mov    %edi,%eax
544956:	c1 e9 02             	shr    $0x2,%ecx
544959:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
54495b:	8b ca                	mov    %edx,%ecx
54495d:	83 e1 03             	and    $0x3,%ecx
544960:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
544962:	5f                   	pop    %edi
544963:	5e                   	pop    %esi
544964:	8b 45 fc             	mov    -0x4(%ebp),%eax
544967:	8b 56 0c             	mov    0xc(%esi),%edx
54496a:	e8 f9 63 00 00       	call   0x54ad68
54496f:	89 43 08             	mov    %eax,0x8(%ebx)
544972:	8b 4b 08             	mov    0x8(%ebx),%ecx
544975:	85 c9                	test   %ecx,%ecx
544977:	75 0f                	jne    0x544988
544979:	ba 4a a9 69 00       	mov    $0x69a94a,%edx
54497e:	8b 45 fc             	mov    -0x4(%ebp),%eax
544981:	e8 d6 65 00 00       	call   0x54af5c
544986:	eb 26                	jmp    0x5449ae
544988:	8b 4e 0c             	mov    0xc(%esi),%ecx
54498b:	51                   	push   %ecx
54498c:	8b 46 08             	mov    0x8(%esi),%eax
54498f:	50                   	push   %eax
544990:	8b 53 08             	mov    0x8(%ebx),%edx
544993:	52                   	push   %edx
544994:	e8 47 1a fe ff       	call   0x5263e0
544999:	83 c4 0c             	add    $0xc,%esp
54499c:	8b 4e 0c             	mov    0xc(%esi),%ecx
54499f:	89 4b 0c             	mov    %ecx,0xc(%ebx)
5449a2:	8b 45 fc             	mov    -0x4(%ebp),%eax
5449a5:	8a 50 28             	mov    0x28(%eax),%dl
5449a8:	80 e2 ff             	and    $0xff,%dl
5449ab:	88 53 10             	mov    %dl,0x10(%ebx)
5449ae:	47                   	inc    %edi
5449af:	8b 4d 08             	mov    0x8(%ebp),%ecx
5449b2:	3b f9                	cmp    %ecx,%edi
5449b4:	0f 8c 60 ff ff ff    	jl     0x54491a
5449ba:	8b 45 f8             	mov    -0x8(%ebp),%eax
5449bd:	8b 55 f0             	mov    -0x10(%ebp),%edx
5449c0:	89 90 bc 00 00 00    	mov    %edx,0xbc(%eax)
5449c6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5449c9:	8b 45 08             	mov    0x8(%ebp),%eax
5449cc:	01 81 c0 00 00 00    	add    %eax,0xc0(%ecx)
5449d2:	8b 55 f8             	mov    -0x8(%ebp),%edx
5449d5:	81 8a b8 00 00 00 00 	orl    $0x200,0xb8(%edx)
5449dc:	02 00 00
5449df:	5f                   	pop    %edi
5449e0:	5e                   	pop    %esi
5449e1:	5b                   	pop    %ebx
5449e2:	8b e5                	mov    %ebp,%esp
5449e4:	5d                   	pop    %ebp
5449e5:	c2 04 00             	ret    $0x4
5449e8:	55                   	push   %ebp
5449e9:	8b ec                	mov    %esp,%ebp
5449eb:	85 c0                	test   %eax,%eax
5449ed:	74 22                	je     0x544a11
5449ef:	85 d2                	test   %edx,%edx
5449f1:	74 1e                	je     0x544a11
5449f3:	85 c9                	test   %ecx,%ecx
5449f5:	7c 1a                	jl     0x544a11
5449f7:	8b 82 c0 00 00 00    	mov    0xc0(%edx),%eax
5449fd:	3b c8                	cmp    %eax,%ecx
5449ff:	7d 10                	jge    0x544a11
544a01:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
544a04:	8b 92 bc 00 00 00    	mov    0xbc(%edx),%edx
544a0a:	8a 45 08             	mov    0x8(%ebp),%al
544a0d:	88 44 8a 10          	mov    %al,0x10(%edx,%ecx,4)
544a11:	5d                   	pop    %ebp
544a12:	c2 04 00             	ret    $0x4
544a15:	90                   	nop
544a16:	90                   	nop
544a17:	90                   	nop
544a18:	85 c0                	test   %eax,%eax
544a1a:	74 18                	je     0x544a34
544a1c:	8a 88 ec 01 00 00    	mov    0x1ec(%eax),%cl
544a22:	80 e1 fe             	and    $0xfe,%cl
544a25:	80 e2 01             	and    $0x1,%dl
544a28:	0a ca                	or     %dl,%cl
544a2a:	33 d2                	xor    %edx,%edx
544a2c:	8a d1                	mov    %cl,%dl
544a2e:	89 90 ec 01 00 00    	mov    %edx,0x1ec(%eax)
544a34:	c3                   	ret
544a35:	90                   	nop
544a36:	90                   	nop
544a37:	90                   	nop
544a38:	85 c0                	test   %eax,%eax
544a3a:	75 03                	jne    0x544a3f
544a3c:	33 c0                	xor    %eax,%eax
544a3e:	c3                   	ret
544a3f:	8b ca                	mov    %edx,%ecx
544a41:	80 e1 05             	and    $0x5,%cl
544a44:	81 e1 ff 00 00 00    	and    $0xff,%ecx
544a4a:	89 88 ec 01 00 00    	mov    %ecx,0x1ec(%eax)
544a50:	8b c1                	mov    %ecx,%eax
544a52:	c3                   	ret
544a53:	90                   	nop
544a54:	55                   	push   %ebp
544a55:	8b ec                	mov    %esp,%ebp
544a57:	83 c4 f4             	add    $0xfffffff4,%esp
544a5a:	53                   	push   %ebx
544a5b:	56                   	push   %esi