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)
544c38:	5e                   	pop    %esi
544c39:	5b                   	pop    %ebx
544c3a:	c3                   	ret
544c3b:	90                   	nop
544c3c:	88 90 f5 01 00 00    	mov    %dl,0x1f5(%eax)
544c42:	89 88 f8 01 00 00    	mov    %ecx,0x1f8(%eax)
544c48:	c3                   	ret
544c49:	8d 40 00             	lea    0x0(%eax),%eax
544c4c:	83 48 30 01          	orl    $0x1,0x30(%eax)
544c50:	c3                   	ret
544c51:	90                   	nop
544c52:	90                   	nop
544c53:	90                   	nop
544c54:	8a 90 e7 00 00 00    	mov    0xe7(%eax),%dl
544c5a:	80 fa 10             	cmp    $0x10,%dl
544c5d:	75 04                	jne    0x544c63
544c5f:	83 48 30 10          	orl    $0x10,0x30(%eax)
544c63:	c3                   	ret
544c64:	8a 90 e7 00 00 00    	mov    0xe7(%eax),%dl
544c6a:	80 fa 08             	cmp    $0x8,%dl
544c6d:	73 0b                	jae    0x544c7a
544c6f:	83 48 30 04          	orl    $0x4,0x30(%eax)
544c73:	c6 80 e8 00 00 00 08 	movb   $0x8,0xe8(%eax)
544c7a:	c3                   	ret
544c7b:	90                   	nop
544c7c:	8a 90 e7 00 00 00    	mov    0xe7(%eax),%dl
544c82:	80 fa 08             	cmp    $0x8,%dl
544c85:	73 07                	jae    0x544c8e
544c87:	81 48 30 00 00 01 00 	orl    $0x10000,0x30(%eax)
544c8e:	c3                   	ret
544c8f:	90                   	nop
544c90:	83 48 30 08          	orl    $0x8,0x30(%eax)
544c94:	8b 0a                	mov    (%edx),%ecx
544c96:	89 88 41 01 00 00    	mov    %ecx,0x141(%eax)
544c9c:	8a 4a 04             	mov    0x4(%edx),%cl
544c9f:	88 88 45 01 00 00    	mov    %cl,0x145(%eax)
544ca5:	c3                   	ret
544ca6:	90                   	nop
544ca7:	90                   	nop
544ca8:	8a 90 e3 00 00 00    	mov    0xe3(%eax),%dl
544cae:	84 d2                	test   %dl,%dl
544cb0:	74 0a                	je     0x544cbc
544cb2:	83 48 30 02          	orl    $0x2,0x30(%eax)
544cb6:	b8 07 00 00 00       	mov    $0x7,%eax
544cbb:	c3                   	ret
544cbc:	b8 01 00 00 00       	mov    $0x1,%eax
544cc1:	c3                   	ret
544cc2:	90                   	nop
544cc3:	90                   	nop
544cc4:	81 48 30 00 80 00 00 	orl    $0x8000,0x30(%eax)
544ccb:	81 e2 ff 00 00 00    	and    $0xff,%edx
544cd1:	49                   	dec    %ecx
544cd2:	66 89 90 ee 00 00 00 	mov    %dx,0xee(%eax)
544cd9:	75 09                	jne    0x544ce4
544cdb:	81 48 2c 80 00 00 00 	orl    $0x80,0x2c(%eax)
544ce2:	eb 07                	jmp    0x544ceb
544ce4:	81 60 2c 7f ff ff ff 	andl   $0xffffff7f,0x2c(%eax)
544ceb:	8a 88 e6 00 00 00    	mov    0xe6(%eax),%cl
544cf1:	80 f9 02             	cmp    $0x2,%cl
544cf4:	75 07                	jne    0x544cfd
544cf6:	c6 80 eb 00 00 00 04 	movb   $0x4,0xeb(%eax)
544cfd:	8a 90 e6 00 00 00    	mov    0xe6(%eax),%dl
544d03:	84 d2                	test   %dl,%dl
544d05:	75 12                	jne    0x544d19
544d07:	8a 88 e7 00 00 00    	mov    0xe7(%eax),%cl
544d0d:	80 f9 08             	cmp    $0x8,%cl
544d10:	72 07                	jb     0x544d19
544d12:	c6 80 eb 00 00 00 02 	movb   $0x2,0xeb(%eax)
544d19:	c3                   	ret
544d1a:	90                   	nop
544d1b:	90                   	nop
544d1c:	81 48 30 00 00 02 00 	orl    $0x20000,0x30(%eax)
544d23:	c3                   	ret
544d24:	81 48 30 00 00 08 00 	orl    $0x80000,0x30(%eax)
544d2b:	c3                   	ret
544d2c:	83 48 30 20          	orl    $0x20,0x30(%eax)
544d30:	c3                   	ret
544d31:	90                   	nop
544d32:	90                   	nop
544d33:	90                   	nop
544d34:	8a 48 08             	mov    0x8(%eax),%cl
544d37:	84 c9                	test   %cl,%cl
544d39:	75 12                	jne    0x544d4d
544d3b:	8b 48 04             	mov    0x4(%eax),%ecx
544d3e:	33 c0                	xor    %eax,%eax
544d40:	3b c8                	cmp    %eax,%ecx
544d42:	76 57                	jbe    0x544d9b
544d44:	f6 12                	notb   (%edx)
544d46:	42                   	inc    %edx
544d47:	40                   	inc    %eax
544d48:	3b c8                	cmp    %eax,%ecx
544d4a:	77 f8                	ja     0x544d44
544d4c:	c3                   	ret
544d4d:	8a 48 08             	mov    0x8(%eax),%cl
544d50:	80 f9 04             	cmp    $0x4,%cl
544d53:	75 1e                	jne    0x544d73
544d55:	8a 48 09             	mov    0x9(%eax),%cl
544d58:	80 f9 08             	cmp    $0x8,%cl
544d5b:	75 16                	jne    0x544d73
544d5d:	8b 48 04             	mov    0x4(%eax),%ecx
544d60:	33 c0                	xor    %eax,%eax
544d62:	3b c8                	cmp    %eax,%ecx
544d64:	76 35                	jbe    0x544d9b
544d66:	f6 12                	notb   (%edx)
544d68:	83 c2 02             	add    $0x2,%edx
544d6b:	83 c0 02             	add    $0x2,%eax
544d6e:	3b c8                	cmp    %eax,%ecx
544d70:	77 f4                	ja     0x544d66
544d72:	c3                   	ret
544d73:	8a 48 08             	mov    0x8(%eax),%cl
544d76:	80 f9 04             	cmp    $0x4,%cl
544d79:	75 20                	jne    0x544d9b
544d7b:	8a 48 09             	mov    0x9(%eax),%cl
544d7e:	80 f9 10             	cmp    $0x10,%cl
544d81:	75 18                	jne    0x544d9b
544d83:	8b 48 04             	mov    0x4(%eax),%ecx
544d86:	33 c0                	xor    %eax,%eax
544d88:	3b c8                	cmp    %eax,%ecx
544d8a:	76 0f                	jbe    0x544d9b
544d8c:	f6 12                	notb   (%edx)
544d8e:	f6 52 01             	notb   0x1(%edx)
544d91:	83 c2 04             	add    $0x4,%edx
544d94:	83 c0 04             	add    $0x4,%eax
544d97:	3b c8                	cmp    %eax,%ecx
544d99:	77 f1                	ja     0x544d8c
544d9b:	c3                   	ret
544d9c:	53                   	push   %ebx
544d9d:	56                   	push   %esi
544d9e:	8a 48 09             	mov    0x9(%eax),%cl
544da1:	80 f9 10             	cmp    $0x10,%cl
544da4:	75 21                	jne    0x544dc7
544da6:	8b 30                	mov    (%eax),%esi
544da8:	0f b6 40 0a          	movzbl 0xa(%eax),%eax
544dac:	0f af f0             	imul   %eax,%esi
544daf:	33 c0                	xor    %eax,%eax
544db1:	3b f0                	cmp    %eax,%esi
544db3:	76 12                	jbe    0x544dc7
544db5:	8a 0a                	mov    (%edx),%cl
544db7:	8a 5a 01             	mov    0x1(%edx),%bl
544dba:	88 1a                	mov    %bl,(%edx)
544dbc:	88 4a 01             	mov    %cl,0x1(%edx)
544dbf:	40                   	inc    %eax
544dc0:	83 c2 02             	add    $0x2,%edx
544dc3:	3b f0                	cmp    %eax,%esi
544dc5:	77 ee                	ja     0x544db5
544dc7:	5e                   	pop    %esi
544dc8:	5b                   	pop    %ebx
544dc9:	c3                   	ret
544dca:	90                   	nop
544dcb:	90                   	nop
544dcc:	56                   	push   %esi
544dcd:	8a 48 09             	mov    0x9(%eax),%cl
544dd0:	80 f9 08             	cmp    $0x8,%cl
544dd3:	73 3b                	jae    0x544e10
544dd5:	8b 70 04             	mov    0x4(%eax),%esi
544dd8:	03 f2                	add    %edx,%esi
544dda:	80 f9 01             	cmp    $0x1,%cl
544ddd:	75 07                	jne    0x544de6
544ddf:	b9 78 a9 69 00       	mov    $0x69a978,%ecx
544de4:	eb 16                	jmp    0x544dfc
544de6:	80 f9 02             	cmp    $0x2,%cl
544de9:	75 07                	jne    0x544df2
544deb:	b9 78 aa 69 00       	mov    $0x69aa78,%ecx
544df0:	eb 0a                	jmp    0x544dfc
544df2:	80 f9 04             	cmp    $0x4,%cl
544df5:	75 19                	jne    0x544e10
544df7:	b9 78 ab 69 00       	mov    $0x69ab78,%ecx
544dfc:	8b c2                	mov    %edx,%eax
544dfe:	3b f0                	cmp    %eax,%esi
544e00:	76 0e                	jbe    0x544e10
544e02:	33 d2                	xor    %edx,%edx
544e04:	8a 10                	mov    (%eax),%dl
544e06:	8a 14 11             	mov    (%ecx,%edx,1),%dl
544e09:	88 10                	mov    %dl,(%eax)
544e0b:	40                   	inc    %eax