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
544a5c:	57                   	push   %edi
544a5d:	8b f9                	mov    %ecx,%edi
544a5f:	89 55 fc             	mov    %edx,-0x4(%ebp)
544a62:	8b d8                	mov    %eax,%ebx
544a64:	8b 75 08             	mov    0x8(%ebp),%esi
544a67:	85 f6                	test   %esi,%esi
544a69:	75 40                	jne    0x544aab
544a6b:	8b 45 fc             	mov    -0x4(%ebp),%eax
544a6e:	83 f8 03             	cmp    $0x3,%eax
544a71:	74 08                	je     0x544a7b
544a73:	8b 55 fc             	mov    -0x4(%ebp),%edx
544a76:	83 fa 02             	cmp    $0x2,%edx
544a79:	75 09                	jne    0x544a84
544a7b:	81 4b 2c 00 80 00 00 	orl    $0x8000,0x2c(%ebx)
544a82:	eb 07                	jmp    0x544a8b
544a84:	81 63 2c ff 7f ff ff 	andl   $0xffff7fff,0x2c(%ebx)
544a8b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
544a8e:	83 f9 03             	cmp    $0x3,%ecx
544a91:	75 0c                	jne    0x544a9f
544a93:	81 4b 2c 00 00 01 00 	orl    $0x10000,0x2c(%ebx)
544a9a:	e9 ba 00 00 00       	jmp    0x544b59
544a9f:	81 63 2c ff ff fe ff 	andl   $0xfffeffff,0x2c(%ebx)
544aa6:	e9 ae 00 00 00       	jmp    0x544b59
544aab:	85 ff                	test   %edi,%edi
544aad:	0f 84 a6 00 00 00    	je     0x544b59
544ab3:	8b 83 dc 01 00 00    	mov    0x1dc(%ebx),%eax
544ab9:	89 45 f4             	mov    %eax,-0xc(%ebp)
544abc:	8b c3                	mov    %ebx,%eax
544abe:	8b 55 f4             	mov    -0xc(%ebp),%edx
544ac1:	03 d6                	add    %esi,%edx
544ac3:	8d 14 92             	lea    (%edx,%edx,4),%edx
544ac6:	e8 9d 62 00 00       	call   0x54ad68
544acb:	89 45 f8             	mov    %eax,-0x8(%ebp)
544ace:	8b 83 e0 01 00 00    	mov    0x1e0(%ebx),%eax
544ad4:	85 c0                	test   %eax,%eax
544ad6:	74 29                	je     0x544b01
544ad8:	8b 55 f4             	mov    -0xc(%ebp),%edx
544adb:	8d 14 92             	lea    (%edx,%edx,4),%edx
544ade:	52                   	push   %edx
544adf:	50                   	push   %eax
544ae0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
544ae3:	51                   	push   %ecx
544ae4:	e8 f7 18 fe ff       	call   0x5263e0
544ae9:	83 c4 0c             	add    $0xc,%esp
544aec:	8b 93 e0 01 00 00    	mov    0x1e0(%ebx),%edx
544af2:	8b c3                	mov    %ebx,%eax
544af4:	e8 e3 62 00 00       	call   0x54addc
544af9:	33 c9                	xor    %ecx,%ecx
544afb:	89 8b e0 01 00 00    	mov    %ecx,0x1e0(%ebx)
544b01:	8d 04 b6             	lea    (%esi,%esi,4),%eax
544b04:	50                   	push   %eax
544b05:	57                   	push   %edi
544b06:	8b 55 f4             	mov    -0xc(%ebp),%edx
544b09:	8d 14 92             	lea    (%edx,%edx,4),%edx
544b0c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
544b0f:	03 d1                	add    %ecx,%edx
544b11:	52                   	push   %edx
544b12:	e8 c9 18 fe ff       	call   0x5263e0
544b17:	83 c4 0c             	add    $0xc,%esp
544b1a:	8b 45 f4             	mov    -0xc(%ebp),%eax
544b1d:	8d 04 80             	lea    (%eax,%eax,4),%eax
544b20:	8b 55 f8             	mov    -0x8(%ebp),%edx
544b23:	03 c2                	add    %edx,%eax
544b25:	83 c0 04             	add    $0x4,%eax
544b28:	33 d2                	xor    %edx,%edx
544b2a:	3b f2                	cmp    %edx,%esi
544b2c:	7e 0d                	jle    0x544b3b
544b2e:	8a 4d fc             	mov    -0x4(%ebp),%cl
544b31:	42                   	inc    %edx
544b32:	88 08                	mov    %cl,(%eax)
544b34:	83 c0 05             	add    $0x5,%eax
544b37:	3b f2                	cmp    %edx,%esi
544b39:	7f f3                	jg     0x544b2e
544b3b:	8b 45 f4             	mov    -0xc(%ebp),%eax
544b3e:	03 f0                	add    %eax,%esi
544b40:	89 b3 dc 01 00 00    	mov    %esi,0x1dc(%ebx)
544b46:	8b 45 f8             	mov    -0x8(%ebp),%eax
544b49:	89 83 e0 01 00 00    	mov    %eax,0x1e0(%ebx)
544b4f:	81 8b d0 01 00 00 00 	orl    $0x400,0x1d0(%ebx)
544b56:	04 00 00
544b59:	5f                   	pop    %edi
544b5a:	5e                   	pop    %esi
544b5b:	5b                   	pop    %ebx
544b5c:	8b e5                	mov    %ebp,%esp
544b5e:	5d                   	pop    %ebp
544b5f:	c2 04 00             	ret    $0x4
544b62:	90                   	nop
544b63:	90                   	nop
544b64:	89 88 d8 01 00 00    	mov    %ecx,0x1d8(%eax)
544b6a:	89 90 d4 01 00 00    	mov    %edx,0x1d4(%eax)
544b70:	c3                   	ret
544b71:	90                   	nop
544b72:	90                   	nop
544b73:	90                   	nop
544b74:	53                   	push   %ebx
544b75:	56                   	push   %esi
544b76:	8b f1                	mov    %ecx,%esi
544b78:	8b da                	mov    %edx,%ebx
544b7a:	85 c0                	test   %eax,%eax
544b7c:	74 31                	je     0x544baf
544b7e:	85 db                	test   %ebx,%ebx
544b80:	74 2d                	je     0x544baf
544b82:	8b 93 f8 00 00 00    	mov    0xf8(%ebx),%edx
544b88:	85 d2                	test   %edx,%edx
544b8a:	74 12                	je     0x544b9e
544b8c:	3b f2                	cmp    %edx,%esi
544b8e:	74 0e                	je     0x544b9e
544b90:	6a 00                	push   $0x0
544b92:	b9 40 00 00 00       	mov    $0x40,%ecx
544b97:	8b d3                	mov    %ebx,%edx
544b99:	e8 8e a2 00 00       	call   0x54ee2c
544b9e:	89 b3 f8 00 00 00    	mov    %esi,0xf8(%ebx)
544ba4:	85 f6                	test   %esi,%esi
544ba6:	74 07                	je     0x544baf
544ba8:	81 4b 08 00 80 00 00 	orl    $0x8000,0x8(%ebx)
544baf:	5e                   	pop    %esi
544bb0:	5b                   	pop    %ebx
544bb1:	c3                   	ret
544bb2:	90                   	nop
544bb3:	90                   	nop
544bb4:	53                   	push   %ebx
544bb5:	8b d8                	mov    %eax,%ebx
544bb7:	56                   	push   %esi
544bb8:	57                   	push   %edi
544bb9:	8b 43 6c             	mov    0x6c(%ebx),%eax
544bbc:	8b f2                	mov    %edx,%esi
544bbe:	85 c0                	test   %eax,%eax
544bc0:	74 09                	je     0x544bcb
544bc2:	8b d0                	mov    %eax,%edx
544bc4:	8b c3                	mov    %ebx,%eax
544bc6:	e8 11 62 00 00       	call   0x54addc
544bcb:	89 73 70             	mov    %esi,0x70(%ebx)
544bce:	8b d6                	mov    %esi,%edx
544bd0:	8b c3                	mov    %ebx,%eax
544bd2:	e8 91 61 00 00       	call   0x54ad68
544bd7:	8b f8                	mov    %eax,%edi
544bd9:	89 7b 6c             	mov    %edi,0x6c(%ebx)
544bdc:	89 7b 40             	mov    %edi,0x40(%ebx)
544bdf:	8b 43 70             	mov    0x70(%ebx),%eax
544be2:	89 43 44             	mov    %eax,0x44(%ebx)
544be5:	5f                   	pop    %edi
544be6:	5e                   	pop    %esi
544be7:	5b                   	pop    %ebx
544be8:	c3                   	ret
544be9:	90                   	nop
544bea:	90                   	nop
544beb:	90                   	nop
544bec:	85 c0                	test   %eax,%eax
544bee:	74 09                	je     0x544bf9
544bf0:	85 d2                	test   %edx,%edx
544bf2:	74 05                	je     0x544bf9
544bf4:	f7 d1                	not    %ecx
544bf6:	21 4a 08             	and    %ecx,0x8(%edx)
544bf9:	c3                   	ret
544bfa:	90                   	nop
544bfb:	90                   	nop
544bfc:	53                   	push   %ebx
544bfd:	56                   	push   %esi
544bfe:	33 db                	xor    %ebx,%ebx
544c00:	8b b0 fc 01 00 00    	mov    0x1fc(%eax),%esi
544c06:	f7 c6 01 00 00 00    	test   $0x1,%esi
544c0c:	8b cb                	mov    %ebx,%ecx
544c0e:	74 08                	je     0x544c18
544c10:	f7 c6 02 00 00 00    	test   $0x2,%esi
544c16:	75 0e                	jne    0x544c26
544c18:	8b f3                	mov    %ebx,%esi
544c1a:	f7 d6                	not    %esi
544c1c:	23 ce                	and    %esi,%ecx
544c1e:	f7 d3                	not    %ebx
544c20:	21 b0 fc 01 00 00    	and    %esi,0x1fc(%eax)
544c26:	8b d9                	mov    %ecx,%ebx
544c28:	f7 d3                	not    %ebx
544c2a:	21 98 fc 01 00 00    	and    %ebx,0x1fc(%eax)
544c30:	23 d1                	and    %ecx,%edx
544c32:	09 90 fc 01 00 00    	or     %edx,0x1fc(%eax)